From a2317309f11921582fb59e7ad2545a94f84720bf Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 01 三月 2021 15:09:27 +0800
Subject: [PATCH] #

---
 src/main/java/zy/cloud/wms/common/service/MainScheduler.java |    2 +-
 src/main/java/zy/cloud/wms/common/utils/VersionUtils.java    |   18 ++++++++++++++++++
 src/main/java/zy/cloud/wms/common/service/MainService.java   |   36 ++++++++++++++++++++++++++++--------
 3 files changed, 47 insertions(+), 9 deletions(-)

diff --git a/src/main/java/zy/cloud/wms/common/service/MainScheduler.java b/src/main/java/zy/cloud/wms/common/service/MainScheduler.java
index 797632d..8c60dcb 100644
--- a/src/main/java/zy/cloud/wms/common/service/MainScheduler.java
+++ b/src/main/java/zy/cloud/wms/common/service/MainScheduler.java
@@ -32,7 +32,7 @@
         if (Cools.isEmpty(custOrders)){
             return;
         }
-
+        mainService.stockOutProcess(custOrders);
     }
 
 }
diff --git a/src/main/java/zy/cloud/wms/common/service/MainService.java b/src/main/java/zy/cloud/wms/common/service/MainService.java
index 8fb5db3..66759b7 100644
--- a/src/main/java/zy/cloud/wms/common/service/MainService.java
+++ b/src/main/java/zy/cloud/wms/common/service/MainService.java
@@ -2,24 +2,26 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
+import com.core.common.SnowflakeIdWorker;
 import com.core.exception.CoolException;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import zy.cloud.wms.manager.entity.CustOrder;
-import zy.cloud.wms.manager.entity.LocDetl;
-import zy.cloud.wms.manager.entity.Mat;
-import zy.cloud.wms.manager.entity.Prior;
+import zy.cloud.wms.common.utils.VersionUtils;
+import zy.cloud.wms.manager.entity.*;
 import zy.cloud.wms.manager.service.LocDetlService;
 import zy.cloud.wms.manager.service.MatService;
 import zy.cloud.wms.manager.service.PakoutService;
 import zy.cloud.wms.manager.service.PriorService;
 
+import java.util.Date;
 import java.util.List;
 
 /**
  * Created by vincent on 2021/3/1
  */
+@Slf4j
 @Service("mainService")
 public class MainService {
 
@@ -31,24 +33,42 @@
     private PakoutService pakoutService;
     @Autowired
     private PriorService priorService;
+    @Autowired
+    private SnowflakeIdWorker snowflakeIdWorker;
 
     @Transactional
     public void stockOutProcess(List<CustOrder> list) {
         if (Cools.isEmpty(list)) {
             return;
         }
-        for (CustOrder data : list) {
+        Date now = new Date();
+        for (CustOrder custOrder : list) {
             // 鍒ゆ柇鐗╂枡鏄惁瀛樺湪
-            Mat mat = matService.selectByMatnr(data.getUserCode());
+            Mat mat = matService.selectByMatnr(custOrder.getUserCode());
             if (null == mat) {
-                throw new CoolException(data.getUserCode() + "鐗╂枡灏氭湭鏇存柊銆�" + data.getNumber() +"鍗曟嵁鍥犳涓柇锛�");
+                throw new CoolException(custOrder.getUserCode() + "鐗╂枡灏氭湭鏇存柊銆�" + custOrder.getNumber() +"鍗曟嵁鍥犳涓柇锛�");
             }
             // 鏍规嵁鎺ㄨ崘搴撲綅鏌ユ壘搴撳瓨
             List<Prior> priors = priorService.selectList(new EntityWrapper<Prior>().eq("matnr", mat.getMatnr()).orderBy("prio"));
             if (!Cools.isEmpty(priors)) {
                 for (Prior prior : priors) {
                     LocDetl locDetl = locDetlService.getLocDetl(prior.getNodeId(), prior.getMatnr());
-                    if (null != locDetl) {
+                    if (null != locDetl && locDetl.getAnfme() > 0) {
+                        // 淇濆瓨鍑哄簱閫氱煡鍗�
+                        Pakout pakout = new Pakout();
+                        pakout.setWrkSts(1L);
+//                        pakout.setAnfme();
+                        pakout.setZpallet(locDetl.getZpallet());
+                        pakout.setLocNo(locDetl.getLocNo());
+                        pakout.setNodeId(locDetl.getNodeId());
+                        pakout.setWrkNo(String.valueOf(snowflakeIdWorker.nextId()));
+                        VersionUtils.setPakout(pakout, mat);
+                        pakout.setCreateTime(now);
+                        pakout.setUpdateTime(now);
+                        pakout.setStatus(1);
+                        if (!pakoutService.insert(pakout)) {
+                            throw new CoolException("淇濆瓨鍑哄簱閫氱煡鍗曞け璐�");
+                        }
 
                     }
                 }
diff --git a/src/main/java/zy/cloud/wms/common/utils/VersionUtils.java b/src/main/java/zy/cloud/wms/common/utils/VersionUtils.java
index 08b284e..562a5f6 100644
--- a/src/main/java/zy/cloud/wms/common/utils/VersionUtils.java
+++ b/src/main/java/zy/cloud/wms/common/utils/VersionUtils.java
@@ -3,6 +3,7 @@
 import zy.cloud.wms.manager.entity.Comb;
 import zy.cloud.wms.manager.entity.LocDetl;
 import zy.cloud.wms.manager.entity.Mat;
+import zy.cloud.wms.manager.entity.Pakout;
 
 /**
  * Created by vincent on 2020/7/14
@@ -45,6 +46,23 @@
         locDetl.setWeight(comb.getWeight());
     }
 
+    public static void setPakout(Pakout pakout, Mat mat) {
+        pakout.setMatnr(mat.getMatnr());
+        pakout.setMaktx(mat.getMaktx());
+        pakout.setName(mat.getName());
+        pakout.setSpecs(mat.getSpecs());
+        pakout.setModel(mat.getModel());
+        pakout.setBatch(mat.getBatch());
+        pakout.setUnit(mat.getUnit());
+        pakout.setBarcode(mat.getBarcode());
+        pakout.setDocId(mat.getDocId());
+        pakout.setDocNum(mat.getDocNum());
+        pakout.setCustName(mat.getCustName());
+        pakout.setItemNum(mat.getItemNum());
+        pakout.setCount(mat.getCount());
+        pakout.setWeight(mat.getWeight());
+    }
+
 
 
 }

--
Gitblit v1.9.1