From a6ddc35c9f177ec73abef648fed0ac6de16d856f Mon Sep 17 00:00:00 2001
From: pjb <pjb123456>
Date: 星期六, 26 七月 2025 16:18:07 +0800
Subject: [PATCH] rgv调动分配优化:判断当前任务取货站点后续小车任务放货完后能不能取当前任务
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 26 +++++++++++++++++++++-----
src/main/webapp/views/index.html | 22 +++++++++++-----------
2 files changed, 32 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 e30d725..2185d01 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -453,13 +453,14 @@
}
}
} else {
- if (count != 0) {
- break;
- }
if (rgvProtocol.modeType == RgvModeType.AUTO
&& (rgvProtocol.getStatusType() == RgvStatusType.IDLE || rgvProtocol.getStatusType() == RgvStatusType.ROAM)
&& rgvProtocol.getTaskNo1() == 0
&& rgvProtocol.getAlarm() == 0) {
+ if (count != 0) {
+ log.error("{}鍛煎彨灏忚溅锛歿}鍙峰皬杞︾┖闂诧紝浣嗗伐浣滄。鏄剧ず璇ュ皬杞︽湁浠诲姟",wrkMast.getWrkNo(),rgvProtocol.getRgvNo());
+ break;
+ }
RgvCommand rgvCommand = new RgvCommand();
rgvCommand.setRgvNo(rgvProtocol.getRgvNo());
rgvCommand.setAckFinish1((short) 0); // 宸ヤ綅1浠诲姟瀹屾垚纭浣�
@@ -479,8 +480,23 @@
wrkMast.setRgvCreateTime(now);
wrkMastService.updateById(wrkMast);
break runRgv;
- } else {
- break ; // 鍙湅鏈�杩戠殑绗竴涓皬杞�
+ } else if(rgvProtocol.modeType == RgvModeType.AUTO
+ && rgvProtocol.getTaskNo1() != 0){ // 褰撳墠灏忚溅鏀捐揣鐩爣浣嶇疆鍦ㄥ綋鍓嶄换鍔″彇璐х偣涔嬪悗锛岃烦杩囦换鍔″垎閰嶏紝涓嶅啀鍒欏垽鏂笅涓皬杞︾洰鏍囦綅缃�
+ WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", rgvProtocol.getTaskNo1())); // 褰撳墠rgv浠诲姟
+ if(wrkMast1!= null && !Cools.isEmpty(wrkMast1.getRgvDstaNo())) {
+ // 褰撳墠rgv浠诲姟鐩爣绔欑偣
+ BasDevpPosition rgvDstaNoDevPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("dev_no", wrkMast1.getRgvDstaNo()));
+ long rgvDstaNoPosition = rgvDstaNoDevPosition.getPlcPosition(); // 褰撳墠rgv浠诲姟鐩爣绔欑偣浣嶇疆
+ if(rgvProtocol.getRgvPos() < rgvDstaNoPosition) { // 灏忚溅褰撳墠浣嶇疆 < rgv鐩爣浣嶇疆
+ if(!(rgvProtocol.getRgvPos() < position && position < rgvDstaNoPosition)) { // 杩欎釜浠诲姟浣嶇疆鏄湪褰撳墠rgv浣嶇疆鍓嶉潰骞朵笖杩欎釜浠诲姟璧风偣鍦ㄥ綋鍓峳gv鐩爣绔欑偣涔嬪悗
+ break; // 褰撳墠rgv鏀捐揣瀹屾垚鍚庯紝鍙互鍙栧綋鍓嶄换鍔�
+ }
+ } else {
+ if(!(rgvProtocol.getRgvPos() < position || position < rgvDstaNoPosition)) {
+ break;
+ }
+ }
+ }
}
}
}
diff --git a/src/main/webapp/views/index.html b/src/main/webapp/views/index.html
index 7548540..da21376 100644
--- a/src/main/webapp/views/index.html
+++ b/src/main/webapp/views/index.html
@@ -226,17 +226,17 @@
<!-- </div>-->
<!-- Stations on outer ring-->
<div v-for="station in tableDataDev" class="station" :style="{ top: station.valueY + 'px', left: station.valueX + 'px' }">{{ station.index }}</div>
- <div>
- <el-switch
- style="display: block"
- v-model="valueSystem"
- active-color="#13ce66"
- inactive-color="#A64036"
- active-text="绯荤粺杩愯涓�..."
- inactive-text="绯荤粺宸插仠姝�!"
- @change='upDateValueSystem'>
- </el-switch>
- </div>
+<!-- <div>-->
+<!-- <el-switch-->
+<!-- style="display: block"-->
+<!-- v-model="valueSystem"-->
+<!-- active-color="#13ce66"-->
+<!-- inactive-color="#A64036"-->
+<!-- active-text="绯荤粺杩愯涓�..."-->
+<!-- inactive-text="绯荤粺宸插仠姝�!"-->
+<!-- @change='upDateValueSystem'>-->
+<!-- </el-switch>-->
+<!-- </div>-->
<!-- Buses -->
<div v-for="bus in tableDataRgv" class="bus" :style="{ top: bus.valueY + 'px', left: bus.valueX + 'px' , borderColor: bus.modeColor, backgroundColor: bus.statusColor}">{{ bus.index }}</div>
</div>
--
Gitblit v1.9.1