From d08e5f29d4aea9f160b45c86e0004efbf34c76bd Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 31 七月 2023 13:54:37 +0800
Subject: [PATCH] 提升机

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  100 ++++++++++++++++++++++++-------------------------
 1 files changed, 49 insertions(+), 51 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 6153bb3..45518cf 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -384,6 +384,7 @@
     /**
      * 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱
      */
+    @Transactional
     public synchronized void stnToCrnStnPick(){
         for (DevpSlave devp : slaveProperties.getDevp()) {
             // 閬嶅巻鎷f枡鍏ュ簱鍙�
@@ -404,18 +405,15 @@
                         && staProtocol.isPakMk()){
 
                     // 鑾峰彇鏉$爜鎵弿浠俊鎭�
-//                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode());
-//                    if (barcodeThread == null) {
-//                        continue;
-//                    }
+                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode());
+                    if (barcodeThread == null) {
+                        continue;
+                    }
+                    String barcode = barcodeThread.getBarcode();
 
                     WrkMast wrkMast = null;
-                    if (staProtocol.getWorkNo() > 0 && staProtocol.getWorkNo() < 9999) {
-                        wrkMast = wrkMastMapper.selectPickStep(staProtocol.getWorkNo());
-                        if (null == wrkMast) {
-                            continue;
-                        }
-                    } else {
+                    wrkMast = wrkMastMapper.selectPickStepByBarcode(barcode);
+                    if (wrkMast == null) {
                         continue;
                     }
 //                    if (staProtocol.getWorkNo() == 9996) {
@@ -455,6 +453,7 @@
 //                            News.error("{}鏉$爜閿欒锛屾殏鏃犳嫞鏂欎换鍔★紒", barcode);
 //                        }
 //                    }
+
                     if ((wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107)
                         || Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo()) ) {
                         continue;
@@ -480,18 +479,18 @@
                         if (code.equals(200)) {
                             StartupDto dto = jsonObject.getObject("data", StartupDto.class);
 
-                            // 鑾峰彇鐩爣绔�
-                            Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
-                                    .eq("type_no", wrkMast.getIoType() - 50)
-                                    .eq("stn_no", pickSta.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
-                                    .eq("crn_no", dto.getCrnNo()); // 鍫嗗灈鏈哄彿
-                            StaDesc staDesc = staDescService.selectOne(wrapper);
-                            if (Cools.isEmpty(staDesc)) {
-                                News.error("鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo());
-                                continue;
-                            }
-                            // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�)
-                            Integer staNo = staDesc.getCrnStn();
+//                            // 鑾峰彇鐩爣绔�
+//                            Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+//                                    .eq("type_no", wrkMast.getIoType() - 50)
+//                                    .eq("stn_no", pickSta.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
+//                                    .eq("crn_no", dto.getCrnNo()); // 鍫嗗灈鏈哄彿
+//                            StaDesc staDesc = staDescService.selectOne(wrapper);
+//                            if (Cools.isEmpty(staDesc)) {
+//                                News.error("鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo());
+//                                continue;
+//                            }
+//                            // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�)
+//                            Integer staNo = staDesc.getCrnStn();
 
                             // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
 //                        if (wrkMastMapper.saveWrkDetlLog(wrkMast.getWrkNo()) == 0) {
@@ -509,8 +508,7 @@
                             wrkMast.setSourceStaNo(pickSta.getStaNo()); // 婧愮珯
                             wrkMast.setStaNo(dto.getStaNo()); // 鐩爣绔�
                             wrkMast.setCrnNo(dto.getCrnNo());
-                            wrkMast.setLocNo(dto.getLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
-                            wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�
+                            wrkMast.setLocNo(sourceLocNo); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
                             wrkMast.setShuttleNo(null); // 绌挎杞︽竻绌�
                             wrkMast.setModiTime(new Date());
                             if (wrkMastMapper.updateById(wrkMast) == 0) {
@@ -521,7 +519,7 @@
                             }
 
                             // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
-                            LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+                            LocMast locMast = locMastService.selectById(sourceLocNo);
                             locMast.setLocSts("Q");
                             locMast.setModiTime(new Date());
                             if (!locMastService.updateById(locMast)) {
@@ -574,7 +572,7 @@
      * 鍒濆鍖栧疄鏃跺湴鍥�
      */
     public synchronized void initRealtimeBasMap() {
-        for (int i = 1; i <= 4; i++) {//鎬诲叡鍥涘眰妤�
+        for (int i = 1; i <= 10; i++) {//鎬诲叡鍥涘眰妤�
             Object data = redisUtil.get("realtimeBasMap_" + i);
             if (data == null) {//redis鍦板浘鏁版嵁涓虹┖锛屼粠鏁版嵁搴撲腑鑾峰彇
                 BasMap basMap = basMapService.selectLatestMap(i);
@@ -787,7 +785,7 @@
                                     if (commands == null) {
                                         continue;//鎵句笉鍒拌矾寰勭瓑寰呬笅涓�娆�
                                     }
-                                    assignCommand.setCommands(commands);
+//                                    assignCommand.setCommands(commands);
                                     //鍒嗛厤鐩爣搴撲綅
                                     shuttleProtocol.setLocNo(wrkMast.getLocNo());
                                     //鐩爣搴撲綅
@@ -813,7 +811,7 @@
                                     shuttleProtocol.setLocNo(liftSiteLocNo);
                                     //鐩爣搴撲綅
                                     assignCommand.setLocNo(liftSiteLocNo);
-                                    assignCommand.setCommands(commands);
+//                                    assignCommand.setCommands(commands);
                                     wrkMast.setWrkSts(5L);//灏忚溅杩佺Щ鐘舵��
                                 }
                             } else if (wrkMast.getWrkSts() == 8) {
@@ -834,7 +832,7 @@
                                 ShuttleCommand moveCommand = shuttleThread.getMoveCommand(startCode, distCode, 1600, runDirection, null, null, 500);
                                 commands.add(0, moveCommand);//灏嗚鎸囦护娣诲姞鍒伴槦澶�
 
-                                assignCommand.setCommands(commands);
+//                                assignCommand.setCommands(commands);
                                 //鍒嗛厤鐩爣搴撲綅
                                 shuttleProtocol.setLocNo(wrkMast.getLocNo());
                                 //鐩爣搴撲綅
@@ -911,12 +909,12 @@
         //鑾峰彇灏忚溅绉诲姩閫熷害
         BasShuttle basShuttle = basShuttleService.selectById(assignCommand.getShuttleNo());
         Integer runSpeed = 1000;
-        if (basShuttle != null) {
-            Integer runSpeed1 = basShuttle.getRunSpeed();
-            if (runSpeed1 != null) {
-                runSpeed = runSpeed1;
-            }
-        }
+//        if (basShuttle != null) {
+//            Integer runSpeed1 = basShuttle.getRunSpeed();
+//            if (runSpeed1 != null) {
+//                runSpeed = runSpeed1;
+//            }
+//        }
 
         //璁$畻灏忚溅璧风偣鍒颁腑鐐规墍闇�鍛戒护
         List<NavigateNode> calc = NavigateUtils.calc(startLocNo, locNo, mapType, Utils.getShuttlePoints(shuttleThread.getSlave().getId(), Utils.getLev(startLocNo)));
@@ -981,12 +979,12 @@
         //鑾峰彇灏忚溅绉诲姩閫熷害
         BasShuttle basShuttle = basShuttleService.selectById(assignCommand.getShuttleNo());
         Integer runSpeed = 1000;
-        if (basShuttle != null) {
-            Integer runSpeed1 = basShuttle.getRunSpeed();
-            if (runSpeed1 != null) {
-                runSpeed = runSpeed1;
-            }
-        }
+//        if (basShuttle != null) {
+//            Integer runSpeed1 = basShuttle.getRunSpeed();
+//            if (runSpeed1 != null) {
+//                runSpeed = runSpeed1;
+//            }
+//        }
 
         List<NavigateNode> allNode = new ArrayList<>();
 
@@ -1242,7 +1240,7 @@
                             shuttleProtocol.setSourceLocNo(currentLocNo);
                             //鐩爣搴撲綅
                             assignCommand.setLocNo(wrkMast.getSourceLocNo());
-                            assignCommand.setCommands(commands);
+//                            assignCommand.setCommands(commands);
                             wrkMast.setWrkSts(26L);//灏忚溅鎼繍涓�
 
                             if (wrkMastMapper.updateById(wrkMast) > 0) {
@@ -1276,7 +1274,7 @@
 
                             //鐩爣搴撲綅
                             assignCommand.setLocNo(liftSiteLocNo);
-                            assignCommand.setCommands(commands);
+//                            assignCommand.setCommands(commands);
                             wrkMast.setWrkSts(22L);//灏忚溅杩佺Щ鐘舵��
 
                             if (wrkMastMapper.updateById(wrkMast) > 0) {
@@ -1323,7 +1321,7 @@
                         shuttleProtocol.setSourceLocNo(liftSiteLocNo);
                         //鐩爣搴撲綅
                         assignCommand.setLocNo(wrkMast.getSourceLocNo());
-                        assignCommand.setCommands(commands);
+//                        assignCommand.setCommands(commands);
                         wrkMast.setWrkSts(26L);//灏忚溅鎼繍涓�
 
                         if (wrkMastMapper.updateById(wrkMast) > 0) {
@@ -1874,7 +1872,7 @@
 
                 //鎵�闇�鍛戒护缁勫悎瀹屾瘯锛屾洿鏂版暟鎹簱锛屾彁浜ゅ埌绾跨▼鍘诲伐浣�
                 LiftAssignCommand assignCommand = new LiftAssignCommand();
-                assignCommand.setCommands(commands);
+//                assignCommand.setCommands(commands);
                 assignCommand.setLiftNo(liftProtocol.getLiftNo());
                 assignCommand.setTaskNo(liftProtocol.getTaskNo());
                 if (wrkMastMapper.updateById(wrkMast) > 0) {
@@ -2128,7 +2126,7 @@
                 shuttleProtocol.setLocNo(liftSiteLocNo);
                 //鐩爣搴撲綅
                 assignCommand.setLocNo(liftSiteLocNo);
-                assignCommand.setCommands(commands);
+//                assignCommand.setCommands(commands);
                 wrkMast.setWrkSts(5L);//灏忚溅杩佺Щ鐘舵��
 
                 if (wrkMastMapper.updateById(wrkMast) > 0) {
@@ -2235,7 +2233,7 @@
             //鍒嗛厤婧愬簱浣�
             shuttleProtocol.setSourceLocNo(wrkMast.getSourceLocNo());
 
-            assignCommand.setCommands(commands);
+//            assignCommand.setCommands(commands);
             //鍒嗛厤鐩爣搴撲綅
             shuttleProtocol.setLocNo(wrkMast.getLocNo());
             //鐩爣搴撲綅
@@ -2753,7 +2751,7 @@
                     commands.add(command);
 
                     //鎸囦护闆嗗垎閰�
-                    assignCommand.setCommands(commands);
+//                    assignCommand.setCommands(commands);
 
                     wrkCharge.setWrkSts(56L);//鍏呯數涓姸鎬�
                     if (wrkChargeMapper.updateById(wrkCharge) > 0) {
@@ -2795,7 +2793,7 @@
                     assignCommand.setLocNo(chargeLocNo);
                     //婧愬簱浣�
                     assignCommand.setSourceLocNo(currentLocNo);
-                    assignCommand.setCommands(commands);
+//                    assignCommand.setCommands(commands);
                     wrkCharge.setWrkSts(52L);//灏忚溅杩佺Щ鐘舵��
                     if (wrkChargeMapper.updateById(wrkCharge) > 0) {
                         //涓嬪彂浠诲姟
@@ -2833,7 +2831,7 @@
                 wrkCharge.setWrkSts(54L);//鎻愬崌鏈烘惉杩愪腑
                 //鎵�闇�鍛戒护缁勫悎瀹屾瘯锛屾洿鏂版暟鎹簱锛屾彁浜ゅ埌绾跨▼鍘诲伐浣�
                 LiftAssignCommand assignCommand = new LiftAssignCommand();
-                assignCommand.setCommands(commands);
+//                assignCommand.setCommands(commands);
                 assignCommand.setLiftNo(liftProtocol.getLiftNo());
                 assignCommand.setTaskNo(liftProtocol.getTaskNo());
                 if (wrkChargeMapper.updateById(wrkCharge) > 0) {
@@ -2888,7 +2886,7 @@
                 commands.add(command);
 
                 //鎸囦护闆嗗垎閰�
-                assignCommand.setCommands(commands);
+//                assignCommand.setCommands(commands);
 
                 wrkCharge.setWrkSts(56L);//鍏呯數涓姸鎬�
                 if (wrkChargeMapper.updateById(wrkCharge) > 0) {

--
Gitblit v1.9.1