|
@@ -914,15 +914,17 @@ public class RyTask
|
|
|
|
|
|
Integer type = param.getType();
|
|
|
|
|
|
+ BigDecimal yymd = param.getYymd();
|
|
|
+
|
|
|
|
|
|
if(!Objects.isNull(type)) {
|
|
|
if(3 == type){
|
|
|
return medicineAmount;
|
|
|
}
|
|
|
|
|
|
- BigDecimal oneResult = this.getResultByDiff(hycXsyType, hycXsyOne, htfksd, qycAdType, qycAdOne, qycYxyType, qycYxyOne, xzxs, jzxs, jsLlType, jsLlOne, slfpxs, kzxs, jsCodType, jsCodOne, zhxs, tydl, "one");
|
|
|
+ BigDecimal oneResult = this.getResultByDiff(hycXsyType, hycXsyOne, htfksd, qycAdType, qycAdOne, qycYxyType, qycYxyOne, xzxs, jzxs, jsLlType, jsLlOne, slfpxs, kzxs, jsCodType, jsCodOne, zhxs, tydl, "one", yymd);
|
|
|
|
|
|
- BigDecimal twoResult = this.getResultByDiff(hycXsyType, hycXsyTwo, htfksd, qycAdType, qycAdTwo, qycYxyType, qycYxyTwo, xzxs, jzxs, jsLlType, jsLlOne, slfpxs, kzxs, jsCodType, jsCodTwo, zhxs, tydl, "two");
|
|
|
+ BigDecimal twoResult = this.getResultByDiff(hycXsyType, hycXsyTwo, htfksd, qycAdType, qycAdTwo, qycYxyType, qycYxyTwo, xzxs, jzxs, jsLlType, jsLlOne, slfpxs, kzxs, jsCodType, jsCodTwo, zhxs, tydl, "two", yymd);
|
|
|
|
|
|
if(0 == type)
|
|
|
return oneResult.compareTo(twoResult) > 0 ? oneResult : twoResult;
|
|
@@ -939,7 +941,7 @@ public class RyTask
|
|
|
|
|
|
private BigDecimal getResultByDiff(Integer hycXsyType, BigDecimal hycXsyVal, BigDecimal htfksd, Integer qycAdType, BigDecimal qycAdVal, Integer qycYxyType,
|
|
|
BigDecimal qycYxyVal, BigDecimal xzxs, BigDecimal jzxs, Integer jsLlType, BigDecimal jsLlVal, BigDecimal slfpxs, BigDecimal kzxs, Integer jsCodType,
|
|
|
- BigDecimal jsCodVal, BigDecimal zhxs, BigDecimal tydl, String whichCZ) {
|
|
|
+ BigDecimal jsCodVal, BigDecimal zhxs, BigDecimal tydl, String whichCZ, BigDecimal yymd) {
|
|
|
|
|
|
|
|
|
SmartAdd smartAdd = this.frontService.smartAddDataInfo();
|
|
@@ -1021,10 +1023,15 @@ public class RyTask
|
|
|
zhxs = BigDecimal.ZERO;
|
|
|
if(Objects.isNull(tydl))
|
|
|
tydl = BigDecimal.ZERO;
|
|
|
+ if(Objects.isNull(yymd) || yymd.compareTo(BigDecimal.ZERO) <= 0)
|
|
|
+ return null;
|
|
|
|
|
|
BigDecimal xzl = (((BigDecimal_2.multiply(hycXsyVal).subtract(htfksd)).add(((qycAdVal.add(qycYxyVal)).multiply(xzxs).subtract(htfksd)))).multiply((jzxs.subtract(BigDecimal_1)))).multiply((jsLlVal.multiply(slfpxs))).divide(BigDecimal_1000, NUMBER_SCALE_4, RoundingMode.HALF_UP);
|
|
|
|
|
|
- return (xzl.multiply(kzxs).subtract((jsLlVal.multiply(slfpxs).multiply(jsCodVal).multiply(zhxs).divide(BigDecimal_1000, NUMBER_SCALE_4, RoundingMode.HALF_UP)))).divide(tydl, NUMBER_SCALE_4, RoundingMode.HALF_UP);
|
|
|
+ BigDecimal total = (xzl.multiply(kzxs).subtract((jsLlVal.multiply(slfpxs).multiply(jsCodVal).multiply(zhxs).divide(BigDecimal_1000, NUMBER_SCALE_4, RoundingMode.HALF_UP)))).divide(tydl, NUMBER_SCALE_4, RoundingMode.HALF_UP);
|
|
|
+
|
|
|
+
|
|
|
+ return DecimalUtils.getNLengthHalfUp(total.divide(yymd, NUMBER_SCALE_10, RoundingMode.HALF_UP).divide(BigDecimal_1000, NUMBER_SCALE_10, RoundingMode.HALF_UP), INT_3);
|
|
|
}
|
|
|
|
|
|
|