From 0b7dae5aadc7e4bcd61074fdf8cdd786a23f8f18 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 02 十二月 2022 10:42:26 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   51 +++++++++++++++++++++++++++++++++++----------------
 1 files changed, 35 insertions(+), 16 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 c03dcef..754a3cc 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -970,7 +970,7 @@
                 }
 
                 // 缃《浠诲姟
-                wrkMast.setIoPri((double) 9999);
+                wrkMast.setIoPri((double) 9998);
                 wrkMastMapper.updateById(wrkMast);
 
                 // 鍒ゆ柇鏄惁涓虹┛姊簱
@@ -987,7 +987,7 @@
                                 log.error("{}搴撲綅寮傚父锛屾湭妫�绱㈠埌鐩稿簲宸ヤ綔妗o紒", shallowLocNo);
                             } else {
                                 if(waitWrkMast.getWrkSts() == 11) {
-                                    waitWrkMast.setIoPri(20D);
+                                    waitWrkMast.setIoPri(wrkMast.getIoPri() + 1);
                                     waitWrkMast.setModiTime(new Date());
                                     if (wrkMastMapper.updateById(waitWrkMast) == 0) {
                                         log.error("璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo());
@@ -1327,7 +1327,14 @@
             SteProtocol steProtocol = steThread.getSteProtocol();
             if (steProtocol == null) { continue; }
             if (!steProtocol.isIdle()) { continue; }
+            if (steProtocol.getRow() == 1) { continue; }
             String locNo = wrkMast.getWrkSts() < 10 ? wrkMast.getLocNo() : wrkMast.getSourceLocNo();
+            // 濡傛灉鍦ㄥ悓涓�涓簱浣嶇粍
+            if (Utils.getGroupRow(locNo, true).equals(Utils.getGroupRow(steProtocol.getRow().intValue(), true))
+                    && steProtocol.getBay().intValue() == Utils.getBay(locNo)
+                    && steProtocol.getLev().intValue() == Utils.getLev(locNo)) {
+                return steThread;
+            }
             LocMast locMast = locMastService.selectById(locNo);
             int lev = locMast.getLev1();
             int bay = locMast.getBay1();
@@ -1853,6 +1860,9 @@
                             Date now = new Date();
                             wrkMast.setCrnEndTime(now);
                             wrkMast.setModiTime(now);
+                            LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
+                            Integer outCrnNo = locMastService.getOutCrnNo(locMast);
+                            wrkMast.setCrnNo(outCrnNo);
                             // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
                             if (wrkMastMapper.updateById(wrkMast) > 0) {
                                 // 鍫嗗灈鏈哄浣�
@@ -2534,7 +2544,7 @@
                             SteChargeType first = SteChargeType.FIRST;
                             locNo = first.locNo;
                             if (basSteService.hasCarOfLocNo(locNo) == null
-                                && wrkChargeService.selectWorkingOfCharge(first.ssbm) != null) {
+                                && wrkChargeService.selectWorkingOfCharge(first.ssbm) == null) {
                                 steCharge = first;
                                 break;
                             }
@@ -2543,7 +2553,7 @@
                             SteChargeType second = SteChargeType.SECOND;
                             locNo = second.locNo;
                             if (basSteService.hasCarOfLocNo(locNo) == null
-                                && wrkChargeService.selectWorkingOfCharge(second.ssbm) != null) {
+                                && wrkChargeService.selectWorkingOfCharge(second.ssbm) == null) {
                                 steCharge = second;
                                 break;
                             }
@@ -2552,7 +2562,7 @@
                             SteChargeType third = SteChargeType.THIRD;
                             locNo = third.locNo;
                             if (basSteService.hasCarOfLocNo(locNo) == null
-                                && wrkChargeService.selectWorkingOfCharge(third.ssbm) != null) {
+                                && wrkChargeService.selectWorkingOfCharge(third.ssbm) == null) {
                                 steCharge = third;
                                 break;
                             }
@@ -2788,22 +2798,31 @@
                 if (Cools.isEmpty(steProtocol, basSte)) {
                     continue;
                 }
-                // 1鍙峰厖鐢垫々
-                if (value.equals(SteChargeType.FIRST) && devpThread.charge0) {
+                if (steProtocol.getCharge() < 99) {
                     continue;
                 }
-                // 2鍙峰厖鐢垫々
-                if (value.equals(SteChargeType.SECOND) && devpThread.charge1) {
+                if (steProtocol.getMode() == 0) {
                     continue;
                 }
-                // 3鍙峰厖鐢垫々
-                if (value.equals(SteChargeType.THIRD) && devpThread.charge2) {
+                if (!steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
                     continue;
                 }
-                // 灏忚溅鏄惁澶勪簬鍏呯數鐘舵��
-                if (steProtocol.getChargeStatus() == 1) {
-                    continue;
-                }
+//                // 1鍙峰厖鐢垫々
+//                if (value.equals(SteChargeType.FIRST) && devpThread.charge0) {
+//                    continue;
+//                }
+//                // 2鍙峰厖鐢垫々
+//                if (value.equals(SteChargeType.SECOND) && devpThread.charge1) {
+//                    continue;
+//                }
+//                // 3鍙峰厖鐢垫々
+//                if (value.equals(SteChargeType.THIRD) && devpThread.charge2) {
+//                    continue;
+//                }
+//                // 灏忚溅鏄惁澶勪簬鍏呯數鐘舵��
+//                if (steProtocol.getChargeStatus() == 1) {
+//                    continue;
+//                }
                 // case 1 : 鑷姩鍏呯數寮�   棣堢數      脳
                 // case 2 : 鑷姩鍏呯數寮�   婊$數      鉁�
                 // case 3 : 鑷姩鍏呯數鍏�   棣堢數      鉁�
@@ -2873,7 +2892,7 @@
                         crnCommand.setTaskNo(wrkCharge.getWrkNo().shortValue()); // 宸ヤ綔鍙�
                         crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
                         crnCommand.setTaskMode(CrnTaskModeType.STE_MOVE); // 浠诲姟妯″紡:  搴撲綅绉昏浆
-                        crnCommand.setSourcePosX(Utils.getGroupRow(steProtocol.getRow().intValue(), true).shortValue());     // 婧愬簱浣嶆帓
+                        crnCommand.setSourcePosX(steProtocol.getRow());     // 婧愬簱浣嶆帓
                         crnCommand.setSourcePosY(steProtocol.getBay());     // 婧愬簱浣嶅垪
                         crnCommand.setSourcePosZ(steProtocol.getLev());     // 婧愬簱浣嶅眰
                         crnCommand.setDestinationPosX(Utils.getGroupRow(channelLoc.getLocNo(), false).shortValue());     // 鐩爣搴撲綅鎺�

--
Gitblit v1.9.1