diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TnbComputeKulServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TnbComputeKulServiceImpl.java index a8fcb67..86c8447 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TnbComputeKulServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TnbComputeKulServiceImpl.java @@ -17,7 +17,7 @@ import java.util.Map; /** * 妊娠期糖尿病卡路里计算公式 *
- * 详细描述 + * 【身高(m)×身高(m)×21+累计增重】×25+340/450 *
* 示例代码 *
@@ -63,13 +63,13 @@ class TnbComputeKulServiceImpl implements IComputeKul { if (week <= 12) { if (add < 1 && (1 - add >= 0.5)) { status = "低于"; - kulStart = new BigDecimal(Double.toString(height)).multiply(new BigDecimal(Double.toString(height))).doubleValue()*21 + 500; + kulStart = (new BigDecimal(Double.toString(height)).multiply(new BigDecimal(Double.toString(height))).doubleValue()*21 + 500+add)*25; } else if (add > 1.5 && (add - 1.5 >= 0.5)) { status = "高于"; - kulStart =new BigDecimal(Double.toString(height)).multiply(new BigDecimal(Double.toString(height))).doubleValue()*21- 500; + kulStart =(new BigDecimal(Double.toString(height)).multiply(new BigDecimal(Double.toString(height))).doubleValue()*21- 500+add)*25; } else { status = "处于"; - kulStart =new BigDecimal(Double.toString(height)).multiply(new BigDecimal(Double.toString(height))).doubleValue()*21; + kulStart =(new BigDecimal(Double.toString(height)).multiply(new BigDecimal(Double.toString(height))).doubleValue()*21+add)*25; } kulEnd = kulStart; } @@ -101,11 +101,12 @@ class TnbComputeKulServiceImpl implements IComputeKul { double addWeightStart = Double.parseDouble(rangeWeight[0]); double addWeightEnd = Double.parseDouble(rangeWeight[1]); - BigDecimal b1 = new BigDecimal(Double.toString(addWeightStart)); - BigDecimal b2 = new BigDecimal(Double.toString(addWeightEnd)); - BigDecimal bw = new BigDecimal(Double.toString(beforeWeight)); - double kstart = (bw.add(b1)).multiply(new BigDecimal(25)).doubleValue() + basekul; - double kend = (bw.add(b2)).multiply(new BigDecimal(25)).doubleValue() + basekul; + + double d2= new BigDecimal(Double.toString(height)).multiply(new BigDecimal(Double.toString(height))).doubleValue()*21; + d2=add+d2; + + double kstart = new BigDecimal(d2).multiply(new BigDecimal(25)).doubleValue() + basekul; + double kend = new BigDecimal(d2).multiply(new BigDecimal(25)).doubleValue() + basekul; status = "处于"; if (addWeightEnd < add && (Double.valueOf(String.format("%.2f", add - addWeightEnd))) >= 0.5) {