Pārlūkot izejas kodu

上传出库物料与对应搅拌槽不符程序报错8.14

李卫 1 gadu atpakaļ
vecāks
revīzija
3306d6d846

+ 35 - 0
warewms-ams/src/main/java/com/ruoyi/ams/order/service/impl/WmsDocOrderHeaderServiceImpl.java

@@ -26,6 +26,7 @@ import com.ruoyi.ams.order.domain.WmsDocOrderDetails;
 import com.ruoyi.ams.order.form.*;
 import com.ruoyi.ams.order.mapper.WmsDocOrderDetailsMapper;
 import com.ruoyi.ams.order.service.IActAllocationDetailsService;
+import com.ruoyi.ams.order.service.IWmsDocOrderDetailsService;
 import com.ruoyi.ams.order.vo.CheckOutVO;
 import com.ruoyi.ams.order.vo.PickingListVO;
 import com.ruoyi.ams.order.vo.StockOrderVO;
@@ -70,6 +71,8 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
     @Autowired
     private IWmsDocOrderHeaderService wmsDocOrderHeaderService;
     @Autowired
+    private IWmsDocOrderDetailsService wmsDocOrderDetailsService;
+    @Autowired
     private IWmsBoxInfoService wmsBoxInfoService;
     @Autowired
     private WmsBoxInfoMapper wmsBoxInfoMapper;
@@ -148,6 +151,36 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
     @Transactional
     @Override
     public AjaxResult insertWmsDocOrderHeader(WmsDocOrderHeader wmsDocOrderHeader) {
+        List<WmsDocOrderDetails> wmsDocOrderDetails = wmsDocOrderDetailsService.selectWmsDocOrderDetailsByOrderNo(wmsDocOrderHeader.getOrderNo());
+        String soReference3 = wmsDocOrderHeader.getSoReference3();
+        String sku = "";
+        switch(soReference3) {
+            case "1":
+                sku = "Na2CO3";
+                break;
+            case "2":
+                sku = "C5H10OS2";
+                break;
+            case "3":
+                sku = "(NaPO3)6";
+                break;
+            case "4":
+                sku = "(NH4)2SO4";
+                break;
+            case "5":
+                sku = "CH3CH2OCS2Na";
+                break;
+            default:
+                sku = "未知物质";
+                break;
+        }
+        String finalSku = sku;
+        wmsDocOrderDetails.forEach(item ->{
+            if(!finalSku.equals(item.getSku())){
+                throw new RuntimeException("物料不符!");
+            }
+        });
+
         String orderNo = idSequenceUtils.generateId("ORDERNO");
         wmsDocOrderHeader.setOrderNo(orderNo);
         wmsDocOrderHeader.setEdiSendFlag("N");
@@ -495,11 +528,13 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
 
     @Override
     public int insertWmsDocOrderDetails(WmsDocOrderDetails wmsDocOrderDetails) {
+
         if (wmsDocOrderDetails.getOrderLineNo() == null) {
             long lineNo = wmsDocOrderHeaderMapper.selectLineNo(wmsDocOrderDetails.getOrderNo());
             wmsDocOrderDetails.setOrderLineNo(BigDecimal.valueOf(lineNo + 1));
             wmsDocOrderDetails.setQtyOrderedEach(wmsDocOrderDetails.getQtyOrdered());
         }
+
         return wmsDocOrderDetailsMapper.insertWmsDocOrderDetails(wmsDocOrderDetails);
     }