From 4e153a00e6e74da96d073ec504868bf1f0c67061 Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期六, 12 四月 2025 10:01:34 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  113 +++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 91 insertions(+), 22 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index e6ea793..9bb9ded 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2127,11 +2127,16 @@
                 } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) {
                     // 姝ゆ爣璁伴伩鍏嶅娆℃墽琛岀Щ搴撲换鍔�
                     if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk())) {
-                        wrkMast.setUpdMk("Y");
-                        wrkMast.setIoPri(14D);
-                        wrkMastMapper.updateById(wrkMast);
-                        // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
-                        moveLocForDeepLoc(slave, shallowLoc);
+                        if (moveLocForDeepLoc(slave, shallowLoc)){
+                            wrkMast.setUpdMk("Y");
+                            wrkMast.setIoPri(14D);
+                            wrkMastMapper.updateById(wrkMast);
+                        }
+//                        wrkMast.setUpdMk("Y");
+//                        wrkMast.setIoPri(14D);
+//                        wrkMastMapper.updateById(wrkMast);
+//                        // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
+//                        moveLocForDeepLoc(slave, shallowLoc);
                         // 鐢熸垚宸ヤ綔妗c�佹敼鍙樻祬搴撲綅鐨勬簮搴�/鐩爣搴� 搴撲綅鐘舵�併�佷笅鍙戝爢鍨涙満鍛戒护锛堢珛椹墽琛�)
 //                        moveLocForDeepLocPakin(slave, shallowLoc, wrkMast);
                     }
@@ -2579,11 +2584,16 @@
                 } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) {
                     // 姝ゆ爣璁伴伩鍏嶅娆℃墽琛岀Щ搴撲换鍔�
                     if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk())) {
-                        wrkMast.setUpdMk("Y");
-                        wrkMast.setIoPri(14D);
-                        wrkMastMapper.updateById(wrkMast);
-                        // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
-                        moveLocForDeepLoc(slave, shallowLoc);
+                        if (moveLocForDeepLoc(slave, shallowLoc)){
+                            wrkMast.setUpdMk("Y");
+                            wrkMast.setIoPri(14D);
+                            wrkMastMapper.updateById(wrkMast);
+                        }
+//                        wrkMast.setUpdMk("Y");
+//                        wrkMast.setIoPri(14D);
+//                        wrkMastMapper.updateById(wrkMast);
+//                        // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
+//                        moveLocForDeepLoc(slave, shallowLoc);
                         // 鐢熸垚宸ヤ綔妗c�佹敼鍙樻祬搴撲綅鐨勬簮搴�/鐩爣搴� 搴撲綅鐘舵�併�佷笅鍙戝爢鍨涙満鍛戒护锛堢珛椹墽琛�)
 //                        moveLocForDeepLocPakin(slave, shallowLoc, wrkMast);
                     }
@@ -2710,10 +2720,15 @@
 //                            if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk())
 //                                || Cools.isEmpty(waitWrkMast)) {
                             if (Cools.isEmpty(waitWrkMast)) {
-                                wrkMast.setUpdMk("Y");
-                                wrkMastMapper.updateById(wrkMast);
-                                // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
-                                moveLocForDeepLoc(slave, shallowLoc);
+                                if (moveLocForDeepLoc(slave, shallowLoc)){
+                                    wrkMast.setUpdMk("Y");
+//                                    wrkMast.setIoPri(14D);
+                                    wrkMastMapper.updateById(wrkMast);
+                                }
+//                                wrkMast.setUpdMk("Y");
+//                                wrkMastMapper.updateById(wrkMast);
+//                                // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
+//                                moveLocForDeepLoc(slave, shallowLoc);
                             }
                             log.error("{}浠诲姟鍑哄簱澶辫触锛屾祬搴撲綅鍫靛锛佹祬搴撲綅鍙�:{}", wrkMast.getWrkNo(), shallowLocNo);
                             continue;
