모유 및 간식 수정 커밋

dev_bert
kyebyungha 3 years ago
parent 234a33ad3f
commit 01943656a2

@ -1293,6 +1293,7 @@ public class M_Bf_foodController extends AbstractControllerManager{
DataMap.putToModel(model, "rm_child", rm_child);
// 2. 측정 기록 LIST
paramMap.put("table","tbl_bf_breast_feed");
int rowMax = bf_foodBO.select_db_lac_milk_list_count(paramMap);
initPage(paramMap, ROW_COUNT, PAGE_COUNT, rowMax); // check page count
@ -1373,7 +1374,7 @@ public class M_Bf_foodController extends AbstractControllerManager{
if(RenaStringUtil.isNullOrEmpty(dm_no)) {
result.put("RESULT", ConstantResultCode.RESULT_NEED_PARAMS);
}else {
bf_foodBO.delete_bf_lac_milk_single(paramMap);
bf_foodBO.delete_bf_lac_milk_single(paramMap);
result.put("RESULT", ConstantResultCode.RESULT_SUCCESS);
}
}
@ -1459,6 +1460,61 @@ public class M_Bf_foodController extends AbstractControllerManager{
return result;
}
/**
* -
* @param model
* @param request
* @param response
* @param redirectAttributes
* @return
*/
@RequestMapping(value="list_bf_snak")
public String list_bf_snak(@ModelAttribute("model") ModelMap model, HttpServletRequest request,
HttpServletResponse response , RedirectAttributes ra ) {
HttpSession session = request.getSession(false);
DataMap paramMap = gmUtil.getDataMapFromRequest(request);
String redirect_url = "m/bf_food/list_bf_snak";
try {
boolean is_login = gmUtil.setSessionForMobileMember(request, paramMap);
if(is_login == false) {
ra.addFlashAttribute("call_native_login", "Y");
redirect_url = "redirect:/m/login/view_login.do";
}else{
// 아이
DataMap rm_child = init_child(model, request, paramMap);
rm_child = bf_family_babyBO.select_bf_family_baby(paramMap);
int m = DateUtil.getDistanceByTwoMonth(RenaStringUtil.getData(rm_child, "birthday"), DateUtil.getDateString(DateUtil.F_YYYYMMDDDash), DateUtil.F_YYYYMMDDDash);
rm_child.put("age_y", (m / 12));
rm_child.put("age_m", (m % 12));
rm_child.put("m", m);
DataMap.putToModel(model, "rm_child", rm_child);
// 2. 측정 기록 LIST
paramMap.put("table","tbl_bf_snak_feed");
int rowMax = bf_foodBO.select_db_lac_milk_list_count(paramMap);
initPage(paramMap, ROW_COUNT, PAGE_COUNT, rowMax); // check page count
List<DataMap> lm_lac_milk = bf_foodBO.select_db_lac_milk_list(paramMap);
DataMap.putToModel(model, "lm_lac_milk", lm_lac_milk);
paramMap.put("memo_fg_cd", "1");
List<DataMap> lm_memo = bf_foodBO.select_memo_list(paramMap);
DataMap.putToModel(model, "lm_memo", lm_memo);
gmUtil.redirectParam(model, paramMap);
}
}catch(Exception ex1){ redirect_url = gmUtil.redirectError(true, ex1, request, paramMap, ra, ""); ex1.printStackTrace();}
gmUtil.redirectParam(model, paramMap);
return redirect_url;
}
@RequestMapping(value="view_bf_home_input")
public String view_bf_home_input(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response
, RedirectAttributes ra) {

@ -389,7 +389,7 @@
,dm_second
,dm_lac
,reg_dt
FROM tbl_bf_breast_feed
FROM $table$
WHERE 1=1
AND smc_no =#smc_no#
)x
@ -399,12 +399,12 @@
<select id="select_lac_milk_list_count" resultClass="Integer" parameterClass="dataMap">
SELECT COUNT(*)
FROM tbl_bf_breast_feed
FROM $table$
WHERE smc_no =#smc_no#
</select>
<insert id="insert_lac_milk" parameterClass="dataMap">
INSERT tbl_bf_breast_feed
INSERT $table$
( smc_no
,dm_fg_cd
,dm_minute
@ -427,6 +427,12 @@
</selectKey>
</insert>
<delete id="delete_lac_milk_single" parameterClass="dataMap">
DELETE
FROM $table$
WHERE dm_no = #dm_no#
</delete>
<insert id="insert_lac_memo" parameterClass="dataMap">
INSERT tbl_db_memo
( member_id
@ -445,11 +451,6 @@
</selectKey>
</insert>
<delete id="delete_lac_milk_single" parameterClass="dataMap">
DELETE
FROM tbl_bf_breast_feed
WHERE dm_no = #dm_no#
</delete>
<delete id="delete_lac_memo_single" parameterClass="dataMap">
DELETE

@ -32,11 +32,13 @@
<div class="nutrition_kinds_basic">
<h2>제공량을 선택해주세요</h2>
<ul class="nutrition_list_reason li_check">
<!--
<li <#if model['rm']['weight']?string("0.##") == '0.25'>class="active"</#if> ><a href="javascript:save.set('weight', '0.25');">1/4</a></li>
<li <#if model['rm']['weight']?string("0.##") == '0.5'>class="active"</#if> ><a href="javascript:save.set('weight', '0.5');">1/2</a></li>
<li <#if model['rm']['weight']?string("0.##") == '0.75'>class="active"</#if> ><a href="javascript:save.set('weight', '0.75');">3/4</a></li>
<li <#if model['rm']['weight']?string("0.##") == '1'>class="active"</#if> ><a href="javascript:save.set('weight', '1');">전체</a></li>
</ul>
-->
</ul>
</div>
<!-- //nutrition_kinds_basic -->

@ -59,7 +59,11 @@
<span>모유</span>
</a>
</p>
<p>
<a href="list_bf_snak.do?return_url=index">
<span>간식</span>
</a>
</p>
<p>
<a href="view_bf_commerce_input.do?return_url=index">
<span>시중에파는 이유식</span>

@ -258,15 +258,15 @@
ajax_insert_lac_milk: function(){
var data = {}
data.smc_no = $('#smc_no').val()
data.base_dt = moment( $('#input_date').val(),'YYYY. MM. DD' ).format('YYYYMMDD')
data.dm_fg_cd = $('#dm_fg_cd').val()
data.dm_minute = $('#dm_minute').val()
data.dm_second = $('#dm_second').val()
data.dm_minute = $('#dm_minute').val()
data.dm_lac = $('#dm_lac').val()
data.memo = $('#memo').val()
data.smc_no = $('#smc_no').val();
data.base_dt = moment( $('#input_date').val(),'YYYY. MM. DD' ).format('YYYYMMDD');
data.dm_fg_cd = $('#dm_fg_cd').val();
data.dm_minute = $('#dm_minute').val();
data.dm_second = $('#dm_second').val();
data.dm_minute = $('#dm_minute').val();
data.dm_lac = $('#dm_lac').val();
data.memo = $('#memo').val();
data.table = "tbl_bf_snak_feed";
$.ajax({
url:'${URL_ROOT}/m/bf_food/ajax_insert_lac_milk.do?1=1',
type:'post',
@ -291,7 +291,8 @@
if(!dm_no){return}
var data = {}
data.dm_no = dm_no
data.dm_no = dm_no;
data.table = "tbl_bf_snak_feed";
Swal.fire({
text: "기록을 삭제하시겠습니까?",

@ -0,0 +1,399 @@
<#include "/m/include/index_top.ftl">
<link rel="stylesheet" href="${URL_STATIC_ROOT}/m/css/anypicker-all.css">
<!-- 달력 datepicker -->
<script type="text/javascript" src="${URL_STATIC_ROOT}/m/js/anypicker.min.js"></script>
<link rel="stylesheet" href="${URL_STATIC_ROOT}/m/css/datepicker.css" type="text/css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.8.18/jquery-ui.min.js"></script>
<script src="http://code.jquery.com/jquery-1.7.js" type="text/javascript"></script>
<script type="text/javascript" src="/bf/m/js/jquery.bpopup.min.js"></script>
<style type="text/css">
.Pstyle {
opacity: 0;
display: none;
position: relative;
width: 600px;
border: 5px solid #fff;
padding: 20px;
background-color: #fff;
}
.b-close {
position: absolute;
right: 5px;
top: 5px;
padding: 5px;
display: inline-block;
cursor: pointer;
}
</style>
<#assign thumb_path = (model['rm_child']['append_300_img_file'])!>
<#if thumb_path?has_content>
<#assign thumb_path="/file/get_img.do?mt_file_seq="+thumb_path >
<#if thumb_path?index_of("http") != 0><#assign thumb_path = URL_ROOT + thumb_path></#if>
<#else>
<#if (model['rm_child']['gender'])! == 'F'>
<#assign thumb_path = '/bf/m/img/child/child_pic_04.png' >
<#else>
<#assign thumb_path = '/bf/m/img/child/child_pic_03.png' >
</#if>
</#if>
<script>
function CMD_MEASUREMENT_HEIGHT(smc_no) {
var cmd = 'CMD_MEASUREMENT_HEIGHT';
var args = {
smc_no: smc_no,
};
try{
window.interface.executeInterface(function(r){console.log('sussess:', r);}, function(r){console.log('fail:', r);}, cmd, args);
}catch(e){
alert(e);
}
}
</script>
<body><!--grey_bg / blue_w_bg /blue_g_bg-->
<div class="wrap">
<header class="header_wrapper">
<a href="javascript:back.return_url()" class="side_Lbtn hidden pre_btn">이전으로</a>
<h1 class="header_title">${model['rm_child']['name']} 간식 </h1>
<div class="side_Rbtn">
<a href="#" class="growth_cal">
<input type="text" id="date">
</a>
</div>
</header>
<main class="m_child_direct_input" id="top_move">
<div class="profile_wrap">
<input type="hidden" id="smc_no" class="required" name="smc_no" value="${model['smc_no']}" data-tit="아이 코드"/>
<form class="profile_header" id="frmLacMilk" method="POST">
<div class="p_header_pic">
<div class="pic hidden" style="background: url(${thumb_path})">프로필 사진</div>
<div class="child_tit">
<div class="name"><a href="javascript:CMD_MEASUREMENT_HEIGHT('${model['rm_child']['smc_no']}');">${model['rm_child']['name']}</a></div>
<div class="age">${model['rm_child']['age_y']!}세 ${model['rm_child']['age_m']!}개월</div>
</div>
</div>
<div class="profile_list">
<h2 class="p_title">정보입력</h2>
<div class="p_list_item p_border_box">
<label for="input_date" class="p_label">제공일자</label>
<div class="p_input_box">
<input type="text" id="input_date" name="input_date" class="required" placeholder="제공일자 입력" data-tit="제공일자" readonly>
</div>
</div>
<div class="p_list_item p_border_box">
<label for="child_height" class="p_label">간식 종류</label>
<!--
<div class="p_select_box">
<select id="dm_fg_cd" name="dm_fg_cd" value="${model['dm_fg_cd']!}" class="form-control m-r-3" >
<option value="1">일반간싯</option>
<option value="2">유축수유</option>
</select>
</div>
-->
</div>
<div class="p_list_item p_border_box">
<label for="child_height" class="p_label">섭취시간</label>
<div class="p_input_box">
<input type="number" id="dm_minute" name="dm_minute" value="${model['dm_minute']!}" class="required" placeholder="섭취시간(분)" data-tit="섭취시간(분)" step="1">
<span class="unit">분</span>
</div>
</div>
<div class="p_list_item p_border_box">
<label for="child_height" class="p_label">섭취시간</label>
<div class="p_input_box">
<input type="number" id="dm_second" name="dm_second" value="${model['dm_second']!}" class="required" placeholder="섭취시간(초)" data-tit="섭취시간(초)" step="1">
<span class="unit">초</span>
</div>
</div>
<div class="p_list_item p_border_box">
<label for="child_height" class="p_label">수유량</label>
<div class="p_input_box">
<input type="number" id="dm_lac" name="dm_lac" value="${model['dm_lac']!}" class="required" placeholder="수유량" data-tit="수유량" step="1">
<span class="unit">ml</span>
</div>
</div>
<div class="p_list_item p_border_box">
<label for="child_height" class="p_label">메모</label>
<div class="p_input_box">
<input type="text" id="memo" name="memo" value="${model['memo']!}" class="required" placeholder="메모" data-tit="메모" step="1">
</div>
<input type="button" value="자주사용하는 메모" onclick="javascript:frmLacMilk.go_popup()">
<input type="button" value="메모 등록" onclick="javascript:frmLacMilk.go_memo()">
</div>
<button type="submit" id="" name="" class="btns">저장</button>
</div>
<p class="p_info">
<span class="blue_tit">※ 입력하신 내용을 저장하시면 아래 목록에 추가됩니다.</span>
<span class="blue_tit">※ 동일한 날짜에 여러번 측정 혹은 입력하였을 시, 해당 날짜의 마지막 측정기록만 저장됩니다.</span>
</p>
</form>
<#if (model['lm_lac_milk'])??>
<div class="direct_input_wrap">
<h2 class="title"><span class="blue_tit">간식 섭취</span> 리스트</h2>
<div class="result_list_box">
<#list model['lm_lac_milk'] as item>
<div class="r_list_item">
<div>
<div class="result_num_box">
<div class="height_result result_num">[${item['dm_fg_nm']}] ${item['dm_minute']?string('0')}<span class="unit">분</span> / ${item['dm_second']?string('0')}<span class="unit">초</span>
${item['dm_lac']?string('0')}<span class="unit">ml</span>
</div>
</div>
<div class="date">
<span><span class="hidden icon">입력일 아이콘</span>입력일</span>${item['reg_dt']?string('yyyy. MM. dd')}
</div>
</div>
<button type="button" id="" name="" class="hidden del_btn" onclick="javascript:frmLacMilk.ajax_delete_lac_milk(${item['dm_no']})" >삭제</button>
</div>
</#list>
</div>
<#--페이지네이션-->
<ul class="pagination">
<@b.Paging url="${URL_PATH}/list_bf_milk.do"
pageCount="${model['page']['pageCount']?c}"
rowCount="${model['page']['rowCount']?c}"
rowMax="${model['page']['rowMax']?c}"
nowPage="${model['page']['nowPage']?c}"
params="smc_no=${model['smc_no']}&is_search=${model['is_search']!}&search_col=${model['search_col']!}&search_text=${model['search_text']!}&search_col_dt=${model['search_col_dt']!}&search_s_dt=${model['search_s_dt']!}&search_e_dt=${model['search_e_dt']!}&return_url=${model['return_url']!}&"
class_page_active=" active"
is_prev_first="N"
is_next_end="N"
/>
</ul>
</div>
</#if>
</div>
</main>
</div>
<div id="favorPopup" class="Pstyle">
<span class="b-close">X</span>
<div class="content">
<div class="nutrition_kinds_basic">
<div class="nutrition_kinds_search">
<#if (model['lm_memo'])??>
<ul id="ul_memo" class="nutrition_commercial_list">
<#list model['lm_memo'] as item>
<li><a href ="#" onclick="javascript:frmLacMilk.appendMemo('${item['memo']}')"> ${item['memo']}</a></li>
</#list>
</ul>
</#if>
</div>
</div>
</div>
</div>
<div id="memoPopup" class="Pstyle">
<span class="b-close">X</span>
<div class="content">
<div class="nutrition_kinds_basic">
<div class="nutrition_kinds_search">
자주쓰는 표현을 등록 해보세요.<br />
최대 50자까지 쓸 수 있습니다.<br />
자주쓰는 표현은 설정에서 수정 및 삭제가 가능합니다.
</div>
<div class="nutrition_kinds_search">
<input type="text" id="memoInput" name="memoInput" class="required" style="width:100%" placeholder="메모" data-tit="메모" step="1">
</div>
<div class="nutrition_kinds_search">
<button type="button" id="" name="" class="" onclick="javascript:$('#memoPopup').bPopup().close();" >취소</button>
<button type="button" id="" name="" class="" onclick="javascript:frmLacMilk.ajax_insert_db_memo();" >확인</button>
</div>
</div>
</div>
</div>
<!-- 하단 네비 iyu_nav -->
<#include "/m/include/index_bottom_menu.ftl">
<!-- //iyu_nav -->
<script type="text/javascript">
var frmLacMilk = {
init: function(){
SNUtil.initInputAction()
$('#frmLacMilk').on('submit',function(e){
if (!SNValidator.validateWithAlert('#frmLacMilk')) {
e.preventDefault()
return;
}
/*
if($('#child_height').val() >= 210 || $('#child_height').val() < 30){
Swal.fire({
text: '신장범위(30~210cm)를 초과했습니다'
}).then((result)=>{ $('#child_height').focus() })
e.preventDefault()
return;
}
if($('#child_weight').val() >= 100 || $('#child_weight').val() < 1){
Swal.fire({
text: '체중범위(1~100Kg)를 초과했습니다'
}).then((result)=>{ $('#child_weight').focus() })
e.preventDefault()
return;
}
*/
this.ajax_insert_lac_milk();
e.preventDefault()
return;
}.bind(this))
},
ajax_insert_lac_milk: function(){
var data = {}
data.smc_no = $('#smc_no').val();
data.base_dt = moment( $('#input_date').val(),'YYYY. MM. DD' ).format('YYYYMMDD') ;
data.dm_fg_cd = $('#dm_fg_cd').val();
data.dm_minute = $('#dm_minute').val();
data.dm_second = $('#dm_second').val();
data.dm_minute = $('#dm_minute').val();
data.dm_lac = $('#dm_lac').val();
data.memo = $('#memo').val();
data.table = "tbl_bf_breast_feed";
$.ajax({
url:'${URL_ROOT}/m/bf_food/ajax_insert_lac_milk.do?1=1',
type:'post',
data: data,
dataType:'json',
error:function(request,status,error){
Swal.fire({text:"등록되지 않았습니다"})
},
success:function(result){
console.log(result)
var RESULT = result.RESULT
if(RESULT == 0){ //0:RESULT_SUCCESS
Swal.fire({text:"입력되었습니다"}).then((result) => { location.replace('./list_bf_milk.do?smc_no=${(model["smc_no"])!}') })
}else{
Swal.fire({text:"등록되지 않았습니다"})
}
},
})
},
ajax_delete_lac_milk: function(dm_no){
if(!dm_no){return}
var data = {}
data.dm_no = dm_no;
data.table = "tbl_bf_snak_feed";
Swal.fire({
text: "기록을 삭제하시겠습니까?",
showCancelButton: true,
confirmButtonText: '네',
cancelButtonText: '취소'
}).then((result) => {
if(result.value){
$.ajax({
url:'${URL_ROOT}/m/bf_food/ajax_delete_lac_milk.do?1=1',
type:'post',
data: data,
dataType:'json',
error:function(request,status,error){
Swal.fire({text:"삭제되지 않았습니다"})
},
success:function(result){
console.log(result)
var RESULT = result.RESULT
if(RESULT == 0){ //0:RESULT_SUCCESS
location.replace('./list_bf_milk.do?smc_no=${(model["smc_no"])!}')
}else{
Swal.fire({text:"삭제되지 않았습니다"})
}
},
})
}
})
},
ajax_insert_db_memo: function(){
var data = {}
data.base_dt = moment( $('#input_date').val(),'YYYY. MM. DD' ).format('YYYYMMDD')
data.memo = $('#memoInput').val()
$.ajax({
url:'${URL_ROOT}/m/bf_food/ajax_insert_db_memo.do?1=1',
type:'post',
data: data,
dataType:'json',
error:function(request,status,error){
Swal.fire({text:"등록되지 않았습니다"})
},
success:function(result){
console.log(result)
var RESULT = result.RESULT
if(RESULT == 0){ //0:RESULT_SUCCESS
Swal.fire({text:"입력되었습니다"}).then((result) => { location.replace('./list_bf_milk.do?smc_no=${(model["smc_no"])!}') })
}else{
Swal.fire({text:"등록되지 않았습니다"})
}
},
});
$('#memoPopup').bPopup().close();
},
go_popup: function() {
$('#favorPopup').bPopup();
},
go_memo: function() {
$('#memoPopup').bPopup();
},
appendMemo: function(memo) {
var v_memo = ($('#memo').val() == '' ? memo : $('#memo').val() +", " + memo) ;
$('#memo').val(v_memo);
$('#favorPopup').bPopup().close();
}
}
$(function(){
frmLacMilk.init();
var today = moment().format('YYYY.MM.DD');
$("#input_date").val(today)
var input_date = SNUtil.makeAnyPicker('input_date', $("#input_date").val(), -80, '.');
})
</script>
<script type="text/javascript">
// 달력 datepicker
jQuery("#date").datepicker({
showMonthAfterYear: true,
yearSuffix: '년',
showOn: "button",
buttonImage: "${URL_STATIC_ROOT}/m/img/growth/growth_cal_ico.png",
buttonImageOnly: true,
dateFormat: 'yy-mm-dd',
nextText: '다음 달',
prevText: '이전 달',
monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
monthNamesShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
dayNamesMin: ['일', '월', '화', '수', '목', '금', '토'],
dayNamesShort: ['일', '월', '화', '수', '목', '금', '토']
});
</script>
-->
<#include "/m/bf_growth_body/include_return_url.ftl">
</body>
<#include "/m/include/index_bottom.ftl">

@ -1,19 +1,20 @@
<nav class="iyu_nav">
<ul>
<!--
<li class="nav_list01">
<a href="${URL_ROOT}/m/bf_food/index.do?return_url=index">
<div class="icon">영양</div>
<div class="tit">영양</div>
</a>
</li>
<!--
-->
<li class="nav_list02">
<a href="javascript:fncGoRecommend()">
<div class="icon">이유식</div>
<div class="tit">이유식</div>
</a>
</li>
-->
<li class="nav_list02">
<a href="${URL_ROOT}/m/bf_growth/index.do?return_url=index">
<div class="icon">분석(성장기록)</div>

Loading…
Cancel
Save