From 14ae79f19df5920e53a43f90f01686dda426ebbc Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期五, 18 七月 2025 13:34:28 +0800
Subject: [PATCH] #预调度移动
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 97 +++++++++++++++++++++++++++++++++---------------
1 files changed, 66 insertions(+), 31 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 4620d9a..8054823 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -952,7 +952,7 @@
// 搴撲綅绉昏浆
//mark - 3 - ....
this.locToLoc(crn, crnProtocol, mark);
- this.crnRebackHp(crnProtocol, crnThread);
+ this.crnRebackHp(crnProtocol, crnThread,null);
}
// News.infoNoLog(""+mark+" - 0"+" - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂鎵ц瀹屾垚");
@@ -961,39 +961,27 @@
/**
* 鍥炲師鐐癸紝鍫嗗灈鏈烘病鏈夋墽琛屼腑浠诲姟锛岃澶囧瓨鍦ㄥ叆搴撲换鍔℃椂鍙洖鍘熺偣
*/
- public synchronized void crnRebackHp(CrnProtocol crnProtocol, CrnThread crnThread) {
-// for (CrnSlave crn : slaveProperties.getCrn()) {
-// // 鑾峰彇鍫嗗灈鏈轰俊鎭�
-// CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
-// CrnProtocol crnProtocol = crnThread.getCrnProtocol();
-// if (crnProtocol == null) {
-// continue;
-// }
-// BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
-// if (basCrnp == null) {
-// log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
-// continue;
-// }
- if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) {
- if (crnProtocol.getBay() == 121) {
- return;
- }
+ public synchronized void crnRebackHp(CrnProtocol crnProtocol, CrnThread crnThread,String staNo) {
+ if(staNo == null){
+ if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) {
+ if (crnProtocol.getBay() == 121) {
+ return;
+ }
- // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�3,12
- if (wrkMastMapper.selectWorking(crnProtocol.getCrnNo()) != null) {
- return;
- }
+ // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�3,12
+ if (wrkMastMapper.selectWorking(crnProtocol.getCrnNo()) != null) {
+ return;
+ }
- //鍫嗗灈鏈烘湁鎵ц涓换鍔★紝杩囨护3,4,11,12
- if (wrkMastMapper.selectCrnWorking(crnProtocol.getCrnNo()) != null) {
- return;
- }
+ //鍫嗗灈鏈烘湁鎵ц涓换鍔★紝杩囨护3,4,11,12
+ if (wrkMastMapper.selectCrnWorking(crnProtocol.getCrnNo()) != null) {
+ return;
+ }
- //杈撻�佺嚎娌℃湁鍏ュ簱浠诲姟锛岃繃婊�2
- if (wrkMastMapper.selectDevWorking(crnProtocol.getCrnNo()) == null) {
- return;
- }
- if(crnProtocol.getCrnNo() == 1){
+ //杈撻�佺嚎娌℃湁鍏ュ簱浠诲姟锛岃繃婊�2
+ if (wrkMastMapper.selectDevWorking(crnProtocol.getCrnNo()) == null) {
+ return;
+ }
News.info("鍫嗗灈鏈哄彫鍥炲師鐐�==>>" + crnProtocol.getCrnNo() + "鍙峰爢鍨涙満鏈夊叆搴撲换鍔�,鍙洖鍘熺偣");
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
CrnCommand crnCommand = new CrnCommand();
@@ -1012,7 +1000,54 @@
}
crnThread.setBackHpFlag(true);
}
+ } else {
+ int y = 1; // 榛樿鍒�
+ int staNoInt = Integer.parseInt(staNo);
+ int z = staNoInt / 100; // 灞�
+
+ if ((staNoInt >= 121 && staNoInt <= 126) || (staNoInt >= 221 && staNoInt <= 230) || (staNoInt >= 411 && staNoInt <= 414)) {
+ y = 121;
+ }
+
+ if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) {
+ if (crnProtocol.getBay() == y) {
+ return;
+ }
+
+ // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+ if (wrkMastMapper.selectWorking(crnProtocol.getCrnNo()) != null) {
+ return;
+ }
+
+ // 鍫嗗灈鏈烘湁鎵ц涓换鍔�
+ if (wrkMastMapper.selectCrnWorking(crnProtocol.getCrnNo()) != null) {
+ return;
+ }
+
+ // 杈撻�佺嚎娌℃湁鍏ュ簱浠诲姟
+ if (wrkMastMapper.selectDevWorking(crnProtocol.getCrnNo()) == null) {
+ return;
+ }
+
+ News.info("鍫嗗灈鏈哄彫鍥炲師鐐�==>>" + crnProtocol.getCrnNo() + "鍙峰爢鍨涙満鏈夊叆搴撲换鍔�,鍙洖鍘熺偣");
+ // 鍛戒护涓嬪彂
+ CrnCommand crnCommand = new CrnCommand();
+ crnCommand.setCrnNo(crnProtocol.getCrnNo());
+ crnCommand.setTaskNo((short) 9999);
+ crnCommand.setAckFinish((short) 0);
+ crnCommand.setTaskMode(CrnTaskModeType.X_MOVE);
+ crnCommand.setSourcePosX((short) 1); // 榛樿鎺掑缁堜负1
+ crnCommand.setSourcePosY((short) y); // 鍔ㄦ�佸垪
+ crnCommand.setSourcePosZ((short) z); // 鍔ㄦ�佸眰
+ crnCommand.setDestinationPosX((short) 0);
+ crnCommand.setDestinationPosY((short) 0);
+ crnCommand.setDestinationPosZ((short) 0);
+ if (!MessageQueue.offer(SlaveType.Crn, crnProtocol.getCrnNo(), new Task(2, crnCommand))) {
+ News.error("鍫嗗灈鏈哄洖鍘熺偣鍛戒护涓嬪彂澶辫触锛屽爢鍨涙満鍙�={}锛屼换鍔℃暟鎹�={}", crnProtocol.getCrnNo(), JSON.toJSON(crnCommand));
+ }
+ crnThread.setBackHpFlag(true);
+ }
}
// }
}
--
Gitblit v1.9.1