[수정] 영양점수 로직 수정

dev_bert
정이솔 3 years ago
parent 7d87cea8be
commit 35ea87d85f

@ -72,7 +72,7 @@ public class NutrientScoreCalculation {
// 행 : 섭취 권장량 from
// 열 : 월령 (0~5개월, 6~11개월, 12~35개월, 36~60개월)
private static final double ARR_INTAKE_FROM[][] = {
{425, 510, 765, 1190} // 0 : 에너지
{500, 600, 900, 1400} // 0 : 에너지
,{60, 90, 124, 193} // 1 : 탄수화물
,{10, 15, 16, 25} // 2 : 단백질
,{25.0, 25.0, 20.0, 23.3} // 3 : 지방
@ -95,7 +95,7 @@ public class NutrientScoreCalculation {
// 행 : 섭취 권장량 to
// 열 : 월령 (0~5개월, 6~11개월, 12~35개월, 36~60개월)
private static final double ARR_INTAKE_TO[][] = {
{575, 690, 1035, 1610} // 0 : 에너지
{500, 600, 900, 1400} // 0 : 에너지
,{69, 104, 146, 228} // 1 : 탄수화물
,{12, 17, 45, 70} // 2 : 단백질
,{28.8, 28.8, 35.0, 47.0} // 3 : 지방
@ -123,9 +123,9 @@ public class NutrientScoreCalculation {
public static void main(String[] args) {
DataMap data = new DataMap();
// 아기 개월
data.put("month", 26);
data.put("month", 12);
// 에너지
data.put("enerc", 130.0);
data.put("enerc", 380.0);
// 탄수화물
data.put("chotdf", 14.0);
// 단백질

@ -117,8 +117,8 @@ public class M_Bf_foodController extends AbstractControllerManager{
if(today_dm == null) {
today_dm = new DataMap();
today_dm.put("month", rm_child.get("m"));
}
today_dm.put("month", rm_child.get("m"));
NutrientScoreCalculation today_nut = new NutrientScoreCalculation(today_dm);
DataMap today_nut_score = today_nut.getScore();
@ -1733,8 +1733,8 @@ public class M_Bf_foodController extends AbstractControllerManager{
if(today_dm == null) {
today_dm = new DataMap();
today_dm.put("month", rm_child.get("m"));
}
today_dm.put("month", rm_child.get("m"));
FoodScoreCalculation food = new FoodScoreCalculation(today_dm);
food.getScore();
@ -1789,8 +1789,8 @@ public class M_Bf_foodController extends AbstractControllerManager{
if(today_dm == null) {
today_dm = new DataMap();
today_dm.put("month", rm_child.get("m"));
}
today_dm.put("month", rm_child.get("m"));
NutrientScoreCalculation nutrient = new NutrientScoreCalculation(today_dm);
DataMap lights = nutrient.getLights();

@ -172,19 +172,30 @@ public class M_Bf_growthController extends AbstractControllerManager{
if(today_dm == null) {
today_dm = new DataMap();
today_dm.put("month", rm_child.get("m"));
}
today_dm.put("month", rm_child.get("m"));
NutrientScoreCalculation today_nut = new NutrientScoreCalculation(today_dm);
DataMap today_nut_score = today_nut.getScore();
FoodScoreCalculation today_food = new FoodScoreCalculation(today_dm);
DataMap today_food_score = today_food.getScore();
today.put("basicNutrition", today_nut_score.get("basicNutrition"));
today.put("growthNutrition", today_nut_score.get("growthNutrition"));
today.put("immuneNutrition", today_nut_score.get("immuneNutrition"));
today.put("healthyFood", today_food_score.get("healthyFood"));
today.put("unhealthyFood", today_food_score.get("unhealthyFood"));
if(today_dm.get("month") == null){
today.put("basicNutrition", 0);
today.put("growthNutrition", 0);
today.put("immuneNutrition", 0);
today.put("healthyFood", 0);
today.put("unhealthyFood", 0);
today.put("today_recode", false);
}else{
today.put("basicNutrition", today_nut_score.get("basicNutrition"));
today.put("growthNutrition", today_nut_score.get("growthNutrition"));
today.put("immuneNutrition", today_nut_score.get("immuneNutrition"));
today.put("healthyFood", today_food_score.get("healthyFood"));
today.put("unhealthyFood", today_food_score.get("unhealthyFood"));
today.put("today_recode", true);
}
// 일일 균형 판정
List<DataMap> day_lm = scoreBO.select_daily_list_for_graph(paramMap);
@ -360,19 +371,29 @@ public class M_Bf_growthController extends AbstractControllerManager{
if(today_dm == null) {
today_dm = new DataMap();
today_dm.put("month", rm_child.get("m"));
}
today_dm.put("month", rm_child.get("m"));
NutrientScoreCalculation today_nut = new NutrientScoreCalculation(today_dm);
DataMap today_nut_score = today_nut.getScore();
FoodScoreCalculation today_food = new FoodScoreCalculation(today_dm);
DataMap today_food_score = today_food.getScore();
today.put("basicNutrition", today_nut_score.get("basicNutrition"));
today.put("growthNutrition", today_nut_score.get("growthNutrition"));
today.put("immuneNutrition", today_nut_score.get("immuneNutrition"));
today.put("healthyFood", today_food_score.get("healthyFood"));
today.put("unhealthyFood", today_food_score.get("unhealthyFood"));
if(today_dm.get("month") == null){
today.put("basicNutrition", 0);
today.put("growthNutrition", 0);
today.put("immuneNutrition", 0);
today.put("healthyFood", 0);
today.put("unhealthyFood", 0);
today.put("today_recode", false);
}else{
today.put("basicNutrition", today_nut_score.get("basicNutrition"));
today.put("growthNutrition", today_nut_score.get("growthNutrition"));
today.put("immuneNutrition", today_nut_score.get("immuneNutrition"));
today.put("healthyFood", today_food_score.get("healthyFood"));
today.put("unhealthyFood", today_food_score.get("unhealthyFood"));
today.put("today_recode", true);
}
// 일일 균형 판정
List<DataMap> day_lm = scoreBO.select_daily_list_for_graph(paramMap);

@ -219,16 +219,22 @@ public class M_IndexController extends AbstractControllerManager{
if(today_dm == null) {
today_dm = new DataMap();
today_dm.put("month", rm_child.get("m"));
}
today_dm.put("month", rm_child.get("m"));
NutrientScoreCalculation today_nut = new NutrientScoreCalculation(today_dm);
DataMap today_nut_score = today_nut.getScore();
FoodScoreCalculation today_food = new FoodScoreCalculation(today_dm);
DataMap today_food_score = today_food.getScore();
rm_child.put("totalNutrition", Math.round(today_nut_score.getLong("totalNutrition")));
rm_child.put("totalFood", Math.round(today_food_score.getLong("totalFood")));
if(today_dm.get("month") == null){
rm_child.put("totalNutrition", 0);
rm_child.put("totalFood", 0);
}else{
rm_child.put("totalNutrition", Math.round(today_nut_score.getLong("totalNutrition")));
rm_child.put("totalFood", Math.round(today_food_score.getLong("totalFood")));
}
// 일일 균형 판정 ( legacy )
// List<DataMap> day_lm = scoreBO.select_daily_list_for_graph(paramMap);
@ -328,6 +334,8 @@ public class M_IndexController extends AbstractControllerManager{
SimpleDateFormat format = new SimpleDateFormat ("yyyy-MM-dd");
result.put("scope", "day");
result.put("reg_dt", format.format(cal.getTime()));
paramMap.put("scope", "day");
paramMap.put("reg_dt", format.format(cal.getTime()));
DataMap today_dm = scoreBO.select_day_total(paramMap);
if(today_dm == null) {
@ -335,22 +343,35 @@ public class M_IndexController extends AbstractControllerManager{
result.put("month", rm_child.get("m"));
}
// 일일 균형 판정
List<DataMap> day_lm = scoreBO.select_daily_list_for_graph(paramMap);
if(day_lm.size() > 0) {
DataMap tot = scoreBO.select_day_total(day_lm.get(0));
NutrientScoreCalculation nut = new NutrientScoreCalculation(tot);
DataMap nut_score = nut.getScore();
FoodScoreCalculation food = new FoodScoreCalculation(tot);
DataMap food_score = food.getScore();
rm_child.put("totalNutrition", Math.round(nut_score.getLong("totalNutrition")));
rm_child.put("totalFood", Math.round(food_score.getLong("totalFood")));
} else {
NutrientScoreCalculation today_nut = new NutrientScoreCalculation(today_dm);
DataMap today_nut_score = today_nut.getScore();
FoodScoreCalculation today_food = new FoodScoreCalculation(today_dm);
DataMap today_food_score = today_food.getScore();
if(today_dm.get("month") == null){
rm_child.put("totalNutrition", 0);
rm_child.put("totalFood", 0);
}else{
rm_child.put("totalNutrition", Math.round(today_nut_score.getLong("totalNutrition")));
rm_child.put("totalFood", Math.round(today_food_score.getLong("totalFood")));
}
// 일일 균형 판정
// List<DataMap> day_lm = scoreBO.select_daily_list_for_graph(paramMap);
//
// if(day_lm.size() > 0) {
// DataMap tot = scoreBO.select_day_total(day_lm.get(0));
// NutrientScoreCalculation nut = new NutrientScoreCalculation(tot);
// DataMap nut_score = nut.getScore();
// FoodScoreCalculation food = new FoodScoreCalculation(tot);
// DataMap food_score = food.getScore();
//
// rm_child.put("totalNutrition", Math.round(nut_score.getLong("totalNutrition")));
// rm_child.put("totalFood", Math.round(food_score.getLong("totalFood")));
// } else {
// rm_child.put("totalNutrition", 0);
// rm_child.put("totalFood", 0);
// }
}
}

@ -1327,24 +1327,24 @@
,IFNULL(ROUND(SUM(x.niacin), 0), 0) as niacin
,IFNULL(ROUND(SUM(x.ca), 0), 0) as ca
,IFNULL(ROUND(SUM(x.k), 0), 0) as k
,IFNULL(ROUND(SUM(x.fe), 0), 0) as fe
,IFNULL(ROUND(SUM(x.fe), 1), 0) as fe
,IFNULL(ROUND(SUM(x.vitamina), 0), 0) as vitamina
,IFNULL(ROUND(SUM(x.vitaminc), 0), 0) as vitaminc
,IFNULL(ROUND(SUM(x.vitamind), 0), 0) as vitamind
,IFNULL(ROUND(SUM(x.vitamine), 0), 0) as vitamine
,IFNULL(ROUND(SUM(x.zn), 1), 0) as zn
,IFNULL(SUM(x.dqi_food_1), 0) as dqi_food_1
,IFNULL(SUM(x.dqi_food_2), 0) as dqi_food_2
,IFNULL(SUM(x.dqi_food_3), 0) as dqi_food_3
,IFNULL(SUM(x.dqi_food_4), 0) as dqi_food_4
,IFNULL(SUM(x.dqi_food_5), 0) as dqi_food_5
,IFNULL(SUM(x.dqi_food_6), 0) as dqi_food_6
,IFNULL(SUM(x.dqi_food_7), 0) as dqi_food_7
,IFNULL(SUM(x.dqi_food_8), 0) as dqi_food_8
,IFNULL(SUM(x.dqi_food_9), 0) as dqi_food_9
,IFNULL(SUM(x.dqi_food_10), 0) as dqi_food_10
,IFNULL(SUM(x.dqi_food_11), 0) as dqi_food_11
,IFNULL(SUM(x.dqi_food_12), 0) as dqi_food_12
,IFNULL(ROUND(SUM(x.dqi_food_1), 0), 0) as dqi_food_1
,IFNULL(ROUND(SUM(x.dqi_food_2), 0), 0) as dqi_food_2
,IFNULL(ROUND(SUM(x.dqi_food_3), 0), 0) as dqi_food_3
,IFNULL(ROUND(SUM(x.dqi_food_4), 0), 0) as dqi_food_4
,IFNULL(ROUND(SUM(x.dqi_food_5), 0), 0) as dqi_food_5
,IFNULL(ROUND(SUM(x.dqi_food_6), 0), 0) as dqi_food_6
,IFNULL(ROUND(SUM(x.dqi_food_7), 0), 0) as dqi_food_7
,IFNULL(ROUND(SUM(x.dqi_food_8), 0), 0) as dqi_food_8
,IFNULL(ROUND(SUM(x.dqi_food_9), 0), 0) as dqi_food_9
,IFNULL(ROUND(SUM(x.dqi_food_10), 0), 0) as dqi_food_10
,IFNULL(ROUND(SUM(x.dqi_food_11), 0), 0) as dqi_food_11
,IFNULL(ROUND(SUM(x.dqi_food_12), 0), 0) as dqi_food_12
FROM (
(
SELECT
@ -1458,36 +1458,36 @@
LEFT JOIN (
select
tdi.dhb_cd,
SUM(tdi.enerc) as enerc,
SUM(tdi.chotdf) as chotdf,
SUM(tdi.sugar) as sugar,
SUM(tdi.fibtg) as fibtg,
SUM(tdi.procnp) as procnp,
SUM(tdi.fat) as fat,
SUM(tdi.na) as na,
SUM(tdi.vitaminb1) as vitaminb1,
SUM(tdi.vitaminb2) as vitaminb2,
SUM(tdi.niacin) as niacin,
SUM(tdi.ca) as ca,
SUM(tdi.k) as k,
SUM(tdi.fe) as fe,
SUM(tdi.vitamina) as vitamina,
SUM(tdi.vitaminc) as vitaminc,
SUM(tdi.vitamind) as vitamind,
SUM(tdi.vitamine) as vitamine,
SUM(tdi.zn) as zn,
SUM(tdi.dqi_food_1) as dqi_food_1,
SUM(tdi.dqi_food_2) as dqi_food_2,
SUM(tdi.dqi_food_3) as dqi_food_3,
SUM(tdi.dqi_food_4) as dqi_food_4,
SUM(tdi.dqi_food_5) as dqi_food_5,
SUM(tdi.dqi_food_6) as dqi_food_6,
SUM(tdi.dqi_food_7) as dqi_food_7,
SUM(tdi.dqi_food_8) as dqi_food_8,
SUM(tdi.dqi_food_9) as dqi_food_9,
SUM(tdi.dqi_food_10) as dqi_food_10,
SUM(tdi.dqi_food_11) as dqi_food_11,
SUM(tdi.dqi_food_12) as dqi_food_12
ROUND(SUM(tdi.enerc),2) as enerc,
ROUND(SUM(tdi.chotdf),2) as chotdf,
ROUND(SUM(tdi.sugar),2) as sugar,
ROUND(SUM(tdi.fibtg),2) as fibtg,
ROUND(SUM(tdi.procnp),2) as procnp,
ROUND(SUM(tdi.fat),2) as fat,
ROUND(SUM(tdi.na),2) as na,
ROUND(SUM(tdi.vitaminb1),2) as vitaminb1,
ROUND(SUM(tdi.vitaminb2),2) as vitaminb2,
ROUND(SUM(tdi.niacin),2) as niacin,
ROUND(SUM(tdi.ca),2) as ca,
ROUND(SUM(tdi.k),2) as k,
ROUND(SUM(tdi.fe),2) as fe,
ROUND(SUM(tdi.vitamina),2) as vitamina,
ROUND(SUM(tdi.vitaminc),2) as vitaminc,
ROUND(SUM(tdi.vitamind),2) as vitamind,
ROUND(SUM(tdi.vitamine),2) as vitamine,
ROUND(SUM(tdi.zn),2) as zn,
ROUND(SUM(tdi.dqi_food_1),2) as dqi_food_1,
ROUND(SUM(tdi.dqi_food_2),2) as dqi_food_2,
ROUND(SUM(tdi.dqi_food_3),2) as dqi_food_3,
ROUND(SUM(tdi.dqi_food_4),2) as dqi_food_4,
ROUND(SUM(tdi.dqi_food_5),2) as dqi_food_5,
ROUND(SUM(tdi.dqi_food_6),2) as dqi_food_6,
ROUND(SUM(tdi.dqi_food_7),2) as dqi_food_7,
ROUND(SUM(tdi.dqi_food_8),2) as dqi_food_8,
ROUND(SUM(tdi.dqi_food_9),2) as dqi_food_9,
ROUND(SUM(tdi.dqi_food_10),2) as dqi_food_10,
ROUND(SUM(tdi.dqi_food_11),2) as dqi_food_11,
ROUND(SUM(tdi.dqi_food_12),2) as dqi_food_12
from
tbl_db_ingre tdi
group by

@ -48,7 +48,7 @@
<h2>긍정 식품군</h2>
<!-- nutrient_list -->
<div class="nutrient_list">
<#if (5 < model['rm_child']['m'])>
<#if (5 < model['rm_child']['past_month'])>
<!-- nutrient_box -->
<div class="nutrient_box">
<p class="tit">모유/분유/유제품<span>Breast Milk, Milk, Fomula</span></p>
@ -75,12 +75,12 @@
</div>
<!-- //nutrient_box -->
</#if>
<#if (5 < model['rm_child']['m'])>
<#if (5 < model['rm_child']['past_month'])>
<!-- nutrient_box -->
<div class="nutrient_box">
<p class="tit">통곡물<span>Whole Grains</span></p>
<#assign dqi_food_4=model['score']['dqi_food_4']?float>
<p class="per">${dqi_food_4!*40}점</p>
<p class="per">${dqi_food_4!*20}점</p>
<div class="nutrient_slider">
<p class="base"></p>
<p class="move ${model['lights']['dqi_food_4']!}" style="width:${dqi_food_4!*20}%"></p>
@ -135,7 +135,7 @@
<h2>부정 식품군</h2>
<!-- nutrient_list -->
<div class="nutrient_list">
<#if (model['rm_child']['m'] <= 5)>
<#if (model['rm_child']['past_month'] <= 5)>
<!-- nutrient_box -->
<div class="nutrient_box">
<p class="tit">통곡물<span>Whole Grains</span></p>
@ -186,7 +186,7 @@
<!-- //nutrient_box -->
</#if>
<#if (5 < model['rm_child']['m'])>
<#if (5 < model['rm_child']['past_month'])>
<!-- nutrient_box -->
<div class="nutrient_box">
<p class="tit">정제된곡물<span>Refined Grains</span></p>

@ -55,7 +55,7 @@
<p class="per">${enerc!}점</p>
<div class="nutrient_slider">
<p class="base"></p>
<p class="move ${model['lights']['enerc']!}" style=width:${enerc!}%"></p>
<p class="move ${model['lights']['enerc']!}" style="width:${enerc!}%"></p>
<span class="point ${model['lights']['enerc']!}" style="left:${enerc!}%"></span>
</div>
</div>
@ -97,7 +97,7 @@
</div>
<!-- //nutrient_box -->
<!-- nutrient_box -->
<#if (11 < model['rm_child']['m'])>
<#if (11 < model['rm_child']['past_month'])>
<div class="nutrient_box">
<p class="tit">식이섬유<span>Dietary fiber</span></p>
<#assign fibtg=model['score']['fibtg']?number>

@ -121,7 +121,7 @@
</div>
<!-- //nutrient_box -->
<!-- nutrient_box -->
<#if (11 < model['rm_child']['m'])>
<#if (11 < model['rm_child']['past_month'])>
<div class="nutrient_box">
<p class="tit">식이섬유<span>Dietary fiber</span></p>
<#if (model['intake']['fibtg']?number>100)>

@ -78,8 +78,11 @@
<!-- nutrition_subMain_graph_list -->
<div class="nutrition_subMain_graph_list">
<#if (model['rm_child']['m']<60)>
<h2 style="float: left; margin: 30px 0 15px;font-size: 20px; font-weight: 400;">오늘의 식품군</h2> <a href="${URL_ROOT}/m/bf_food/view_foodgroup_balance.do?return_url=index" class="detail_veiw_btn">자세히 보기 &gt</a>
<#if (model['rm_child']['past_month']<60)>
<h2 style="float: left; margin: 30px 0 15px;font-size: 20px; font-weight: 400;">오늘의 식품군</h2>
<#if (model['today']['today_recode']==true)>
<a href="${URL_ROOT}/m/bf_food/view_foodgroup_balance.do?return_url=index" class="detail_veiw_btn">자세히 보기 &gt</a>
</#if>
</#if>
<ul>
<li>

@ -77,7 +77,10 @@
<!-- nutrition_subMain_graph_list -->
<div class="nutrition_subMain_graph_list">
<#if (model['rm_child']['m']<60)>
<h2 style="float: left; margin: 30px 0 15px;font-size: 20px; font-weight: 400;">오늘의 영양소</h2> <a href="${URL_ROOT}/m/bf_food/view_nutrition_balance.do?return_url=index" class="detail_veiw_btn">자세히 보기 &gt</a>
<h2 style="float: left; margin: 30px 0 15px;font-size: 20px; font-weight: 400;">오늘의 영양소</h2>
<#if (model['today']['today_recode']==true)>
<a href="${URL_ROOT}/m/bf_food/view_nutrition_balance.do?return_url=index" class="detail_veiw_btn">자세히 보기 &gt</a>
</#if>
</#if>
<ul>
<li>

Loading…
Cancel
Save