diff --git a/src/main/java/cn/lihongjie/coal/coalBlend/entity/CoalBlendEntity.java b/src/main/java/cn/lihongjie/coal/coalBlend/entity/CoalBlendEntity.java index 5670cbdd..b4058c6e 100644 --- a/src/main/java/cn/lihongjie/coal/coalBlend/entity/CoalBlendEntity.java +++ b/src/main/java/cn/lihongjie/coal/coalBlend/entity/CoalBlendEntity.java @@ -283,432 +283,493 @@ public class CoalBlendEntity extends OrgCommonEntity { if (StringUtils.equals(coalType, "2") || StringUtils.equals(coalType, "3")) { // 参与配比的煤的可能性 1 到 煤的数量之间 - // + // int startIndex = StringUtils.equals(coalType, "2") ? 0 : coals.size() - 1; for (int i = startIndex; i < coals.size(); i++) { // todo 这个循环可以删除? // 针对第j个煤参与配比, 那么他的比例应该在0-煤j的比例之间, 步长为0.01 - for (int j = 0; j <= i; j++) { - CoalBlendCoalInfoEntity coalJ = coals.get(j); - - int maxP = (int) (coalJ.getYmPercent() * 100); - int startK = StringUtils.equals(coalType, "2") ? 0 : maxP; - for (int k = startK; k <= maxP; k++) { - - // 计算各个参数是否满足条件 - CoalBlendResultInfoEntity vo = new CoalBlendResultInfoEntity(); - - if (param1.get()) { - Double min = constrains.getParam1Min(); - Double max = constrains.getParam1Max(); - Double sum = 0.0; - for (int l = 0; l < j; l++) { - - sum += coals.get(l).getParam1() * coals.get(l).getYmPercent() / 100.0; - } - - sum += k * coalJ.getParam1() / 10000.0; - - sum = BigDecimal.valueOf(sum).setScale(2, RoundingMode.HALF_UP).doubleValue(); - if ((min != null && sum < min) || (max != null && sum > max)) { - continue; - } else { - vo.setParam1(sum); - } - } - - if (param2.get()) { - Double min = constrains.getParam2Min(); - Double max = constrains.getParam2Max(); - Double sum = 0.0; - for (int l = 0; l < j; l++) { - - sum += coals.get(l).getParam2() * coals.get(l).getYmPercent() / 100.0; - } - - sum += k * coalJ.getParam2() / 10000.0; - - sum = BigDecimal.valueOf(sum).setScale(2, RoundingMode.HALF_UP).doubleValue(); - if ((min != null && sum < min) || (max != null && sum > max)) { - continue; - } else { - vo.setParam2(sum); - } - } - - if (param3.get()) { - Double min = constrains.getParam3Min(); - Double max = constrains.getParam3Max(); - Double sum = 0.0; - for (int l = 0; l < j; l++) { - - sum += coals.get(l).getParam3() * coals.get(l).getYmPercent() / 100.0; - } - - sum += k * coalJ.getParam3() / 10000.0; - - sum = BigDecimal.valueOf(sum).setScale(2, RoundingMode.HALF_UP).doubleValue(); - if ((min != null && sum < min) || (max != null && sum > max)) { - continue; - } else { - vo.setParam3(sum); - } - } - - if (param4.get()) { - Double min = constrains.getParam4Min(); - Double max = constrains.getParam4Max(); - Double sum = 0.0; - for (int l = 0; l < j; l++) { - - sum += coals.get(l).getParam4() * coals.get(l).getYmPercent() / 100.0; - } - - sum += k * coalJ.getParam4() / 10000.0; - - sum = BigDecimal.valueOf(sum).setScale(2, RoundingMode.HALF_UP).doubleValue(); - if ((min != null && sum < min) || (max != null && sum > max)) { - continue; - } else { - vo.setParam4(sum); - } - } - - if (param5.get()) { - Double min = constrains.getParam5Min(); - Double max = constrains.getParam5Max(); - Double sum = 0.0; - for (int l = 0; l < j; l++) { - - sum += coals.get(l).getParam5() * coals.get(l).getYmPercent() / 100.0; - } - - sum += k * coalJ.getParam5() / 10000.0; - - sum = BigDecimal.valueOf(sum).setScale(2, RoundingMode.HALF_UP).doubleValue(); - if ((min != null && sum < min) || (max != null && sum > max)) { - continue; - } else { - vo.setParam5(sum); - } - } - - if (param6.get()) { - Double min = constrains.getParam6Min(); - Double max = constrains.getParam6Max(); - Double sum = 0.0; - for (int l = 0; l < j; l++) { - - sum += coals.get(l).getParam6() * coals.get(l).getYmPercent() / 100.0; - } - - sum += k * coalJ.getParam6() / 10000.0; - - sum = BigDecimal.valueOf(sum).setScale(2, RoundingMode.HALF_UP).doubleValue(); - if ((min != null && sum < min) || (max != null && sum > max)) { - continue; - } else { - vo.setParam6(sum); - } - } - - if (param7.get()) { - Double min = constrains.getParam7Min(); - Double max = constrains.getParam7Max(); - Double sum = 0.0; - for (int l = 0; l < j; l++) { - - sum += coals.get(l).getParam7() * coals.get(l).getYmPercent() / 100.0; - } - - sum += k * coalJ.getParam7() / 10000.0; - - sum = BigDecimal.valueOf(sum).setScale(2, RoundingMode.HALF_UP).doubleValue(); - if ((min != null && sum < min) || (max != null && sum > max)) { - continue; - } else { - vo.setParam7(sum); - } - } - - if (param8.get()) { - Double min = constrains.getParam8Min(); - Double max = constrains.getParam8Max(); - Double sum = 0.0; - for (int l = 0; l < j; l++) { - - sum += coals.get(l).getParam8() * coals.get(l).getYmPercent() / 100.0; - } - - sum += k * coalJ.getParam8() / 10000.0; - - sum = BigDecimal.valueOf(sum).setScale(2, RoundingMode.HALF_UP).doubleValue(); - if ((min != null && sum < min) || (max != null && sum > max)) { - continue; - } else { - vo.setParam8(sum); - } - } - - if (param9.get()) { - Double min = constrains.getParam9Min(); - Double max = constrains.getParam9Max(); - Double sum = 0.0; - for (int l = 0; l < j; l++) { - - sum += coals.get(l).getParam9() * coals.get(l).getYmPercent() / 100.0; - } - - sum += k * coalJ.getParam9() / 10000.0; - - sum = BigDecimal.valueOf(sum).setScale(2, RoundingMode.HALF_UP).doubleValue(); - if ((min != null && sum < min) || (max != null && sum > max)) { - continue; - } else { - vo.setParam9(sum); - } - } - - if (param10.get()) { - Double min = constrains.getParam10Min(); - Double max = constrains.getParam10Max(); - Double sum = 0.0; - for (int l = 0; l < j; l++) { - - sum += coals.get(l).getParam10() * coals.get(l).getYmPercent() / 100.0; - } - - sum += k * coalJ.getParam10() / 10000.0; - - sum = BigDecimal.valueOf(sum).setScale(2, RoundingMode.HALF_UP).doubleValue(); - if ((min != null && sum < min) || (max != null && sum > max)) { - continue; - } else { - vo.setParam10(sum); - } - } - - if (param11.get()) { - Double min = constrains.getParam11Min(); - Double max = constrains.getParam11Max(); - Double sum = 0.0; - for (int l = 0; l < j; l++) { - - sum += coals.get(l).getParam11() * coals.get(l).getYmPercent() / 100.0; - } - - sum += k * coalJ.getParam11() / 10000.0; - - sum = BigDecimal.valueOf(sum).setScale(2, RoundingMode.HALF_UP).doubleValue(); - if ((min != null && sum < min) || (max != null && sum > max)) { - continue; - } else { - vo.setParam11(sum); - } - } - - if (param12.get()) { - Double min = constrains.getParam12Min(); - Double max = constrains.getParam12Max(); - Double sum = 0.0; - for (int l = 0; l < j; l++) { - - sum += coals.get(l).getParam12() * coals.get(l).getYmPercent() / 100.0; - } - - sum += k * coalJ.getParam12() / 10000.0; - - sum = BigDecimal.valueOf(sum).setScale(2, RoundingMode.HALF_UP).doubleValue(); - if ((min != null && sum < min) || (max != null && sum > max)) { - continue; - } else { - vo.setParam12(sum); - } - } - - if (param13.get()) { - Double min = constrains.getParam13Min(); - Double max = constrains.getParam13Max(); - Double sum = 0.0; - for (int l = 0; l < j; l++) { - - sum += coals.get(l).getParam13() * coals.get(l).getYmPercent() / 100.0; - } - - sum += k * coalJ.getParam13() / 10000.0; - - sum = BigDecimal.valueOf(sum).setScale(2, RoundingMode.HALF_UP).doubleValue(); - if ((min != null && sum < min) || (max != null && sum > max)) { - continue; - } else { - vo.setParam13(sum); - } - } - - if (param14.get()) { - Double min = constrains.getParam14Min(); - Double max = constrains.getParam14Max(); - Double sum = 0.0; - for (int l = 0; l < j; l++) { - - sum += coals.get(l).getParam14() * coals.get(l).getYmPercent() / 100.0; - } - - sum += k * coalJ.getParam14() / 10000.0; - - sum = BigDecimal.valueOf(sum).setScale(2, RoundingMode.HALF_UP).doubleValue(); - if ((min != null && sum < min) || (max != null && sum > max)) { - continue; - } else { - vo.setParam14(sum); - } - } - - if (param15.get()) { - Double min = constrains.getParam15Min(); - Double max = constrains.getParam15Max(); - Double sum = 0.0; - for (int l = 0; l < j; l++) { - - sum += coals.get(l).getParam15() * coals.get(l).getYmPercent() / 100.0; - } - - sum += k * coalJ.getParam15() / 10000.0; - - sum = BigDecimal.valueOf(sum).setScale(2, RoundingMode.HALF_UP).doubleValue(); - if ((min != null && sum < min) || (max != null && sum > max)) { - continue; - } else { - vo.setParam15(sum); - } - } - - if (param16.get()) { - Double min = constrains.getParam16Min(); - Double max = constrains.getParam16Max(); - Double sum = 0.0; - for (int l = 0; l < j; l++) { - - sum += coals.get(l).getParam16() * coals.get(l).getYmPercent() / 100.0; - } - - sum += k * coalJ.getParam16() / 10000.0; - - sum = BigDecimal.valueOf(sum).setScale(2, RoundingMode.HALF_UP).doubleValue(); - if ((min != null && sum < min) || (max != null && sum > max)) { - continue; - } else { - vo.setParam16(sum); - } - } - - if (param17.get()) { - Double min = constrains.getParam17Min(); - Double max = constrains.getParam17Max(); - Double sum = 0.0; - for (int l = 0; l < j; l++) { - - sum += coals.get(l).getParam17() * coals.get(l).getYmPercent() / 100.0; - } - - sum += k * coalJ.getParam17() / 10000.0; - - sum = BigDecimal.valueOf(sum).setScale(2, RoundingMode.HALF_UP).doubleValue(); - if ((min != null && sum < min) || (max != null && sum > max)) { - continue; - } else { - vo.setParam17(sum); - } - } - - if (param18.get()) { - Double min = constrains.getParam18Min(); - Double max = constrains.getParam18Max(); - Double sum = 0.0; - for (int l = 0; l < j; l++) { - - sum += coals.get(l).getParam18() * coals.get(l).getYmPercent() / 100.0; - } - - sum += k * coalJ.getParam18() / 10000.0; - - sum = BigDecimal.valueOf(sum).setScale(2, RoundingMode.HALF_UP).doubleValue(); - if ((min != null && sum < min) || (max != null && sum > max)) { - continue; - } else { - vo.setParam18(sum); - } - } - - if (param19.get()) { - Double min = constrains.getParam19Min(); - Double max = constrains.getParam19Max(); - Double sum = 0.0; - for (int l = 0; l < j; l++) { - - sum += coals.get(l).getParam19() * coals.get(l).getYmPercent() / 100.0; - } - - sum += k * coalJ.getParam19() / 10000.0; - - sum = BigDecimal.valueOf(sum).setScale(2, RoundingMode.HALF_UP).doubleValue(); - if ((min != null && sum < min) || (max != null && sum > max)) { - continue; - } else { - vo.setParam19(sum); - } - } - - if (param20.get()) { - Double min = constrains.getParam20Min(); - Double max = constrains.getParam20Max(); - Double sum = 0.0; - for (int l = 0; l < j; l++) { - - sum += coals.get(l).getParam20() * coals.get(l).getYmPercent() / 100.0; - } - - sum += k * coalJ.getParam20() / 10000.0; - - sum = BigDecimal.valueOf(sum).setScale(2, RoundingMode.HALF_UP).doubleValue(); - if ((min != null && sum < min) || (max != null && sum > max)) { - continue; - } else { - vo.setParam20(sum); - } - } - - // 生成配煤结果 - - ArrayList percentInfos = new ArrayList<>(); - vo.setPercentInfos(percentInfos); + // for (int j = 0; j <= i; j++) { + int j = i; + CoalBlendCoalInfoEntity coalJ = coals.get(j); + + int maxP = (int) (coalJ.getYmPercent() * 100); + int startK = StringUtils.equals(coalType, "2") ? 0 : maxP; + for (int k = startK; k <= maxP; k++) { + // 计算各个参数是否满足条件 + CoalBlendResultInfoEntity vo = new CoalBlendResultInfoEntity(); + + if (param1.get()) { + Double min = constrains.getParam1Min(); + Double max = constrains.getParam1Max(); + Double sum = 0.0; for (int l = 0; l < j; l++) { - percentInfos.add( - new CoalPercentVo( - coals.get(l).getName(), - coals.get(l).getYmPercent(), - 0.0, - coals.get(l).getYmPercent())); + sum += coals.get(l).getParam1() * coals.get(l).getYmPercent() / 100.0; } + sum += k * coalJ.getParam1() / 10000.0; + + sum = + BigDecimal.valueOf(sum) + .setScale(2, RoundingMode.HALF_UP) + .doubleValue(); + if ((min != null && sum < min) || (max != null && sum > max)) { + continue; + } else { + vo.setParam1(sum); + } + } + + if (param2.get()) { + Double min = constrains.getParam2Min(); + Double max = constrains.getParam2Max(); + Double sum = 0.0; + for (int l = 0; l < j; l++) { + + sum += coals.get(l).getParam2() * coals.get(l).getYmPercent() / 100.0; + } + + sum += k * coalJ.getParam2() / 10000.0; + + sum = + BigDecimal.valueOf(sum) + .setScale(2, RoundingMode.HALF_UP) + .doubleValue(); + if ((min != null && sum < min) || (max != null && sum > max)) { + continue; + } else { + vo.setParam2(sum); + } + } + + if (param3.get()) { + Double min = constrains.getParam3Min(); + Double max = constrains.getParam3Max(); + Double sum = 0.0; + for (int l = 0; l < j; l++) { + + sum += coals.get(l).getParam3() * coals.get(l).getYmPercent() / 100.0; + } + + sum += k * coalJ.getParam3() / 10000.0; + + sum = + BigDecimal.valueOf(sum) + .setScale(2, RoundingMode.HALF_UP) + .doubleValue(); + if ((min != null && sum < min) || (max != null && sum > max)) { + continue; + } else { + vo.setParam3(sum); + } + } + + if (param4.get()) { + Double min = constrains.getParam4Min(); + Double max = constrains.getParam4Max(); + Double sum = 0.0; + for (int l = 0; l < j; l++) { + + sum += coals.get(l).getParam4() * coals.get(l).getYmPercent() / 100.0; + } + + sum += k * coalJ.getParam4() / 10000.0; + + sum = + BigDecimal.valueOf(sum) + .setScale(2, RoundingMode.HALF_UP) + .doubleValue(); + if ((min != null && sum < min) || (max != null && sum > max)) { + continue; + } else { + vo.setParam4(sum); + } + } + + if (param5.get()) { + Double min = constrains.getParam5Min(); + Double max = constrains.getParam5Max(); + Double sum = 0.0; + for (int l = 0; l < j; l++) { + + sum += coals.get(l).getParam5() * coals.get(l).getYmPercent() / 100.0; + } + + sum += k * coalJ.getParam5() / 10000.0; + + sum = + BigDecimal.valueOf(sum) + .setScale(2, RoundingMode.HALF_UP) + .doubleValue(); + if ((min != null && sum < min) || (max != null && sum > max)) { + continue; + } else { + vo.setParam5(sum); + } + } + + if (param6.get()) { + Double min = constrains.getParam6Min(); + Double max = constrains.getParam6Max(); + Double sum = 0.0; + for (int l = 0; l < j; l++) { + + sum += coals.get(l).getParam6() * coals.get(l).getYmPercent() / 100.0; + } + + sum += k * coalJ.getParam6() / 10000.0; + + sum = + BigDecimal.valueOf(sum) + .setScale(2, RoundingMode.HALF_UP) + .doubleValue(); + if ((min != null && sum < min) || (max != null && sum > max)) { + continue; + } else { + vo.setParam6(sum); + } + } + + if (param7.get()) { + Double min = constrains.getParam7Min(); + Double max = constrains.getParam7Max(); + Double sum = 0.0; + for (int l = 0; l < j; l++) { + + sum += coals.get(l).getParam7() * coals.get(l).getYmPercent() / 100.0; + } + + sum += k * coalJ.getParam7() / 10000.0; + + sum = + BigDecimal.valueOf(sum) + .setScale(2, RoundingMode.HALF_UP) + .doubleValue(); + if ((min != null && sum < min) || (max != null && sum > max)) { + continue; + } else { + vo.setParam7(sum); + } + } + + if (param8.get()) { + Double min = constrains.getParam8Min(); + Double max = constrains.getParam8Max(); + Double sum = 0.0; + for (int l = 0; l < j; l++) { + + sum += coals.get(l).getParam8() * coals.get(l).getYmPercent() / 100.0; + } + + sum += k * coalJ.getParam8() / 10000.0; + + sum = + BigDecimal.valueOf(sum) + .setScale(2, RoundingMode.HALF_UP) + .doubleValue(); + if ((min != null && sum < min) || (max != null && sum > max)) { + continue; + } else { + vo.setParam8(sum); + } + } + + if (param9.get()) { + Double min = constrains.getParam9Min(); + Double max = constrains.getParam9Max(); + Double sum = 0.0; + for (int l = 0; l < j; l++) { + + sum += coals.get(l).getParam9() * coals.get(l).getYmPercent() / 100.0; + } + + sum += k * coalJ.getParam9() / 10000.0; + + sum = + BigDecimal.valueOf(sum) + .setScale(2, RoundingMode.HALF_UP) + .doubleValue(); + if ((min != null && sum < min) || (max != null && sum > max)) { + continue; + } else { + vo.setParam9(sum); + } + } + + if (param10.get()) { + Double min = constrains.getParam10Min(); + Double max = constrains.getParam10Max(); + Double sum = 0.0; + for (int l = 0; l < j; l++) { + + sum += coals.get(l).getParam10() * coals.get(l).getYmPercent() / 100.0; + } + + sum += k * coalJ.getParam10() / 10000.0; + + sum = + BigDecimal.valueOf(sum) + .setScale(2, RoundingMode.HALF_UP) + .doubleValue(); + if ((min != null && sum < min) || (max != null && sum > max)) { + continue; + } else { + vo.setParam10(sum); + } + } + + if (param11.get()) { + Double min = constrains.getParam11Min(); + Double max = constrains.getParam11Max(); + Double sum = 0.0; + for (int l = 0; l < j; l++) { + + sum += coals.get(l).getParam11() * coals.get(l).getYmPercent() / 100.0; + } + + sum += k * coalJ.getParam11() / 10000.0; + + sum = + BigDecimal.valueOf(sum) + .setScale(2, RoundingMode.HALF_UP) + .doubleValue(); + if ((min != null && sum < min) || (max != null && sum > max)) { + continue; + } else { + vo.setParam11(sum); + } + } + + if (param12.get()) { + Double min = constrains.getParam12Min(); + Double max = constrains.getParam12Max(); + Double sum = 0.0; + for (int l = 0; l < j; l++) { + + sum += coals.get(l).getParam12() * coals.get(l).getYmPercent() / 100.0; + } + + sum += k * coalJ.getParam12() / 10000.0; + + sum = + BigDecimal.valueOf(sum) + .setScale(2, RoundingMode.HALF_UP) + .doubleValue(); + if ((min != null && sum < min) || (max != null && sum > max)) { + continue; + } else { + vo.setParam12(sum); + } + } + + if (param13.get()) { + Double min = constrains.getParam13Min(); + Double max = constrains.getParam13Max(); + Double sum = 0.0; + for (int l = 0; l < j; l++) { + + sum += coals.get(l).getParam13() * coals.get(l).getYmPercent() / 100.0; + } + + sum += k * coalJ.getParam13() / 10000.0; + + sum = + BigDecimal.valueOf(sum) + .setScale(2, RoundingMode.HALF_UP) + .doubleValue(); + if ((min != null && sum < min) || (max != null && sum > max)) { + continue; + } else { + vo.setParam13(sum); + } + } + + if (param14.get()) { + Double min = constrains.getParam14Min(); + Double max = constrains.getParam14Max(); + Double sum = 0.0; + for (int l = 0; l < j; l++) { + + sum += coals.get(l).getParam14() * coals.get(l).getYmPercent() / 100.0; + } + + sum += k * coalJ.getParam14() / 10000.0; + + sum = + BigDecimal.valueOf(sum) + .setScale(2, RoundingMode.HALF_UP) + .doubleValue(); + if ((min != null && sum < min) || (max != null && sum > max)) { + continue; + } else { + vo.setParam14(sum); + } + } + + if (param15.get()) { + Double min = constrains.getParam15Min(); + Double max = constrains.getParam15Max(); + Double sum = 0.0; + for (int l = 0; l < j; l++) { + + sum += coals.get(l).getParam15() * coals.get(l).getYmPercent() / 100.0; + } + + sum += k * coalJ.getParam15() / 10000.0; + + sum = + BigDecimal.valueOf(sum) + .setScale(2, RoundingMode.HALF_UP) + .doubleValue(); + if ((min != null && sum < min) || (max != null && sum > max)) { + continue; + } else { + vo.setParam15(sum); + } + } + + if (param16.get()) { + Double min = constrains.getParam16Min(); + Double max = constrains.getParam16Max(); + Double sum = 0.0; + for (int l = 0; l < j; l++) { + + sum += coals.get(l).getParam16() * coals.get(l).getYmPercent() / 100.0; + } + + sum += k * coalJ.getParam16() / 10000.0; + + sum = + BigDecimal.valueOf(sum) + .setScale(2, RoundingMode.HALF_UP) + .doubleValue(); + if ((min != null && sum < min) || (max != null && sum > max)) { + continue; + } else { + vo.setParam16(sum); + } + } + + if (param17.get()) { + Double min = constrains.getParam17Min(); + Double max = constrains.getParam17Max(); + Double sum = 0.0; + for (int l = 0; l < j; l++) { + + sum += coals.get(l).getParam17() * coals.get(l).getYmPercent() / 100.0; + } + + sum += k * coalJ.getParam17() / 10000.0; + + sum = + BigDecimal.valueOf(sum) + .setScale(2, RoundingMode.HALF_UP) + .doubleValue(); + if ((min != null && sum < min) || (max != null && sum > max)) { + continue; + } else { + vo.setParam17(sum); + } + } + + if (param18.get()) { + Double min = constrains.getParam18Min(); + Double max = constrains.getParam18Max(); + Double sum = 0.0; + for (int l = 0; l < j; l++) { + + sum += coals.get(l).getParam18() * coals.get(l).getYmPercent() / 100.0; + } + + sum += k * coalJ.getParam18() / 10000.0; + + sum = + BigDecimal.valueOf(sum) + .setScale(2, RoundingMode.HALF_UP) + .doubleValue(); + if ((min != null && sum < min) || (max != null && sum > max)) { + continue; + } else { + vo.setParam18(sum); + } + } + + if (param19.get()) { + Double min = constrains.getParam19Min(); + Double max = constrains.getParam19Max(); + Double sum = 0.0; + for (int l = 0; l < j; l++) { + + sum += coals.get(l).getParam19() * coals.get(l).getYmPercent() / 100.0; + } + + sum += k * coalJ.getParam19() / 10000.0; + + sum = + BigDecimal.valueOf(sum) + .setScale(2, RoundingMode.HALF_UP) + .doubleValue(); + if ((min != null && sum < min) || (max != null && sum > max)) { + continue; + } else { + vo.setParam19(sum); + } + } + + if (param20.get()) { + Double min = constrains.getParam20Min(); + Double max = constrains.getParam20Max(); + Double sum = 0.0; + for (int l = 0; l < j; l++) { + + sum += coals.get(l).getParam20() * coals.get(l).getYmPercent() / 100.0; + } + + sum += k * coalJ.getParam20() / 10000.0; + + sum = + BigDecimal.valueOf(sum) + .setScale(2, RoundingMode.HALF_UP) + .doubleValue(); + if ((min != null && sum < min) || (max != null && sum > max)) { + continue; + } else { + vo.setParam20(sum); + } + } + + // 生成配煤结果 + + ArrayList percentInfos = new ArrayList<>(); + vo.setPercentInfos(percentInfos); + for (int l = 0; l < j; l++) { + percentInfos.add( - new CoalPercentVo(coalJ.getName(), k / 100.0, null, k / 100.0)); + new CoalPercentVo( + coals.get(l).getName(), + coals.get(l).getYmPercent(), + 0.0, + coals.get(l).getYmPercent())); + } - if (results.isEmpty()) { - results = new ArrayList<>(); - } - vo.setPercentSum(percentInfos.stream().mapToDouble(CoalPercentVo::getYmPercent).sum()); - results.add(vo); + percentInfos.add( + new CoalPercentVo(coalJ.getName(), k / 100.0, null, k / 100.0)); - if (results.size() > count) { - break; - } + if (results.isEmpty()) { + results = new ArrayList<>(); + } + vo.setPercentSum( + percentInfos.stream().mapToDouble(CoalPercentVo::getYmPercent).sum()); + results.add(vo); + + if (results.size() > count) { + break; } } } - // + // } + // return; }