From 3dbc72ed3bfed1a7f2d3d38b88f71953ed47a531 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期四, 18 八月 2022 10:26:41 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |  130 ++++++++++---------------------------------
 1 files changed, 31 insertions(+), 99 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 25c72b6..0d39802 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -99,6 +99,7 @@
         wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
         wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
         wrkMast.setIoPri(13D); // 浼樺厛绾э細13
+        wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), true)?1:0);;
         wrkMast.setCrnNo(dto.getCrnNo());
         wrkMast.setSourceStaNo(dto.getSourceStaNo());
         wrkMast.setStaNo(dto.getStaNo());
@@ -197,6 +198,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;
@@ -217,6 +226,7 @@
             wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
             wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
             wrkMast.setIoPri(13D); // 浼樺厛绾э細13
+            wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), false)?1:0);;
             wrkMast.setCrnNo(locMast.getCrnNo());
             wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
             wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
@@ -291,6 +301,7 @@
         wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
         wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
         wrkMast.setIoPri(13D); // 浼樺厛绾э細13
+        wrkMast.setOutMost(locMastService.isOutMost(taskDto.getLocNo(), false)?1:0);;
         wrkMast.setCrnNo(locMast.getCrnNo());
         wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
         wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
@@ -366,6 +377,7 @@
         wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
         wrkMast.setIoType(10); // 鍏ュ嚭搴撶姸鎬侊細10.绌烘澘鍏ュ簱
         wrkMast.setIoPri(10D); // 浼樺厛绾э細10
+        wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), true)?1:0);;
         wrkMast.setCrnNo(dto.getCrnNo());
         wrkMast.setSourceStaNo(dto.getSourceStaNo());
         wrkMast.setStaNo(dto.getStaNo());
@@ -414,6 +426,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);
             // 鑾峰彇搴撲綅
@@ -440,6 +459,7 @@
             wrkMast.setIoPri(10D);
             wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
             wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔�
+            wrkMast.setOutMost(locMastService.isOutMost(locNo, false)?1:0);;
             wrkMast.setCrnNo(locMast.getCrnNo());
             wrkMast.setSourceLocNo(locNo); // 婧愬簱浣�
             wrkMast.setFullPlt("N"); // 婊℃澘锛歒
@@ -512,6 +532,7 @@
         wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
         wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
         wrkMast.setIoPri(10D);
+        wrkMast.setOutMost(locMastService.isOutMost(locNo, false)?1:0);;
         wrkMast.setCrnNo(sourceLoc.getCrnNo());
         wrkMast.setSourceLocNo(sourceLocNo); // 婧愬簱浣�
         wrkMast.setLocNo(locNo); // 鐩爣搴撲綅
@@ -575,15 +596,15 @@
         if (Cools.isEmpty(wrkMast)){
             throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
         }
-        if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) {
+        if (wrkMast.getWrkSts() == 9 || wrkMast.getWrkSts() == 17) {
             throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚");
         }
         // 鍏ュ簱 + 搴撲綅杞Щ
-        if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) {
-            wrkMast.setWrkSts(4L);
-        // 鍑哄簱
+        if (wrkMast.getWrkSts() < 9 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) {
+            wrkMast.setWrkSts(9L);
+            // 鍑哄簱
         } else if (wrkMast.getWrkSts() > 10) {
-            wrkMast.setWrkSts(14L);
+            wrkMast.setWrkSts(17L);
         }
         Date now = new Date();
         wrkMast.setCrnStrTime(DateUtils.calculate(now, 1L, TimeUnit.SECONDS, true));
@@ -731,11 +752,8 @@
         if (wrkMast.getWrkSts() < 4) {
             locNo = wrkMast.getLocNo();
             locSts = "O";
-            /**
-             * 搴撲綅杞Щ
-             * 鍙栨秷鍚� 婧愬簱浣� ==>> F.鍦ㄥ簱
-             *       鐩爣搴撲綅 ===>> O.绌哄簱浣�
-             **/
+
+            // 搴撲綅杞Щ
             if (wrkMast.getIoType() == 11) {
                 // 搴撲綅杞Щ锛氭簮搴撲綅
                 LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
@@ -889,96 +907,10 @@
     @Override
     @Transactional
     public String dealPreHaveStart(Integer wrkNo, Long userId) {
-        WrkMast wrkMast = wrkMastService.selectById(wrkNo);
-        if (wrkMast == null) {
-            throw new CoolException("浠诲姟宸插け鏁�");
+        if (true) {
+            throw new CoolException("鍔熻兘鍋滅敤");
         }
-        String locNo = wrkMast.getLocNo();
-        LocMast locMast = locMastService.selectById(locNo);
-        assert locMast != null;
-        RowLastno rowLastno = rowLastnoService.findBySection(locMast.getRow1());
-        assert rowLastno != null;
-
-        // 鐩爣搴撲綅
-        LocMast targetLoc = null;
-
-        for (int curRow = rowLastno.getsRow(); curRow<=rowLastno.geteRow(); curRow++) {
-
-            if (Utils.isShallowLoc(slaveProperties, curRow)) {
-                Integer deepRow = Utils.getDeepRow(slaveProperties, curRow);
-                targetLoc = locMastService.queryFreeLocMast(deepRow, locMast.getLocType1());
-                // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
-                if (!locMastService.checkEmptyCount(targetLoc)) {
-                    continue;
-                }
-            }
-            if (Cools.isEmpty(targetLoc)) {
-                targetLoc = locMastService.queryFreeLocMast(curRow, locMast.getLocType1());
-                // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
-                if (!locMastService.checkEmptyCount(targetLoc)) {
-                    continue;
-                }
-                // 鐩爣搴撲綅 ===>> 娴呭簱浣嶏紝 鍒欐牎楠屽叾娣卞簱浣嶆槸鍚︿负 F D X
-                if (null != targetLoc && Utils.isShallowLoc(slaveProperties, targetLoc.getLocNo())) {
-                    LocMast deepLoc = locMastService.selectById(Utils.getDeepLoc(slaveProperties, targetLoc.getLocNo()));
-                    if (!deepLoc.getLocSts().equals("F") && !deepLoc.getLocSts().equals("D") && !deepLoc.getLocSts().equals("X")) {
-                        continue;
-                    }
-                }
-                // 鐩爣搴撲綅 ===>> 娣卞簱浣嶏紝 鍒欐牎楠屽叾娴呭簱浣嶆槸鍚︿负 O
-                if (null != targetLoc && Utils.isDeepLoc(slaveProperties, targetLoc.getLocNo())) {
-                    LocMast shallowLoc = locMastService.selectById(Utils.getShallowLoc(slaveProperties, targetLoc.getLocNo()));
-                    if (!shallowLoc.getLocSts().equals("O")) {
-                        continue;
-                    }
-                }
-            }
-
-            if (!Cools.isEmpty(targetLoc)) {
-                break;
-            }
-
-        }
-
-        if (targetLoc == null) {
-            throw new CoolException("鎿嶄綔澶辫触锛屽綋鍓嶄粨搴撴壘涓嶅埌绌哄簱浣�");
-        }
-
-        Date now = new Date();
-        // 淇敼宸ヤ綔妗�
-        StaDesc staDesc = staDescService.queryCrnStn(targetLoc.getCrnNo());
-        if (Cools.isEmpty(staDesc)) {
-            throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
-        }
-        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();
+        return "";
     }
 
 }

--
Gitblit v1.9.1