diff --git a/src/main/java/com/backoffice/logic/FoodScoreCalculation.java b/src/main/java/com/backoffice/logic/FoodScoreCalculation.java index 94f14e6..d5f861f 100644 --- a/src/main/java/com/backoffice/logic/FoodScoreCalculation.java +++ b/src/main/java/com/backoffice/logic/FoodScoreCalculation.java @@ -150,7 +150,7 @@ public class FoodScoreCalculation { * @return */ private double get_dqi_food1(double x) { - if( x ==0 ) + if( x == 0 ) return 0; else if(label==0) { if(dqi_food_1>0 && dqi_food_2>0) return 5; @@ -209,7 +209,7 @@ public class FoodScoreCalculation { private double get_dqi_food4(double x) { // 0~5M은 곡물, 통곡물을 곡류로 합쳐 계산 // 둘 중 하나라도 섭취하면 5점 배점 - if( x ==0 ) + if( x == 0 && label != 0 ) return 0; else if(label==0) { if(x>0 || dqi_food_5>0) return 0; @@ -272,7 +272,7 @@ public class FoodScoreCalculation { * @return */ private double get_dqi_food6(double x) { - if( x ==0 ) + if( x == 0 && label != 0 ) return 0; else if(label==0) { if(x>0) return 0; @@ -307,7 +307,7 @@ public class FoodScoreCalculation { * @return */ private double get_dqi_food7(double x) { - if( x ==0 ) + if( x == 0 && label != 0 ) return 0; else if(label==0) { if(x>0) return 0; @@ -338,7 +338,7 @@ public class FoodScoreCalculation { * @return */ private double get_dqi_food8(double x) { - if( x ==0 ) + if( x == 0 && label != 0 ) return 0; else if(label==0) { if(x>0) return 0; @@ -517,34 +517,50 @@ public class FoodScoreCalculation { } private double gethealthyFood() { - return scoreMap.getDouble("dqi_food_1")+scoreMap.getDouble("dqi_food_2")+scoreMap.getDouble("dqi_food_4")+ - scoreMap.getDouble("dqi_food_5")+scoreMap.getDouble("dqi_food_6")+scoreMap.getDouble("dqi_food_7")+scoreMap.getDouble("dqi_food_8"); + if (label == 0) { + double t = scoreMap.getDouble("dqi_food_1")+scoreMap.getDouble("dqi_food_2"); + return t/15*100; + } else { + return scoreMap.getDouble("dqi_food_1")+scoreMap.getDouble("dqi_food_2")+scoreMap.getDouble("dqi_food_4")+ + scoreMap.getDouble("dqi_food_5")+scoreMap.getDouble("dqi_food_6")+scoreMap.getDouble("dqi_food_7")+scoreMap.getDouble("dqi_food_8"); + } } private double getUnhealthyFood() { - return scoreMap.getDouble("dqi_food_9")+scoreMap.getDouble("dqi_food_10")+scoreMap.getDouble("dqi_food_11")+scoreMap.getDouble("dqi_food_12"); + if (label == 0) { + double t = scoreMap.getDouble("dqi_food_4")+scoreMap.getDouble("dqi_food_6")+ + scoreMap.getDouble("dqi_food_7")+scoreMap.getDouble("dqi_food_8")+scoreMap.getDouble("dqi_food_9")+ + scoreMap.getDouble("dqi_food_10")+scoreMap.getDouble("dqi_food_11")+scoreMap.getDouble("dqi_food_12"); + t=t; + return t/40*100; + } else { + double t = scoreMap.getDouble("dqi_food_9")+scoreMap.getDouble("dqi_food_10")+scoreMap.getDouble("dqi_food_11")+scoreMap.getDouble("dqi_food_12"); + return t*2.5; + } + } private long gethealthyFoodScore() { long result = 0; if(label==0) { - result = Math.round(gethealthyFood()*1.428571429); + result = Math.round(gethealthyFood()); }else if(label==1) { result = Math.round(gethealthyFood()*1.818181818); }else if(label>1){ result = Math.round(gethealthyFood()*2); } + result = result; return result; } private long getUnhealthyFoodScore() { long result = 0; if(label>=0) - result = Math.round(getUnhealthyFood()*2.5); + result = Math.round(getUnhealthyFood()); return result; } private long getTotalFoodScore() { - return gethealthyFoodScore() + getUnhealthyFoodScore(); + return (gethealthyFoodScore() + getUnhealthyFoodScore())/2; } public DataMap getScore() { @@ -566,13 +582,12 @@ public class FoodScoreCalculation { }else { // 6~11M : 분유 // 1Y~4Y : 분유 + 유제품류 - double milk = 0; + double milk = 0; if(label==1) milk = dqi_food_2; else if(label>1) milk = dqi_food_2 + dqi_food_3; - - scoreMap.put("dqi_food_1", get_dqi_food1(dqi_food_1)); + scoreMap.put("dqi_food_1", get_dqi_food1(dqi_food_1) + get_dqi_food2(dqi_food_2)); scoreMap.put("dqi_food_2", get_dqi_food2(milk)); scoreMap.put("dqi_food_4", get_dqi_food4(dqi_food_4)); scoreMap.put("dqi_food_5", get_dqi_food5(dqi_food_5)); @@ -594,7 +609,8 @@ public class FoodScoreCalculation { public DataMap getLights() { DataMap result = new DataMap(); - + + result.put("dqi_food_1", get_milk_light(scoreMap.getDouble("dqi_food_1"))); result.put("dqi_food_2", get_milk_light(scoreMap.getDouble("dqi_food_2"))); result.put("dqi_food_4", get_grains_light(scoreMap.getDouble("dqi_food_4"))); result.put("dqi_food_5", get_grains_light(scoreMap.getDouble("dqi_food_5"))); @@ -615,7 +631,14 @@ public class FoodScoreCalculation { * @return */ private String get_milk_light(double score) { - if(label==1) { + if(label==0) { + if(score==0) + return Light.red.name(); + else if(score==10 || score==5) + return Light.yellow.name(); + else if(score==15) + return Light.green.name(); + }else if(label==1) { if(score==0) return Light.red.name(); else if(score==1.25) @@ -644,7 +667,7 @@ public class FoodScoreCalculation { return Light.red.name(); else if(score==1.25) return Light.yellow.name(); - else if(score==2.5) + else if(score==2.5 || score==5.0) return Light.green.name(); } return null; diff --git a/src/main/webapp/WEB-INF/views/ftl/m/bf_food/view_foodgroup_balance.ftl b/src/main/webapp/WEB-INF/views/ftl/m/bf_food/view_foodgroup_balance.ftl index d1a0d32..3104efc 100644 --- a/src/main/webapp/WEB-INF/views/ftl/m/bf_food/view_foodgroup_balance.ftl +++ b/src/main/webapp/WEB-INF/views/ftl/m/bf_food/view_foodgroup_balance.ftl @@ -48,18 +48,33 @@
모유/분유/유제품Breast Milk, Milk, Fomula
- <#assign dqi_food_2_3=model['score']['dqi_food_2']?number> -${dqi_food_2_3!}점
- -모유/분유/유제품Breast Milk, Milk, Fomula
+ <#assign dqi_food_2_3=model['score']['dqi_food_2']?number> +${dqi_food_2_3!}점
+ +모유/분유/유제품Breast Milk, Milk, Fomula
+ <#assign dqi_food_1=model['score']['dqi_food_1']?number> +${dqi_food_1!}점
+ +