From f92c6bf13a51ebec77407970cf5e822538dd709d Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期四, 09 一月 2025 08:01:23 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 362 ++++++++++++++++++++++++++++++++++++---------------
1 files changed, 254 insertions(+), 108 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 6a599af..4451bad 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -7,6 +7,7 @@
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
+import com.core.common.SpringUtils;
import com.core.exception.CoolException;
import com.zy.asrs.domain.enums.LedErrorAreaType;
import com.zy.asrs.domain.enums.WorkNoType;
@@ -57,13 +58,9 @@
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},{7,4},{8,4},{9,3},{10,4},{11,4}};
-// private static final Integer jarMaxLoc1 = 7;
private static Integer jarMaxLoc = 0;
-// private static Integer signBigTurn = 0;
-// private static Integer signSmallTurn = 0;
private static final Float jarTemperature = 50F;
@Autowired
private CommonService commonService;
@@ -236,6 +233,7 @@
devpThread.setPakMk(staProtocol.getSiteId(), false,238);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
return;
@@ -281,6 +279,7 @@
devpThread.setPakMk(staProtocol.getSiteId(), false,283);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
} else {
@@ -408,6 +407,7 @@
devpThread.setPakMk(staProtocol.getSiteId(), false,422);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
return;
@@ -453,6 +453,7 @@
devpThread.setPakMk(staProtocol.getSiteId(), false,467);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
} else if (jsonObject.getInteger("code").equals(700)){
@@ -615,12 +616,7 @@
devpThread.setPakMk(staProtocol1.getSiteId(), false,637);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol1));
if (!result) {
- if (ledThread != null) {
- ErrMsg errMsg1 = new ErrMsg();
- errMsg1.setErrMsg("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo());
- errMsg1.setArea("1");
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
- }
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
return;
@@ -771,13 +767,7 @@
// 閫�鍥�
if (back) {
// led 寮傚父鏄剧ず
- LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
- if (ledThread != null) {
- ErrMsg errMsg1 = new ErrMsg();
- errMsg1.setErrMsg(errMsg);
- errMsg1.setArea("4");
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
- }
+ LedErrorThreadUtil.ledErrorThread(errMsg,inSta.getLed(), LedErrorAreaType.FOUR_BARCODE.getDesc());
continue;
}
@@ -828,12 +818,7 @@
log.info("閿佸畾鏍囪flase===銆婲===銆嬬珯鐐瑰彿锛歿}锛屽伐浣滃彿锛歿}锛屾潯鐮�:{}",staProtocol1.getSiteId(),staProtocol1.getWorkNo(),barcode);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol1));
if (!result) {
- if (ledThread != null) {
- ErrMsg errMsg1 = new ErrMsg();
- errMsg1.setErrMsg("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo());
- errMsg1.setArea("1");
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
- }
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
return;
@@ -878,6 +863,7 @@
log.info("閿佸畾鏍囪flase===銆婲===銆嬬珯鐐瑰彿锛歿}锛屽伐浣滃彿锛歿}锛屾潯鐮�:{}",staProtocol1.getStaNo(),staProtocol1.getWorkNo(),barcode);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol1));
if (!result) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
try{
@@ -1149,7 +1135,7 @@
String barcode = wrkMast.getBarcode();
if(!Cools.isEmpty(barcode)) {
- if("NG".endsWith(barcode) || "NoRead".equals(barcode) || "empty".equals(barcode)) {
+ if("NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode) || "empty".equals(barcode)) {
continue;
}
} else {
@@ -2284,7 +2270,7 @@
staProtocolOther1 = staProtocolOther1.clone();
}
- if (staProtocolOther1.isAutoing() || staProtocolOther1.getWorkNo()!=0){
+ if (staProtocolOther1.isLoading() || !staProtocolOther1.getWorkNo().equals(0)){
return;
}
@@ -2295,7 +2281,7 @@
} else {
staProtocolOther2 = staProtocolOther2.clone();
}
- if (staProtocolOther2.isAutoing() || staProtocolOther2.getWorkNo()!=0){
+ if (staProtocolOther2.isLoading() || !staProtocolOther2.getWorkNo().equals(0)){
return;
}
}
@@ -3109,31 +3095,39 @@
continue;
}
- if (wrkMast.booleanStaNoSign()){
- RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign("LineUp"+wrkMast.getStaNo());
- if (Cools.isEmpty(rgvOneSign)){
- continue;
- }
- if (rgvOneSign.getRgvOneSign()>=2){
- continue;
- }
-// int wrkCount = wrkMastMapper.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 110).gt("sta_no", 309).lt("sta_no", 314).gt("wrk_sts",11L));
-// if (wrkCount>=12){
+ Integer turnBigInt = 0;
+// if (wrkMast.booleanStaNoSign()){
+// RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign("LineUp"+wrkMast.getStaNo());
+// if (Cools.isEmpty(rgvOneSign)){
// continue;
// }
-// RgvOneSign bigTurn = rgvOneSignMapper.selectOneSign("bigTurn");
-// if (Cools.isEmpty(bigTurn)){
+// RgvOneSign trunBig = rgvOneSignMapper.selectOneSign("TrunBig"+wrkMast.getStaNo());
+// if (Cools.isEmpty(trunBig)){
// continue;
// }
-// if (bigTurn.getRgvOneSign()>13){
+// turnBigInt = trunBig.getRgvOneSign();
+// int wrkCount = wrkMastMapper.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMast.getStaNo()).eq("wrk_sts",12L));
+//
+// if (trunBig.getRgvOneSign()+wrkCount+rgvOneSign.getRgvOneSign()>2){
// continue;
// }
-// DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
-// StaProtocol staProtocolEnt = devpThread.getStation().get(wrkMast.getStaNoBying());
-// if (staProtocolEnt.isLoading() || staProtocolEnt.getWorkNo()!=0){
+// int wrkCountGt = wrkMastMapper.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMast.getStaNo()).gt("wrk_sts",11L));
+// if (wrkCountGt > 2){
// continue;
// }
- }
+//// RgvOneSign bigTurn = rgvOneSignMapper.selectOneSign("bigTurn");
+//// if (Cools.isEmpty(bigTurn)){
+//// continue;
+//// }
+//// if (bigTurn.getRgvOneSign()>13){
+//// continue;
+//// }
+//// DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+//// StaProtocol staProtocolEnt = devpThread.getStation().get(wrkMast.getStaNoBying());
+//// if (staProtocolEnt.isLoading() || staProtocolEnt.getWorkNo()!=0){
+//// continue;
+//// }
+// }
// 宸ヤ綔妗g姸鎬佸垽鏂�
if (wrkMast.getIoType() < 100 || wrkMast.getSourceStaNo() == null) {
@@ -3277,6 +3271,9 @@
crnCommand.setDestinationPosX((short)0); // 鐩爣搴撲綅鎺�
crnCommand.setDestinationPosY((short)0); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ((short)0); // 鐩爣搴撲綅灞�
+ if (wrkMast.booleanStaNoSign()){
+ updateRgvOneSign("TrunBig"+wrkMast.getStaNo(),turnBigInt+1);
+ }
if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) {
log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand));
} else {
@@ -3358,6 +3355,24 @@
// signBigTurn = 0;
// }
+ }
+
+ public void updateRgvOneSign(String signType,Integer oneSign){
+ RgvOneSignMapper rgvOneSignMapper = SpringUtils.getBean(RgvOneSignMapper.class);
+
+ try{
+ RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign(signType);
+ if (!Cools.isEmpty(rgvOneSign)){
+ rgvOneSign.setRgvOneSign(oneSign);
+ rgvOneSignMapper.updateById(rgvOneSign);
+ }
+ } catch (Exception e){
+ RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign(signType);
+ if (!Cools.isEmpty(rgvOneSign)){
+ rgvOneSign.setRgvOneSign(999);
+ rgvOneSignMapper.updateById(rgvOneSign);
+ }
+ }
}
/**
@@ -4033,12 +4048,12 @@
} else {
staProtocol = staProtocol.clone();
}
- if (emptyInSta.getStaNo()==607 && staProtocol.getStaNo()==0 && staProtocol.getWorkNo()==0
+ if (emptyInSta.getStaNo()==607 && staProtocol.getStaNo()==0 && staProtocol.getWorkNo().equals(0)
&& staProtocol.isLoading() && staProtocol.isAutoing() && staProtocol.isInEnable()){
String barcode = staProtocol.getBarcode();
if (!Cools.isEmpty(barcode)) {
// log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
- if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) {
+ if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) {
continue;
}
} else {
@@ -4115,6 +4130,7 @@
devpThread.setPakMk(staProtocol.getSiteId(), false,4087);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+emptyInSta.getStaNo(),emptyInSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
} else {
@@ -4178,6 +4194,7 @@
devpThread.setPakMk(staProtocol.getSiteId(), false,4150);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+emptyInSta.getStaNo(),emptyInSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
} else {
@@ -4241,6 +4258,7 @@
devpThread.setPakMk(staProtocol.getSiteId(), false,4213);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+emptyInSta.getStaNo(),emptyInSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
} else {
@@ -5140,17 +5158,24 @@
if (jarMaxLoc == 0 || basJarOther.getJarCount() == 0) {
break;
}
- int count = basJarMastService.selectCount(new EntityWrapper<BasJarMast>().eq("jar_regin", basJar.getRegion()).lt("status", 17).gt("status", 6));
- if (count>0){
+ int count = basJarMastService.selectCount(new EntityWrapper<BasJarMast>().eq("jar_regin", basJar.getRegion()).lt("status", 17).gt("status", 5));
+ JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
+ JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
+ if (jarOtherProtocol == null) {
break;
+ }
+ if (count>0){
+ if (jarOtherProtocol.getJarTemperature()<jarTemperature){
+ break;
+ }
}
if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),3)!=0){
if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(), 3).equals(basJarOther.getJarCount())){
- JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
- JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
- if (jarOtherProtocol == null) {
- break;
- }
+// JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
+// JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
+// if (jarOtherProtocol == null) {
+// break;
+// }
if (jarOtherProtocol.getJarTemperature()>jarTemperature){
log.info("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....鍏堟墽琛屽叆缃愪换鍔★紒锛侊紒",jarOtherProtocol.getJarNo());
} else {
@@ -5349,8 +5374,8 @@
case 3:
case 4:
signExecute = jarWrkMastExecuteGenerateJar(signExecute,sign);//纭寲缃愪换鍔�
- case 5:
- signExecute = jarWrkMastExecuteGenerateBurial(signExecute, sign);//鍐峰嵈妲藉彇杈撻�佺嚎
+// case 5:
+// signExecute = jarWrkMastExecuteGenerateBurial(signExecute, sign);//鍐峰嵈妲藉幓杈撻�佺嚎
default:
jarWrkMastExecuteGenerateSte(signExecute,sign);//灏忚溅绉诲姩
// signExecute = jarWrkMastExecuteGenerateBurial(signExecute, sign);//鍐峰嵈妲藉彇杈撻�佺嚎
@@ -5409,6 +5434,11 @@
signExecute[i] = true;
break;//寮�闂ㄤ换鍔� 鐢熸垚鍏ョ~鍖栫綈浠诲姟
}
+ case 3:
+ if (jarWrkMastExecuteGenerate3(jarSlave,sign)){
+ signExecute[i] = true;
+ break;//寮�鍑烘枡闂�
+ }
case 2:
if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
@@ -5417,11 +5447,6 @@
if (jarWrkMastExecuteGenerate2(jarSlave,sign)){
signExecute[i] = true;
break;//鍏宠繘鏂欓棬
- }
- case 3:
- if (jarWrkMastExecuteGenerate3(jarSlave,sign)){
- signExecute[i] = true;
- break;//寮�鍑烘枡闂�
}
case 4:
if (jarProtocol.getJarTemperature()>jarTemperature){
@@ -5949,9 +5974,9 @@
if (!basJarMastListOther.isEmpty() && basJarMastListOther.size() < basJarOther.getJarCount()){
return false;
}
- if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),4)!=0 && !basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(), 4).equals(basJarOther.getJarCount() )){
- return false;
- }
+// if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),4)!=0 && !basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(), 4).equals(basJarOther.getJarCount() )){
+// return false;
+// }
// //涓存椂
// if (basJar.getJarCode()==1){
@@ -6444,12 +6469,12 @@
if (jarWrkMastExecuteActionExecute5Three(wrkMastExecute,sign)){
break;
}
- return;
+ continue;
case 6:
if (jarWrkMastExecuteActionExecute6Three(wrkMastExecute,sign)){
break;
}
- return;
+ continue;
}
}
} catch (Exception e){
@@ -7184,7 +7209,7 @@
return false;
}
//璋冭溅 == > 鍙栬揣
- if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT25.id,SteTaskModeType.STE_WFFH_13,false,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){
+ if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT26.id,SteTaskModeType.STE_WFFH_13,false,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){
log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
@@ -7805,8 +7830,10 @@
// 涓嬪彂绔欑偣淇℃伅
if (!MessageQueue.offer(SlaveType.Devp, 2, new Task(9, staProtocol))) {
log.error("骞宠 杞gv鍛戒护涓嬪彂澶辫触锛屽爢鍨涙満鍙�={},浠诲姟鏁版嵁={},涓嬪彂鏁版嵁={}", wrkMastExecute.getRgvId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(staProtocol));
+ Thread.sleep(500);
return false;
}
+ Thread.sleep(500);
return true;
}catch (Exception e){
log.error("骞宠 杞gv鍛戒护涓嬪彂澶辫触锛孯gv鍙�={},浠诲姟鏁版嵁={},endRow={}", wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(endRow));
@@ -7826,8 +7853,10 @@
// 涓嬪彂绔欑偣淇℃伅
if (!MessageQueue.offer(SlaveType.Devp, 2, new Task(10, staProtocol))) {
log.error("骞宠 杞gv鍛戒护涓嬪彂澶辫触锛屽爢鍨涙満鍙�={},浠诲姟鏁版嵁={},涓嬪彂鏁版嵁={}", wrkMastExecute.getRgvId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(staProtocol));
+ Thread.sleep(500);
return false;
}
+ Thread.sleep(500);
return true;
}catch (Exception e){
log.error("骞宠 杞gv鍛戒护涓嬪彂澶辫触锛孯gv鍙�={},浠诲姟鏁版嵁={},RGV4={},RGV5={}", wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(RGV4), JSON.toJSON(RGV5));
@@ -7846,8 +7875,10 @@
// 涓嬪彂绔欑偣淇℃伅
if (!MessageQueue.offer(SlaveType.Devp, 2, new Task(11, staProtocol))) {
log.error("骞宠 杞gv鍛戒护涓嬪彂澶辫触锛屽爢鍨涙満鍙�={},浠诲姟鏁版嵁={},涓嬪彂鏁版嵁={}", wrkMastExecute.getRgvId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(staProtocol));
+ Thread.sleep(500);
return false;
}
+ Thread.sleep(500);
return true;
}catch (Exception e){
log.error("骞宠 杞gv鍛戒护涓嬪彂澶辫触锛孯gv鍙�={},浠诲姟鏁版嵁={},RGV6={}", wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(RGV6));
@@ -7873,8 +7904,10 @@
steCommand.setJarNo(siteId.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);
+ Thread.sleep(500);
return false;
}
+ Thread.sleep(500);
return true;
}catch (Exception e){
log.error("绌挎杞te鍛戒护涓嬪彂澶辫触锛屽爢鍨涙満鍙�={},浠诲姟鏁版嵁={},complete={}", wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(complete));
@@ -7892,8 +7925,10 @@
jarCommand.setTaskModeType(jarTaskModeType);
if (!MessageQueue.offer(SlaveType.Jar, jarCommand.getJarNo(), new Task(2, jarCommand))) {
log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触锛屽爢鍨涙満鍙�={},浠诲姟鏁版嵁={},涓嬪彂鏁版嵁={}", jarCommand.getJarNo(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarCommand));
+ Thread.sleep(500);
return false;
}
+ Thread.sleep(500);
return true;
}catch (Exception e){
log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触锛屽爢鍨涙満鍙�={},浠诲姟鏁版嵁={},涓嬪彂鏁版嵁={}", wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarTaskModeType));
@@ -7909,26 +7944,88 @@
switch (sign){
case 1:
if (jarWrkMastExecuteGenerateSteComplete(sign)){
- break;
+ return;
}
case 2:
if (jarWrkMastExecuteGenerateJarComplete(sign)){
- break;
+ return;
}
case 3:
if (jarWrkMastExecuteGenerateRgvComplete1(sign)){
- break;
+ return;
}
case 4:
if (jarWrkMastExecuteGenerateRgvComplete2(sign)){
- break;
+ return;
}
default:
- return;
+ break;
}
+ jarWrkMastExecuteGenerateDevComplete(sign);
}catch (Exception e){
log.error("JarWrkMastExecute浠诲姟瀹屾垚鎶ラ敊锛�"+e);
}
+ }
+
+ /**
+ * JarWrkMastExecute浠诲姟瀹屾垚 ===>Devp //瀹屾垚
+ */
+ public synchronized boolean jarWrkMastExecuteGenerateDevComplete(Integer sign) {
+ try{
+ // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ // 閬嶅巻鍏ュ簱鍙�
+ for (DevpSlave.Sta inSta : devp.getOutJarInSta()) {
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ // 鍒ゆ柇鏄惁婊¤冻鏉′欢
+ if (staProtocol.isAutoing()
+ && staProtocol.isLoading()
+ && staProtocol.isInEnable()
+ && staProtocol.getWorkNo() == 0
+ && staProtocol.isPakMk()) {
+ for (DevpSlave.Jar jar : inSta.getJarList()) {
+ // 鍒ゆ柇閲嶅宸ヤ綔妗�
+ List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusListB(jar.getBurial(), new ArrayList<Integer>() {{
+ add(9);
+ add(11);
+ }});
+ if (basJarMastList.isEmpty()){
+ continue;
+ }
+ BasJarMast jarMastByWrkNo = basJarMastList.get(0);
+ jarMastByWrkNo.setStatus(jarMastByWrkNo.getStatusComplete(6));
+
+
+ StaProtocol staProtocolNew = new StaProtocol();
+ staProtocolNew.setSiteId(staProtocol.getSiteId());
+ staProtocolNew.setWorkNo(basJarMastList.get(0).getWrkNo().intValue());
+ staProtocolNew.setStaNo(jar.getEndStaNo());
+ devpThread.setPakMk(staProtocolNew.getSiteId(), false,7989);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocolNew));
+ if (!result) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
+ throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+ }
+ if (!basJarMastService.updateById(jarMastByWrkNo)){
+ log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,BasJarMast={},寮傚父淇℃伅={}",JSON.toJSONString(jarMastByWrkNo),"鏇存柊basJarMast澶辫触");
+ throw new CoolException("鏇存柊basJarMast澶辫触");
+ }
+ break;
+ }
+ }
+ }
+ }
+ return true;
+ }catch (Exception e){
+ log.error("JarWrkMastExecute浠诲姟瀹屾垚 ===>Ste鎶ラ敊锛�"+e);
+ }
+ return false;
}
/**
@@ -7965,6 +8062,7 @@
log.error("绌挎杞te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},绌挎杞︽暟鎹�={},sign={}",
wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSON(steProtocol),sign);
}
+// Thread.sleep(500);
return true;
}
}
@@ -8071,6 +8169,35 @@
if (Cools.isEmpty(basJar)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
continue;
+ }
+ if (jarProtocol.leftDoorOpen==1 || jarProtocol.leftDoorClose==1 ||
+ jarProtocol.rightDoorOpen==1 || jarProtocol.rightDoorClose==1
+ ){
+ continue;
+ }
+ if (jarProtocol.getJarErr()==0 && (jarProtocol.getStatusType().equals(JarStatusType.WAITING1) || jarProtocol.getStatusType().equals(JarStatusType.MOVING))
+ && jarProtocol.isRightDoor() && jarProtocol.isLeftDoor()
+ && jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0
+ ){
+ List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
+ add(6);//纭寲瀹屾垚
+ }});
+ if (!basJarMastList.isEmpty()){
+ WrkMastExecute wrkMastExecuteSou = new WrkMastExecute();
+ wrkMastExecuteSou.setWrkSts(3);
+ List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou);
+ for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){
+ if (wrkMastExecute.getIoType() == 3){
+ wrkMastExecute.setWrkSts(4);
+ if (!wrkMastExecuteService.updateById(wrkMastExecute)){
+ log.error("纭寲缃怞ar鍛戒护淇敼澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+ wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ return false;
+ }
+ return true;
+ }
+ }
+ }
}
//WAITING2(4, "纭寲瀹屾垚"),
if (jarProtocol.getJarErr()==0 && jarProtocol.getStatusType().equals(JarStatusType.WAITING2)
@@ -8428,6 +8555,13 @@
/**
* ste鍏呯數浠诲姟鍒涘缓 //瀹屾垚
*/
+ public synchronized void signTrunBig() {
+ updateRgvOneSign("TrunSma126",0);
+ updateRgvOneSign("TrunSma131",0);
+ updateRgvOneSign("TrunBig310",0);
+ updateRgvOneSign("TrunBig312",0);
+ }
+
public synchronized boolean jarChargeGenerate() {
try{
//80%鐢甸噺 鏃犱换鍔� 鍏呯數 >50鐢甸噺 鏈変换鍔� 鏂數
@@ -8515,7 +8649,11 @@
if (jarProtocol.modeType != JarModeType.AUTO){
continue;
}
- if (jarProtocol.statusType .equals(JarStatusType.SOS) || jarProtocol.statusType .equals(JarStatusType.SOS2)){
+ if (jarProtocol.statusType .equals(JarStatusType.SOS) || jarProtocol.statusType .equals(JarStatusType.SOS2)
+ || jarProtocol.statusType .equals(JarStatusType.WAITING3)
+ || jarProtocol.statusType .equals(JarStatusType.WAITING4)
+ || jarProtocol.statusType .equals(JarStatusType.WAITING5)
+ || jarProtocol.statusType .equals(JarStatusType.OFF_LINE)){
continue;
}
if (jarProtocol.getJarTemperature()>jarTemperature){
@@ -8606,7 +8744,11 @@
if (jarProtocol.modeType != JarModeType.AUTO){
continue;
}
- if (jarProtocol.statusType .equals(JarStatusType.SOS) || jarProtocol.statusType .equals(JarStatusType.SOS2)){
+ if (jarProtocol.statusType .equals(JarStatusType.SOS) || jarProtocol.statusType .equals(JarStatusType.SOS2)
+ || jarProtocol.statusType .equals(JarStatusType.WAITING3)
+ || jarProtocol.statusType .equals(JarStatusType.WAITING4)
+ || jarProtocol.statusType .equals(JarStatusType.WAITING5)
+ || jarProtocol.statusType .equals(JarStatusType.OFF_LINE)){
continue;
}
if (jarProtocol.getJarTemperature()>jarTemperature){
@@ -8683,7 +8825,7 @@
String barcode = staProtocol607.getBarcode();
if (!Cools.isEmpty(barcode)) {
// log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
- if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) {
+ if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) {
return;
}
} else {
@@ -8693,9 +8835,13 @@
&& staProtocol607.getStaNo() == 0 && staProtocol607.isInEnable()){
WrkMast wrkMast = wrkMastMapper.selectByBarcodeTwo(barcode);
if (!Cools.isEmpty(wrkMast)){
- staProtocol607.setWorkNo(wrkMast.getWrkNo());
- staProtocol607.setStaNo(staNo1);
- boolean result2 = MessageQueue.offer(SlaveType.Devp, 2, new Task(2, staProtocol607));
+
+ StaProtocol staProtocolNew = new StaProtocol();
+ staProtocolNew.setSiteId(staProtocol607.getSiteId());
+ staProtocolNew.setWorkNo(wrkMast.getWrkNo());
+ staProtocolNew.setStaNo(staNo1);
+// devpThread.setPakMk(staProtocolNew.getSiteId(), false,7989);
+ boolean result = MessageQueue.offer(SlaveType.Devp, 2, new Task(2, staProtocolNew));
}
}
} else {
@@ -8713,38 +8859,34 @@
}
}
-
-// try{
-// for (int idi = 1;idi<5;idi++){
-// LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, idi);
-//
-// if (ledThread != null) {
-// ErrMsg errMsg1 = new ErrMsg();
-// errMsg1.setErrMsg("娴嬭瘯锛�"+idi);
-// errMsg1.setArea("1");
-// MessageQueue.offer(SlaveType.Led, idi, new Task(5, errMsg1));
-// } try {
-// Thread.sleep(500);
-// } catch (Exception e){
-//
-// }
-// }
-// LedThread ledThread3 = (LedThread) SlaveConnection.get(SlaveType.Led, 3);
-//
-// if (ledThread3 != null) {
-// ErrMsg errMsg1 = new ErrMsg();
-// errMsg1.setErrMsg("娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯娴嬭瘯锛�"+3);
-// errMsg1.setArea("1");
-// MessageQueue.offer(SlaveType.Led, 3, new Task(5, errMsg1));
-// } try {
-// Thread.sleep(500);
-// } catch (Exception e){
-//
-// }
-// } catch (Exception e){ }
-
-
}
+ public synchronized void stackingCompletionDriveTray2() {
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 2);
+ StaProtocol staProtocol = devpThread.getStation().get(518);
+ String barcode = staProtocol.getBarcode();
+ if (!Cools.isEmpty(barcode)) {
+ if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) {
+ return;
+ }
+ } else {
+ return;
+ }
+ if (staProtocol.getWorkNo()==0 && staProtocol.isLoading() && staProtocol.isAutoing()
+ && staProtocol.getStaNo() == 0 && staProtocol.isInEnable()){
+ WrkMast wrkMast = wrkMastMapper.selectByBarcodeTwo(barcode);
+ if (!Cools.isEmpty(wrkMast)){
+ StaProtocol staProtocolNew = new StaProtocol();
+ staProtocolNew.setSiteId(staProtocol.getSiteId());
+ staProtocolNew.setWorkNo(wrkMast.getWrkNo());
+ staProtocolNew.setStaNo(wrkMast.getStaNo());
+ devpThread.setPakMk(staProtocolNew.getSiteId(), false,7989);
+ boolean result = MessageQueue.offer(SlaveType.Devp, 2, new Task(2, staProtocolNew));
+ }
+ }
+ }
+
+
+
public synchronized Integer jarGetStartStaNo(Integer staNo) {
try {
int[] jarNos=new int[]{3,1,4,2};//(607鍒嗛厤纭寲缃�)
@@ -8826,7 +8968,11 @@
if (jarProtocol.modeType != JarModeType.AUTO){
continue;
}
- if (jarProtocol.statusType .equals(JarStatusType.SOS) || jarProtocol.statusType .equals(JarStatusType.SOS2)){
+ if (jarProtocol.statusType .equals(JarStatusType.SOS) || jarProtocol.statusType .equals(JarStatusType.SOS2)
+ || jarProtocol.statusType .equals(JarStatusType.WAITING3)
+ || jarProtocol.statusType .equals(JarStatusType.WAITING4)
+ || jarProtocol.statusType .equals(JarStatusType.WAITING5)
+ || jarProtocol.statusType .equals(JarStatusType.OFF_LINE)){
continue;
}
if (jarProtocol.getJarTemperature()>jarTemperature){
--
Gitblit v1.9.1