From 8041ff1c93a86f2f1b9e4ed2b61fa65a01562665 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期五, 21 七月 2023 14:47:31 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 85 +++++++++++++++++++++++++++++++++++++++++-
1 files changed, 82 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 08378c0..ca57d80 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -534,6 +534,7 @@
RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
if (rgvProtocol == null) {
+
continue;
}
BasRgv basRgv = basRgvService.selectById(rgv.getId());
@@ -632,7 +633,7 @@
}
//鍒ゆ柇琛岃蛋璺緞鏄惁琚崰鐢�
- Integer staNo = wrkMast.getStaNo();
+ Integer staNo = wrkMast.getSourceStaNo();
BasDevp basDevp = basDevpService.selectById(staNo);
if (basDevp == null) {
continue;//鐩爣绔欎笉瀛樺湪
@@ -641,8 +642,13 @@
int startPath = rgvProtocol.getRgvPos().intValue();
//鐩爣璺緞鍊�
int endPath = basDevp.getLocType3().intValue();
- boolean pathUsed = RgvUtils.isPathUsed(startPath, endPath);
-
+ boolean pathUsed = RgvUtils.isPathUsed(startPath, endPath);//鍒ゆ柇琛岃蛋璺緞鏄惁琚崰鐢�
+ if (pathUsed) {
+ //琛岃蛋璺緞琚崰鐢紝绂佹涓嬪彂鍛戒护
+ continue;
+ }
+ //琛岃蛋璺緞绌洪棽锛岄攣瀹氳矾寰�
+ RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), wrkMast.getWrkNo(), true);
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
RgvCommand rgvCommand = new RgvCommand();
@@ -672,6 +678,24 @@
continue;
}
+ //鍒ゆ柇琛岃蛋璺緞鏄惁琚崰鐢�
+ Integer staNo = wrkMast.getStaNo();
+ BasDevp basDevp = basDevpService.selectById(staNo);
+ if (basDevp == null) {
+ continue;//鐩爣绔欎笉瀛樺湪
+ }
+ //璧峰璺緞
+ int startPath = rgvProtocol.getRgvPos().intValue();
+ //鐩爣璺緞鍊�
+ int endPath = basDevp.getLocType3().intValue();
+ boolean pathUsed = RgvUtils.isPathUsed(startPath, endPath);//鍒ゆ柇琛岃蛋璺緞鏄惁琚崰鐢�
+ if (pathUsed) {
+ //琛岃蛋璺緞琚崰鐢紝绂佹涓嬪彂鍛戒护
+ continue;
+ }
+ //琛岃蛋璺緞绌洪棽锛岄攣瀹氳矾寰�
+ RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), wrkMast.getWrkNo(), true);
+
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
RgvCommand rgvCommand = new RgvCommand();
rgvCommand.setRgvNo(wrkMast.getRgvNo()); // RGV缂栧彿
@@ -696,6 +720,24 @@
if (rgvProtocol.getTaskNo1() != 0 || rgvProtocol.getLoaded1() != 0) {//RGV鏄惁鏃犱换鍔°�丷GV鏄惁鏃犺揣
continue;
}
+
+ //鍒ゆ柇琛岃蛋璺緞鏄惁琚崰鐢�
+ Integer staNo = wrkMast.getSourceStaNo();
+ BasDevp basDevp = basDevpService.selectById(staNo);
+ if (basDevp == null) {
+ continue;//鐩爣绔欎笉瀛樺湪
+ }
+ //璧峰璺緞
+ int startPath = rgvProtocol.getRgvPos().intValue();
+ //鐩爣璺緞鍊�
+ int endPath = basDevp.getLocType3().intValue();
+ boolean pathUsed = RgvUtils.isPathUsed(startPath, endPath);//鍒ゆ柇琛岃蛋璺緞鏄惁琚崰鐢�
+ if (pathUsed) {
+ //琛岃蛋璺緞琚崰鐢紝绂佹涓嬪彂鍛戒护
+ continue;
+ }
+ //琛岃蛋璺緞绌洪棽锛岄攣瀹氳矾寰�
+ RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), wrkMast.getWrkNo(), true);
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
RgvCommand rgvCommand = new RgvCommand();
@@ -725,6 +767,24 @@
continue;
}
+ //鍒ゆ柇琛岃蛋璺緞鏄惁琚崰鐢�
+ Integer staNo = wrkMast.getStaNo();
+ BasDevp basDevp = basDevpService.selectById(staNo);
+ if (basDevp == null) {
+ continue;//鐩爣绔欎笉瀛樺湪
+ }
+ //璧峰璺緞
+ int startPath = rgvProtocol.getRgvPos().intValue();
+ //鐩爣璺緞鍊�
+ int endPath = basDevp.getLocType3().intValue();
+ boolean pathUsed = RgvUtils.isPathUsed(startPath, endPath);//鍒ゆ柇琛岃蛋璺緞鏄惁琚崰鐢�
+ if (pathUsed) {
+ //琛岃蛋璺緞琚崰鐢紝绂佹涓嬪彂鍛戒护
+ continue;
+ }
+ //琛岃蛋璺緞绌洪棽锛岄攣瀹氳矾寰�
+ RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), wrkMast.getWrkNo(), true);
+
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
RgvCommand rgvCommand = new RgvCommand();
rgvCommand.setRgvNo(wrkMast.getRgvNo()); // RGV缂栧彿
@@ -750,6 +810,10 @@
}
}
+ }
+
+ private boolean rgvIoExecuteWrk2To3() {
+ return false;
}
/**
@@ -1735,11 +1799,26 @@
wrkMast1.setWrkSts(27L);//27.RGV鏀捐揣瀹屾垚
}
+ //瑙i攣璺緞
+ RgvUtils.unLockPath(wrkMast1.getRgvNo());
+
wrkMast1.setModiTime(now);
if (wrkMastMapper.updateById(wrkMast1) == 0) {
log.error("宸ヤ綅1淇敼宸ヤ綔妗g姸鎬佸け璐ワ紒锛侊紝宸ヤ綔鍙�={}", wrkMast1.getWrkNo());
}
+ // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ RgvCommand rgvCommand = new RgvCommand();
+ rgvCommand.setRgvNo(rgv.getId()); // RGV缂栧彿
+ rgvCommand.setAckFinish1((short) 1); // 宸ヤ綅1浠诲姟瀹屾垚纭浣�
+ rgvCommand.setTaskNo1(wrkMast1.getWrkNo().shortValue()); // 宸ヤ綅1宸ヤ綔鍙�
+ rgvCommand.setTaskMode1(RgvTaskModeType.NONE); // 宸ヤ綅1浠诲姟妯″紡: 鏃�
+ rgvCommand.setCommand((short) 1); //宸ヤ綅1浠诲姟纭
+ if (!MessageQueue.offer(SlaveType.Crn, wrkMast1.getRgvNo(), new Task(4, rgvCommand))) {
+ //step=2,宸ヤ綅1銆�2浠诲姟纭锛� step=4锛屽伐浣�1纭锛� step=5锛屽伐浣�2浠诲姟纭
+ log.error("RGV鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgv.getId(), JSON.toJSON(rgvCommand));
+ }
+
// //宸ヤ綅1鍙栬揣瀹屾垚鍚庯紝宸ヤ綅2鏄棤璐х┖闂茬姸鎬佹椂锛屽噯澶囩粰宸ヤ綅2鍙戜换鍔★紝纭鏄惁鏈夊緟鎵цRGV浠诲姟
// if (rgvProtocol.getModeType() == RgvModeType.AUTO
// && rgvProtocol.getTaskNo1() > 0 && rgvProtocol.getTaskNo2() == 0
--
Gitblit v1.9.1