From 62ba3824387832e3ef1d43e91d0d079b6f8b11d9 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期四, 06 六月 2024 16:21:31 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 55 insertions(+), 3 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 ee3a651..e77aeab 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -104,6 +104,8 @@
     private RgvOneSignMapper rgvOneSignMapper;
     @Autowired
     private WrkMastCrnMapper wrkMastCrnMapper;
+    @Autowired
+    private WrkMastSplitTwinMapper wrkMastSplitTwinMapper;
 
     @Value("${wms.url}")
     private String wmsUrl;
@@ -1971,6 +1973,12 @@
                 continue;
             }
 
+            // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+            if (wrkMastSplitTwinMapper.selectCount(new EntityWrapper<WrkMastSplitTwin>().eq("wrk_no", wrkMast.getWrkNo().longValue())) != 0) {
+                break;
+//                        return;
+            }
+
             // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
             if (Utils.isDeepLoc(slaveProperties, wrkMast.getLocNo())) {
                 String shallowLocNo = Utils.getShallowLoc(slaveProperties, wrkMast.getLocNo());
@@ -2029,9 +2037,27 @@
                 wrkMast.setWrkSts(3L);
                 wrkMast.setCrnStrTime(now);
                 wrkMast.setModiTime(now);
+                WrkMastSplitTwin wrkMastSplitTwin = new WrkMastSplitTwin(wrkMast,crnStation,now);
+                wrkMastSplitTwin.setWrkSts(1);
+                wrkMastSplitTwin.setWrkStart(wrkMast.getStaNo().toString());
+                wrkMastSplitTwin.setWrkEnd(wrkMast.getLocNo());
+                wrkMastSplitTwin.setStartRow(crnStn.getRow());
+                wrkMastSplitTwin.setStartBay(crnStn.getBay());
+                wrkMastSplitTwin.setStartLev(crnStn.getLev());
+                wrkMastSplitTwin.setEndRow(locMast.getRow1());
+                wrkMastSplitTwin.setEndBay(locMast.getBay1());
+                wrkMastSplitTwin.setEndLev(locMast.getLev1());
+                wrkMastSplitTwin.setWrkType(1);
+                wrkMastSplitTwin.setIoType(1);
+
                 if (wrkMastMapper.updateById(wrkMast) == 0) {
                     log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
                 }
+
+                if (wrkMastSplitTwinMapper.insert(wrkMastSplitTwin)==0){
+                    log.error("鍒涘缓 鍫嗗灈鏈烘墽琛屼换鍔� 澶辫触锛侊紒锛屽伐浣滃彿={}锛屽爢鍨涙満鍙�={}", wrkMast.getWrkNo(),wrkMast.getCrnNo());
+                }
+                break;
             }
         }
     }
@@ -2083,6 +2109,10 @@
             if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo().equals(wrkMast.getWrkNo())
                     && staProtocol.isInEnable() && staDetl.getCanining() != null && staDetl.getCanining().equals("Y")) {
                 flag = true;
+            }
+
+            if (staProtocol.getWorkNo().equals(staProtocolOther.getWorkNo())){
+                continue;
             }
 
             // 鏌ヨ绔欑偣璇︾粏淇℃伅
@@ -2893,6 +2923,12 @@
 //                        return;
                 }
 
+                // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+                if (wrkMastSplitTwinMapper.selectCount(new EntityWrapper<WrkMastSplitTwin>().eq("wrk_no", wrkMast.getWrkNo().longValue())) != 0) {
+                    break;
+//                        return;
+                }
+
                 // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔�
                 CrnCommand crnCommand = new CrnCommand();
                 crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
@@ -2902,9 +2938,9 @@
                 crnCommand.setSourcePosX(sourceSta.getRow1().shortValue());     // 婧愬簱浣嶆帓
                 crnCommand.setSourcePosY(sourceSta.getBay1().shortValue());     // 婧愬簱浣嶅垪
                 crnCommand.setSourcePosZ(sourceSta.getLev1().shortValue());     // 婧愬簱浣嶅眰
-                crnCommand.setDestinationPosX(crnStn.getRow().shortValue());     // 鐩爣搴撲綅鎺�
-                crnCommand.setDestinationPosY(crnStn.getBay().shortValue());     // 鐩爣搴撲綅鍒�
-                crnCommand.setDestinationPosZ(crnStn.getLev().shortValue());     // 鐩爣搴撲綅灞�
+                crnCommand.setDestinationPosX((short)0);     // 鐩爣搴撲綅鎺�
+                crnCommand.setDestinationPosY((short)0);     // 鐩爣搴撲綅鍒�
+                crnCommand.setDestinationPosZ((short)0);     // 鐩爣搴撲綅灞�
                 if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) {
                     log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
                 } else {
@@ -2913,9 +2949,25 @@
                     wrkMast.setWrkSts(12L);
                     wrkMast.setCrnStrTime(now);
                     wrkMast.setModiTime(now);
+                    WrkMastSplitTwin wrkMastSplitTwin = new WrkMastSplitTwin(wrkMast,crnStation,now);
+                    wrkMastSplitTwin.setWrkSts(1);
+                    wrkMastSplitTwin.setWrkStart(wrkMast.getSourceLocNo());
+                    wrkMastSplitTwin.setWrkEnd(wrkMast.getSourceStaNo().toString());
+                    wrkMastSplitTwin.setStartRow(sourceSta.getRow1());
+                    wrkMastSplitTwin.setStartBay(sourceSta.getBay1());
+                    wrkMastSplitTwin.setStartLev(sourceSta.getLev1());
+                    wrkMastSplitTwin.setEndRow(crnStn.getRow());
+                    wrkMastSplitTwin.setEndBay(crnStn.getBay());
+                    wrkMastSplitTwin.setEndLev(crnStn.getLev());
+                    wrkMastSplitTwin.setWrkType(1);
+                    wrkMastSplitTwin.setIoType(2);
                     if (wrkMastMapper.updateById(wrkMast) == 0) {
                         log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
                     }
+
+                    if (wrkMastSplitTwinMapper.insert(wrkMastSplitTwin)==0){
+                        log.error("鍒涘缓 鍫嗗灈鏈烘墽琛屼换鍔� 澶辫触锛侊紒锛屽伐浣滃彿={}锛屽爢鍨涙満鍙�={}", wrkMast.getWrkNo(),wrkMast.getCrnNo());
+                    }
                     break;
                 }
             }

--
Gitblit v1.9.1