From 02e177602212dcf490f80e0c9e869846e02c4d20 Mon Sep 17 00:00:00 2001
From: lsh <lsh123456>
Date: 星期六, 28 十二月 2024 17:43:53 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 122 ++++++++++++++++++++++++----------------
src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java | 3 +
src/main/resources/mapper/WrkMastStaMapper.xml | 16 +++++
3 files changed, 93 insertions(+), 48 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java
index c77cb80..6f8a9aa 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java
@@ -16,6 +16,9 @@
/*
* 鑾峰彇鎵�鏈変换鍔℃暟閲�
* */
+ Integer selectAllWrkCount108();
+ Integer selectAllWrkCount108Y();
+
Integer selectAllWrkCount(@Param("type")Integer type);
Integer selectAllWrkStsCount(@Param("type")Integer type,@Param("wrkSts")Integer wrkSts);
WrkMastSta selectAllWrkStsCountWrkMastSta(@Param("type")Integer type,@Param("wrkSts")Integer wrkSts);
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 3b47be2..1370609 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -3608,6 +3608,17 @@
public synchronized boolean rgvIoExecute(Integer sign) {
boolean rgvIoExecuteSign = false;
try{
+ int rgvPoi = 101;
+ for (RgvSlave rgvSlave:slaveProperties.getRgv()) {
+ RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId());
+ RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+ if (rgvProtocol == null) {
+ continue;
+ }
+ if (rgvProtocol.getRgvNo()==1){
+ rgvPoi = rgvProtocol.getRgvPosI();
+ }
+ }
for (RgvSlave rgvSlave:slaveProperties.getRgv()) {
// 鑾峰彇灏忚溅淇℃伅
boolean signWork = false;
@@ -4250,8 +4261,23 @@
&& rgvProtocol.getStatusType1() == RgvStatusType.IDLE
&& rgvProtocol.getStatusType2() == RgvStatusType.IDLE
) {
-
- BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+ if (rgvProtocol.getRgvNo()!=1){
+ continue;
+ }
+ if (!rgvProtocol.getRgvPosI().equals(108)){
+ continue;
+ }
+ Integer count108Y = wrkMastStaMapper.selectAllWrkCount108Y();
+ if (count108Y==0){
+ return;
+ }
+ Integer count108 = wrkMastStaMapper.selectAllWrkCount108();
+ if (count108==0){
+ return;
+ }
+ rgvAvoidanceXY(rgvProtocol.getRgvNo());
+ return;
+// BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
// Integer fallMerge = RouteUtils.RouteIndexFarMas(basRgvMap.getRgvNo(), basRgvMap.getEndRoute()); //鑾峰彇鍚堝苟骞叉秹椤�
// List<Integer> route = RouteUtils.getRoute(basRgvMap.getStartRoute(),fallMerge);
// List<WrkMastSta> wrkMastStaList = wrkMastStaMapper.selectNoInterfereList(route ,route);
@@ -4259,56 +4285,56 @@
// log.info("灏忚溅瀛樺湪鍙墽琛屼换鍔★紝璺宠繃閬胯锛侊紒4214");
// return;
// }
- if (rgvProtocol.getRgvPosI().equals(basRgvMap.getStartRoute())){
-// if (!RouteUtils.RgvRunStaSign(rgvProtocol.getRgvPosI(),RouteUtils.RouteIndexFarMas(rgvProtocol.getRgvNo(),rgvRunSta[rgvProtocol.getRgvNo()-1]),rgvProtocol.getRgvNo())){
-// if (!RouteUtils.RgvRunStaSign(rgvProtocol.getRgvPosI(),rgvRunSta[rgvProtocol.getRgvNo()-1],rgvProtocol.getRgvNo())){
- if (rgvProtocol.getRgvNo()==1){
- signRgv1 = false;
- }else {
- signRgv2 = false;
- }
- }
- if (rgvProtocol.getRgvNo()==1 && (rgvProtocol.getRgvPosI().equals(101) || rgvProtocol.getRgvPosI().equals(102) )){
- signRgv1 = false;
- continue;
- } else if (rgvProtocol.getRgvNo()==2 && (rgvProtocol.getRgvPosI().equals(116) || rgvProtocol.getRgvPosI().equals(117) ) ){
- signRgv2 = false;
- continue;
- }
+// if (rgvProtocol.getRgvPosI().equals(basRgvMap.getStartRoute())){
+//// if (!RouteUtils.RgvRunStaSign(rgvProtocol.getRgvPosI(),RouteUtils.RouteIndexFarMas(rgvProtocol.getRgvNo(),rgvRunSta[rgvProtocol.getRgvNo()-1]),rgvProtocol.getRgvNo())){
+//// if (!RouteUtils.RgvRunStaSign(rgvProtocol.getRgvPosI(),rgvRunSta[rgvProtocol.getRgvNo()-1],rgvProtocol.getRgvNo())){
+// if (rgvProtocol.getRgvNo()==1){
+// signRgv1 = false;
+// }else {
+// signRgv2 = false;
+// }
+// }
+// if (rgvProtocol.getRgvNo()==1 && (rgvProtocol.getRgvPosI().equals(101) || rgvProtocol.getRgvPosI().equals(102) )){
+// signRgv1 = false;
+// continue;
+// } else if (rgvProtocol.getRgvNo()==2 && (rgvProtocol.getRgvPosI().equals(116) || rgvProtocol.getRgvPosI().equals(117) ) ){
+// signRgv2 = false;
+// continue;
+// }
}else {
signRgv = false;
break;
}
}
- if (signRgv && (signRgv1 || signRgv2)){
- for (RgvSlave rgvSlave:slaveProperties.getRgv()) {
- RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId());
- RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
- if (rgvProtocol == null) {
- continue;
- }
-
- // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅涓�鏃犵墿//rgv鍙敤
- if (rgvProtocol.getStatusType() == RgvStatusType.IDLE
- && rgvProtocol.getModeType() == RgvModeType.AUTO
- && rgvProtocol.getLoaded1()==0 //鐜板満淇敼锛氬彔鐩樻満锛屼笉婊¢兘绠楁棤鐗╋紝鎬庝箞鍒ゆ柇闇�瑕佽窡鐢垫帶瀵规帴
- && rgvProtocol.getTaskNo1()==0
- && rgvProtocol.getTaskNo2()==0
- && rgvProtocol.getStatusType1() == RgvStatusType.IDLE
- && rgvProtocol.getStatusType2() == RgvStatusType.IDLE
- ) {
- if (rgvProtocol.getRgvNo()==1 && (rgvProtocol.getRgvPosI().equals(101) || rgvProtocol.getRgvPosI().equals(102) )){
- continue;
- } else if (rgvProtocol.getRgvNo()==2 && (rgvProtocol.getRgvPosI().equals(116) || rgvProtocol.getRgvPosI().equals(117) ) ){
- continue;
- }
- BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
- rgvAvoidanceXY(rgvProtocol.getRgvNo());
- rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
-
- }
- }
- }
+// if (signRgv && (signRgv1 || signRgv2)){
+// for (RgvSlave rgvSlave:slaveProperties.getRgv()) {
+// RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId());
+// RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+// if (rgvProtocol == null) {
+// continue;
+// }
+//
+// // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅涓�鏃犵墿//rgv鍙敤
+// if (rgvProtocol.getStatusType() == RgvStatusType.IDLE
+// && rgvProtocol.getModeType() == RgvModeType.AUTO
+// && rgvProtocol.getLoaded1()==0 //鐜板満淇敼锛氬彔鐩樻満锛屼笉婊¢兘绠楁棤鐗╋紝鎬庝箞鍒ゆ柇闇�瑕佽窡鐢垫帶瀵规帴
+// && rgvProtocol.getTaskNo1()==0
+// && rgvProtocol.getTaskNo2()==0
+// && rgvProtocol.getStatusType1() == RgvStatusType.IDLE
+// && rgvProtocol.getStatusType2() == RgvStatusType.IDLE
+// ) {
+// if (rgvProtocol.getRgvNo()==1 && (rgvProtocol.getRgvPosI().equals(101) || rgvProtocol.getRgvPosI().equals(102) )){
+// continue;
+// } else if (rgvProtocol.getRgvNo()==2 && (rgvProtocol.getRgvPosI().equals(116) || rgvProtocol.getRgvPosI().equals(117) ) ){
+// continue;
+// }
+// BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+// rgvAvoidanceXY(rgvProtocol.getRgvNo());
+// rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
+//
+// }
+// }
+// }
}catch (Exception e){
log.error("4109琛屾墽琛屽皬杞﹀垵濮嬪寲浠诲姟涓嬪彂澶辫触");
log.error("4109琛�"+e);
@@ -4364,7 +4390,7 @@
rgvCommand.setTaskNo1((short)32222); // 宸ヤ綅1宸ヤ綔鍙�
rgvCommand.setTaskMode1(RgvTaskModeType.X_MOVE); // 宸ヤ綅1浠诲姟妯″紡: 鍥炲師鐐�
//basRgvMap.getLockStartRoute().shortValue()
- rgvCommand.setSourceStaNo1( (short)101);
+ rgvCommand.setSourceStaNo1( (short)107);
rgvCommand.setCommand((short) 1); //宸ヤ綅1浠诲姟纭
if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(4, rgvCommand))) {
//step=2,宸ヤ綅1銆�2鍐欎换鍔★紱 step=4锛屽伐浣�1鍐欎换鍔★紱 step=5锛屽伐浣�2鍐欎换鍔� step=9锛屽洖鍘熺偣 9999浠诲姟鍙�
diff --git a/src/main/resources/mapper/WrkMastStaMapper.xml b/src/main/resources/mapper/WrkMastStaMapper.xml
index 9f781f4..af85b0f 100644
--- a/src/main/resources/mapper/WrkMastStaMapper.xml
+++ b/src/main/resources/mapper/WrkMastStaMapper.xml
@@ -82,6 +82,22 @@
</if>
</select>
+ <select id="selectAllWrkCount108" resultType="Integer">
+ select count(1) from asr_wrk_mast_sta
+ where 1=1
+ and type = 1
+ and (sta_end = 108 or sta_start = 108)
+ </select>
+
+ <select id="selectAllWrkCount108Y" resultType="Integer">
+ select count(1) from asr_wrk_mast_sta
+ where 1=1
+-- and type = 1
+ and ((sta_end <= 108 or sta_start <= 108)
+ or (sta_end = 118 or sta_start = 118)
+ or (sta_end = 122 or sta_start = 122))
+ </select>
+
<select id="selectAllWrkStsCount" resultType="Integer">
select count(1) from asr_wrk_mast_sta
where 1=1
--
Gitblit v1.9.1