메모리탭 구현-2

dev_bert
jonghwan76 3 years ago
parent 4ea45c243f
commit 4d9c43a572

@ -75,8 +75,19 @@ public class M_MemoryController extends AbstractControllerManager{
HttpSession session = request.getSession(false);
DataMap rm_mem = (DataMap) session.getAttribute(ConstantSystem.SESSION_RM_MEMBER);
List<DataMap> music_list = memoryBO.select_timeline(paramMap);
DataMap.putToModel(model, "music_list", music_list);
DataMap rm_child = (DataMap) session.getAttribute(ConstantSystem.SESSION_RM_CHILD);
//세션에 선택된 아이정보가 있을 경우
if(rm_child != null) {
paramMap.put("smc_no", rm_child.get("smc_no"));
} else {
ra.addFlashAttribute("script_msg", "아이를 선택하세요");
redirect_url = "redirect:/m/index.do";
return redirect_url;
}
List<DataMap> time_list = memoryBO.select_timeline(paramMap);
DataMap.putToModel(model, "time_list", time_list);
DataMap.putToModel(model, "rm_mem", rm_mem);
}
}catch(Exception ex1){ redirect_url = gmUtil.redirectError(true, ex1, request, paramMap, ra, ""); ex1.printStackTrace();}

@ -128,4 +128,5 @@
<sqlMap resource="sqlmap/m/bf_food_info/com.backoffice.m.bf_food_info.xml" />
<sqlMap resource="sqlmap/admin/bf/com.backoffice.admin.bf.bf_score.xml" />
<sqlMap resource="sqlmap/admin/bf/com.backoffice.admin.bf.bf_recommend.xml" />
<sqlMap resource="sqlmap/m/memory/com.backoffice.m.memory.memory.xml" />
</sqlMapConfig>

