From a6f97ff678665c497645911077c65395c6c01a6e Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期四, 26 十月 2023 16:28:55 +0800
Subject: [PATCH] 库存调整单据修改

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   47 +++++++++++++++++++++++++++++++++++++----------
 1 files changed, 37 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 49075cb..4369907 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -23,6 +23,7 @@
 import com.zy.common.web.BaseController;
 import com.zy.common.web.WcsController;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -77,6 +78,10 @@
     private RowLastnoService rowLastnoService;
     @Autowired
     private SlaveProperties slaveProperties;
+    @Autowired
+    private DocTypeService docTypeService;
+    @Autowired
+    private AgvWaitPakinService agvWaitPakinService;
 
     @Override
     @Transactional
@@ -124,8 +129,7 @@
         // 鐢熸垚宸ヤ綔妗f槑缁�
         List<DetlDto> detlDtos = new ArrayList<>();
         param.getList().forEach(elem -> {
-            DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), elem.getCsocode(), elem.getIsoseq());
-            detlDto.setContainerCode(elem.getContainerCode());
+            DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), elem.getCsocode(), elem.getIsoseq(),elem.getContainerCode());
             if (DetlDto.has(detlDtos, detlDto)) {
                 DetlDto detlDto1 = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(),detlDto.getCsocode(),detlDto.getIsoseq(),detlDto.getContainerCode());
                 assert detlDto1 != null;
@@ -217,7 +221,7 @@
         List<LocDetlDto> locDetlDtos = new ArrayList<>();
         for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
             if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
-                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch(), null);
+                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch(), paramLocDetl.getContainerCode());
                 if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
             }
         }
@@ -312,6 +316,13 @@
                 sourceStaNo = staDesc.getStnNo();
             }
 
+            int lev = Utils.getLev(dto.getLocNo());
+            if (lev == 1 || lev == 2) {
+                if (!(stnNo == 100 || stnNo == 103 || stnNo == 105)) {
+                    throw new CoolException("1銆�2灞傝揣鐗╀粎鍏佽鍦ㄤ竴妤艰繘琛屽嚭搴�");
+                }
+            }
+
             // 鐢熸垚宸ヤ綔妗�
             WrkMast wrkMast = new WrkMast();
             wrkMast.setWrkNo(workNo);
@@ -398,6 +409,13 @@
             sourceStaNo = staDesc.getStnNo();
         }
 
+        int lev = Utils.getLev(taskDto.getLocNo());
+        if (lev == 1 || lev == 2) {
+            if (!(stnNo == 100 || stnNo == 103 || stnNo == 105)) {
+                throw new CoolException("1銆�2灞傝揣鐗╀粎鍏佽鍦ㄤ竴妤艰繘琛屽嚭搴�");
+            }
+        }
+
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
         wrkMast.setWrkNo(workNo);
@@ -451,6 +469,9 @@
             if (!wrkDetlService.insert(wrkDetl)) {
                 throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
             }
+            //琛ヨ揣鍗曞垯鐢熸垚AGV鍏ュ簱閫氱煡妗�
+            generateAgvWaitpakin(wrkDetl);
+
             // 淇敼璁㈠崟鏄庣粏
             if (!BaseController.isJSON(locDto.getOrderNo())) {
                 OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
@@ -847,9 +868,7 @@
                         adjDetl.setModiUser(userId);
                         adjDetl.setAppeTime(now);
                         adjDetl.setAppeUser(userId);
-
-                        UUID uuid = UUID.randomUUID();
-                        adjDetl.setOrderNo(uuid.toString());
+                        adjDetl.setOrderNo(Utils.generateAdjustOrderNo());
                         adjDetl.setCsocode(locDetl.getThreeCode());
                         adjDetl.setIsoseq(locDetl.getDeadTime());
 
@@ -878,7 +897,7 @@
             adjDetl.setModiUser(userId);
             adjDetl.setAppeTime(now);
             adjDetl.setAppeUser(userId);
-
+            adjDetl.setOrderNo(Utils.generateAdjustOrderNo());
             adjDetlService.save(adjDetl, userId);
         }
 
@@ -911,11 +930,9 @@
             adjDetl.setModiUser(userId);
             adjDetl.setAppeTime(now);
             adjDetl.setAppeUser(userId);
-
-            UUID uuid = UUID.randomUUID();
-            adjDetl.setOrderNo(uuid.toString());
             adjDetl.setCsocode(locDetl.getThreeCode());
             adjDetl.setIsoseq(locDetl.getDeadTime());
+            adjDetl.setOrderNo(Utils.generateAdjustOrderNo());
 
             adjDetlService.save(adjDetl, userId);
         }
@@ -1137,4 +1154,14 @@
         return "";
     }
 
+    private void generateAgvWaitpakin(WrkDetl wrkDetl){
+        Order order = orderService.selectByNo(wrkDetl.getOrderNo());
+        DocType docType = docTypeService.selectById(order.getDocType());
+        if("浜哄伐琛ヨ揣鍗�".equals(docType.getDocName())){
+            AgvWaitPakin agvWaitPakin = new AgvWaitPakin();
+            BeanUtils.copyProperties(wrkDetl,agvWaitPakin);
+            agvWaitPakinService.insert(agvWaitPakin);
+        }
+    }
+
 }

--
Gitblit v1.9.1