From d4d4f59b1fc4843de9e899f6989d6221b97c2b47 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期一, 11 七月 2022 09:23:43 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   46 ++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 40 insertions(+), 6 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 0b89c2c..eaf8177 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -197,6 +197,14 @@
         Integer ioType = null;
         // 鐢熸垚宸ヤ綔妗�
         for (OutLocDto dto : dtos) {
+            // 濡傛灉涓烘繁搴撲綅锛屼笖瀵瑰簲娴呭簱浣嶄负X.绂佺敤锛屽垯鐣ヨ繃姝ゅ簱浣�
+            if (Utils.isDeepLoc(slaveProperties, dto.getLocNo())) {
+                String shallowLoc = Utils.getShallowLoc(slaveProperties, dto.getLocNo());
+                if (locMastService.selectById(shallowLoc).getLocSts().equals("X")) {
+                    continue;
+                }
+            }
+
             // 鍒ゆ柇鍏ュ嚭搴撶被鍨嬶細101.鍏ㄦ澘鍑哄簱 or 103.鎷f枡鍑哄簱
             if (ioWorkType == null) {
                 ioType = dto.isAll() ? 101 : 103;
@@ -414,6 +422,13 @@
             throw new CoolException("绔欑偣涓嶅瓨鍦�");
         }
         for (String locNo : param.getLocNos()) {
+            // 濡傛灉涓烘繁搴撲綅锛屼笖瀵瑰簲娴呭簱浣嶄负X.绂佺敤锛屽垯鐣ヨ繃姝ゅ簱浣�
+            if (Utils.isDeepLoc(slaveProperties, locNo)) {
+                String shallowLoc = Utils.getShallowLoc(slaveProperties, locNo);
+                if (locMastService.selectById(shallowLoc).getLocSts().equals("X")) {
+                    continue;
+                }
+            }
             // 鑾峰彇宸ヤ綔鍙�
             int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type);
             // 鑾峰彇搴撲綅
@@ -731,11 +746,8 @@
         if (wrkMast.getWrkSts() < 4) {
             locNo = wrkMast.getLocNo();
             locSts = "O";
-            /**
-             * 搴撲綅杞Щ
-             * 鍙栨秷鍚� 婧愬簱浣� ==>> F.鍦ㄥ簱
-             *       鐩爣搴撲綅 ===>> O.绌哄簱浣�
-             **/
+
+            // 搴撲綅杞Щ
             if (wrkMast.getIoType() == 11) {
                 // 搴撲綅杞Щ锛氭簮搴撲綅
                 LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
@@ -944,6 +956,7 @@
             throw new CoolException("鎿嶄綔澶辫触锛屽綋鍓嶄粨搴撴壘涓嶅埌绌哄簱浣�");
         }
 
+        Date now = new Date();
         // 淇敼宸ヤ綔妗�
         StaDesc staDesc = staDescService.queryCrnStn(targetLoc.getCrnNo());
         if (Cools.isEmpty(staDesc)) {
@@ -952,10 +965,31 @@
         wrkMast.setWrkSts(2L);
         wrkMast.setLocNo(targetLoc.getLocNo());
         wrkMast.setStaNo(staDesc.getCrnStn());
+        wrkMast.setCrnNo(targetLoc.getCrnNo());
+        wrkMast.setModiTime(now);
+        wrkMast.setModiUser(userId);
+        wrkMast.setPreHave("N");
         if (!wrkMastService.updateById(wrkMast)) {
             throw new CoolException("淇敼宸ヤ綔妗eけ璐�");
         }
-
+        // 淇敼搴撲綅鐘舵�� O ===>>> S
+        if (targetLoc.getLocSts().equals("O")){
+            targetLoc.setLocSts("S"); // S.鍏ュ簱棰勭害
+            targetLoc.setModiUser(userId);
+            targetLoc.setModiTime(now);
+            if (!locMastService.updateById(targetLoc)){
+                throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+            }
+        } else {
+            throw new CoolException(targetLoc.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
+        }
+        // 绂佺敤寮傚父搴撲綅
+//        locMast.setLocSts("X"); // X.绂佺敤
+//        locMast.setModiUser(userId);
+//        locMast.setModiTime(now);
+//        if (!locMastService.updateById(locMast)){
+//            throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+//        }
         return targetLoc.getLocNo();
     }
 

--
Gitblit v1.9.1