From 2b38e9c64ce9d6b6b054d1540ccd53a9d1bba30a Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 02 三月 2021 11:23:28 +0800
Subject: [PATCH] #

---
 src/main/java/zy/cloud/wms/common/service/MainService.java |   69 ++++++++++++++++++++++++++++++++++
 1 files changed, 68 insertions(+), 1 deletions(-)

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 6d4b847..cc82650 100644
--- a/src/main/java/zy/cloud/wms/common/service/MainService.java
+++ b/src/main/java/zy/cloud/wms/common/service/MainService.java
@@ -1,18 +1,85 @@
 package zy.cloud.wms.common.service;
 
+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.common.model.OrderStoDto;
+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 {
 
+    @Autowired
+    private MatService matService;
+    @Autowired
+    private LocDetlService locDetlService;
+    @Autowired
+    private PakoutService pakoutService;
+    @Autowired
+    private PriorService priorService;
+    @Autowired
+    private SnowflakeIdWorker snowflakeIdWorker;
 
     @Transactional
-    public void stockOutProcess() {
+    public void stockOutProcess(OrderStoDto dto) {
+        if (Cools.isEmpty(dto) || Cools.isEmpty(dto.getCustOrders())) {
+            return;
+        }
+        Date now = new Date();
+        for (CustOrder custOrder : dto.getCustOrders()) {
+            // 鍒ゆ柇鐗╂枡鏄惁瀛樺湪
+            Mat mat = matService.selectByMatnr(custOrder.getUserCode());
+            if (null == mat) {
+                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 && 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("淇濆瓨鍑哄簱閫氱煡鍗曞け璐�");
+                        }
 
+                    }
+                }
+            } else {
+
+            }
+
+
+
+        }
     }
 
 

--
Gitblit v1.9.1