@ -3,100 +3,103 @@
<sqlMap namespace="com.backoffice.m.memory">
<select id="select_timeline" resultClass="dataMap" parameterClass="dataMap">
SELECT
DATE_FORMAT(b.reg_dt, '%Y-%m-%d %H:%i:%s') as reg_date,
ifnull(TIMEDIFF(b.reg_dt, LAG(b.reg_dt) OVER (ORDER BY b.reg_dt) ), 0) AS time_diff,
DATE_FORMAT(b.reg_dt, '%Y-%m-%d') as reg_date,
DATE_FORMAT(b.reg_dt, '%H:%i %p') as hour_min,
ifnull(DATEDIFF(b.reg_dt, LAG(b.reg_dt) OVER (ORDER BY b.reg_dt)),'0') as day_diff,
ifnull(DATE_FORMAT(TIMEDIFF(b.reg_dt, LAG(b.reg_dt) OVER (ORDER BY b.reg_dt) ), '%H:%i'), '00:00') as time_diff,
d.title,
b.dn_no,
d.cd_no,
LPAD(d.val_1, 2, '0') as val_1,
CASE
when d.cd_no = 'BF_NU_TP_1' THEN
(select concat(ifnull(eat_qty,0), 'ml')
from tbl_bf_daily_nutrition_1 tn1
where tn1.dn_no = b.dn_no
) -- 모유
)
when d.cd_no = 'BF_NU_TP_2' THEN
(select concat(eat_qty, 'ml')
from tbl_bf_daily_nutrition_2 tn1
where tn1.dn_no = b.dn_no
) -- 분유(젖병)
)
when d.cd_no = 'BF_NU_TP_3' THEN
(select
concat(ifnull(tn.prd_nm, ''),' ', tn1.eat_qty, 'ml 섭취')
from tbl_bf_daily_nutrition_3 tn1
left outer join tbl_db_nutrient tn on tn1.db_dn_no = tn.dn_no
where tn1.dn_no = b.dn_no
) -- 간식
)
when d.cd_no = 'BF_NU_TP_5' THEN
(select concat( (ifnull(sleep_h,0) - ifnull(sleep_s_h,0)), '시 ', (ifnull(sleep_m,0) - ifnull(sleep_s_m,0)), '분')
from tbl_bf_daily_nutrition_5 tn1
where tn1.dn_no = b.dn_no
) -- 수면시간
)
when d.cd_no = 'BF_NU_TP_6' THEN
(select tn2.title
from tbl_bf_daily_nutrition_6 tn1
inner join tbl_code_item_str tn2 on tn2.cg_cd = 'BF_FECES_QTY' and tn1.rest_qty = tn2.val_1
where tn1.dn_no = b.dn_no
) -- 대소변
)
when d.cd_no = 'BF_NU_TP_7' THEN
(select
tv.dv_disease
from tbl_bf_daily_nutrition_7 tn1
inner join tbl_db_vac tv on tn1.db_dvs_no = tv.dv_no
where tn1.dn_no = b.dn_no
) -- 예방접종
)
when d.cd_no = 'BF_NU_TP_9' THEN
(select
concat(ifnull(tb.name, ''),' ', tn1.eat_qty, 'ml 섭취')
from tbl_bf_daily_nutrition_9 tn1
left outer join tbl_db_home_bf tb on tn1.db_dhb_no = tb.dhb_no
where tn1.dn_no = b.dn_no
) -- 홈메이드 이유식
)
when d.cd_no = 'BF_NU_TP_10' THEN
(select
concat(ifnull(tc.prd_nm, ''),' ', tn1.eat_qty, 'ml 섭취')
from tbl_bf_daily_nutrition_10 tn1
left outer join tbl_db_bf_commerce tc on tc.dbc_no = tn1.db_dbc_no
where tn1.dn_no = b.dn_no
) -- 시판이유식
)
when d.cd_no = 'BF_NU_TP_11' THEN
(select
concat(ifnull(hosp_nm,''), ' 의사:', doctor_nm, ', 증상: ', checkup)
from tbl_bf_daily_nutrition_11 tn1
where tn1.dn_no = b.dn_no
) -- 병원
)
when d.cd_no = 'BF_NU_TP_12' THEN
(select
daily_life
from tbl_bf_daily_nutrition_12 tn1
where tn1.dn_no = b.dn_no
) -- 일상생활
)
when d.cd_no = 'BF_NU_TP_13' THEN
(select
achievement
from tbl_bf_daily_nutrition_13 tn1
where tn1.dn_no = b.dn_no
) -- 발달과정 성취
)
when d.cd_no = 'BF_NU_TP_14' THEN
(select
concat(ifnull(blq + brq,0), 'ml')
from tbl_bf_daily_nutrition_14 tn1
where tn1.dn_no = b.dn_no
) -- 유축
)
when d.cd_no = 'BF_NU_TP_15' THEN
(select
temperature
from tbl_bf_daily_nutrition_15 tn1
where tn1.dn_no = b.dn_no
) -- 체온
)
END AS time_val
FROM tbl_bf_family_match a
INNER JOIN tbl_bf_daily_nutrition b on a.smc_no = b.smc_no
INNER JOIN tbl_bf_family_match c on a.smc_no = c.smc_no
INNER JOIN tbl_code_item_str d on b.nutirition_cd_no = d.cd_no
WHERE
a.member_id = '1644201833616'
and DATE_FORMAT(b.reg_dt,'%Y-%m-%d') = STR_TO_DATE('2022-02-28','%Y-%m-%d')
ORDER BY b.reg_dt;
a.smc_no = #smc_no#
-- and DATE_FORMAT(b.reg_dt,'%Y-%m-%d') = STR_TO_DATE('2022-02-28','%Y-%m-%d')
ORDER BY b.reg_dt
</select>
</sqlMap>

@ -31,17 +31,17 @@
<!-- 메모리 카테고리 -->
<ul class="memory_ca">
<li class="current">
<a href="../memory/memory_daily.html">
<a href="memory_daily.ftl">
일간
</a>
</li>
<li>
<a href="../memory/memory_week.html">
<a href="memory_week.ftl">
주간
</a>
</li>
<li>
<a href="../memory/memory_timeline.html">
<a href="memory_timeline.ftl">
타임라인
</a>
</li>

