Browse Source

厂外库入库优化。

xiaosonghong 6 months ago
parent
commit
4c406875a5

+ 5 - 0
src/main/java/com/steerinfo/dil/service/impl/OyeResultServiceImpl.java

@@ -297,8 +297,13 @@ public class OyeResultServiceImpl implements IOyeResultService {
         BigDecimal theoryWeight = DataChange.dataToBigDecimal(map.get("theoryWeight"));
         BigDecimal materialNumber = DataChange.dataToBigDecimal(map.get("materialNumber"));
         BigDecimal netWeight = DataChange.dataToBigDecimal(map.get("netWeight"));
+        BigDecimal singleWeight = DataChange.dataToBigDecimal(map.get("singleWeight"));
         OyeRealtimeInventory oyeRealtimeInventory = oyeRealtimeInventoryMapper.selectByPrimaryKey(inventoryId);
         if (flag.compareTo(new BigDecimal(1)) == 0) {
+            System.out.println("singleWeight:" + singleWeight.doubleValue() + ";oyeRealtimeInventory.getSingleWeight():" + oyeRealtimeInventory.getSingleWeight().doubleValue());
+            if(!DataChange.isEqual(singleWeight, oyeRealtimeInventory.getSingleWeight())){
+                throw new Exception("入库单件重量与实时库存单件重量不符,请仔细检查!");
+            }
             oyeRealtimeInventory.setNetWeight(oyeRealtimeInventory.getNetWeight().add(netWeight));
             oyeRealtimeInventory.setTheoryWeight(oyeRealtimeInventory.getTheoryWeight().add(theoryWeight));
             oyeRealtimeInventory.setMaterialNumber(oyeRealtimeInventory.getMaterialNumber().add(materialNumber));

+ 14 - 0
src/main/java/com/steerinfo/dil/util/DataChange.java

@@ -7,6 +7,7 @@ import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 /**
  * @ author    :TXF
@@ -236,4 +237,17 @@ public class DataChange {
         map.put("startDate", dayStartTime + " 00:00:00");
         map.put("endDate", dayEndTime + " 00:00:00");
     }
+
+    /**
+     * 比较两个小数是否相等
+     * @param a
+     * @param b
+     * @return
+     */
+    public static boolean isEqual(BigDecimal a, BigDecimal b) {
+        BigDecimal zero = new BigDecimal(0);
+        if (a == null || b == null) return true;
+        if (a.compareTo(zero) == 0 || b.compareTo(zero) == 0) return true;
+        return a.compareTo(b) == 0;
+    }
 }