From 6e3b23a3ab5892b66266edc11fe11904532ccf55 Mon Sep 17 00:00:00 2001 From: isol2011 Date: Wed, 13 Jul 2022 14:14:34 +0900 Subject: [PATCH] =?UTF-8?q?[=EC=88=98=EC=A0=95]=20=EC=98=81=EC=96=91?= =?UTF-8?q?=EC=A0=90=EC=88=98=20=EC=A0=90=EC=88=98=20=EA=B3=84=EC=82=B0?= =?UTF-8?q?=EA=B3=BC=20=EC=B4=9D=20=EC=A0=90=20=EA=B3=84=EC=82=B0=EC=9D=B4?= =?UTF-8?q?=20=EC=A0=95=ED=99=95=ED=95=98=EA=B2=8C=20=EA=B3=84=EC=82=B0?= =?UTF-8?q?=EB=90=98=EB=8A=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/backoffice/logic/ConstantDB.java | 2 +- .../logic/FoodScoreCalculation.java | 65 +++++----- .../logic/NutrientScoreCalculation.java | 2 +- .../bf_daily_nutrition/WeightCalculation.java | 6 +- .../bf/com.backoffice.admin.bf.bf_score.xml | 122 +++++++++--------- .../com.backoffice.m.bf_daily_nutrition.xml | 2 +- .../bf_daily_nutrition/include_ajax_data.ftl | 2 +- .../ftl/m/bf_food/view_foodgroup_balance.ftl | 60 ++++----- .../views/ftl/m/include/chatbot_script.ftl | 4 +- .../views/ftl/m/include/chatbot_script_.ftl | 4 +- .../ftl/m/include/chatbot_script_top.ftl | 5 +- 11 files changed, 138 insertions(+), 136 deletions(-) diff --git a/src/main/java/com/backoffice/logic/ConstantDB.java b/src/main/java/com/backoffice/logic/ConstantDB.java index 22f6201..b0e19d1 100644 --- a/src/main/java/com/backoffice/logic/ConstantDB.java +++ b/src/main/java/com/backoffice/logic/ConstantDB.java @@ -44,7 +44,7 @@ public class ConstantDB { day = 3; }else if(afterbirthday <= 270) { day = 4; - }else if(afterbirthday <= 360) { + }else if(afterbirthday <= 730) { day = 5; } diff --git a/src/main/java/com/backoffice/logic/FoodScoreCalculation.java b/src/main/java/com/backoffice/logic/FoodScoreCalculation.java index e9c5101..8c9b93a 100644 --- a/src/main/java/com/backoffice/logic/FoodScoreCalculation.java +++ b/src/main/java/com/backoffice/logic/FoodScoreCalculation.java @@ -69,15 +69,15 @@ public class FoodScoreCalculation { public static void main(String[] args) { DataMap food = new DataMap(); - food.put("month",11); + food.put("month",6); food.put("dqi_food_1",0); //모유 계산 X - food.put("dqi_food_2",0); //분유 + 유제품 + food.put("dqi_food_2",500); //분유 + 유제품 food.put("dqi_food_3",0); // 2번과 더해져 계산 food.put("dqi_food_4",0); //통곡물 - food.put("dqi_food_5",29); //정제된 곡물 - food.put("dqi_food_6",10); //단백질 - food.put("dqi_food_7",10); //채소류 - food.put("dqi_food_8",10); //과일류 + food.put("dqi_food_5",0); //정제된 곡물 + food.put("dqi_food_6",0); //단백질 + food.put("dqi_food_7",0); //채소류 + food.put("dqi_food_8",0); //과일류 food.put("dqi_food_9",0); //100%과일주스 food.put("dqi_food_10",0); //당함유 음료 food.put("dqi_food_11",0); //당첨가 제품 @@ -160,9 +160,9 @@ public class FoodScoreCalculation { if(dqi_food_1>0 && dqi_food_2>0) return 5; else if(dqi_food_1>0) return 15; else return 0; - }else if(x>0 && label==1) + }else if(x>0 && label==1) return 5; - else + else return 0; } @@ -172,17 +172,22 @@ public class FoodScoreCalculation { * @return */ private double get_dqi_food2(double x) { - if( x ==0 ) - return 0; - else if(label==0) { + if(label==0) { if(dqi_food_2>0) return 5; else return 0; - }if(label==1) { - if(x<236.59) return 0; - else if(x<=591.46) return 1.25; - else if(x<=828.06) return 2.5; - else if(x<=1035.07) return 1.25; - else return 0; + }else if(label==1) { + double dqi1, dqi2 = 0; + if(x<236.59) dqi2 = 0; + else if(x<=591.46) dqi2 = 1.25; + else if(x<=828.06) dqi2 = 2.5; + else if(x<=1035.07) dqi2 = 1.25; +// else return 0; + dqi1 = get_dqi_food1(dqi_food_1); + if (dqi1 + dqi2 >= 5){ + return 5; + }else{ + return dqi1 + dqi2; + } }else if(label==2) { if(x<236.59) return 0; else if(x<=411.07) return 2.5; @@ -216,7 +221,7 @@ public class FoodScoreCalculation { if( x == 0 && label != 0 ) return 0; else if(label==0) { - if(x>0 || dqi_food_5>0) return 0; + if(x>0) return 0; else return 5; }else if(label==1) { if(x<2.96) return 0; @@ -532,9 +537,9 @@ public class FoodScoreCalculation { return t/15*100; } else { // (1모유, 2분유), 4통곡물, 6단백질식품, 7채소류, 8과일류 - double t = scoreMap.getDouble("dqi_food_1")+scoreMap.getDouble("dqi_food_2")+scoreMap.getDouble("dqi_food_4")+ + double t = scoreMap.getDouble("dqi_food_2")+(scoreMap.getDouble("dqi_food_4")*2)+ scoreMap.getDouble("dqi_food_6")+scoreMap.getDouble("dqi_food_7")+scoreMap.getDouble("dqi_food_8"); - return t; + return t/25*100; } } private double getUnhealthyFood() { @@ -543,25 +548,19 @@ public class FoodScoreCalculation { 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 { - // 9 100% 과일주스, 10음료, 11당함유제품, 12 짠과자 - 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; + // 5 정제된 곡물, 9 100% 과일주스, 10음료, 11당함유제품, 12 짠과자 + double t = (scoreMap.getDouble("dqi_food_5")*2)+scoreMap.getDouble("dqi_food_9")+scoreMap.getDouble("dqi_food_10")+scoreMap.getDouble("dqi_food_11")+scoreMap.getDouble("dqi_food_12"); + return t/25*100; } } private long gethealthyFoodScore() { long result = 0; - if(label==0) { + if(label>=0) result = Math.round(gethealthyFood()); - }else if(label==1) { - result = Math.round(gethealthyFood()*1.818181818); - }else if(label>1){ - result = Math.round(gethealthyFood()*2); - } return result; } private long getUnhealthyFoodScore() { @@ -593,14 +592,14 @@ public class FoodScoreCalculation { scoreMap.put("dqi_food_11", 0); scoreMap.put("dqi_food_12", 0); }else { - // 6~11M : 분유 + // 6~11M : 모유 + 분유 // 1Y~4Y : 분유 + 유제품류 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) + get_dqi_food2(dqi_food_2)); + scoreMap.put("dqi_food_1", get_dqi_food1(dqi_food_1)); 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)); @@ -658,6 +657,8 @@ public class FoodScoreCalculation { return Light.yellow.name(); else if(score==2.5) return Light.green.name(); + else if(score==5) + return Light.green.name(); }else if(label>1){ if(score==0) return Light.red.name(); diff --git a/src/main/java/com/backoffice/logic/NutrientScoreCalculation.java b/src/main/java/com/backoffice/logic/NutrientScoreCalculation.java index 8cce8d8..aee9f01 100644 --- a/src/main/java/com/backoffice/logic/NutrientScoreCalculation.java +++ b/src/main/java/com/backoffice/logic/NutrientScoreCalculation.java @@ -527,7 +527,7 @@ public class NutrientScoreCalculation { if(from*0.5>x) result = 0; else if (from*0.5<=x && xAND CONCAT(YEAR(reg_dt),"/",WEEK(reg_dt))=#reg_dt# AND CONCAT(YEAR(reg_dt),"/",MONTH(reg_dt)) = #reg_dt# - )x + )x LEFT JOIN tbl_db_home_sf hb ON hb.dhb_no = x.db_dhb_no )x - LEFT JOIN tbl_db_home_sf_ingre dbi ON dbi.dhb_no = x.db_dhb_no - LEFT JOIN tbl_db_bf_ingre di ON di.dbi_no = dbi.dbi_no + LEFT JOIN tbl_db_home_sf_ingre dbi ON dbi.dhb_no = x.db_dhb_no + LEFT JOIN tbl_db_bf_ingre di ON di.dbi_no = dbi.dbi_no GROUP BY x.dn_no ) - - UNION ALL ( SELECT @@ -1635,15 +1633,15 @@ ,ROUND(dbc.vitamind*x.weight,2) AS vitamind ,ROUND(dbc.vitamine*x.weight,2) AS vitamine ,ROUND(dbc.zinc*x.weight,2) AS zn - ,IF(dbc.grain ='Y', ROUND(dbc.srv*x.weight,2), 0) AS dqi_food_1 - ,IF(dbc.vegetable ='Y', ROUND(dbc.srv*x.weight,2), 0) AS dqi_food_2 - ,IF(dbc.fruit ='Y', ROUND(dbc.srv*x.weight,2), 0) AS dqi_food_3 - ,IF(dbc.meat ='Y', ROUND(dbc.srv*x.weight,2), 0) AS dqi_food_4 - ,IF(dbc.poultry ='Y', ROUND(dbc.srv*x.weight,2), 0) AS dqi_food_5 - ,IF(dbc.seafood ='Y', ROUND(dbc.srv*x.weight,2), 0) AS dqi_food_6 - ,IF(dbc.turbulence ='Y', ROUND(dbc.srv*x.weight,2), 0) AS dqi_food_7 - ,IF(dbc.dairy ='Y', ROUND(dbc.srv*x.weight,2), 0) AS dqi_food_8 - ,IF(dbc.bean ='Y', ROUND(dbc.srv*x.weight,2), 0) AS dqi_food_9 + ,0 AS dqi_food_1 + ,0 AS dqi_food_2 + ,0 AS dqi_food_3 + ,0 AS dqi_food_4 + ,0 AS dqi_food_5 + ,0 AS dqi_food_6 + ,0 AS dqi_food_7 + ,0 AS dqi_food_8 + ,0 AS dqi_food_9 ,0 AS dqi_food_10 ,0 AS dqi_food_11 ,0 AS dqi_food_12 @@ -1689,18 +1687,18 @@ ,ROUND(dn.vitamind*x.weight,2) AS vitamind ,ROUND(dn.vitamine*x.weight,2) AS vitamine ,ROUND(dn.zn*x.weight,2) AS zn - ,IF(STRCMP('모유', dn.dqi_cate), 0, ROUND(dn.srv*x.weight,2)) AS dqi_food_1 - ,IF(STRCMP('분유', dn.dqi_cate), 0, ROUND(dn.srv*x.weight,2)) AS dqi_food_2 - ,IF(STRCMP('유제품류', dn.dqi_cate), 0, ROUND(dn.srv*x.weight,2)) AS dqi_food_3 - ,IF(STRCMP('통곡물', dn.dqi_cate), 0, ROUND(dn.srv*x.weight,2)) AS dqi_food_4 - ,IF(STRCMP('정제된곡물', dn.dqi_cate), 0, ROUND(dn.srv*x.weight,2)) AS dqi_food_5 - ,IF(STRCMP('단백질식품', dn.dqi_cate), 0, ROUND(dn.srv*x.weight,2)) AS dqi_food_6 - ,IF(STRCMP('채소류', dn.dqi_cate), 0, ROUND(dn.srv*x.weight,2)) AS dqi_food_7 - ,IF(STRCMP('과일류', dn.dqi_cate), 0, ROUND(dn.srv*x.weight,2)) AS dqi_food_8 - ,IF(STRCMP('100%과일주스', dn.dqi_cate), 0, ROUND(dn.srv*x.weight,2)) AS dqi_food_9 - ,IF(STRCMP('음료', dn.dqi_cate), 0, ROUND(dn.srv*x.weight,2)) AS dqi_food_10 - ,IF(STRCMP('당함유제품', dn.dqi_cate), 0, ROUND(dn.srv*x.weight,2)) AS dqi_food_11 - ,IF(STRCMP('짠과자', dn.dqi_cate), 0, ROUND(dn.srv*x.weight,2)) AS dqi_food_12 + ,if(dn.dqi_food_1 is null, 0, ROUND(dn.dqi_food_1 * x.weight, 2)) as dqi_food_1 + ,if(dn.dqi_food_2 is null, 0, ROUND(dn.dqi_food_2 * x.weight, 2)) as dqi_food_2 + ,if(dn.dqi_food_3 is null, 0, ROUND(dn.dqi_food_3 * x.weight, 2)) as dqi_food_3 + ,if(dn.dqi_food_4 is null, 0, ROUND(dn.dqi_food_4 * x.weight, 2)) as dqi_food_4 + ,if(dn.dqi_food_5 is null, 0, ROUND(dn.dqi_food_5 * x.weight, 2)) as dqi_food_5 + ,if(dn.dqi_food_6 is null, 0, ROUND(dn.dqi_food_6 * x.weight, 2)) as dqi_food_6 + ,if(dn.dqi_food_7 is null, 0, ROUND(dn.dqi_food_7 * x.weight, 2)) as dqi_food_7 + ,if(dn.dqi_food_8 is null, 0, ROUND(dn.dqi_food_8 * x.weight, 2)) as dqi_food_8 + ,if(dn.dqi_food_9 is null, 0, ROUND(dn.dqi_food_9 * x.weight, 2)) as dqi_food_9 + ,if(dn.dqi_food_10 is null, 0, ROUND(dn.dqi_food_10 * x.weight, 2)) as dqi_food_10 + ,if(dn.dqi_food_11 is null, 0, ROUND(dn.dqi_food_11 * x.weight, 2)) as dqi_food_11 + ,if(dn.dqi_food_12 is null, 0, ROUND(dn.dqi_food_12 * x.weight, 2)) as dqi_food_12 FROM ( SELECT dn_no ,db_dn_no @@ -1744,15 +1742,15 @@ ,ROUND(nvl(dn.zinc,0)*x.weight,2) AS zn ,0 AS dqi_food_1 ,0 AS dqi_food_2 - ,IF(dn.bean = 'Y', ROUND(dn.srv*x.weight,2),0) AS dqi_food_3 - ,IF(dn.grain = 'Y', ROUND(dn.srv*x.weight,2),0) AS dqi_food_4 + ,0 AS dqi_food_3 + ,0 AS dqi_food_4 ,0 AS dqi_food_5 ,0 AS dqi_food_6 - ,IF(dn.vegetable = 'Y', ROUND(dn.srv*x.weight,2),0) AS dqi_food_7 - ,IF(dn.fruit = 'Y', ROUND(dn.srv*x.weight,2),0) AS dqi_food_8 + ,0 AS dqi_food_7 + ,0 AS dqi_food_8 ,0 AS dqi_food_9 ,0 AS dqi_food_10 - ,IF(dn.dairy = 'Y', ROUND(dn.srv*x.weight,2),0) AS dqi_food_11 + ,0 AS dqi_food_11 ,0 AS dqi_food_12 FROM ( SELECT dn_no diff --git a/src/main/resources/sqlmap/m/bf_daily_nutrition/com.backoffice.m.bf_daily_nutrition.xml b/src/main/resources/sqlmap/m/bf_daily_nutrition/com.backoffice.m.bf_daily_nutrition.xml index 6297f31..11ad5c1 100644 --- a/src/main/resources/sqlmap/m/bf_daily_nutrition/com.backoffice.m.bf_daily_nutrition.xml +++ b/src/main/resources/sqlmap/m/bf_daily_nutrition/com.backoffice.m.bf_daily_nutrition.xml @@ -1076,7 +1076,7 @@ ,#bs# ,#rem# - ,#eat_qty#/(SELECT srv from tbl_db_nutrient where dn_no=(#db_dn_no#)) + ,#eat_qty#/(SELECT srv from tbl_db_nutrient where dn_no=#db_dn_no#) ,#eat_qty#/100 diff --git a/src/main/webapp/WEB-INF/views/ftl/m/bf_daily_nutrition/include_ajax_data.ftl b/src/main/webapp/WEB-INF/views/ftl/m/bf_daily_nutrition/include_ajax_data.ftl index 318246b..8a34f3e 100644 --- a/src/main/webapp/WEB-INF/views/ftl/m/bf_daily_nutrition/include_ajax_data.ftl +++ b/src/main/webapp/WEB-INF/views/ftl/m/bf_daily_nutrition/include_ajax_data.ftl @@ -74,7 +74,7 @@ function ajax_data(keyword){ var company = result.list[i].company; var barcode = result.list[i].barcode; var imgurl1 = result.list[i].imgurl1; - html +='
  • 섭취량 이미지' + prd_nm + '
  • '; + html +='
  • 섭취량 이미지' + prd_nm + '
  • '; } var ul_board = $('#ul_board'); 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 dbc08df..b079ff4 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 @@ -52,8 +52,8 @@

    모유/분유/유제품Breast Milk, Milk, Fomula

    - <#assign dqi_food_2_3=model['score']['dqi_food_2']?number> -

    ${dqi_food_2_3!}점

    + <#assign dqi_food_2_3=model['score']['dqi_food_2']?float> +

    ${dqi_food_2_3!/5*100}점

    @@ -65,8 +65,8 @@

    모유/분유/유제품Breast Milk, Milk, Fomula

    - <#assign dqi_food_1=model['score']['dqi_food_1']?number> -

    ${dqi_food_1!}점

    + <#assign dqi_food_1=model['score']['dqi_food_1']?float> +

    ${dqi_food_1!/15*100}점

    @@ -79,8 +79,8 @@

    통곡물Whole Grains

    - <#assign dqi_food_4=model['score']['dqi_food_4']?number> -

    ${dqi_food_4?string.number!}점

    + <#assign dqi_food_4=model['score']['dqi_food_4']?float> +

    ${dqi_food_4!*40}점

    @@ -91,8 +91,8 @@

    단백질Protein

    - <#assign dqi_food_6=model['score']['dqi_food_6']?number> -

    ${dqi_food_6!}점

    + <#assign dqi_food_6=model['score']['dqi_food_6']?float> +

    ${dqi_food_6!/5*100}점

    @@ -103,8 +103,8 @@

    채소류Vegitables

    - <#assign dqi_food_7=model['score']['dqi_food_7']?number> -

    ${dqi_food_7!}점

    + <#assign dqi_food_7=model['score']['dqi_food_7']?float> +

    ${dqi_food_7!/5*100}점

    @@ -115,8 +115,8 @@

    과일류Fruits

    - <#assign dqi_food_8=model['score']['dqi_food_8']?number> -

    ${dqi_food_8!}점

    + <#assign dqi_food_8=model['score']['dqi_food_8']?float> +

    ${dqi_food_8!/5*100}점

    @@ -139,8 +139,8 @@

    통곡물Whole Grains

    - <#assign dqi_food_4=model['score']['dqi_food_4']> -

    ${dqi_food_4?string.number!}점

    + <#assign dqi_food_4=model['score']['dqi_food_4']?float> +

    ${dqi_food_4!/5*100}점

    @@ -151,8 +151,8 @@

    단백질Protein

    - <#assign dqi_food_6=model['score']['dqi_food_6']?number> -

    ${dqi_food_6!}점

    + <#assign dqi_food_6=model['score']['dqi_food_6']?float> +

    ${dqi_food_6!/5*100}점

    @@ -163,8 +163,8 @@

    채소류Vegitables

    - <#assign dqi_food_7=model['score']['dqi_food_7']?number> -

    ${dqi_food_7!}점

    + <#assign dqi_food_7=model['score']['dqi_food_7']?float> +

    ${dqi_food_7!/5*100}점

    @@ -175,8 +175,8 @@

    과일류Fruits

    - <#assign dqi_food_8=model['score']['dqi_food_8']?number> -

    ${dqi_food_8!}점

    + <#assign dqi_food_8=model['score']['dqi_food_8']?float> +

    ${dqi_food_8!/5*100}점

    @@ -190,8 +190,8 @@

    정제된곡물Refined Grains

    - <#assign dqi_food_5=model['score']['dqi_food_5']> -

    ${dqi_food_5?string.number!}점

    + <#assign dqi_food_5=model['score']['dqi_food_5']?float> +

    ${dqi_food_5!*40}점

    @@ -204,8 +204,8 @@

    100% 과일주스100% Fruits Juices

    - <#assign dqi_food_9=model['score']['dqi_food_9']?number> -

    ${dqi_food_9!}점

    + <#assign dqi_food_9=model['score']['dqi_food_9']?float> +

    ${dqi_food_9!/5*100}점

    @@ -216,8 +216,8 @@

    당함유 음료Sugar-Sweetened Beverages

    - <#assign dqi_food_10=model['score']['dqi_food_10']?number> -

    ${dqi_food_10!}점

    + <#assign dqi_food_10=model['score']['dqi_food_10']?float> +

    ${dqi_food_10!/5*100}점

    @@ -228,8 +228,8 @@

    당첨가 제품Other Added Sugars

    - <#assign dqi_food_11=model['score']['dqi_food_11']?number> -

    ${dqi_food_11!}점

    + <#assign dqi_food_11=model['score']['dqi_food_11']?float> +

    ${dqi_food_11!/5*100}점

    @@ -240,8 +240,8 @@

    스낵류Salty Snacks

    - <#assign dqi_food_12=model['score']['dqi_food_12']?number> -

    ${dqi_food_12!}점

    + <#assign dqi_food_12=model['score']['dqi_food_12']?float> +

    ${dqi_food_12!/5*100}점