Commit 4ca3f988f9f5be10727f677af5943fadd92bbdf7

Authored by wangbo
1 parent 756aac7919

儿童膳食报告修改

Showing 1 changed file with 50 additions and 25 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java View file @ 4ca3f98
... ... @@ -790,7 +790,7 @@
790 790 /**
791 791 * 1-5 体重 * 90kcal/kg
792 792 * 6-11月龄热量计算:体重 * 80kcal/kg
793   - * 12月龄-35月龄 [80×体重(kg)-100]+20kcal/day
  793 + * 12月龄-35月龄 [89×体重(kg)-100]+20kcal/day
794 794 * 36月龄 男童:88.5-61.9×年龄(岁)+PA[26.7×体重(kg)+903×身长(m)]+20kcal/day PA=1.26
795 795 * 36月龄 女童:135.3-30.8×年龄(岁)+PA[10×体重(kg)+934×身长(m)]+20kcal/day PA=1.31
796 796 * 获取热量
... ... @@ -1248,6 +1248,9 @@
1248 1248 return String.valueOf(tag);
1249 1249 }
1250 1250  
  1251 + /**
  1252 + * 秦皇岛精简版儿童膳食报告
  1253 + */
1251 1254 public BaseObjectResponse queryBabyDietReport(String id, Integer userId) {
1252 1255 BaseObjectResponse objectResponse = new BaseObjectResponse();
1253 1256 Map data = new HashMap();
... ... @@ -1289,6 +1292,8 @@
1289 1292 map.put("kaupEvaluate", kaupEvaluate);
1290 1293 //获取热量值 体重在正常范围内的不计算热量值
1291 1294 double kaul = getKcal(month, model.getWeight(), model.getHeight(), baby.getSex(), kaupEvaluate);
  1295 +
  1296 + double kauls = getBasicKaul(month, model.getWeight(), model.getHeight(), baby.getSex());
1292 1297 if (month >= 0 && month <= 5) {
1293 1298 List<BabyDietReportModel> babyDietReport = mongoTemplate.find(Query.query(Criteria.where("monthAge").is(month).and("feedingPattern").is(Integer.valueOf(model.getFeedType()))), BabyDietReportModel.class);
1294 1299 for (BabyDietReportModel babyDiet : babyDietReport) {
... ... @@ -1352,7 +1357,7 @@
1352 1357 }
1353 1358 }
1354 1359  
1355   - map.put("kaul", kaul + "kacl");
  1360 + map.put("kaul", String.format("%.2f", kauls) + "kacl");
1356 1361 data.put("userInfo", map);
1357 1362 if ((kaupEvaluate.equals("消瘦") || kaupEvaluate.equals("超重")) && month >= 6 && month <= 11) {
1358 1363 List<BabyDietReportModel> babyDietReport = mongoTemplate.find(Query.query(Criteria.where("monthAge").is(month)), BabyDietReportModel.class);
1359 1364  
... ... @@ -1420,9 +1425,9 @@
1420 1425  
1421 1426 //秦皇岛精简版算法
1422 1427 private double getKcal(int month, Double weight, Double height, int sex, String kaupEvaluate) {
1423   - double kaul = getBasicKaul(month, weight, height, sex);
  1428 + Integer kaul = (int) getBasicKaul(month, weight, height, sex);
1424 1429 if (month < 12) {
1425   - kaul = getMathAbs(kaul);
  1430 + kaul = getRoundingFifty(kaul);
1426 1431 if (kaul < 400) {
1427 1432 kaul = 400;
1428 1433 } else if (kaul > 1000) {
1429 1434  
1430 1435  
1431 1436  
1432 1437  
1433 1438  
... ... @@ -1459,40 +1464,60 @@
1459 1464 }
1460 1465  
1461 1466 // 25 为分割
1462   - public Double getRounding(Double number) {
  1467 + public Integer getRounding(Integer number) {
1463 1468 if (number / 10 % 10 >= 5) {
1464 1469 if (number / 10 % 10 >= 7 && number % 10 >= 5) {
1465   - double g = 0; //s % 10;
1466   - double sw = 0;//s / 10 % 10;
1467   - double b = number / 100 % 10 + 1;
1468   - double q = number / 1000 % 10;
1469   - double num = q * 1000 + b * 100 + sw * 0 + g * 0;
  1470 + int g = 0; //s % 10;
  1471 + int sw = 0;//s / 10 % 10;
  1472 + int b = number / 100 % 10 + 1;
  1473 + int q = number / 1000 % 10;
  1474 + int num = q * 1000 + b * 100 + sw * 0 + g * 0;
1470 1475 return num;
1471 1476 } else {
1472   - double g = 0; //s % 10;
1473   - double sw = 5;//s / 10 % 10;
1474   - double b = number / 100 % 10;
1475   - double q = number / 1000 % 10;
1476   - double num = q * 1000 + b * 100 + sw * 10 + g * 0;
  1477 + int g = 0; //s % 10;
  1478 + int sw = 5;//s / 10 % 10;
  1479 + int b = number / 100 % 10;
  1480 + int q = number / 1000 % 10;
  1481 + int num = q * 1000 + b * 100 + sw * 10 + g * 0;
1477 1482 return num;
1478 1483 }
1479 1484 } else {
1480 1485 if (number / 10 % 10 >= 2 && number % 10 >= 5) {
1481   - double g = 0; //s % 10;
1482   - double sw = 5;//s / 10 % 10;
1483   - double b = number / 100 % 10;
1484   - double q = number / 1000 % 10;
1485   - double num = q * 1000 + b * 100 + sw * 10 + g * 0;
  1486 + int g = 0; //s % 10;
  1487 + int sw = 5;//s / 10 % 10;
  1488 + int b = number / 100 % 10;
  1489 + int q = number / 1000 % 10;
  1490 + int num = q * 1000 + b * 100 + sw * 10 + g * 0;
1486 1491 return num;
1487 1492 } else {
1488   - double g = 0; //s % 10;
1489   - double sw = 0;//s / 10 % 10;
1490   - double b = number / 100 % 10;
1491   - double q = number / 1000 % 10;
1492   - double num = q * 1000 + b * 100 + sw * 0 + g * 0;
  1493 + int g = 0; //s % 10;
  1494 + int sw = 0;//s / 10 % 10;
  1495 + int b = number / 100 % 10;
  1496 + int q = number / 1000 % 10;
  1497 + int num = q * 1000 + b * 100 + sw * 0 + g * 0;
1493 1498 return num;
1494 1499 }
1495 1500 }
1496 1501 }
  1502 +
  1503 + //50为分割
  1504 + public Integer getRoundingFifty(Integer number) {
  1505 + if (number / 10 % 10 >= 5) {
  1506 + int g = 0; //s % 10;
  1507 + int sw = 0;//s / 10 % 10;
  1508 + int b = number / 100 % 10 + 1;
  1509 + int q = number / 1000 % 10;
  1510 + int num = q * 1000 + b * 100 + sw * 0 + g * 0;
  1511 + return num;
  1512 + } else {
  1513 + int g = 0; //s % 10;
  1514 + int sw = 0;//s / 10 % 10;
  1515 + int b = number / 100 % 10;
  1516 + int q = number / 1000 % 10;
  1517 + int num = q * 1000 + b * 100 + sw * 0 + g * 0;
  1518 + return num;
  1519 + }
  1520 + }
  1521 +
1497 1522 }