From e47b30ba51de51df6210910e50d790614a9b30e1 Mon Sep 17 00:00:00 2001
From: lsh <lsh123456>
Date: 星期四, 27 六月 2024 20:38:50 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 341 +++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 236 insertions(+), 105 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 1da0bca..f9550bc 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -23,6 +23,7 @@
import com.zy.common.utils.RgvUtils;
import com.zy.core.CrnThread;
import com.zy.core.DevpThread;
+import com.zy.core.Slave;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.*;
@@ -54,6 +55,8 @@
public class MainServiceImpl {
public static final long COMMAND_TIMEOUT = 5 * 1000;
+// private static final int[][] execute = new int[][]{{1,4},{2,4},{3,4},{4,4},{5,6},{6,6},{7,4},{8,4},{9,3},{10,4},{11,4}};
+ private static final int[][] execute = new int[][]{{1,4},{2,4},{3,4},{4,4},{5,6},{6,6},{9,3},{10,4},{11,4}};
@Autowired
private CommonService commonService;
@@ -4544,35 +4547,35 @@
}
/**
- * Jar浠诲姟瀹屾垚 //鏈畬鎴�
+ * Jar浠诲姟瀹屾垚 //瀹屾垚
*/
- public synchronized boolean jarMastGenerateComplete(JarSlave jarSlave) {
+ public synchronized boolean jarMastGenerateComplete() {
try{
- // 鑾峰彇鍫嗗灈鏈轰俊鎭�
- JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getId());
- JarProtocol jarProtocol = jarThread.getJarProtocol();
- if (jarProtocol == null) {
- return false;
- }
- if (jarProtocol.modeType != JarModeType.AUTO){
- return false;
- }
-
- JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
- JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
- if (jarOtherProtocol == null) {
- return false;
- }
- if (jarOtherProtocol.modeType != JarModeType.AUTO){
- return false;
- }
-
- //鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂��
- if (jarProtocol.isAutoing() && !jarProtocol.isRightDoor() && jarProtocol.jarErr==0 && !jarOtherProtocol.isLeftDoor() && jarOtherProtocol.jarErr==0){
-
+ for (int[] ex : execute){
+ try{
+ WrkMastExecute wrkMastExecuteSou = new WrkMastExecute();
+ wrkMastExecuteSou.setIoType(ex[0]);
+ wrkMastExecuteSou.setWrkSts(ex[1]);
+ wrkMastExecuteSou.setWrkType(1);
+ List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou);
+ for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){
+ BasJarMast jarMastByWrkNo = basJarMastService.getJarMastByWrkNo(wrkMastExecute.getWrkNo());
+ jarMastByWrkNo.setStatus(jarMastByWrkNo.getStatusComplete());
+ if (!basJarMastService.updateById(jarMastByWrkNo)){
+ log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,BasJarMast={},寮傚父淇℃伅={}",JSON.toJSONString(jarMastByWrkNo),"鏇存柊basJarMast澶辫触");
+ }
+ wrkMastExecute.setWrkSts(wrkMastExecute.getWrkStsComplete());
+ wrkMastExecute.setWrkType(2);
+ if (!wrkMastExecuteService.updateById(wrkMastExecute)){
+ log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,wrkMastExecute={},寮傚父淇℃伅={}",JSON.toJSONString(wrkMastExecute),"鏇存柊wrkMastExecute澶辫触");
+ }
+ }
+ }catch (Exception e){
+ log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,execute={},寮傚父淇℃伅={}",JSON.toJSONString(ex),e.getMessage());
+ }
}
} catch (Exception e){
-// log.error("鍫嗗灈鏈哄伐浣嶄簩瀹屾垚绛夊緟纭寮傚父,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={}",crn.getId(),e.getMessage(),2);
+ log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,寮傚父淇℃伅={}",e.getMessage());
}
return false;
}
@@ -4594,10 +4597,13 @@
default:
jarWrkMastExecuteGenerateSte(signExecute,sign);//灏忚溅绉诲姩
}
+ if (!signExecute[0] && !signExecute[1]){
+ //Ste绉诲姩
+ jarMastMove();
+ }
} catch (Exception e){
-
+ log.error("纭寲鍖哄煙鍒嗘浠诲姟鍒涘缓寮傚父,寮傚父淇℃伅={}",e.getMessage());
}
-
}
public synchronized boolean[] jarWrkMastExecuteGenerateJar(boolean[] signExecute,Integer sign) {
@@ -4787,10 +4793,10 @@
add(2);
}});
- //鍒ゆ柇灏忚溅鐘舵��
- if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarInSte().get(0).getSteNo(),1,SteStatusType.IDLE)){
- return false;
- }
+// //鍒ゆ柇灏忚溅鐘舵��
+// if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarInSte().get(0).getSteNo(),1,SteStatusType.IDLE)){
+// return false;
+// }
for (BasJarMast basJarMast : basJarMastList){
JarSlave.StaStn staStn = null;
@@ -4899,10 +4905,10 @@
if (Cools.isEmpty(basJarMastSign)){
return false;
}
- //鍒ゆ柇灏忚溅鐘舵��
- if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarInSte().get(0).getSteNo(),1,SteStatusType.IDLE)){
- return false;
- }
+// //鍒ゆ柇灏忚溅鐘舵��
+// if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarInSte().get(0).getSteNo(),1,SteStatusType.IDLE)){
+// return false;
+// }
JarSlave.RgvStn rgvStn = jarSlave.getJarInRgv().get(0);
@@ -4971,10 +4977,10 @@
if (Cools.isEmpty(basJarMastSign)){
return false;
}
- //鍒ゆ柇灏忚溅鐘舵��
- if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarInSte().get(0).getSteNo(),2,SteStatusType.IDLE)){
- return false;
- }
+// //鍒ゆ柇灏忚溅鐘舵��
+// if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarInSte().get(0).getSteNo(),2,SteStatusType.IDLE)){
+// return false;
+// }
//鍒ゆ柇RGV鐘舵��
JarSlave.RgvStn rgvStn = jarSlave.getJarOutRgv().get(0);
@@ -5041,10 +5047,10 @@
if (Cools.isEmpty(jarMastByJarIdMin)){
return false;
}
- //鍒ゆ柇灏忚溅鐘舵��
- if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarOutSte().get(0).getSteNo(),2,SteStatusType.IDLE)){
- return false;
- }
+// //鍒ゆ柇灏忚溅鐘舵��
+// if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarOutSte().get(0).getSteNo(),2,SteStatusType.IDLE)){
+// return false;
+// }
//鍒ゆ柇RGV鐘舵��
JarSlave.RgvStn rgvStn = jarSlave.getJarOutRgv().get(0);
@@ -5263,6 +5269,25 @@
return false;
}
+ /**
+ * JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц //瀹屾垚
+ */
+ public synchronized boolean jarWrkMastExecuteGenerateExecuteMove(BasJar basJar,BasJarMast basJarMast,Integer id,int[] digit) {
+ try {
+ WrkMastExecute wrkMastExecute = new WrkMastExecute(basJarMast);
+ wrkMastExecute.setJarId(id);
+ wrkMastExecute.setSteId(digit[0]);//绌挎鏉縄D
+ wrkMastExecute.setRgvId(basJar.getEnterRgvNo());//RGV ID enter
+ wrkMastExecute.setRgvEndId(basJar.getOutRgvNo());//RGV ID out
+ wrkMastExecute.setIoType(digit[2]);//浠诲姟绫诲瀷 0: 鏈煡 1: 寮�杩涙枡闂� 2: 鍏宠繘鏂欓棬 3: 寮�鍑烘枡闂� 4: 鍏冲嚭鏂欓棬 5: 鍏ョ~鍖栫綈 6: 鍏ュ喎鍗存Ы 7: 绌挎杞﹁繘鍐峰嵈妲� 8: 绌挎杞︾寮�鍐峰嵈妲� 9: 鍑哄喎鍗存Ы 10锛欰=>B 11:B=>A
+ wrkMastExecute.setType(digit[3]);//璁惧 0: 鏈煡 1: 纭寲缃� 2: 鍐峰嵈妲� 3: 纭寲缃�==>鍐峰嵈妲�
+ return wrkMastExecuteService.insert(wrkMastExecute);
+ } catch (Exception e) {
+ log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯稿師鍥狅細"+e.getMessage());
+ }
+ return false;
+ }
+
/*
* JarWrkMastExecute浠诲姟鍒涘缓==>涓嬪彂
* Action
@@ -5295,40 +5320,40 @@
if (jarWrkMastExecuteActionExecute1(wrkMastExecute,sign)){
break;
}
- return;
+ continue;
case 2:
case 4:
if (jarWrkMastExecuteActionExecute2(wrkMastExecute,sign)){
break;
}
- return;
+ continue;
case 5:
if (jarWrkMastExecuteActionExecute5(wrkMastExecute,sign)){
break;
}
- return;
+ continue;
case 6:
if (jarWrkMastExecuteActionExecute6(wrkMastExecute,sign)){
break;
}
- return;
+ continue;
case 7:
case 8:
if (jarWrkMastExecuteActionExecute7(wrkMastExecute,sign)){
break;
}
- return;
+ continue;
case 9:
if (jarWrkMastExecuteActionExecute9(wrkMastExecute,sign)){
break;
}
- return;
+ continue;
case 10:
case 11:
if (jarWrkMastExecuteActionExecute10(wrkMastExecute,sign)){
break;
}
- return;
+ continue;
}
}
} catch (Exception e){
@@ -5701,11 +5726,6 @@
return false;
}
-// //鍒ゆ柇灏忚溅鐘舵��
-// if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1)){
-// return false;
-// }
-
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
StaProtocol staProtocolRGV = devpThread.getStation().get(basJar.getEnterRgvNo());
if (staProtocolRGV == null) {
@@ -5726,7 +5746,6 @@
if (staProtocolRGVOther == null) {
return false;
}
- System.out.println();
if (staProtocolRGV.rgvBoolean(1) && staProtocolRGVOther.rgvBoolean(1)){
if (staProtocolRGV.getNowRow() != staProtocolRGVOther.getNowRow()){
//绉昏蛋 == > 2
@@ -5740,12 +5759,12 @@
//鑷姩銆佺┖闂层�� 杩涙枡浠墦寮�闇�鍏抽棴
if (jarProtocol.isAutoing() && jarProtocol.jarErr==0 && jarProtocol.isLeftDoor() && jarProtocol.isRightDoor()
&& jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0){
-
+ //鍒ゆ柇灏忚溅鐘舵��
+ if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
+ return false;
+ }
if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
- //鍒ゆ柇灏忚溅鐘舵��
- if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
- return false;
- }
+
//璋冭溅 == > 鍙栬揣
if (!jarRgvGetTake(wrkMastExecute
,SteAndJarUtil.getRgvStaRow(wrkMastExecute.getJarEnterStaNo())==1
@@ -5841,7 +5860,8 @@
return false;
}
- if (staProtocolRGV.rgvBoolean(2) && staProtocolRGVOther.rgvBoolean(1)){
+// if (staProtocolRGV.rgvBoolean(2) && staProtocolRGVOther.rgvBoolean(1)){
+ if (staProtocolRGV.rgvBoolean(2)){
if (staProtocolRGV.getNowRow() != staProtocolRGVOther.getNowRow()){
//绉昏蛋 == > 2
if (!jarRgvMoveTake(wrkMastExecute,2)){
@@ -5919,11 +5939,6 @@
return false;
}
-// //鍒ゆ柇灏忚溅鐘舵��
-// if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1)){
-// return false;
-// }
-
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
StaProtocol staProtocolRGV = devpThread.getStation().get(basJar.getEnterRgvNo());
if (staProtocolRGV == null) {
@@ -5958,12 +5973,13 @@
//鑷姩銆佺┖闂层��
if (jarProtocol.isAutoing() && jarProtocol.jarErr==0 && jarProtocol.isLeftDoor() && jarProtocol.isRightDoor()
&& jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0){
+ //鍒ゆ柇灏忚溅鐘舵��
+ if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
+ return false;
+ }
if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
- //鍒ゆ柇灏忚溅鐘舵��
- if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
- return false;
- }
+
//璋冭溅 == > 鍙栬揣
if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT21.id,SteTaskModeType.STE_WFQH_12,false)){
log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
@@ -6113,12 +6129,13 @@
/**
* JarWrkMastExecute浠诲姟==>涓嬪彂 //瀹屾垚
- * 7锛氱┛姊溅杩涘喎鍗存Ы\8锛氱┛姊溅绂诲紑鍐峰嵈妲�
+ * 7锛氱┛姊溅杩涘喎鍗存Ы 7 B=>C
+ * 8锛氱┛姊溅绂诲紑鍐峰嵈妲� 8 C=>B
* 浠诲姟涓嬪彂
*/
public synchronized boolean jarWrkMastExecuteActionExecute7(WrkMastExecute wrkMastExecute,Integer sign) {
try{
- List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.getWrkMastExecuteByJarNo(wrkMastExecute.getJarId());
+ List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecute);
if (wrkMastExecuteByJarNo.size()!=1 || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo())){
return false;
}
@@ -6199,10 +6216,10 @@
if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocolOther.getJarNo())){
//鍒ゆ柇灏忚溅鐘舵��
- if (wrkMastExecute.getIoType()==7){
+ if (wrkMastExecute.getIoType()==7){ //7 B=>C
if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
//璋冭溅 == > 绉诲姩
- if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT26.id,SteTaskModeType.STE_WFQH_12,false)){
+ if (jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT26.id,SteTaskModeType.STE_WFQH_12,false)){
log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
}
@@ -6212,7 +6229,7 @@
log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
}
- } else if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE)){
+ } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE)){
wrkMastExecute.setWrkType(1);
wrkMastExecute.setWrkSts(4);
if (!wrkMastExecuteService.updateById(wrkMastExecute)){
@@ -6220,8 +6237,8 @@
wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
}
}
- } else {
- if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE)){
+ } else { //8 C=>B
+ if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE)){
//璋冭溅 == > 绉诲姩
if (!jarSteTake(wrkMastExecute,SteLocaType.POINT26.id,SteLocaType.POINT23.id,SteTaskModeType.STE_WFQH_12,false)){
log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
@@ -6233,7 +6250,7 @@
log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
}
- } else if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
+ } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
wrkMastExecute.setWrkType(1);
wrkMastExecute.setWrkSts(4);
if (!wrkMastExecuteService.updateById(wrkMastExecute)){
@@ -6438,7 +6455,7 @@
*/
public synchronized boolean jarWrkMastExecuteActionExecute10(WrkMastExecute wrkMastExecute,Integer sign) {
try{
- List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.getWrkMastExecuteByJarNo(wrkMastExecute.getJarId());
+ List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecute);
if (wrkMastExecuteByJarNo.size()!=1 || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo())){
return false;
}
@@ -6502,8 +6519,8 @@
if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
//鍒ゆ柇灏忚溅鐘舵��
- if (wrkMastExecute.getIoType()==10){
- if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
+ if (wrkMastExecute.getIoType()==10){//10锛欰=>B
+ if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
//璋冭溅 == > 绉诲姩
if (!jarSteTake(wrkMastExecute,SteLocaType.POINT20.id,SteLocaType.POINT23.id,SteTaskModeType.STE_WFQH_12,false)){
log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
@@ -6515,7 +6532,7 @@
log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
}
- } else if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
+ } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
wrkMastExecute.setWrkType(1);
wrkMastExecute.setWrkSts(4);
if (!wrkMastExecuteService.updateById(wrkMastExecute)){
@@ -6523,8 +6540,8 @@
wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
}
}
- } else {
- if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
+ } else {//11:B=>A
+ if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
//璋冭溅 == > 绉诲姩
if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT20.id,SteTaskModeType.STE_WFQH_12,false)){
log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
@@ -6536,7 +6553,7 @@
log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
}
- } else if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
+ } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
wrkMastExecute.setWrkType(1);
wrkMastExecute.setWrkSts(4);
if (!wrkMastExecuteService.updateById(wrkMastExecute)){
@@ -6639,11 +6656,15 @@
public synchronized boolean jarSteTake(WrkMastExecute wrkMastExecute,Integer startLoad,Integer endLoad,SteTaskModeType steTaskModeType,boolean complete){
try {
SteCommand steCommand = new SteCommand();
+ steCommand.setTaskNo(wrkMastExecute.getWrkNo().intValue());
steCommand.setSteNo(wrkMastExecute.getSteId());
steCommand.setStartLoad(startLoad);
steCommand.setEndLoad(endLoad);
steCommand.setTaskModeType(steTaskModeType);
steCommand.setComplete(complete);
+ if (!complete){
+ steCommand.setTaskMode(steTaskModeType.id.shortValue());
+ }
steCommand.setJarNo(wrkMastExecute.getJarId().shortValue());
if (!MessageQueue.offer(SlaveType.Ste, steCommand.getSteNo(), new Task(2, steCommand))) {
log.error("绌挎杞te鍛戒护涓嬪彂澶辫触锛屽爢鍨涙満鍙�={},浠诲姟鏁版嵁={},涓嬪彂鏁版嵁={},complete={}", steCommand.getSteNo(), JSON.toJSON(wrkMastExecute), JSON.toJSON(steCommand),complete);
@@ -6676,7 +6697,7 @@
}
/**
- * JarWrkMastExecute浠诲姟瀹屾垚 //鏈畬鎴�
+ * JarWrkMastExecute浠诲姟瀹屾垚 //瀹屾垚
*/
public synchronized void jarWrkMastExecuteGenerateComplete(Integer sign) {
try{
@@ -6728,9 +6749,9 @@
continue;
}
if (steProtocol.getMode()==(short)1 && steProtocol.taskNo!=0 && steProtocol.getChargeStatus()==0){
- if (steProtocol.statusType.equals(SteStatusType.WAITING)){
-
- }
+// if (steProtocol.statusType.equals(SteStatusType.WAITING)){
+//
+// }
WrkMastExecute wrkMastExecute = wrkMastExecuteService.getWrkMastExecuteByWrkNo(steProtocol.getTaskNo().longValue());
if (!Cools.isEmpty(wrkMastExecute)){
switch (wrkMastExecute.getIoType()){
@@ -6757,24 +6778,19 @@
if (wrkMastExecute.getWrkSts()==5){
//1锛歊GV灏忚溅绉诲姩銆�2锛歊GV灏忚溅鍒颁綅銆�3锛歳gv鍙栬揣銆�4锛歳gv鍙栬揣瀹屾垚銆�5锛歋te绌挎鐗堝叆纭寲缃愩��6锛氬叆缃愬畬鎴愩��7锛氭洿鏂板畬鎴� //io_type = 5
//ste浠诲姟瀹屾垚
- if (wrkMastExecute.getWrkSts()==3){//==>4
- //1锛歊GV灏忚溅绉诲姩銆�2锛歊GV灏忚溅鍒颁綅銆�3锛歋te绌挎鐗堝彇璐с��4锛氬彇璐у畬鎴愮瓑寰呬笅涓�姝ャ��5锛歋te绌挎鐗堟斁璐ц嚦鍐峰嵈姹犮��6锛氭斁璐у畬鎴愩��7锛氭洿鏂板畬鎴� //io_type = 6
- //ste浠诲姟绛夊緟瀹屾垚
- if (steProtocol.statusType.equals(SteStatusType.WAITING)){
- //ste浠诲姟瀹屾垚
- if (jarSteTake(wrkMastExecute,null,null,null,true)){
- wrkMastExecute.setWrkSts(6);
- if (!wrkMastExecuteService.updateById(wrkMastExecute)){
- log.error("绌挎杞te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},绌挎杞︽暟鎹�={},sign={}",
- wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(steProtocol),sign);
- }
- return true;
+ if (steProtocol.statusType.equals(SteStatusType.WAITING)){
+ //ste浠诲姟瀹屾垚
+ if (jarSteTake(wrkMastExecute,null,null,null,true)){
+ wrkMastExecute.setWrkSts(6);
+ if (!wrkMastExecuteService.updateById(wrkMastExecute)){
+ log.error("绌挎杞te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},绌挎杞︽暟鎹�={},sign={}",
+ wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(steProtocol),sign);
}
+ return true;
}
- log.error("绌挎杞te鍛戒护涓嬪彂澶辫触===>涓嬪彂寮傚父锛宩ar鍙�={},浠诲姟鏁版嵁={},绌挎杞︽暟鎹�={},sign={}",
- wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(steProtocol),sign);
- return true;
}
+ log.error("绌挎杞te鍛戒护涓嬪彂澶辫触===>涓嬪彂寮傚父锛宩ar鍙�={},浠诲姟鏁版嵁={},绌挎杞︽暟鎹�={},sign={}",
+ wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(steProtocol),sign);
return true;
}
return false;
@@ -7044,4 +7060,119 @@
return false;
}
+ /**
+ * Jar浠诲姟 绌挎杞︾Щ鍔ㄤ换鍔� //瀹屾垚
+ */
+ public synchronized boolean jarMastMove() {
+ try{
+ for (SteSlave steSlave : slaveProperties.getSte()){
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steSlave.getId());
+ if (steThread == null) {
+ continue;
+ }
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol == null) {
+ continue;
+ }
+
+ if (wrkMastExecuteService.selectNoStart(steSlave.getId())!=0){
+ continue;
+ }
+
+ if (wrkMastExecuteService.selectMoveStart(steSlave.getId())!=0){
+ continue;
+ }
+
+ try{
+ if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),1,SteStatusType.IDLE)){
+ List<WrkMastExecute> wrkMastExecutes = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 5, null);
+ if (wrkMastExecutes.isEmpty()){
+ List<WrkMastExecute> wrkMastExecutesB = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 6, null);
+ List<WrkMastExecute> wrkMastExecutesC = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 9, null);
+
+ if (!wrkMastExecutesB.isEmpty() || !wrkMastExecutesC.isEmpty()){
+ WrkMastExecute wrkMastExecute = !wrkMastExecutesB.isEmpty() ? wrkMastExecutesB.get(0) : wrkMastExecutesC.get(0);
+ BasJar basJar = basJarMapper.selectById(wrkMastExecute.getJarId());
+ if (Cools.isEmpty(basJar)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",wrkMastExecute.getJarId());
+ return false;
+ }
+ BasJarMast jarMastByWrkNo = basJarMastService.getJarMastByWrkNo(wrkMastExecute.getWrkNo());
+ //A==>B
+ if (!jarWrkMastExecuteGenerateExecute(basJar,jarMastByWrkNo,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),10,1})){
+ log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(jarMastByWrkNo));
+ }
+ continue;
+ }
+ }
+ } else if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),2,SteStatusType.IDLE)){
+ List<WrkMastExecute> wrkMastExecutes = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 6, null);
+ if (wrkMastExecutes.isEmpty()){
+ List<WrkMastExecute> wrkMastExecutesA = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 5, null);
+ List<WrkMastExecute> wrkMastExecutesC = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 9, null);
+ if (!wrkMastExecutesA.isEmpty()){
+ WrkMastExecute wrkMastExecute = wrkMastExecutesA.get(0);
+ BasJar basJar = basJarMapper.selectById(wrkMastExecute.getJarId());
+ if (Cools.isEmpty(basJar)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",wrkMastExecute.getJarId());
+ return false;
+ }
+ BasJarMast jarMastByWrkNo = basJarMastService.getJarMastByWrkNo(wrkMastExecute.getWrkNo());
+ //B==>A
+ if (!jarWrkMastExecuteGenerateExecute(basJar,jarMastByWrkNo,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),11,1})){
+ log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(jarMastByWrkNo));
+ }
+ continue;
+ }
+
+ if (!wrkMastExecutesC.isEmpty()){
+ WrkMastExecute wrkMastExecute = wrkMastExecutesC.get(0);
+ BasJar basJar = basJarMapper.selectById(wrkMastExecute.getJarId());
+ if (Cools.isEmpty(basJar)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",wrkMastExecute.getJarId());
+ return false;
+ }
+ BasJarMast jarMastByWrkNo = basJarMastService.getJarMastByWrkNo(wrkMastExecute.getWrkNo());
+ //B==>C
+ if (!jarWrkMastExecuteGenerateExecute(basJar,jarMastByWrkNo,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),7,1})){
+ log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(jarMastByWrkNo));
+ }
+ continue;
+ }
+ }
+ } else if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),3,SteStatusType.IDLE)){
+ List<WrkMastExecute> wrkMastExecutes = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 9, null);
+ if (wrkMastExecutes.isEmpty()){
+ List<WrkMastExecute> wrkMastExecutesB = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 9, null);
+ List<WrkMastExecute> wrkMastExecutesA = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 6, null);
+ if (!wrkMastExecutesB.isEmpty() || !wrkMastExecutesA.isEmpty()){
+ WrkMastExecute wrkMastExecute = !wrkMastExecutesB.isEmpty() ? wrkMastExecutesB.get(0) : wrkMastExecutesA.get(0);
+ BasJar basJar = basJarMapper.selectById(wrkMastExecute.getJarId());
+ if (Cools.isEmpty(basJar)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",wrkMastExecute.getJarId());
+ return false;
+ }
+ BasJarMast jarMastByWrkNo = basJarMastService.getJarMastByWrkNo(wrkMastExecute.getWrkNo());
+ //C==>B
+ if (!jarWrkMastExecuteGenerateExecute(basJar,jarMastByWrkNo,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),8,1})){
+ log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(jarMastByWrkNo));
+ }
+ continue;
+ }
+ }
+ }
+ }catch (Exception e){
+ log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,steProtocol={},寮傚父淇℃伅={}",JSON.toJSONString(steProtocol),e.getMessage());
+ }
+
+ WrkMastExecute wrkMastExecute = wrkMastExecuteService.selectStart(steSlave.getId());
+
+
+ }
+ } catch (Exception e){
+ log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,寮傚父淇℃伅={}",e.getMessage());
+ }
+ return false;
+ }
+
}
--
Gitblit v1.9.1