From f1d28a45d7407aeb91b05c21f47be32c9e0b959e Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 10 三月 2021 14:04:37 +0800
Subject: [PATCH] #

---
 src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java |   34 ++++++++++++++++++++++++++++++++++
 1 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
index b142b3d..30a8371 100644
--- a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
+++ b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
 import com.core.common.R;
+import com.core.common.SnowflakeIdWorker;
 import com.core.exception.CoolException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -11,6 +12,7 @@
 import zy.cloud.wms.common.service.MainService;
 import zy.cloud.wms.common.utils.VersionUtils;
 import zy.cloud.wms.manager.entity.*;
+import zy.cloud.wms.manager.entity.param.InitPakoutParam;
 import zy.cloud.wms.manager.entity.param.StockConfirmParam;
 import zy.cloud.wms.manager.entity.param.StockInParam;
 import zy.cloud.wms.manager.entity.param.StockOutParam;
@@ -38,6 +40,8 @@
     private CustOrderService custOrderService;
     @Autowired
     private PakoutService pakoutService;
+    @Autowired
+    private SnowflakeIdWorker snowflakeIdWorker;
 
     @Override
     @Transactional
@@ -129,4 +133,34 @@
         return R.ok();
     }
 
+    @Override
+    @Transactional
+    public R initPakout(List<InitPakoutParam> params, Long userId) {
+        if (!Cools.isEmpty(params)) {
+            Date now = new Date();
+            for (InitPakoutParam param : params) {
+                LocDetl locDetl = locDetlService.getLocDetl(param.getNodeId(), param.getMatnr());
+                // 淇濆瓨鍑哄簱閫氱煡鍗�
+                Pakout pakout = new Pakout();
+                pakout.setWrkSts(1L);
+                pakout.setAnfme(param.getCount());
+                pakout.setWrkNo(String.valueOf(snowflakeIdWorker.nextId()));
+                VersionUtils.setPakout(pakout, locDetl);
+                pakout.setCreateTime(now);
+                pakout.setCreateBy(userId);
+                pakout.setUpdateTime(now);
+                pakout.setUpdateBy(userId);
+                pakout.setStatus(1);
+                if (!pakoutService.insert(pakout)) {
+                    throw new CoolException("鐢熸垚鎷h揣鍗曞け璐�");
+                }
+                // 淇敼搴撳瓨鏄庣粏鏁伴噺
+                if (!locDetlService.reduceStock(locDetl.getNodeId(), locDetl.getMatnr(), param.getCount())) {
+                    throw new CoolException("淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触");
+                }
+            }
+        }
+        return R.ok();
+    }
+
 }

--
Gitblit v1.9.1