|
|
@ -150,7 +150,7 @@ public class FoodScoreCalculation {
|
|
|
|
* @return
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
private double get_dqi_food1(double x) {
|
|
|
|
private double get_dqi_food1(double x) {
|
|
|
|
if( x ==0 )
|
|
|
|
if( x == 0 )
|
|
|
|
return 0;
|
|
|
|
return 0;
|
|
|
|
else if(label==0) {
|
|
|
|
else if(label==0) {
|
|
|
|
if(dqi_food_1>0 && dqi_food_2>0) return 5;
|
|
|
|
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) {
|
|
|
|
private double get_dqi_food4(double x) {
|
|
|
|
// 0~5M은 곡물, 통곡물을 곡류로 합쳐 계산
|
|
|
|
// 0~5M은 곡물, 통곡물을 곡류로 합쳐 계산
|
|
|
|
// 둘 중 하나라도 섭취하면 5점 배점
|
|
|
|
// 둘 중 하나라도 섭취하면 5점 배점
|
|
|
|
if( x ==0 )
|
|
|
|
if( x == 0 && label != 0 )
|
|
|
|
return 0;
|
|
|
|
return 0;
|
|
|
|
else if(label==0) {
|
|
|
|
else if(label==0) {
|
|
|
|
if(x>0 || dqi_food_5>0) return 0;
|
|
|
|
if(x>0 || dqi_food_5>0) return 0;
|
|
|
@ -272,7 +272,7 @@ public class FoodScoreCalculation {
|
|
|
|
* @return
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
private double get_dqi_food6(double x) {
|
|
|
|
private double get_dqi_food6(double x) {
|
|
|
|
if( x ==0 )
|
|
|
|
if( x == 0 && label != 0 )
|
|
|
|
return 0;
|
|
|
|
return 0;
|
|
|
|
else if(label==0) {
|
|
|
|
else if(label==0) {
|
|
|
|
if(x>0) return 0;
|
|
|
|
if(x>0) return 0;
|
|
|
@ -307,7 +307,7 @@ public class FoodScoreCalculation {
|
|
|
|
* @return
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
private double get_dqi_food7(double x) {
|
|
|
|
private double get_dqi_food7(double x) {
|
|
|
|
if( x ==0 )
|
|
|
|
if( x == 0 && label != 0 )
|
|
|
|
return 0;
|
|
|
|
return 0;
|
|
|
|
else if(label==0) {
|
|
|
|
else if(label==0) {
|
|
|
|
if(x>0) return 0;
|
|
|
|
if(x>0) return 0;
|
|
|
@ -338,7 +338,7 @@ public class FoodScoreCalculation {
|
|
|
|
* @return
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
private double get_dqi_food8(double x) {
|
|
|
|
private double get_dqi_food8(double x) {
|
|
|
|
if( x ==0 )
|
|
|
|
if( x == 0 && label != 0 )
|
|
|
|
return 0;
|
|
|
|
return 0;
|
|
|
|
else if(label==0) {
|
|
|
|
else if(label==0) {
|
|
|
|
if(x>0) return 0;
|
|
|
|
if(x>0) return 0;
|
|
|
@ -517,34 +517,50 @@ public class FoodScoreCalculation {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private double gethealthyFood() {
|
|
|
|
private double gethealthyFood() {
|
|
|
|
return scoreMap.getDouble("dqi_food_1")+scoreMap.getDouble("dqi_food_2")+scoreMap.getDouble("dqi_food_4")+
|
|
|
|
if (label == 0) {
|
|
|
|
scoreMap.getDouble("dqi_food_5")+scoreMap.getDouble("dqi_food_6")+scoreMap.getDouble("dqi_food_7")+scoreMap.getDouble("dqi_food_8");
|
|
|
|
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() {
|
|
|
|
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() {
|
|
|
|
private long gethealthyFoodScore() {
|
|
|
|
long result = 0;
|
|
|
|
long result = 0;
|
|
|
|
if(label==0) {
|
|
|
|
if(label==0) {
|
|
|
|
result = Math.round(gethealthyFood()*1.428571429);
|
|
|
|
result = Math.round(gethealthyFood());
|
|
|
|
}else if(label==1) {
|
|
|
|
}else if(label==1) {
|
|
|
|
result = Math.round(gethealthyFood()*1.818181818);
|
|
|
|
result = Math.round(gethealthyFood()*1.818181818);
|
|
|
|
}else if(label>1){
|
|
|
|
}else if(label>1){
|
|
|
|
result = Math.round(gethealthyFood()*2);
|
|
|
|
result = Math.round(gethealthyFood()*2);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
result = result;
|
|
|
|
return result;
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
private long getUnhealthyFoodScore() {
|
|
|
|
private long getUnhealthyFoodScore() {
|
|
|
|
long result = 0;
|
|
|
|
long result = 0;
|
|
|
|
if(label>=0)
|
|
|
|
if(label>=0)
|
|
|
|
result = Math.round(getUnhealthyFood()*2.5);
|
|
|
|
result = Math.round(getUnhealthyFood());
|
|
|
|
return result;
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private long getTotalFoodScore() {
|
|
|
|
private long getTotalFoodScore() {
|
|
|
|
return gethealthyFoodScore() + getUnhealthyFoodScore();
|
|
|
|
return (gethealthyFoodScore() + getUnhealthyFoodScore())/2;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public DataMap getScore() {
|
|
|
|
public DataMap getScore() {
|
|
|
@ -566,13 +582,12 @@ public class FoodScoreCalculation {
|
|
|
|
}else {
|
|
|
|
}else {
|
|
|
|
// 6~11M : 분유
|
|
|
|
// 6~11M : 분유
|
|
|
|
// 1Y~4Y : 분유 + 유제품류
|
|
|
|
// 1Y~4Y : 분유 + 유제품류
|
|
|
|
double milk = 0;
|
|
|
|
double milk = 0;
|
|
|
|
if(label==1)
|
|
|
|
if(label==1)
|
|
|
|
milk = dqi_food_2;
|
|
|
|
milk = dqi_food_2;
|
|
|
|
else if(label>1)
|
|
|
|
else if(label>1)
|
|
|
|
milk = dqi_food_2 + dqi_food_3;
|
|
|
|
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_2", get_dqi_food2(milk));
|
|
|
|
scoreMap.put("dqi_food_4", get_dqi_food4(dqi_food_4));
|
|
|
|
scoreMap.put("dqi_food_4", get_dqi_food4(dqi_food_4));
|
|
|
|
scoreMap.put("dqi_food_5", get_dqi_food5(dqi_food_5));
|
|
|
|
scoreMap.put("dqi_food_5", get_dqi_food5(dqi_food_5));
|
|
|
@ -594,7 +609,8 @@ public class FoodScoreCalculation {
|
|
|
|
|
|
|
|
|
|
|
|
public DataMap getLights() {
|
|
|
|
public DataMap getLights() {
|
|
|
|
DataMap result = new DataMap();
|
|
|
|
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_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_4", get_grains_light(scoreMap.getDouble("dqi_food_4")));
|
|
|
|
result.put("dqi_food_5", get_grains_light(scoreMap.getDouble("dqi_food_5")));
|
|
|
|
result.put("dqi_food_5", get_grains_light(scoreMap.getDouble("dqi_food_5")));
|
|
|
@ -615,7 +631,14 @@ public class FoodScoreCalculation {
|
|
|
|
* @return
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
private String get_milk_light(double score) {
|
|
|
|
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)
|
|
|
|
if(score==0)
|
|
|
|
return Light.red.name();
|
|
|
|
return Light.red.name();
|
|
|
|
else if(score==1.25)
|
|
|
|
else if(score==1.25)
|
|
|
@ -644,7 +667,7 @@ public class FoodScoreCalculation {
|
|
|
|
return Light.red.name();
|
|
|
|
return Light.red.name();
|
|
|
|
else if(score==1.25)
|
|
|
|
else if(score==1.25)
|
|
|
|
return Light.yellow.name();
|
|
|
|
return Light.yellow.name();
|
|
|
|
else if(score==2.5)
|
|
|
|
else if(score==2.5 || score==5.0)
|
|
|
|
return Light.green.name();
|
|
|
|
return Light.green.name();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return null;
|
|
|
|
return null;
|
|
|
|