@ -0,0 +1,110 @@
<!DOCTYPE html>
<html lang="ko">
<#include "/m/include/index_top.ftl">
<body>
<!-- wrap -->
<div class="wrap" id="memory_timeline">
<!-- header_sub -->
<header class="header_wrapper">
<a href="javascript:history.back()" class="side_Lbtn hidden pre_btn">이전으로</a>
<h1 class="header_title">메모리</h1>
<a href="#" class="side_Rbtn hidden"></a>
</header>
<!-- //header_sub -->
<!-- 메모리 카테고리 -->
<ul class="memory_ca">
<li>
<a href="memory_daily.ftl">
일간
</a>
</li>
<li>
<a href="memory_week.ftl">
주간
</a>
</li>
<li class="current">
<a href="memory_timeline.ftl">
타임라인
</a>
</li>
</ul>
<!-- //메모리 카테고리 -->
<!-- 컬러 박스 -->
<div class="color_box">
<button type="button" class="m_color01"></button>
<button type="button" class="m_color02"></button>
<button type="button" class="m_color03"></button>
<button type="button" class="m_color04"></button>
<button type="button" class="m_color05"></button>
<button type="button" class="m_color06"></button>
</div>
<!-- //컬러 박스 -->
<!-- 타임라인 -->
<div class="timeline_content">
<#assign pre_date = ''>
<!-- 날짜별 박스 -->
<div class="big_day_div">
<#list model['time_list'] as item>
<#if item['reg_date'] != pre_date>
<#assign pre_date = item['reg_date']>
<br>
<br>
<div class="timeline_date" style="z-index:999">${item['reg_date']!}</div>
</#if>
<div class="padding">
<div class="day_in_div">
<ul class="timeline_ul">
<#if item['day_diff'] != '0'>
<div class="time_title">
<p> ${item['day_diff']!}d </p>
</div>
</#if>
<#if item['day_diff'] == '0' && item['time_diff'] != '00:00'>
<div class="time_title">
<p> ${item['time_diff']!} </p>
</div>
</#if>
<li>
<div class="time">
${item['hour_min']!}
<span class="m_color01"></span>
</div>
<div class="text">
<p class="text_tit m_t_color${item['val_1']!}">${item['title']!}</p>
<span>${item['time_val']!}</span>
</div>
</li>
</ul>
</div>
</div>
</#list>
<!-- //padding -->
</div>
<!-- //날짜별 박스 -->
</div>
<!-- //타임라인 -->
<div class="fix_icon">
<button type="button"><img src="../img/ico_image_grey_24.png" alt=""></button>
<button type="button"><img src="../img/ico_share_grey_24.png" alt=""></button>
</div>
</div>
<!-- //wrap -->
</body>
<#include "/m/include/index_bottom.ftl">
</html>

