From 11147dc89004599304489e1b26b4c7bf6c14df80 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期五, 13 九月 2024 13:56:51 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 433 ++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 407 insertions(+), 26 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 9b6900c..cef8ccb 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -60,7 +60,7 @@
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 = 80F;
+ private static final Float jarTemperature = 50F;
@Autowired
private CommonService commonService;
@Autowired
@@ -192,7 +192,10 @@
// led 寮傚父鏄剧ず
LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
if (ledThread != null) {
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg));
+ ErrMsg errMsg1 = new ErrMsg();
+ errMsg1.setErrMsg(errMsg);
+ errMsg1.setArea("1");
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
}
continue;
}
@@ -227,7 +230,7 @@
// 鍒ゆ柇閲嶅宸ヤ綔妗�
WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
if (wrkMast != null) {
- LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+// LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
barcodeThread.setBarcode("");
staProtocol.setWorkNo(wrkMast.getWrkNo());
staProtocol.setStaNo(wrkMast.getStaNo());
@@ -265,7 +268,7 @@
if (jsonObject.getInteger("code").equals(200)) {
StartupDto dto = jsonObject.getObject("data", StartupDto.class);
- LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+// LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
barcodeThread.setBarcode("");
@@ -283,6 +286,224 @@
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
} else {
+ // led 寮傚父鏄剧ず
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+ if (ledThread != null) {
+ ErrMsg errMsg1 = new ErrMsg();
+ errMsg1.setErrMsg("鍏ュ簱璇锋眰澶辫触"+jsonObject.getInteger("code"));
+ errMsg1.setArea("1");
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
+ }
+ log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ }
+
+ }
+
+
+ }
+ }
+
+ }
+ public synchronized void generateStoreWrkFile464() {
+ // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ // 閬嶅巻鍏ュ簱鍙�
+ for (DevpSlave.Sta inSta : devp.getInSta464()) {
+ // 鑾峰彇鏉$爜鎵弿浠俊鎭�
+ BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode());
+ if (barcodeThread == null) {
+ continue;
+ }
+ String barcode = barcodeThread.getBarcode();
+
+ if (!Cools.isEmpty(barcode)) {
+// log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
+ if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) {
+ continue;
+ }
+ } else {
+ continue;
+ }
+
+ // 鑾峰彇鍏ュ簱绔欎俊鎭�
+// SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+
+ // 灏哄妫�娴嬪紓甯�
+ boolean back = false;
+ String errMsg = "寮傚父锛�";
+ if (staProtocol.isFrontErr()) {
+ errMsg = errMsg+"鍓嶈秴闄愶紱";
+ back = true;
+ }
+ if (staProtocol.isBackErr()) {
+ errMsg = errMsg+"鍚庤秴闄�";
+ back = true;
+ }
+ if (staProtocol.isHighErr()) {
+ errMsg = errMsg+"楂樿秴闄�";
+ back = true;
+ }
+ if (staProtocol.isLeftErr()) {
+ errMsg = errMsg+"宸﹁秴闄�";
+ back = true;
+ }
+ if (staProtocol.isRightErr()) {
+ errMsg = errMsg+"鍙宠秴闄�";
+ back = true;
+ }
+ if (staProtocol.isWeightErr()) {
+ errMsg = errMsg+"瓒呴噸";
+ back = true;
+ }
+ if (staProtocol.isBarcodeErr()) {
+ errMsg = errMsg+"鎵爜澶辫触";
+ back = true;
+ }
+ // 閫�鍥�
+ if (back) {
+ // led 寮傚父鏄剧ず
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+ if (ledThread != null) {
+ ErrMsg errMsg1 = new ErrMsg();
+ errMsg1.setErrMsg(errMsg);
+ errMsg1.setArea("1");
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
+ }
+ continue;
+ }
+
+ // 鍏ュ嚭搴撴ā寮忓垽鏂�
+// if ( inSta.getStaNo()==203 && devpThread.ioModeOf2F != IoModeType.PAKIN_MODE) { continue; }
+// if (inSta.getStaNo() == 203 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) {
+// continue;
+// }
+
+ // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
+ if (staProtocol.isAutoing()
+ && staProtocol.isLoading()
+ && staProtocol.isInEnable()
+ && !staProtocol.isEmptyMk()
+ && staProtocol.getWorkNo() == 0
+ && staProtocol.isPakMk()) {// && !Cools.isEmpty(barcode)) {
+
+// if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode)) {
+// log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
+// //鏉$爜涓虹┖鎴栬�呬笉绗﹀悎锛岄��搴撳埌172绔欑偣
+// staProtocol.setWorkNo((short)32222);
+// staProtocol.setStaNo((short)172);
+// devpThread.setPakMk(staProtocol.getSiteId(), false);
+// boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+// if (!result) {
+// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+// }
+// continue;
+// }
+
+ // 鍒ゆ柇閲嶅宸ヤ綔妗�
+ WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
+ if (wrkMast != null) {
+// LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+ barcodeThread.setBarcode("");
+ staProtocol.setWorkNo(wrkMast.getWrkNo());
+ staProtocol.setStaNo(wrkMast.getStaNo());
+
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ if (!result) {
+ throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+ }
+ return;
+ }
+// // 鑾峰彇鍏ュ簱閫氱煡妗�
+// List<WaitPakin> waitPakins = waitPakinMapper.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", barcode).eq("io_status", "N"));
+// if (waitPakins.isEmpty()) {
+// log.error("鏃犳鍏ュ簱鏉$爜鏁版嵁銆傛潯鐮佸彿={}", barcode);
+// continue;
+// }
+
+ try {
+
+ LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
+
+ SearchLocParam param = new SearchLocParam();
+ param.setBarcode(barcode);
+ param.setIoType(1);
+ param.setSourceStaNo(inSta.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);
+
+// LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+
+
+ barcodeThread.setBarcode("");
+ staProtocol.setWorkNo(dto.getWorkNo());
+
+ if(Cools.isEmpty(dto.getRgvNo()) || dto.getRgvNo() <= 0) {
+ staProtocol.setStaNo(607);//607
+ } else {//濡傛灉瀛樺湪RGV缂栧彿锛岃鏄庨渶瑕丷GV鎺ラ┏锛屽厛涓嬪彂浠诲姟鍒癛GV婧愮珯
+ staProtocol.setStaNo(dto.getRgvSstaNo());
+ }
+
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ if (!result) {
+ throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+ }
+ } else if (jsonObject.getInteger("code").equals(700)){
+ SearchLocParam param2 = new SearchLocParam();
+ param2.setBarcode(barcode);
+ param2.setSourceStaNo(inSta.getStaNo());
+ param2.setLocType1(locTypeDto.getLocType1());
+ String response2 = new HttpHandler.Builder()
+ .setUri(wmsUrl)
+ .setPath("/rpc/pakin/yx/loc/v464")
+ .setJson(JSON.toJSONString(param2))
+ .build()
+ .doPost();
+ JSONObject jsonObject2 = JSON.parseObject(response2);
+ if (jsonObject2.getInteger("code").equals(200)) {
+ log.info("464绱ф�ョ珯鐐硅嚜鍔ㄧ粍鎵樻垚鍔燂紒锛�");
+ } else {
+ log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/yx/loc/v464", JSON.toJSONString(param), response);
+
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+
+ if (ledThread != null) {
+ ErrMsg errMsg1 = new ErrMsg();
+ errMsg1.setErrMsg("鍏ュ簱澶辫触!绔欑偣鍙凤細"+inSta.getStaNo());
+ errMsg1.setArea("1");
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
+ }
+ }
+ } else {
+ // led 寮傚父鏄剧ず
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+ if (ledThread != null) {
+ ErrMsg errMsg1 = new ErrMsg();
+ errMsg1.setErrMsg("鍏ュ簱璇锋眰澶辫触"+jsonObject.getInteger("code"));
+ errMsg1.setArea("1");
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
+ }
log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
}
@@ -370,7 +591,10 @@
// led 寮傚父鏄剧ず
LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
if (ledThread != null) {
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg));
+ ErrMsg errMsg1 = new ErrMsg();
+ errMsg1.setErrMsg(errMsg);
+ errMsg1.setArea("1");
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
}
continue;
}
@@ -413,6 +637,12 @@
devpThread.setPakMk(staProtocol.getSiteId(), false);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
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));
+ }
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
return;
@@ -465,6 +695,12 @@
devpThread.setPakMk(staProtocol.getSiteId(), false);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
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));
+ }
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
} else {
@@ -508,10 +744,13 @@
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));
-// }
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+ if (ledThread != null) {
+ ErrMsg errMsg1 = new ErrMsg();
+ errMsg1.setErrMsg(inSta+"绔欑偣锛屾壂鐮佸け璐ワ紝barcode锛�"+barcode);
+ errMsg1.setArea("1");
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
+ }
continue;
}
} else {
@@ -564,7 +803,10 @@
// led 寮傚父鏄剧ず
LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
if (ledThread != null) {
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg));
+ ErrMsg errMsg1 = new ErrMsg();
+ errMsg1.setErrMsg(errMsg);
+ errMsg1.setArea("1");
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
}
continue;
}
@@ -613,6 +855,12 @@
devpThread.setPakMk(staProtocol.getSiteId(), false);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
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));
+ }
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
return;
@@ -657,7 +905,7 @@
if (!result) {
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
- } else {
+ } else if (jsonObject.getInteger("code").equals(700)){
SearchLocParam param2 = new SearchLocParam();
param2.setBarcode(barcode);
param2.setSourceStaNo(inSta.getStaNo());
@@ -677,8 +925,22 @@
LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
if (ledThread != null) {
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, "鍏ュ簱澶辫触锛�"));
+ ErrMsg errMsg1 = new ErrMsg();
+ errMsg1.setErrMsg("鍏ュ簱澶辫触!绔欑偣鍙凤細"+inSta.getStaNo());
+ errMsg1.setArea("1");
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
}
+ }
+ } else {
+ log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
+
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+
+ if (ledThread != null) {
+ ErrMsg errMsg1 = new ErrMsg();
+ errMsg1.setErrMsg("鍏ュ簱澶辫触!绔欑偣鍙凤細"+inSta.getStaNo());
+ errMsg1.setArea("1");
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
}
}
@@ -3748,16 +4010,31 @@
} else {
staProtocol = staProtocol.clone();
}
- if (emptyInSta.getStaNo()==607 && staProtocol.getStaNo()==607 && staProtocol.getWorkNo()>20000 && staProtocol.isLoading() && staProtocol.isAutoing()){
+ String barcode = staProtocol.getBarcode();
+ if (!Cools.isEmpty(barcode)) {
+// log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
+ if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) {
+ continue;
+ }
+ } else {
+ continue;
+ }
+ if (emptyInSta.getStaNo()==607 && staProtocol.getStaNo()==607 && staProtocol.getWorkNo()==0
+ && staProtocol.isLoading() && staProtocol.isAutoing() && staProtocol.isInEnable()){
try {
BasDevp basDevp = basDevpService.selectById(staProtocol.getStaNo());
if (basDevp.getReportSign()==0){
+ WrkMast wrkMast = wrkMastMapper.selectByBarcodeTwo(barcode);
+ if (!Cools.isEmpty(wrkMast)){
+ continue;
+ }
LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
SearchLocParam param = new SearchLocParam();
param.setIoType(10);
param.setSourceStaNo(emptyInSta.getStaNo());
param.setLocType1(locTypeDto.getLocType1());
+ param.setBarcode(barcode);
String response = new HttpHandler.Builder()
.setUri(wmsUrl)
.setPath("/rpc/pakin/loc/v1")
@@ -4835,8 +5112,28 @@
if (basJarMastService.selectJarMastOperation(jarSlave.getId(),2)!=0){
break;
}
- if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),3)!=0){
+ BasJar basJar = basJarMapper.selectById(jarSlave.getId());
+ int count = basJarMastService.selectCount(new EntityWrapper<BasJarMast>().eq("jar_regin", basJar.getRegion()).lt("status", 17).gt("status", 11));
+ if (count>0){
break;
+ }
+ if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),3)!=0){
+ if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),3)==7){
+ 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 {
+ if (basJarMastService.getJarMastByJarIdCount(jarSlave.getId())>0){
+ log.info("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛屽厛鎵ц浜嗗叆缃愪换鍔★紝鎵ц瀹屾瘯鍐嶈繘琛屽喎鍗达紒锛侊紒",jarOtherProtocol.getJarNo());
+ } else {
+ break;
+ }
+ }
+ }
}
if (basJarMastService.getJarMastByJarIdCount(jarSlave.getId())>=jarMaxLoc*2){
break;
@@ -5310,6 +5607,11 @@
return false;
}
+ int count = basJarMastService.selectCount(new EntityWrapper<BasJarMast>().eq("jar_regin", basJar.getRegion()).lt("status", 17).gt("status", 11));
+ if (count>0){
+ return false;
+ }
+
//闂ㄤ綔涓� 鏃�
//鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂�� Other宸﹂棬鍏抽棴
if (jarProtocol.isAutoing() && jarProtocol.jarErr==0
@@ -5441,9 +5743,11 @@
if (basJarMastList.size() != jarMaxLoc){
return false;
}
- if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),5)!=0&&(basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),5)!=7)){
- return false;
- }
+// if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),5)!=0
+// && basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),5)!=7
+// && basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),5)!=14){
+// return false;
+// }
BasJarMast basJarMastSign = basJarMastList.get(0);
if (Cools.isEmpty(basJarMastSign)){
@@ -5528,7 +5832,7 @@
if (basJarMastList10.size()==jarMaxLoc){
return false;
}
- if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),4)!=0){
+ if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),4)!=0 && basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),4)!=7){
return false;
}
@@ -5573,6 +5877,22 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
return false;
}
+
+// //涓存椂
+// if (basJar.getJarCode()==1){
+// JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
+// JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
+// if (jarOtherProtocol == null) {
+// return false;
+// }
+//
+// if (!jarOtherProtocol.isAutoing() || jarOtherProtocol.jarErr!=0
+// || !jarOtherProtocol.isLeftDoor() || !jarOtherProtocol.isRightDoor()
+// || jarOtherProtocol.leftDoorOpen==1 || jarOtherProtocol.leftDoorClose==1 || jarOtherProtocol.rightDoorOpen==1 || jarOtherProtocol.rightDoorClose==1){
+// log.error("{}鍙风~鍖栫綈鏌ヨ璁惧涓嶆弧瓒冲墠寰�鍐峰嵈姹犳潯浠讹紝浠e彿2纭寲缃愰棬娌″紑锛侊紒锛�",jarOtherProtocol.getJarNo());
+// return false;
+// }
+// }
//闂ㄤ綔涓� 鏃�
// if (jarProtocol.isAutoing() && jarProtocol.statusType == JarStatusType.WAITING4 && jarProtocol.jarErr==0
@@ -7670,10 +7990,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;
- }
+// if (jarProtocol.getJarTemperature()>jarTemperature){
+// log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+// return false;
+// }
WrkMastExecute wrkMastExecuteSou = new WrkMastExecute();
wrkMastExecuteSou.setWrkSts(3);
List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou);
@@ -8144,7 +8464,38 @@
if(basJarMastList.isEmpty()){
if (wrkMastExecuteService.selectNoStartCharge(steSlave.getId())==0){
if (wrkMastExecuteService.selectMoveStart(steSlave.getId())==0){
- continue;
+ boolean sign = true;
+ for (SteSlave.InStn inStn : steSlave.getSteInStn()){
+ //妫�娴嬬珯鐐圭姸鎬�
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, inStn.getDevpPlcId());
+ StaProtocol staProtocol = devpThread.getStation().get(inStn.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0) {
+ // 鑾峰彇纭寲缃愪俊鎭�
+ JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, inStn.getJarNo());
+ JarProtocol jarProtocol = jarThread.getJarProtocol();
+ if (jarProtocol == null) {
+ continue;
+ }
+ if (jarProtocol.modeType != JarModeType.AUTO){
+ continue;
+ }
+ if (jarProtocol.statusType .equals(JarStatusType.SOS)){
+ continue;
+ }
+ if (jarProtocol.getJarTemperature()>jarTemperature){
+ continue;
+ }
+ sign = false;
+ }
+ }
+ if(sign){
+ continue;
+ }
}
}
}
@@ -8202,11 +8553,41 @@
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() && staProtocol607.getStaNo() == 607){
- staProtocol607.setStaNo(staNo1);
- boolean result2 = MessageQueue.offer(SlaveType.Devp, 2, new Task(5, staProtocol607));
+ String barcode = staProtocol607.getBarcode();
+ if (!Cools.isEmpty(barcode)) {
+// log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
+ if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) {
+ return;
+ }
+ } else {
+ return;
+ }
+ if (staProtocol607.getWorkNo()==0 && staProtocol607.isLoading() && staProtocol607.isAutoing()
+ && staProtocol607.getStaNo() == 607 && 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(5, staProtocol607));
+ }
+ }
+ } else {
+
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, 1);
+
+ if (ledThread != null) {
+ ErrMsg errMsg1 = new ErrMsg();
+ errMsg1.setErrMsg("鍒嗛厤纭寲缃�===>鐩爣绔欑偣鍙凤細"+staNo1);
+ errMsg1.setArea("1");
+ MessageQueue.offer(SlaveType.Led, 1, new Task(5, errMsg1));
+ } try {
+ Thread.sleep(500);
+ } catch (Exception e){
+
}
}
+
+
}
public synchronized Integer jarGetStartStaNo(Integer staNo) {
try {
--
Gitblit v1.9.1