|
@@ -137,8 +137,8 @@ public class ZEngineeringWasteMaterialServiceImpl implements IZEngineeringWasteM
|
|
|
nodeCheck.add(map);
|
|
|
}
|
|
|
zEngineeringWasteMaterialVo.setNodeCheck(nodeCheck);
|
|
|
- AtomicReference<Double> pesj = new AtomicReference<>(0.0);
|
|
|
- AtomicReference<Double> gsj = new AtomicReference<>(0.0);
|
|
|
+ BigDecimal pesj = new BigDecimal(0);
|
|
|
+ BigDecimal gsj = new BigDecimal(0);
|
|
|
for (int i = 0; i < zEngineeringNodeBos.size(); i++) {
|
|
|
ZEngineeringNodeBo nodeBo = zEngineeringNodeBos.get(i);
|
|
|
for (ZEngineeringInfoBo info: nodeBo.getzEngineeringInfoBoList()) {
|
|
@@ -149,21 +149,23 @@ public class ZEngineeringWasteMaterialServiceImpl implements IZEngineeringWasteM
|
|
|
material.stream().forEach(item4->{
|
|
|
String type = zEnginMaterialQualityMapper.selectVoById(item4.getMaterialQuality()).getMaterialType();
|
|
|
if("0".equals(type)){
|
|
|
- pesj.updateAndGet(v -> v + new BigDecimal(Double.toString(item4.getNumber())).doubleValue());
|
|
|
+// pesj.updateAndGet(v -> v + new BigDecimal(Double.toString(item4.getNumber())).doubleValue());
|
|
|
+ pesj.add(new BigDecimal(Double.toString(item4.getNumber())));
|
|
|
}else if("1".equals(type)){
|
|
|
- gsj.updateAndGet(v -> v + new BigDecimal(Double.toString(item4.getNumber())).doubleValue());
|
|
|
+ gsj.add(new BigDecimal(Double.toString(item4.getNumber())));
|
|
|
+// gsj.updateAndGet(v -> v + new BigDecimal(Double.toString(item4.getNumber())).doubleValue());
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
Map pe = new HashMap(); // PE材料
|
|
|
- pe.put("actuality", getRoundDouble(pesj.get(), 2)); // 实际
|
|
|
- pe.put("anticipation", zEngineeringGYVo.getPePreset()); // 预计
|
|
|
- pe.put("percentage", getRoundDouble(100 * pesj.get() / zEngineeringGYVo.getGcPreset(),2) + "%"); // 占比
|
|
|
+ pe.put("actuality", getRoundDouble(pesj, 2)); // 实际
|
|
|
+ pe.put("anticipation", zEngineeringGYVo.getPePreset()); // 预计 divide zEngineeringGYVo.getGcPreset()
|
|
|
+ pe.put("percentage", getRoundDouble((pesj.multiply(new BigDecimal(100))).divide(BigDecimal.valueOf(zEngineeringGYVo.getGcPreset())),2) + "%"); // 占比
|
|
|
Map iron = new HashMap(); // 钢材
|
|
|
- iron.put("actuality", getRoundDouble(gsj.get(), 2)); // 实际
|
|
|
+ iron.put("actuality", getRoundDouble(gsj, 2)); // 实际
|
|
|
iron.put("anticipation", zEngineeringGYVo.getGcPreset()); // 预计
|
|
|
- iron.put("percentage", getRoundDouble(100 * gsj.get() / zEngineeringGYVo.getGcPreset(),2) + "%"); // 占比
|
|
|
+ iron.put("percentage", getRoundDouble((gsj.multiply(new BigDecimal(100))).divide(BigDecimal.valueOf(zEngineeringGYVo.getGcPreset())),2) + "%"); // 占比
|
|
|
zEngineeringWasteMaterialVo.setMaterialPercentagePE(pe);
|
|
|
zEngineeringWasteMaterialVo.setMaterialPercentageIron(iron);
|
|
|
// zEngineeringWasteMaterialVo.setMaterialPercentagePE();
|
|
@@ -189,6 +191,9 @@ public class ZEngineeringWasteMaterialServiceImpl implements IZEngineeringWasteM
|
|
|
private double getRoundDouble(double d, int i){
|
|
|
return BigDecimal.valueOf(d).setScale(i, RoundingMode.HALF_UP).doubleValue();
|
|
|
}
|
|
|
+ private double getRoundDouble(BigDecimal d, int i){
|
|
|
+ return d.setScale(i, RoundingMode.HALF_UP).doubleValue();
|
|
|
+ }
|
|
|
|
|
|
private List<Map<String, Object>> ReViewGYList(List<ZEngineeringGYVo> list) {
|
|
|
Map<String, List<SysDictData>> sysDictMap = RedisUtils.getCacheMap("sys_dict");
|
|
@@ -302,6 +307,35 @@ public class ZEngineeringWasteMaterialServiceImpl implements IZEngineeringWasteM
|
|
|
// ZEngineeringNodeBo nodeBo = zEngineeringNodeBos.get(i);
|
|
|
// }
|
|
|
// zEngineeringWasteMaterialVo.setMaterialPercentagePE();
|
|
|
+ AtomicReference<Double> pesj = new AtomicReference<>(0.0);
|
|
|
+ AtomicReference<Double> gsj = new AtomicReference<>(0.0);
|
|
|
+ for (int i = 0; i < zEngineeringNodeBos.size(); i++) {
|
|
|
+ ZEngineeringNodeBo nodeBo = zEngineeringNodeBos.get(i);
|
|
|
+ for (ZEngineeringInfoBo info: nodeBo.getzEngineeringInfoBoList()) {
|
|
|
+ System.out.println(info.getzEngineeringMaterialBo());
|
|
|
+ LambdaQueryWrapper<ZEngineeringMaterial> lqw4 = Wrappers.lambdaQuery();
|
|
|
+ lqw4.eq(StringUtils.isNotBlank(info.getId()), ZEngineeringMaterial::getDetailsId, info.getId());
|
|
|
+ List<ZEngineeringMaterial> material= zEngineeringMaterialMapper.selectList(lqw4);
|
|
|
+ material.stream().forEach(item4->{
|
|
|
+ String type = zEnginMaterialQualityMapper.selectVoById(item4.getMaterialQuality()).getMaterialType();
|
|
|
+ if("0".equals(type)){
|
|
|
+ pesj.updateAndGet(v -> v + new BigDecimal(Double.toString(item4.getNumber())).doubleValue());
|
|
|
+ }else if("1".equals(type)){
|
|
|
+ gsj.updateAndGet(v -> v + new BigDecimal(Double.toString(item4.getNumber())).doubleValue());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Map pe = new HashMap(); // PE材料
|
|
|
+ pe.put("actuality", getRoundDouble(pesj.get(), 2)); // 实际
|
|
|
+ pe.put("anticipation", zEngineeringIndustryVo.getPePreset()); // 预计
|
|
|
+ pe.put("percentage", getRoundDouble(100 * pesj.get() / zEngineeringIndustryVo.getGcPreset(),2) + "%"); // 占比
|
|
|
+ Map iron = new HashMap(); // 钢材
|
|
|
+ iron.put("actuality", getRoundDouble(gsj.get(), 2)); // 实际
|
|
|
+ iron.put("anticipation", zEngineeringIndustryVo.getGcPreset()); // 预计
|
|
|
+ iron.put("percentage", getRoundDouble(100 * gsj.get() / zEngineeringIndustryVo.getGcPreset(),2) + "%"); // 占比
|
|
|
+ zEngineeringWasteMaterialVo.setMaterialPercentagePE(pe);
|
|
|
+ zEngineeringWasteMaterialVo.setMaterialPercentageIron(iron);
|
|
|
return zEngineeringWasteMaterialVo;
|
|
|
}
|
|
|
|
|
@@ -357,6 +391,35 @@ public class ZEngineeringWasteMaterialServiceImpl implements IZEngineeringWasteM
|
|
|
// ZEngineeringNodeBo nodeBo = zEngineeringNodeBos.get(i);
|
|
|
// }
|
|
|
// zEngineeringWasteMaterialVo.setMaterialPercentagePE();
|
|
|
+ AtomicReference<Double> pesj = new AtomicReference<>(0.0);
|
|
|
+ AtomicReference<Double> gsj = new AtomicReference<>(0.0);
|
|
|
+ for (int i = 0; i < zEngineeringNodeBos.size(); i++) {
|
|
|
+ ZEngineeringNodeBo nodeBo = zEngineeringNodeBos.get(i);
|
|
|
+ for (ZEngineeringInfoBo info: nodeBo.getzEngineeringInfoBoList()) {
|
|
|
+ System.out.println(info.getzEngineeringMaterialBo());
|
|
|
+ LambdaQueryWrapper<ZEngineeringMaterial> lqw4 = Wrappers.lambdaQuery();
|
|
|
+ lqw4.eq(StringUtils.isNotBlank(info.getId()), ZEngineeringMaterial::getDetailsId, info.getId());
|
|
|
+ List<ZEngineeringMaterial> material= zEngineeringMaterialMapper.selectList(lqw4);
|
|
|
+ material.stream().forEach(item4->{
|
|
|
+ String type = zEnginMaterialQualityMapper.selectVoById(item4.getMaterialQuality()).getMaterialType();
|
|
|
+ if("0".equals(type)){
|
|
|
+ pesj.updateAndGet(v -> v + new BigDecimal(Double.toString(item4.getNumber())).doubleValue());
|
|
|
+ }else if("1".equals(type)){
|
|
|
+ gsj.updateAndGet(v -> v + new BigDecimal(Double.toString(item4.getNumber())).doubleValue());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Map pe = new HashMap(); // PE材料
|
|
|
+ pe.put("actuality", getRoundDouble(pesj.get(), 2)); // 实际
|
|
|
+ pe.put("anticipation", zEngineeringPipeJackingVo.getPePreset()); // 预计
|
|
|
+ pe.put("percentage", getRoundDouble(100 * pesj.get() / zEngineeringPipeJackingVo.getGcPreset(),2) + "%"); // 占比
|
|
|
+ Map iron = new HashMap(); // 钢材
|
|
|
+ iron.put("actuality", getRoundDouble(gsj.get(), 2)); // 实际
|
|
|
+ iron.put("anticipation", zEngineeringPipeJackingVo.getGcPreset()); // 预计
|
|
|
+ iron.put("percentage", getRoundDouble(100 * gsj.get() / zEngineeringPipeJackingVo.getGcPreset(),2) + "%"); // 占比
|
|
|
+ zEngineeringWasteMaterialVo.setMaterialPercentagePE(pe);
|
|
|
+ zEngineeringWasteMaterialVo.setMaterialPercentageIron(iron);
|
|
|
return zEngineeringWasteMaterialVo;
|
|
|
}
|
|
|
|