From 4f01c40fe0eb40b40d1555fb94104b3a0fb403ec Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期五, 12 四月 2024 16:22:32 +0800
Subject: [PATCH] #SuperLoaded
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 51 ++++++++++++++++++++++---
src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java | 1
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 2
src/main/resources/mapper/WrkMastStaMapper.xml | 11 +++++
4 files changed, 58 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java
index 7ece0f1..c77cb80 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastStaMapper.java
@@ -18,6 +18,7 @@
* */
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 fcef213..a853100 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -4060,10 +4060,17 @@
* */
public synchronized void rgvRunWrkMastEmptyStaAvoidance() {
try{
- Integer integer = wrkMastStaMapper.selectAllWrkStsCount(null,0);//鏌ヨ鐘舵�佷负0鐨勪换鍔�
- if (integer==0){
+// Integer integer = wrkMastStaMapper.selectAllWrkStsCount(null,0);//鏌ヨ鐘舵�佷负0鐨勪换鍔�
+// if (integer==0){
+// return;
+// }
+ WrkMastSta wrkMastSta = wrkMastStaMapper.selectAllWrkStsCountWrkMastSta(null, 0);
+ if (Cools.isEmpty(wrkMastSta)){
return;
}
+ boolean signRgv = true;
+ boolean signRgv1 = true;
+ boolean signRgv2 = true;
for (RgvSlave rgvSlave:slaveProperties.getRgv()) {
RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId());
RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
@@ -4087,15 +4094,47 @@
) {
BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
if (rgvProtocol.getRgvPosI().equals(basRgvMap.getStartRoute())){
- continue;
+// 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) )){
- continue;
+ signRgv = false;
+ break;
} else if (rgvProtocol.getRgvNo()==2 && (rgvProtocol.getRgvPosI().equals(116) || rgvProtocol.getRgvPosI().equals(117) ) ){
+ signRgv = false;
+ break;
+ }
+ }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;
}
- rgvAvoidanceXY(rgvProtocol.getRgvNo());
- rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
+
+ // 鍙湁褰揜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
+ ) {
+ BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+ rgvAvoidanceXY(rgvProtocol.getRgvNo());
+ rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute());
+ }
}
}
}catch (Exception e){
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index e1bd0b0..27d494c 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -69,7 +69,7 @@
}};
public static final ArrayList<Integer> staNos1Super = new ArrayList<Integer>() {{
- add(118);add(119);add(120);add(121);add(131);add(135);add(147);
+ add(118);add(119);add(120);add(121);add(122);add(123);add(131);add(135);add(147);
}};
public static final ArrayList<Integer> staNos2Super = new ArrayList<Integer>() {{
diff --git a/src/main/resources/mapper/WrkMastStaMapper.xml b/src/main/resources/mapper/WrkMastStaMapper.xml
index 6650f59..9f781f4 100644
--- a/src/main/resources/mapper/WrkMastStaMapper.xml
+++ b/src/main/resources/mapper/WrkMastStaMapper.xml
@@ -93,6 +93,17 @@
</if>
</select>
+ <select id="selectAllWrkStsCountWrkMastSta" resultMap="BaseResultMap">
+ select top 1 * from asr_wrk_mast_sta
+ where 1=1
+ <if test="type!=null">
+ and type = #{type}
+ </if>
+ <if test="wrkSts!=null">
+ and wrk_sts = #{wrkSts}
+ </if>
+ </select>
+
--
Gitblit v1.9.1