From 2940d3a42bc0ae1a1ef5cefaf1ed881da28e8b06 Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期三, 07 八月 2024 20:37:15 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 319 ++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 240 insertions(+), 79 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 a92436c..831210c 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -59,6 +59,8 @@
// 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},{7,4},{8,4},{9,3},{10,4},{11,4}};
+ private static final Integer jarMaxLoc = 7;
+ private static final Float jarTemperature = 50F;
@Autowired
private CommonService commonService;
@Autowired
@@ -501,6 +503,15 @@
if (!Cools.isEmpty(barcode)) {
// log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) {
+ continue;
+ }
+ if ("00000000".equals(barcode)){
+ log.error(inSta+"绔欑偣锛屾壂鐮佸け璐ワ紝barcode锛�"+barcode);
+ // led 寮傚父鏄剧ず
+// LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+// if (ledThread != null) {
+// MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, inSta+"绔欑偣锛屾壂鐮佸け璐ワ紝barcode锛�"+barcode));
+// }
continue;
}
} else {
@@ -3737,39 +3748,45 @@
} else {
staProtocol = staProtocol.clone();
}
- if (emptyInSta.getStaNo()==607 && staProtocol.getStaNo()==607 && staProtocol.getWorkNo()>20000){
+ if (emptyInSta.getStaNo()==607 && staProtocol.getStaNo()==607 && staProtocol.getWorkNo()>20000 && staProtocol.isLoading() && staProtocol.isAutoing()){
try {
- LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
+ BasDevp basDevp = basDevpService.selectById(staProtocol.getStaNo());
+ if (basDevp.getReportSign()==0){
+ LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
- SearchLocParam param = new SearchLocParam();
- param.setIoType(10);
- param.setSourceStaNo(emptyInSta.getStaNo());
- param.setLocType1(locTypeDto.getLocType1());
- String response = new HttpHandler.Builder()
- .setUri(wmsUrl)
- .setPath("/rpc/pakin/loc/v1")
- .setJson(JSON.toJSONString(param))
- .build()
- .doPost();
- JSONObject jsonObject = JSON.parseObject(response);
- if (jsonObject.getInteger("code").equals(200)) {
- StartupDto dto = jsonObject.getObject("data", StartupDto.class);
+ SearchLocParam param = new SearchLocParam();
+ param.setIoType(10);
+ param.setSourceStaNo(emptyInSta.getStaNo());
+ param.setLocType1(locTypeDto.getLocType1());
+ String response = new HttpHandler.Builder()
+ .setUri(wmsUrl)
+ .setPath("/rpc/pakin/loc/v1")
+ .setJson(JSON.toJSONString(param))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ if (jsonObject.getInteger("code").equals(200)) {
+ basDevp.setReportSign(1);
+ basDevpService.updateById(basDevp);
+ StartupDto dto = jsonObject.getObject("data", StartupDto.class);
- // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
- staProtocol.setWorkNo(dto.getWorkNo());
- staProtocol.setStaNo(607);
- devpThread.setPakMk(staProtocol.getSiteId(), false);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(5, staProtocol));
- if (!result) {
- throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+ // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
+ staProtocol.setWorkNo(dto.getWorkNo());
+ staProtocol.setStaNo(607);
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(5, staProtocol));
+ if (!result) {
+ throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+ }
+ } else {
+ log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
}
- } else {
- log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
}
} catch (Exception e) {
e.printStackTrace();
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
+ return;
}
// 绔欑偣鏉′欢鍒ゆ柇
@@ -4809,10 +4826,10 @@
if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),3)!=0){
break;
}
- if (basJarMastService.getJarMastByJarIdCount(jarSlave.getId())>=14){
+ if (basJarMastService.getJarMastByJarIdCount(jarSlave.getId())>=jarMaxLoc*2){
break;
}
- if (basJarMastService.selectJarMastOperation(jarSlave.getId(),0,9)>=7){
+ if (basJarMastService.selectJarMastOperation(jarSlave.getId(),0,9)>=jarMaxLoc){
break;
}
if (!Objects.equals
@@ -4831,7 +4848,7 @@
break;
}
jarLocDigit = 1;
- } else if (jarMastByJarIdMax.getJarLocDigit()<7){
+ } else if (jarMastByJarIdMax.getJarLocDigit()<jarMaxLoc){
jarLocDigit = jarMastByJarIdMax.getJarLocDigit()+1;
} else {
continue;
@@ -4882,7 +4899,7 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -4951,6 +4968,17 @@
if (basJarMastList.size()!=integer){
log.error("{}鍙风~鍖栫綈纭寲瀹屾垚鍚庡紑闂ㄥ畬鎴愪慨鏀圭~鍖栨。妗堢姸鎬佺粨鏋滄暟閲忎笉涓�鑷达紒锛侊紒鏌ヨ璧勬枡鏁伴噺={}锛屾洿鏂拌繑鍥炴暟閲�={}",jarMastByWrkNo.getJarId(),basJarMastList.size(),integer);
}
+ } else if (wrkMastExecute.getIoType()==2 && jarMastByWrkNo.getStatus()==5){
+ List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarMastByWrkNo.getJarId(), new ArrayList<Integer>() {{
+ add(4);//纭寲瀹屾垚
+ }});
+ if (basJarMastList.isEmpty()){
+ continue;
+ }
+ Integer integer = basJarMastService.updateStatus(jarMastByWrkNo.getJarId(), 4, 5);
+ if (basJarMastList.size()!=integer){
+ log.error("{}鍙风~鍖栫綈纭寲瀹屾垚鍚庡紑闂ㄥ畬鎴愪慨鏀圭~鍖栨。妗堢姸鎬佺粨鏋滄暟閲忎笉涓�鑷达紒锛侊紒鏌ヨ璧勬枡鏁伴噺={}锛屾洿鏂拌繑鍥炴暟閲�={}",jarMastByWrkNo.getJarId(),basJarMastList.size(),integer);
+ }
} else {
if (!basJarMastService.updateById(jarMastByWrkNo)){
log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,BasJarMast={},寮傚父淇℃伅={}",JSON.toJSONString(jarMastByWrkNo),"鏇存柊basJarMast澶辫触");
@@ -5016,10 +5044,7 @@
if (jarProtocol.modeType != JarModeType.AUTO){
continue;
}
- if (jarProtocol.getJarTemperature()>50){
- log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
- continue;
- }
+
JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
@@ -5047,6 +5072,10 @@
break;//寮�闂ㄤ换鍔� 鐢熸垚鍏ョ~鍖栫綈浠诲姟
}
case 2:
+ if (jarProtocol.getJarTemperature()>jarTemperature){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+ continue;
+ }
if (jarWrkMastExecuteGenerate2(jarSlave,sign)){
signExecute[i] = true;
break;//鍏宠繘鏂欓棬
@@ -5057,6 +5086,10 @@
break;//寮�鍑烘枡闂�
}
case 4:
+ if (jarProtocol.getJarTemperature()>jarTemperature){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+ continue;
+ }
if (jarWrkMastExecuteGenerate4(jarSlave,sign)){
signExecute[i] = true;
break;//鍑虹~鍖栫綈 ===銆� 鍏ュ喎鍗存Ы
@@ -5095,7 +5128,7 @@
signExecute[jarSlave.getId()-5] = true;
continue;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
continue;
}
@@ -5110,9 +5143,10 @@
if (jarProtocol.isAutoing() && jarProtocol.jarErr==0){
if (jarWrkMastExecuteGenerate5(jarSlave,sign)){
signExecute[jarSlave.getId()-5] = true;
- //鍑虹~鍖栫綈 ===銆� 鍏ュ喎鍗存Ы
+ return signExecute;
+ //鍐峰嵈瀹屾垚涓婅緭閫佺嚎
}
- return signExecute;
+ continue;
}
} catch (Exception e){
log.error("{}鍙风~鍖栫綈JarWrkMastExecute浠诲姟鍒涘缓寮傚父,寮傚父鍘熷洜={}",jarSlave.getId(),e.getMessage());
@@ -5143,7 +5177,7 @@
if (jarProtocol.modeType != JarModeType.AUTO){
continue;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
continue;
}
@@ -5241,7 +5275,7 @@
if (jarProtocol.statusType .equals(JarStatusType.WAITING2) || jarProtocol.statusType .equals(JarStatusType.SOS)){
return false;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
continue;
}
@@ -5257,6 +5291,10 @@
BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
if (Cools.isEmpty(basJar)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
+ return false;
+ }
+
+ if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(basJar.getRegion())!=0){
return false;
}
@@ -5307,12 +5345,16 @@
List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
add(4);
}});
- if (basJarMastList.size() != 7){
+ if (basJarMastList.size() != jarMaxLoc){
return false;
}
BasJarMast basJarMastSign = basJarMastList.get(0);
if (Cools.isEmpty(basJarMastSign)){
+ return false;
+ }
+
+ if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(basJarMastSign.getJarRegin())!=0){
return false;
}
// //鍒ゆ柇灏忚溅鐘舵��
@@ -5337,7 +5379,7 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -5346,7 +5388,7 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
return false;
}
- if (basJar.getJarCount()!=7){
+ if (!basJar.getJarCount().equals(jarMaxLoc)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧搴撳瓨鏁板紓甯革紒锛侊紒搴撳瓨寰呭叆鏁帮細{}",jarProtocol.getJarNo(),basJar.getJarCount());
return false;
}
@@ -5384,7 +5426,7 @@
List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
add(6);
}});
- if (basJarMastList.size() != 7){
+ if (basJarMastList.size() != jarMaxLoc){
return false;
}
if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),5)!=0){
@@ -5393,6 +5435,10 @@
BasJarMast basJarMastSign = basJarMastList.get(0);
if (Cools.isEmpty(basJarMastSign)){
+ return false;
+ }
+
+ if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(basJarMastSign.getJarRegin())!=0){
return false;
}
// //鍒ゆ柇灏忚溅鐘舵��
@@ -5418,10 +5464,10 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
- if (jarProtocol.getJarTemperature()>50){
- log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
- return false;
- }
+// if (jarProtocol.getJarTemperature()>jarTemperature){
+// log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+// return false;
+// }
BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
if (Cools.isEmpty(basJar)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
@@ -5464,13 +5510,26 @@
if (basJarMastList.isEmpty()){
return false;
}
-
+ List<BasJarMast> basJarMastList10 = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
+ add(10);
+ }});
+ if (basJarMastList10.size()==jarMaxLoc){
+ return false;
+ }
if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),4)!=0){
return false;
}
BasJarMast jarMastByJarIdMin = basJarMastService.getJarMastByJarIdMin(jarSlave.getId(),8,8);
if (Cools.isEmpty(jarMastByJarIdMin)){
+ return false;
+ }
+ if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(jarMastByJarIdMin.getJarRegin())!=0){
+ return false;
+ }
+
+ int count = basJarMastService.selectCount(new EntityWrapper<BasJarMast>().eq("jar_regin", jarMastByJarIdMin.getJarRegin()).lt("status", 17).gt("status", 10));
+ if (count>0){
return false;
}
// //鍒ゆ柇灏忚溅鐘舵��
@@ -5554,6 +5613,10 @@
if (Cools.isEmpty(jarMastByJarIdMin)){
return false;
}
+
+ if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(jarMastByJarIdMin.getJarRegin())!=0){
+ return false;
+ }
//
// //鍒ゆ柇灏忚溅鐘舵��
// if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarOutSte().get(0).getSteNo(),3,SteStatusType.IDLE)){
@@ -5573,13 +5636,33 @@
if (jarProtocol.modeType != JarModeType.AUTO){
return false;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
if (Cools.isEmpty(basJar)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
+ return false;
+ }
+
+ // 鑾峰彇纭寲缃愪俊鎭�
+ JarThread jarThreadOther = (JarThread) SlaveConnection.get(SlaveType.Jar, SteAndJarUtil.getRgvJarNo(jarProtocol.getJarNo()));
+ JarProtocol jarProtocolOther = jarThreadOther.getJarProtocol();
+ if (jarProtocolOther == null) {
+ return false;
+ }
+ if (jarProtocolOther.modeType != JarModeType.AUTO){
+ return false;
+ }
+
+ BasJar basJarOther = basJarMapper.selectById(jarProtocolOther.getJarNo());
+ if (Cools.isEmpty(basJarOther)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocolOther.getJarNo());
+ return false;
+ }
+
+ if (!jarProtocolOther.isRightDoor()){
return false;
}
@@ -5996,10 +6079,10 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
- if (jarProtocol.getJarTemperature()>50){
- log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
- return false;
- }
+// if (jarProtocol.getJarTemperature()>jarTemperature){
+// log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+// return false;
+// }
BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
if (Cools.isEmpty(basJar)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
@@ -6124,7 +6207,7 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -6252,7 +6335,7 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -6368,7 +6451,7 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -6484,13 +6567,33 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
if (Cools.isEmpty(basJar)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
+ return false;
+ }
+
+ // 鑾峰彇纭寲缃愪俊鎭�
+ JarThread jarThreadOther = (JarThread) SlaveConnection.get(SlaveType.Jar, SteAndJarUtil.getRgvJarNo(wrkMastExecute.getJarId()));
+ JarProtocol jarProtocolOther = jarThreadOther.getJarProtocol();
+ if (jarProtocolOther == null) {
+ return false;
+ }
+ if (jarProtocolOther.modeType != JarModeType.AUTO){
+ return false;
+ }
+
+ BasJar basJarOther = basJarMapper.selectById(jarProtocolOther.getJarNo());
+ if (Cools.isEmpty(basJarOther)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocolOther.getJarNo());
+ return false;
+ }
+
+ if (!jarProtocolOther.isRightDoor()){
return false;
}
@@ -6600,13 +6703,29 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
if (Cools.isEmpty(basJar)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
+ return false;
+ }
+
+ // 鑾峰彇纭寲缃愪俊鎭�
+ JarThread jarThreadOther = (JarThread) SlaveConnection.get(SlaveType.Jar, SteAndJarUtil.getRgvJarNo(wrkMastExecute.getJarId()));
+ JarProtocol jarProtocolOther = jarThreadOther.getJarProtocol();
+ if (jarProtocolOther == null) {
+ return false;
+ }
+ if (jarProtocolOther.modeType != JarModeType.AUTO){
+ return false;
+ }
+
+ BasJar basJarOther = basJarMapper.selectById(jarProtocolOther.getJarNo());
+ if (Cools.isEmpty(basJarOther)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocolOther.getJarNo());
return false;
}
@@ -6652,7 +6771,7 @@
&& jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0){
log.error("6:鍏ュ喎鍗存Ы Three==>浠诲姟涓嬪彂===>琛�={}",6115);
- if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
+ if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocolOther.getJarNo())){
//鍒ゆ柇灏忚溅鐘舵��
if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.WAITING2,false)){
return false;
@@ -6670,7 +6789,7 @@
}
} else {
//璋冭溅 == > endRow
- if (!jarRgvMoveTake(wrkMastExecute,1)){
+ if (!jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getJarNoEndRow(basJar.getBurial()))){
log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
@@ -6716,7 +6835,7 @@
if (jarProtocol.modeType != JarModeType.AUTO){
return false;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -6832,7 +6951,7 @@
} else {
//璋冭溅 == > endRow
- if (!jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId()))){
+ if (!jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(jarProtocolOther.getJarNo()))){
log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
@@ -6880,7 +6999,7 @@
// if (jarProtocol.modeType != JarModeType.AUTO){
// return false;
// }
-// if (jarProtocol.getJarTemperature()>50){
+// if (jarProtocol.getJarTemperature()>jarTemperature){
// log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
// return false;
// }
@@ -7056,7 +7175,7 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -7514,10 +7633,6 @@
if (jarProtocol.modeType != JarModeType.AUTO){
continue;
}
- if (jarProtocol.getJarTemperature()>50){
- log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
- return false;
- }
BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
if (Cools.isEmpty(basJar)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
@@ -7543,6 +7658,10 @@
&& jarProtocol.leftDoorOpen!=1 && jarProtocol.leftDoorOpen!=3
&& jarProtocol.rightDoorOpen!=1 && jarProtocol.rightDoorOpen!=3
&& (jarProtocol.leftDoorOpen==2 || jarProtocol.rightDoorOpen==2)){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+ return false;
+ }
WrkMastExecute wrkMastExecuteSou = new WrkMastExecute();
wrkMastExecuteSou.setWrkSts(3);
List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou);
@@ -7577,6 +7696,10 @@
&& jarProtocol.leftDoorClose!=1 && jarProtocol.leftDoorClose!=3
&& jarProtocol.rightDoorClose!=1 && jarProtocol.rightDoorClose!=3
&& (jarProtocol.leftDoorClose==2 || jarProtocol.rightDoorClose==2)){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+ return false;
+ }
WrkMastExecute wrkMastExecuteSou = new WrkMastExecute();
wrkMastExecuteSou.setWrkSts(3);
List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou);
@@ -7702,6 +7825,8 @@
return true;
}
return true;
+ } else {
+ log.error("{}鍙峰钩琛¤溅褰撳墠鐘舵�佷笉婊¤冻鍏ョ~鍖栫綈鏉′欢锛屽綋鍓嶄换鍔★紝骞宠 杞︿粠鍙栬揣");
}
}
return true;
@@ -7949,7 +8074,7 @@
if (jarProtocol.statusType .equals(JarStatusType.SOS)){
continue;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
continue;
}
if (jarProtocol.leftDoorOpen != 0 || jarProtocol.rightDoorOpen != 0){
@@ -7999,9 +8124,16 @@
if (steProtocol.getCharge()>95.0F || steProtocol.getFullCharge()){
} else if (steProtocol.getCharge()>50.0F){
- if (wrkMastExecuteService.selectNoStartCharge(steSlave.getId())==0){
- if (wrkMastExecuteService.selectMoveStart(steSlave.getId())==0){
- continue;
+ List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusListCharge(steSlave.getId(), new ArrayList<Integer>() {{
+ add(5);
+ add(11);
+ add(17);
+ }});
+ if(basJarMastList.isEmpty()){
+ if (wrkMastExecuteService.selectNoStartCharge(steSlave.getId())==0){
+ if (wrkMastExecuteService.selectMoveStart(steSlave.getId())==0){
+ continue;
+ }
}
}
} else {
@@ -8058,7 +8190,7 @@
if (staNo1!=0){
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 2);
StaProtocol staProtocol607 = devpThread.getStation().get(607);
- if (staProtocol607.getWorkNo()<9001 && staProtocol607.getWorkNo()!=0 && staProtocol607.isLoading() && staProtocol607.isAutoing()){
+ if (staProtocol607.getWorkNo()<9001 && staProtocol607.getWorkNo()!=0 && staProtocol607.isLoading() && staProtocol607.isAutoing() && staProtocol607.getStaNo() == 607){
staProtocol607.setStaNo(staNo1);
boolean result2 = MessageQueue.offer(SlaveType.Devp, 2, new Task(5, staProtocol607));
}
@@ -8066,13 +8198,14 @@
}
public synchronized Integer jarGetStartStaNo(Integer staNo) {
try {
- int[] jarNos=new int[]{1,2,3,4};//(607鍒嗛厤纭寲缃�)
+ int[] jarNos=new int[]{3,1,4,2};//(607鍒嗛厤纭寲缃�)
ArrayList<Integer> staNos = new ArrayList<Integer>() {{
add(607);add(608);add(609);add(610);add(611);add(612);
add(613);add(614);add(615);add(616);add(617);add(618);
add(619);add(620);add(621);add(622);
}};
ArrayList<Integer> jarNoList = new ArrayList<>();
+ ArrayList<Integer> jarNoList1 = new ArrayList<>();
ArrayList<Integer> jarNoListNow = new ArrayList<>();
for (int jarNo : jarNos) {
List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarNo, new ArrayList<Integer>() {{
@@ -8085,14 +8218,42 @@
if (basJarMastList.isEmpty()){
continue;
}
- if (basJarMastList.size()>0 && basJarMastList.size()<7){
+ if (basJarMastList.size()>0 && basJarMastList.size()<jarMaxLoc){
jarNoList.add(jarNo);
}
}
- jarNoList.add(4);
- jarNoList.add(2);
- jarNoList.add(3);
- jarNoList.add(1);
+ for (int jarNo : jarNos) {
+ if (!jarNoList.contains(jarNo)){
+ jarNoList1.add(jarNo);
+ }
+ }
+ for (int jarNo : jarNoList1) {
+ List<BasJarMast> jarMastByJarIdAndStatusList = basJarMastService.getJarMastByJarIdAndStatusList(8, jarNo);
+ if (jarMastByJarIdAndStatusList.isEmpty()){
+ jarNoList.add(jarNo);
+ }
+ }
+ jarNoList1 = new ArrayList<Integer>();
+ for (int jarNo : jarNos) {
+ if (!jarNoList.contains(jarNo)){
+ jarNoList1.add(jarNo);
+ }
+ }
+ for (int jarNo : jarNoList1) {
+ List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarNo, new ArrayList<Integer>() {{
+ add(5);
+ add(6);
+ add(7);
+ add(8);
+ add(9);
+ add(13);
+ add(14);
+ add(15);
+ }});
+ if (basJarMastList.isEmpty()){
+ jarNoList.add(jarNo);
+ }
+ }
for (int jarNo : jarNoList) {
if (jarNoListNow.contains(jarNo)){
continue;
@@ -8109,7 +8270,7 @@
if (jarProtocol.statusType .equals(JarStatusType.SOS)){
continue;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
continue;
}
@@ -8139,7 +8300,7 @@
}
}
}
- if (count<7){
+ if (count<jarMaxLoc){
return basJar.getEntStaNo$();
}
}
--
Gitblit v1.9.1