qinhouyu hai 11 meses
pai
achega
53732c510b

+ 12 - 9
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringWasteMaterialServiceImpl.java

@@ -137,8 +137,8 @@ public class ZEngineeringWasteMaterialServiceImpl implements IZEngineeringWasteM
             nodeCheck.add(map);
         }
         zEngineeringWasteMaterialVo.setNodeCheck(nodeCheck);
-        BigDecimal pesj = new BigDecimal(0);
-        BigDecimal gsj = new BigDecimal(0);
+        AtomicReference<BigDecimal> pesj = new AtomicReference<>(new BigDecimal(0));
+        AtomicReference<BigDecimal> gsj = new AtomicReference<>(new BigDecimal(0));
         for (int i = 0; i < zEngineeringNodeBos.size(); i++) {
             ZEngineeringNodeBo nodeBo = zEngineeringNodeBos.get(i);
             for (ZEngineeringInfoBo info: nodeBo.getzEngineeringInfoBoList()) {
@@ -149,23 +149,26 @@ 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.add(new BigDecimal(Double.toString(item4.getNumber())));
+                        pesj.updateAndGet(v ->v.add(new BigDecimal(Double.toString(item4.getNumber()))) );
+
+//                        pesj = pesj.get().add(new BigDecimal(Double.toString(item4.getNumber())));
                     }else if("1".equals(type)){
-                        gsj.add(new BigDecimal(Double.toString(item4.getNumber())));
+//                        gsj.updateAndGet(v -> new BigDecimal(Double.toString(item4.getNumber())));
+                        gsj.updateAndGet(v ->v.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, 2)); // 实际
+        pe.put("actuality", getRoundDouble(pesj.get(), 2)); // 实际
         pe.put("anticipation", zEngineeringGYVo.getPePreset()); // 预计  divide zEngineeringGYVo.getGcPreset()
-        pe.put("percentage", getRoundDouble((pesj.multiply(new BigDecimal(100))).divide(BigDecimal.valueOf(zEngineeringGYVo.getGcPreset())),2) + "%"); // 占比
+        pe.put("percentage", getRoundDouble((pesj.get().multiply(new BigDecimal(100))).divide(BigDecimal.valueOf(zEngineeringGYVo.getGcPreset())),2) + "%"); // 占比
         Map iron = new HashMap(); // 钢材
-        iron.put("actuality", getRoundDouble(gsj, 2)); // 实际
+        iron.put("actuality", getRoundDouble(gsj.get(), 2)); // 实际
         iron.put("anticipation", zEngineeringGYVo.getGcPreset()); // 预计
-        iron.put("percentage", getRoundDouble((gsj.multiply(new BigDecimal(100))).divide(BigDecimal.valueOf(zEngineeringGYVo.getGcPreset())),2) + "%"); // 占比
+        iron.put("percentage", getRoundDouble((gsj.get().multiply(new BigDecimal(100))).divide(BigDecimal.valueOf(zEngineeringGYVo.getGcPreset())),2) + "%"); // 占比
         zEngineeringWasteMaterialVo.setMaterialPercentagePE(pe);
         zEngineeringWasteMaterialVo.setMaterialPercentageIron(iron);
 //        zEngineeringWasteMaterialVo.setMaterialPercentagePE();