浏览代码

Merge remote-tracking branch 'origin/xuankuang' into xuankuang

k 2 年之前
父节点
当前提交
fc2a1a71f6

+ 6 - 6
warewms-ams/src/main/java/com/ruoyi/ams/xuankuang/service/WmsDocAsnSubService.java

@@ -39,6 +39,8 @@ public class WmsDocAsnSubService {
     private IWmsDocAsnDetailsService iWmsDocAsnDetailsService;
     @Autowired
     private IBaseSkuService iBaseSkuService;
+    @Autowired
+    private WmsDocOrderSubService wmsDocOrderSubService;
 
 
     @Transactional
@@ -76,12 +78,10 @@ public class WmsDocAsnSubService {
             wmsDocAsnHeader.setAsnStatus(Constant.ASN_STS.STS10.getValue());
             iWmsDocAsnHeaderService.updateWmsDocAsnHeader(wmsDocAsnHeader);
         }
+        if(wmsDocAsnHeader.getAsnStatus().equals(Constant.ASN_STS.STS10.getValue()) && wmsDocAsnHeader.getAsnType().equals(Constant.ASN_TYP.YK.getValue())){
+            wmsDocOrderSubService.addCrossingOutboundOrder(asnNo);
+        }
         return AjaxResult.success("", list);
-    }
-
-
-
-
-
 
+    }
 }

+ 38 - 0
warewms-ams/src/main/java/com/ruoyi/ams/xuankuang/service/WmsDocOrderSubService.java

@@ -2,6 +2,7 @@ package com.ruoyi.ams.xuankuang.service;
 
 import com.ruoyi.ams.asn.domain.WmsDocAsnDetails;
 import com.ruoyi.ams.asn.domain.WmsDocAsnHeader;
+import com.ruoyi.ams.asn.service.IWmsDocAsnHeaderService;
 import com.ruoyi.ams.config.domain.dto.LotattDTO;
 import com.ruoyi.ams.inv.domain.InvLotLocId;
 import com.ruoyi.ams.inv.domain.form.InvLocIdSearchFrom;
@@ -10,6 +11,7 @@ import com.ruoyi.ams.inv.mapper.InvLotLocIdMapper;
 import com.ruoyi.ams.inv.service.IInvLotLocIdService;
 import com.ruoyi.ams.order.domain.WmsDocOrderDetails;
 import com.ruoyi.ams.order.domain.WmsDocOrderHeader;
+import com.ruoyi.ams.order.mapper.WmsDocOrderHeaderMapper;
 import com.ruoyi.ams.order.service.IWmsDocOrderDetailsService;
 import com.ruoyi.ams.order.service.IWmsDocOrderHeaderService;
 import com.ruoyi.ams.order.vo.StockOrderVO;
@@ -23,6 +25,7 @@ import com.ruoyi.base.domain.BaseSku;
 import com.ruoyi.base.domain.vo.BaseLocationLotattVO;
 import com.ruoyi.base.service.IBaseLocationInfoService;
 import com.ruoyi.base.service.IBaseSkuService;
+import com.ruoyi.base.utils.IdSequenceUtils;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.StringUtils;
 import lombok.extern.slf4j.Slf4j;
@@ -64,6 +67,12 @@ public class WmsDocOrderSubService {
     BaseLocationInfoSubService baseLocationInfoSubService;
     @Autowired
     private IBaseSkuService iBaseSkuService;
+    @Autowired
+    private IdSequenceUtils idSequenceUtils;
+    @Autowired
+    private WmsDocOrderHeaderMapper wmsDocOrderHeaderMapper;
+    @Autowired
+    private IWmsDocAsnHeaderService iWmsDocAsnHeaderService;
 
 
 
@@ -225,6 +234,35 @@ public class WmsDocOrderSubService {
         return baseLocationLotattVO;
     }
 
+    /**
+     * 生成出库单方法
+     * @param asnNo
+     * @return
+     */
+    public AjaxResult addCrossingOutboundOrder(String asnNo) {
+        // 生成单头
+        WmsDocOrderHeader wmsDocOrderHeader = new WmsDocOrderHeader();
+        String orderNo = idSequenceUtils.generateId("ORDERNO");
+        wmsDocOrderHeader.setOrderNo(orderNo);
+        wmsDocOrderHeader.setEdiSendFlag("N");
+        wmsDocOrderHeader.setSoReference2(asnNo);
+        wmsDocOrderHeader.setOrderStatus(Constant.ORDER_STS.STS00.getValue());
+        wmsDocOrderHeader.setCreateTime(new Date());
+        wmsDocOrderHeaderMapper.insertWmsDocOrderHeader(wmsDocOrderHeader);
+        List<WmsDocAsnDetails> wmsDocAsnDetails = iWmsDocAsnHeaderService.queryWmsDocAsnDetails(asnNo);
+        for (WmsDocAsnDetails wmsDocAsnDetails1 : wmsDocAsnDetails){
+            // 生成明细
+            WmsDocOrderDetails wmsDocOrderDetails = new WmsDocOrderDetails();
+            wmsDocOrderDetails.setOrderNo(orderNo);
+            wmsDocOrderDetails.setOrderLineNo(new BigDecimal(1));
+            wmsDocOrderDetails.setSku(wmsDocAsnDetails1.getSku());
+            wmsDocOrderDetails.setLineStatus(Constant.ORDER_STS.STS00.getValue());
+            wmsDocOrderDetails.setQtyOrderedEach(wmsDocAsnDetails1.getExpectedQty());
+            wmsDocOrderDetails.setCreateTime(new Date());
+            iWmsDocOrderHeaderService.insertWmsDocOrderDetails(wmsDocOrderDetails);
+        }
+        return AjaxResult.success();
+    }
    /* *//**
      * 取消分配
      *//*