가온앤 체크리스트 적용4

남은 체크리스트
#타임라인, 일간, 주간 - ooo 모두 똑같이 보이게 수정
#커뮤니티 내 투표칸 글자 제한이 없어, 긴 글 입력 시 배열이 망가짐(18글자 제한)
#분석 -> 아기건강 변경 (PPT 참고해주세요), % 표기 모두 점수로 변경
#챗봇 플로팅 버튼 모든 카테고리에서 보이도록 수정
#장바구니 플로팅 버튼은 커뮤니티 외 모든 곳에서 보이도록 수정
dev_bert
정이솔 3 years ago
parent f483b9dcd9
commit d775986a93

@ -13,7 +13,7 @@ public class ConstantCode {
public static final String R_RETRY = "RETRY";
public static final String DIR_WATERMARK_IMG = "";
public static final String DIR_WATERMARK_TXT = "Copyright © RenaStudio.\nAll Rights Reserved.";
public static final String DIR_WATERMARK_TXT = "";
public static final String AUTH_LIST = "LIST";
public static final String AUTH_INSERT = "INSERT";

@ -122,30 +122,37 @@ public class NutrientScoreCalculation {
public static void main(String[] args) {
DataMap data = new DataMap();
data.put("month", 4);
data.put("enerc", 349.91);
data.put("chotdf", 60.94);
data.put("procnp", 0);
data.put("fat", 7.72);
data.put("sugar", 9.38);
data.put("fibtg", 2.36);
data.put("na", 119.44);
data.put("vitaminb1", 0.12);
data.put("vitaminb2", 0.07);
data.put("niacin", 0);
data.put("ca", 15.51);
data.put("k", 299.4);
data.put("fe", 0.88);
data.put("vitamina", 0);
data.put("vitaminc", 8.47);
data.put("vitamind", 0);
data.put("vitamine", 0);
data.put("zn", 0.32);
data.put("month", 24);
data.put("enerc", 855.44);
data.put("chotdf", 110.99);
data.put("procnp", 27.25);
data.put("fat", 32.7);
data.put("sugar", 53.8);
data.put("fibtg", 0.68);
data.put("na", 227.31);
data.put("vitaminb1", 0.45);
data.put("vitaminb2", 1.18);
data.put("niacin", 4.98);
data.put("ca", 552.66);
data.put("k", 465.39);
data.put("fe", 402.9);
data.put("vitamina", 372.76);
data.put("vitaminc", 64.33);
data.put("vitamind", 7.02);
data.put("vitamine", 5.68);
data.put("zn", 4.73);
NutrientScoreCalculation cal = new NutrientScoreCalculation(data);
DataMap score = cal.getScore();
DataMap intake = cal.getIntakeComparedToTheRecommendedAmount();
DataMap light = cal.getLights();
System.out.println("■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 권장량대비섭취량");
DataMap.printDataMap(intake);
System.out.println("■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 스코어");
DataMap.printDataMap(score);
System.out.println("■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 신호등");
DataMap.printDataMap(light);
DataMap result = new DataMap();
result.put("enerc", 1);
@ -417,8 +424,8 @@ public class NutrientScoreCalculation {
*/
private double getSugarValue(double x, double from) {
double result = 0;
//if(x<=from)
if(x>=from)
if(x<=from)
// if(x>=from)
result = 100;
else if (from<x && x<=from*1.5)
result = -100/(from*1.5-from)*x+100/(from*1.5-from)*from*1.5;
@ -435,8 +442,8 @@ public class NutrientScoreCalculation {
*/
private double getNaValue(double x, double from) {
double result = 0;
//if(x<=from)
if(x>=from)
if(x<=from)
// if(x>=from)
result = 100;
else if (from<x && x<=from*1.5)
result = -100/(from*1.5-from)*x+100/(from*1.5-from)*from*1.5;
@ -724,20 +731,20 @@ public class NutrientScoreCalculation {
private String getLight(double x, double from, double to) {
if(x<from)
return Lights.red.name();
else if(from<=x && x<=to)
return Lights.yellow.name();
else if(x>to)
else if(from<=x && x<=to)
return Lights.green.name();
else if(x>to)
return Lights.red.name();
else
return "";
}
private String getLight(double x, double from) {
if(x<=from)
return Lights.yellow.name();
else if(x>from)
return Lights.green.name();
else if(x>from)
return Lights.yellow.name();
else
return "";
}
@ -771,8 +778,10 @@ public class NutrientScoreCalculation {
result.put("fat", getLight(fat, ARR_INTAKE_FROM[fat_idx][label], ARR_INTAKE_TO[fat_idx][label]));
result.put("sugar", getLight(sugar, ARR_INTAKE_FROM[sugar_idx][label]));
// 12개월 미만 식이섬유는 기준 없음
if(label<2) result.put("fibtg", null);
else result.put("fibtg", getLight(fibtg, ARR_INTAKE_FROM[fibtg_idx][label], ARR_INTAKE_TO[fibtg_idx][label]));
if(label<2)
result.put("fibtg", null);
else
result.put("fibtg", getLight(fibtg, ARR_INTAKE_FROM[fibtg_idx][label], ARR_INTAKE_TO[fibtg_idx][label]));
result.put("na", getLight(na, ARR_INTAKE_FROM[na_idx][label]));
result.put("vitaminb1", getLight(vitaminb1, ARR_INTAKE_FROM[vitaminb1_idx][label], ARR_INTAKE_TO[vitaminb1_idx][label]));
result.put("vitaminb2", getLight(vitaminb2, ARR_INTAKE_FROM[vitaminb2_idx][label], ARR_INTAKE_TO[vitaminb2_idx][label]));

@ -1779,9 +1779,11 @@ public class M_Bf_foodController extends AbstractControllerManager{
NutrientScoreCalculation nutrient = new NutrientScoreCalculation(today_dm);
DataMap lights = nutrient.getLights();
DataMap score = nutrient.getScore();
DataMap intake = nutrient.getIntakeComparedToTheRecommendedAmount();
DataMap.putToModel(model, "lights", lights);
DataMap.putToModel(model, "score", score);
DataMap.putToModel(model, "intake", intake);
}
}

@ -210,7 +210,7 @@
)x
GROUP BY DATE(x.reg_dt)
ORDER BY x.reg_dt DESC
LIMIT 7
LIMIT 15
</select>
<select id="select_weekly_baby_list_count" resultClass="Integer" parameterClass="dataMap">
@ -432,7 +432,7 @@
)x
WHERE x.count <![CDATA[>=]]> 2
ORDER BY x.reg_dt DESC
LIMIT 4
LIMIT 10
</select>

@ -92,8 +92,10 @@
<!-- float_cart -->
<div class="float_cart">
<svg onclick="javascript:fncCartPop(true)" xmlns="http://www.w3.org/2000/svg" width="27.947" height="29.098" viewBox="0 0 27.947 29.098">
<path id="패스_146" data-name="패스 146" d="M20.585,17.454a2.664,2.664,0,0,0,2.356-1.447l4.819-9.118A1.4,1.4,0,0,0,26.588,4.81H6.667L5.4,2H1V4.81H3.692L8.538,15.473,6.721,18.9a2.815,2.815,0,0,0,2.356,4.173H25.228v-2.81H9.076l1.481-2.81ZM7.945,7.62H24.3l-3.715,7.025H11.135ZM9.076,24.479a2.813,2.813,0,0,0,0,5.62,2.812,2.812,0,0,0,0-5.62Zm13.46,0a2.812,2.812,0,1,0,2.692,2.81A2.75,2.75,0,0,0,22.536,24.479Z" transform="translate(-0.5 -1.5)" fill="#fff" stroke="#ff9c01" stroke-width="1"/>
<svg onclick="javascript:fncCartPop(true)" xmlns="http://www.w3.org/2000/svg" width="22.93" height="24.1" viewBox="0 0 27.947 29.098">
<path id="패스_146" data-name="패스 146"
d="M20.585,17.454a2.664,2.664,0,0,0,2.356-1.447l4.819-9.118A1.4,1.4,0,0,0,26.588,4.81H6.667L5.4,2H1V4.81H3.692L8.538,15.473,6.721,18.9a2.815,2.815,0,0,0,2.356,4.173H25.228v-2.81H9.076l1.481-2.81ZM7.945,7.62H24.3l-3.715,7.025H11.135ZM9.076,24.479a2.813,2.813,0,0,0,0,5.62,2.812,2.812,0,0,0,0-5.62Zm13.46,0a2.812,2.812,0,1,0,2.692,2.81A2.75,2.75,0,0,0,22.536,24.479Z"
transform="translate(-0.5 -1.5)" fill="#fff" stroke="#ff9c01" stroke-width="1" />
</svg>
</div>
</main>

@ -28,7 +28,7 @@
<div class="info_cont">
<div class="item">
<div class="circle" style="background-color: #FF3300;"></div>
</div>
<div class="item">
<div class="circle" style="background-color: #FFDE4D;"></div>

@ -177,9 +177,9 @@
borderColor: '#e7e7e7',
cubicInterpolationMode: true,
pointRadius: '5',
pointBackgroundColor: [ '#fff', '#fff', '#fff', '#fff', '#fff', '#fff', '#fff' ],
pointBackgroundColor: [ '#fff', '#fff', '#fff', '#fff', '#fff', '#fff', '#fff', '#fff', '#fff', '#fff', '#fff', '#fff', '#fff', '#fff', '#fff' ],
pointBorderWidth: '3',
pointBorderColor: ['#33CC33', '#33CC33', '#33CC33', '#33CC33', '#33CC33', '#33CC33', '#33CC33'],
pointBorderColor: ['#33CC33', '#33CC33', '#33CC33', '#33CC33', '#33CC33', '#33CC33', '#33CC33', '#33CC33', '#33CC33', '#33CC33', '#33CC33', '#33CC33', '#33CC33', '#33CC33', '#33CC33'],
borderWidth: '3',
lineTension: 0,
/*pointHoverBorderColor: "#30a9d7",*/
@ -231,7 +231,7 @@
xAxes: [{
display: true, //세로선
gridLines: {
color: ['#ddd', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#ddd'],
color: ['#ddd', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#ddd'],
drawTicks: true,
drawBorder: true,
tickMarkLength: 3,
@ -306,7 +306,7 @@
pointRadius: '5',
pointBackgroundColor: ['#fff', '#fff', '#fff', '#fff'],
pointBorderWidth: '3',
pointBorderColor: ['#33CC33', '#33CC33', '#33CC33', '#33CC33'],
pointBorderColor: ['#33CC33', '#33CC33', '#33CC33', '#33CC33', '#33CC33', '#33CC33', '#33CC33', '#33CC33', '#33CC33', '#33CC33'],
borderWidth: '3',
lineTension: 0,
/*pointHoverBorderColor: "#30a9d7",*/
@ -358,7 +358,7 @@
xAxes: [{
display: true,
gridLines: {
color: ['#ddd', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#ddd'],
color: ['#ddd', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#ddd'],
drawTicks: true,
drawBorder: true,
tickMarkLength: 3,

@ -173,6 +173,10 @@
</div>
<!-- //wrap -->
<!-- float_cart -->
<div class="float_cart">
<#include "/m/include/cart_script.ftl">
<script>
function msg(msg){
Swal.fire({

@ -135,6 +135,10 @@
</div>
<!-- //wrap -->
<!-- float_cart -->
<div class="float_cart">
<#include "/m/include/cart_script.ftl">
<script>

@ -134,6 +134,10 @@
</div>
</div>
<!-- //wrap -->
<!-- float_cart -->
<div class="float_cart">
<#include "/m/include/cart_script.ftl">
<!-- 하단 네비 iyu_nav -->
<#include "/m/include/index_bottom_menu.ftl">

@ -177,6 +177,10 @@
list.height(equalHeight(list));
})
</script>
<!-- float_cart -->
<div class="float_cart">
<#include "/m/include/cart_script.ftl">
<!-- 하단 네비 iyu_nav -->
<#include "/m/include/index_bottom_menu.ftl">
@ -209,4 +213,4 @@ function frmview(nr_no){
}
</script>
<#include "/m/include/index_bottom.ftl">
<#include "/m/include/index_bottom.ftl">

@ -125,6 +125,10 @@
</div>
</div>
<!-- //wrap -->
<!-- float_cart -->
<div class="float_cart">
<#include "/m/include/cart_script.ftl">
<!-- 하단 네비 iyu_nav -->
<#include "/m/include/index_bottom_menu.ftl">

@ -0,0 +1,75 @@
<svg onclick="javascript:fncCartPop(true)" xmlns="http://www.w3.org/2000/svg" width="22.93" height="24.1" viewBox="0 0 27.947 29.098">
<path id="패스_146" data-name="패스 146"
d="M20.585,17.454a2.664,2.664,0,0,0,2.356-1.447l4.819-9.118A1.4,1.4,0,0,0,26.588,4.81H6.667L5.4,2H1V4.81H3.692L8.538,15.473,6.721,18.9a2.815,2.815,0,0,0,2.356,4.173H25.228v-2.81H9.076l1.481-2.81ZM7.945,7.62H24.3l-3.715,7.025H11.135ZM9.076,24.479a2.813,2.813,0,0,0,0,5.62,2.812,2.812,0,0,0,0-5.62Zm13.46,0a2.812,2.812,0,1,0,2.692,2.81A2.75,2.75,0,0,0,22.536,24.479Z"
transform="translate(-0.5 -1.5)" fill="#fff" stroke="#ff9c01" stroke-width="1" />
</svg>
</div>
<!-- modal-wrapper : 홈메이드 이유식 레시피 검색 팝업 -->
<div class="modal-wrapper">
<div class="modal_content" style="width: calc(100% - 30px)">
<div class="head">
<div class="title">&nbsp;</div>
<div class="modal_close_btn"><img src="../img/close_ico.png"></div>
</div>
<div id="homeMadeSearchPop" class="content">
</div>
</div>
<div class="modal_layer"></div>
</div>
<!-- //modal-wrapper -->
<script>
//카트 상세 정보 팝업
function fncCartPop() {
$.ajax({
url: '${URL_ROOT}/m/bf_food/list_bf_cart_popup.do',
data:null, // HTTP 요청과 함께 서버로 보낼 데이터
type: "POST", // HTTP 요청 방식(GET, POST)
beforeSend: function (xhr) {
},
dataType: "html", // 서버에서 보내줄 데이터의 타입
})
// HTTP 요청이 성공하면 요청한 데이터가 done() 메소드로 전달됨.
.done(function (data) {
$('.modal-wrapper').removeClass('open');
$("#homeMadeSearchPop").html(data);
$('.modal-wrapper').addClass('open');
})
// HTTP 요청이 실패하면 오류와 상태에 관한 정보가 fail() 메소드로 전달됨.
.fail(function (xhr, status, errorThrown) {})
// HTTP 요청이 성공하거나 실패하는 것에 상관없이 언제나 always() 메소드가 실행됨.
.always(function (xhr, status) {
// console.log("요청이 완료되었습니다!");
});
}
//카트 추가
function fncCartAddPop() {
$.ajax({
url: '${URL_ROOT}/m/bf_food/list_bf_cart_add_popup.do?return_url=list_bf_cart',
data:{
},
type: "POST", // HTTP 요청 방식(GET, POST)
beforeSend: function (xhr) {
},
dataType: "html", // 서버에서 보내줄 데이터의 타입
})
// HTTP 요청이 성공하면 요청한 데이터가 done() 메소드로 전달됨.
.done(function (data) {
$('.modal-wrapper').removeClass('open');
$("#homeMadeSearchPop").html(data);
$('.modal-wrapper').addClass('open');
})
// HTTP 요청이 실패하면 오류와 상태에 관한 정보가 fail() 메소드로 전달됨.
.fail(function (xhr, status, errorThrown) {})
// HTTP 요청이 성공하거나 실패하는 것에 상관없이 언제나 always() 메소드가 실행됨.
.always(function (xhr, status) {
// console.log("요청이 완료되었습니다!");
});
}
$(".modal_close_btn").on("click", function (){
$(".modal-wrapper").removeClass("open")
})
</script>

After

Width:  |  Height:  |  Size: 3.5 KiB

@ -0,0 +1,77 @@
<!-- float_cart -->
<div class="float_cart" style="bottom: 140px;">
<svg onclick="javascript:fncCartPop(true)" xmlns="http://www.w3.org/2000/svg" width="22.93" height="24.1" viewBox="0 0 27.947 29.098">
<path id="패스_146" data-name="패스 146"
d="M20.585,17.454a2.664,2.664,0,0,0,2.356-1.447l4.819-9.118A1.4,1.4,0,0,0,26.588,4.81H6.667L5.4,2H1V4.81H3.692L8.538,15.473,6.721,18.9a2.815,2.815,0,0,0,2.356,4.173H25.228v-2.81H9.076l1.481-2.81ZM7.945,7.62H24.3l-3.715,7.025H11.135ZM9.076,24.479a2.813,2.813,0,0,0,0,5.62,2.812,2.812,0,0,0,0-5.62Zm13.46,0a2.812,2.812,0,1,0,2.692,2.81A2.75,2.75,0,0,0,22.536,24.479Z"
transform="translate(-0.5 -1.5)" fill="#fff" stroke="#ff9c01" stroke-width="1" />
</svg>
</div>
<!-- modal-wrapper : 홈메이드 이유식 레시피 검색 팝업 -->
<div class="modal-wrapper">
<div class="modal_content" style="width: calc(100% - 30px)">
<div class="head">
<div class="title">&nbsp;</div>
<div class="modal_close_btn"><img src="../img/close_ico.png"></div>
</div>
<div id="homeMadeSearchPop" class="content">
</div>
</div>
<div class="modal_layer"></div>
</div>
<!-- //modal-wrapper -->
<script>
//카트 상세 정보 팝업
function fncCartPop() {
$.ajax({
url: '${URL_ROOT}/m/bf_food/list_bf_cart_popup.do',
data:null, // HTTP 요청과 함께 서버로 보낼 데이터
type: "POST", // HTTP 요청 방식(GET, POST)
beforeSend: function (xhr) {
},
dataType: "html", // 서버에서 보내줄 데이터의 타입
})
// HTTP 요청이 성공하면 요청한 데이터가 done() 메소드로 전달됨.
.done(function (data) {
$('.modal-wrapper').removeClass('open');
$("#homeMadeSearchPop").html(data);
$('.modal-wrapper').addClass('open');
})
// HTTP 요청이 실패하면 오류와 상태에 관한 정보가 fail() 메소드로 전달됨.
.fail(function (xhr, status, errorThrown) {})
// HTTP 요청이 성공하거나 실패하는 것에 상관없이 언제나 always() 메소드가 실행됨.
.always(function (xhr, status) {
// console.log("요청이 완료되었습니다!");
});
}
//카트 추가
function fncCartAddPop() {
$.ajax({
url: '${URL_ROOT}/m/bf_food/list_bf_cart_add_popup.do?return_url=list_bf_cart',
data:{
},
type: "POST", // HTTP 요청 방식(GET, POST)
beforeSend: function (xhr) {
},
dataType: "html", // 서버에서 보내줄 데이터의 타입
})
// HTTP 요청이 성공하면 요청한 데이터가 done() 메소드로 전달됨.
.done(function (data) {
$('.modal-wrapper').removeClass('open');
$("#homeMadeSearchPop").html(data);
$('.modal-wrapper').addClass('open');
})
// HTTP 요청이 실패하면 오류와 상태에 관한 정보가 fail() 메소드로 전달됨.
.fail(function (xhr, status, errorThrown) {})
// HTTP 요청이 성공하거나 실패하는 것에 상관없이 언제나 always() 메소드가 실행됨.
.always(function (xhr, status) {
// console.log("요청이 완료되었습니다!");
});
}
$(".modal_close_btn").on("click", function (){
$(".modal-wrapper").removeClass("open")
})
</script>

@ -348,14 +348,17 @@
</div>
</a>
</#if>
</div>
<!-- //wrap -->
<#include "/m/include/cart_script2.ftl">
<#if model['tutorial_cnt'] == 0>
<#include "/m/include/index_tutorial.ftl">
</#if>
<script>
let not_h = '아이 키 성장 기록이 없습니다';
let not_w = '아이 체중 성장 기록이 없습니다';

@ -56,7 +56,7 @@
</div>
<!-- //컬러 박스 -->
<div style="text-align: center;">
<div style="text-align: center; font-size: 13px; color: #707070;">
카테고리를 클릭하면 해당사항만 볼 수 있습니다.
</div>

@ -55,6 +55,10 @@
</div>
</div>
<!-- //컬러 박스 -->
<div style="text-align: center; font-size: 13px; color: #707070;">
카테고리를 클릭하면 해당사항만 볼 수 있습니다.
</div>
<!-- 날짜 -->
<div class="memory_date" style="height:106px">

@ -5214,7 +5214,7 @@ main {
}
.modal-wrapper .modal_content {
z-index: 99;
z-index: 999999;
position: fixed;
top: 50%;
left: 50%;
@ -5260,7 +5260,7 @@ main {
width:100%;
height:100%;
background:rgba(0, 0, 0, 0.5);
z-index:90;
z-index:99999;
}
.modal-wrapper .input_box {
@ -15080,10 +15080,10 @@ main.sona_cont_measurement {
.float_chatbot {
position: fixed;
bottom: 80px;
right: 30px;
right: 15px;
z-index: 99999;
width: 50px;
height: 50px;
width: 45px;
height: 45px;
border-radius: 50%;
border: 1px solid #FF9C00;
display: flex;
@ -15620,7 +15620,7 @@ main.sona_cont_measurement {
width: 30px;
}
.main_bf_food .float_cart {
.float_cart {
position: fixed;
bottom: 80px;
right: 15px;

Loading…
Cancel
Save