@ -1,194 +0,0 @@
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta content="IE=Edge" http-equiv="X-UA-Compatible" />
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover" />
<title>메모리</title>
<link rel="shortcut icon" href="../../img/favicon.ico">
<link rel="stylesheet" href="../../css/style.css">
<script type="text/javascript" src="../../js/jquery-3.3.1.min.js"></script>
</head>
<body>
<!-- wrap -->
<div class="wrap" id="memory_timeline">
<!-- header_sub -->
<header class="header_wrapper">
<h1 class="header_title">메모리</h1>
<a href="#" class="side_Rbtn hidden"></a>
</header>
<!-- //header_sub -->
<!-- 메모리 카테고리 -->
<ul class="memory_ca">
<li>
<a href="../memory/memory_daily.html">
일간
</a>
</li>
<li>
<a href="../memory/memory_week.html">
주간
</a>
</li>
<li class="current">
<a href="../memory/memory_timeline.html">
타임라인
</a>
</li>
</ul>
<!-- //메모리 카테고리 -->
<!-- 컬러 박스 -->
<div class="color_box">
<button type="button" class="m_color01"></button>
<button type="button" class="m_color02"></button>
<button type="button" class="m_color03"></button>
<button type="button" class="m_color04"></button>
<button type="button" class="m_color05"></button>
<button type="button" class="m_color06"></button>
</div>
<!-- //컬러 박스 -->
<!-- 타임라인 -->
<div class="timeline_content">
<!-- 날짜별 박스 -->
<div class="big_day_div">
<div class="timeline_date">2022.01.02(일)</div>
<div class="padding">
<div class="day_in_div">
<div class="time_title">
<p>26d</p>
</div>
<ul class="timeline_ul">
<li>
<div class="time">
01:45 PM
<span class="m_color01"></span>
</div>
<div class="text">
<p class="text_tit m_t_color01">Water</p>
<span>0ml</span>
</div>
</li>
<li>
<div class="time">
01:45 PM
<span class="m_color02"></span>
</div>
<div class="text">
<p class="text_tit m_t_color02">Water</p>
<span>0ml</span>
</div>
</li>
<li>
<div class="time">
01:45 PM
<span class="m_color03"></span>
</div>
<div class="text">
<p class="text_tit m_t_color03">Water</p>
<span>0ml</span>
</div>
</li>
</ul>
</div>
<!-- <div class="day_in_div">-->
<!-- <div class="time_title">-->
<!-- <p>1hr 52min</p>-->
<!-- </div>-->
<!-- <ul class="timeline_ul">-->
<!-- <li>-->
<!-- <div class="time">-->
<!-- 01:45 PM-->
<!-- <span class="m_color04"></span>-->
<!-- </div>-->
<!-- <div class="text">-->
<!-- <p class="text_tit m_t_color04">Formula</p>-->
<!-- <span>80ml</span>-->
<!-- </div>-->
<!-- </li>-->
<!-- <li>-->
<!-- <div class="time">-->
<!-- 01:45 PM-->
<!-- <span class="m_color05"></span>-->
<!-- </div>-->
<!-- <div class="text">-->
<!-- <p class="text_tit m_t_color05">Formula</p>-->
<!-- <span>80ml</span>-->
<!-- </div>-->
<!-- </li>-->
<!-- </ul>-->
<!-- </div>-->
</div>
<!-- //padding -->
</div>
<!-- //날짜별 박스 -->
</div>
<!-- //타임라인 -->
<div class="fix_icon">
<button type="button"><img src="../../img/ico_image_grey_24.png" alt=""></button>
<button type="button"><img src="../../img/ico_share_grey_24.png" alt=""></button>
</div>
</div>
<!-- //wrap -->
<!-- 하단 네비 iyu_nav -->
<nav class="iyu_nav">
<ul>
<li class="nav_list01">
<a href="../sn_nutrition/view_sn_nutrition_main.html">
<div class="icon">영양</div>
<div class="tit">영양</div>
</a>
</li>
<li class="nav_list02">
<a href="../sn_growth_body/view_sn_growth_main.html">
<div class="icon">성장</div>
<div class="tit">성장</div>
</a>
</li>
<li class="nav_list03">
<a href="../sn_index/index.html">
<div class="icon"></div>
<div class="tit"></div>
</a>
</li>
<li class="nav_list04">
<a href="../sn_food_information/view_sn_food_information_main.html">
<div class="icon">식품정보</div>
<div class="tit">식품정보</div>
</a>
</li>
<li class="nav_list05">
<a href="../sn_community/list_sn_community.html">
<div class="icon">커뮤니티</div>
<div class="tit">커뮤니티</div>
</a>
</li>
</ul>
</nav>
<!-- //iyu_nav -->
</body>
</html>

@ -26,17 +26,17 @@
<!-- 메모리 카테고리 -->
<ul class="memory_ca">
<li>
<a href="../memory/memory_daily.html">
<a href="memory_daily.ftl">
일간
</a>
</li>
<li class="current">
<a href="../memory/memory_week.html">
<a href="memory_week.ftl">
주간
</a>
</li>
<li>
<a href="../memory/memory_timeline.html">
<a href="memory_timeline.ftl">
타임라인
</a>
</li>

@ -13866,6 +13866,7 @@ main.sona_cont_measurement {
content: '';
width: 2px;
height: 80px;
z-index:0;
background: #F4F5F5 ;
}

@ -62,8 +62,10 @@ order by DATE_FORMAT(b.reg_dt, '%Y-%m-%d %H') asc;
-- 메모리 - 타임라인(모유, 각 카테고리별 수치 및 시간간격 계산해야됨.)
SELECT
DATE_FORMAT(b.reg_dt, '%Y-%m-%d %H:%i:%s') as reg_date,
TIMEDIFF(b.reg_dt, LAG(b.reg_dt) OVER (ORDER BY b.reg_dt) ) AS time_diff,
DATE_FORMAT(b.reg_dt, '%Y-%m-%d') as reg_date,
DATE_FORMAT(b.reg_dt, '%H:%i %p') as hour_min,
ifnull(DATEDIFF(b.reg_dt, LAG(b.reg_dt) OVER (ORDER BY b.reg_dt)),'') as day_diff,
ifnull(DATE_FORMAT(TIMEDIFF(b.reg_dt, LAG(b.reg_dt) OVER (ORDER BY b.reg_dt) ), '%H:%i'), '00:00'),
d.title,
b.dn_no,
d.cd_no,

Loading…
Cancel
Save