@@ -2881,11 +2896,16 @@
 //                            if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk())
 //                                || Cools.isEmpty(waitWrkMast)) {
                         if (Cools.isEmpty(waitWrkMast)) {
-                            wrkMast.setUpdMk("Y");
-                            wrkMastMapper.updateById(wrkMast);
+//                            wrkMast.setUpdMk("Y");
+//                            wrkMastMapper.updateById(wrkMast);
                             // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
                             try{
-                                moveLocForDeepLoc(slave, shallowLoc);
+                                if (moveLocForDeepLoc(slave, shallowLoc)){
+                                    wrkMast.setUpdMk("Y");
+//                                    wrkMast.setIoPri(14D);
+                                    wrkMastMapper.updateById(wrkMast);
+                                }
+//                                moveLocForDeepLoc(slave, shallowLoc);
                             } catch (Exception e){
                                 log.error("{}浠诲姟鍑哄簱澶辫触锛屾祬搴撲綅鍫靛锛佸紓甯�", wrkMast.getWrkNo(), e);
                                 log.error("{}浠诲姟鍑哄簱澶辫触锛屾祬搴撲綅鍫靛锛佹祬搴撲綅鍙�:{}", wrkMast.getWrkNo(), shallowLocNo);
@@ -3246,10 +3266,15 @@
 //                            if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk())
 //                                || Cools.isEmpty(waitWrkMast)) {
                         if (Cools.isEmpty(waitWrkMast)) {
-                            wrkMast.setUpdMk("Y");
-                            wrkMastMapper.updateById(wrkMast);
-                            // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
-                            moveLocForDeepLoc(slave, shallowLoc);
+                            if (moveLocForDeepLoc(slave, shallowLoc)){
+                                wrkMast.setUpdMk("Y");
+//                                wrkMast.setIoPri(14D);
+                                wrkMastMapper.updateById(wrkMast);
+                            }
+//                            wrkMast.setUpdMk("Y");
+//                            wrkMastMapper.updateById(wrkMast);
+//                            // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
+//                            moveLocForDeepLoc(slave, shallowLoc);
                         }
                         log.error("{}浠诲姟鍑哄簱澶辫触锛屾祬搴撲綅鍫靛锛佹祬搴撲綅鍙�:{}", wrkMast.getWrkNo(), shallowLocNo);
                         continue;
@@ -4708,7 +4733,7 @@
                     wrkMast.setCrnNo(crn.getId());
                     wrkMast.setSourceLocNo(shallowLoc.getLocNo()); // 婧愬簱浣�
                     wrkMast.setLocNo(loc.getLocNo()); // 鐩爣搴撲綅
-                    wrkMast.setFullPlt(shallowLoc.getFullPlt()); // 婊℃澘
+                    wrkMast.setFullPlt(shallowLoc.getLocSts().equals("D") ? "N" : "Y"); // 婊℃澘
                     wrkMast.setPicking("N"); // 鎷f枡
                     wrkMast.setExitMk("N"); // 閫�鍑�
                     wrkMast.setEmptyMk(shallowLoc.getLocSts().equals("D") ? "Y" : "N"); // 绌烘澘
@@ -5920,6 +5945,16 @@
             if (!basJarMastList1.isEmpty()){
                 return false;
             }
+            BasJar basJarOther11 = basJarMapper.selectById(jarSlave.getJarOtherId());
+            if (!Cools.isEmpty(basJarOther11)){
+                List<BasJarMast> basJarMastList2 = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getJarOtherId(), new ArrayList<Integer>() {{
+                    add(8);add(9);add(10);add(11);add(12);
+                }});
+                if (!basJarMastList2.isEmpty() && basJarMastList2.size()!=basJarOther11.getJarCount()){
+                    return false;
+                }
+            }
+
             List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
                 add(8);
             }});
@@ -8076,6 +8111,40 @@
                             }
                             break;
                         }
+                    } else if (staProtocol.isAutoing()
+                            && !staProtocol.isLoading()
+                            && staProtocol.getWorkNo() == 0
+                            && staProtocol.isPakMk()) {
+                        for (DevpSlave.Jar jar : inSta.getJarList()) {
+                            SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, jar.getJarNo()<3? 1:2);
+                            if (steThread == null) {
+                                continue;
+                            }
+                            SteProtocol steProtocol = steThread.getSteProtocol();
+                            if (steProtocol == null) {
+                                continue;
+                            }
+                            if (!Cools.isEmpty(steProtocol.getLocaType()) && !steProtocol.getLocaType().equals(SteLocaType.NONE) && steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
+                                // 鍒ゆ柇閲嶅宸ヤ綔妗�
+                                List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusListB(jar.getBurial(), new ArrayList<Integer>() {{
+                                    add(9);
+                                    add(11);
+                                }});
+                                if (basJarMastList.isEmpty()){
+                                    continue;
+                                }
+                                BasJarMast jarMastByWrkNo = basJarMastList.get(0);
+                                WrkMastExecute wrkMastExecute = wrkMastExecuteService.selectOne(new EntityWrapper<WrkMastExecute>().eq("wrk_no", jarMastByWrkNo.getWrkNo()));
+                                if (Cools.isEmpty(wrkMastExecute)){
+                                    jarMastByWrkNo.setStatus(jarMastByWrkNo.getStatusComplete(6));
+                                    if (!basJarMastService.updateById(jarMastByWrkNo)){
+                                        log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,BasJarMast={},寮傚父淇℃伅={}",JSON.toJSONString(jarMastByWrkNo),"鏇存柊basJarMast澶辫触");
+//                                    throw new CoolException("鏇存柊basJarMast澶辫触");
+                                    }
+                                }
+                                break;
+                            }
+                        }
                     }
                 }
             }

--
Gitblit v1.9.1