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 | 645 +++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 430 insertions(+), 215 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 37ab5ea..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,7 +7,9 @@
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;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.*;
@@ -56,10 +58,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},{7,4},{8,4},{9,3},{10,4},{11,4}};
-// private static final Integer jarMaxLoc1 = 7;
private static Integer jarMaxLoc = 0;
private static final Float jarTemperature = 50F;
@Autowired
@@ -191,13 +191,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("1");
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
- }
+ LedErrorThreadUtil.ledErrorThread(errMsg,inSta.getLed(), LedErrorAreaType.FOUR_BARCODE.getDesc());
continue;
}
@@ -239,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;
@@ -284,17 +279,12 @@
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 {
// 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));
- }
+ LedErrorThreadUtil.ledErrorThread("鍏ュ簱璇锋眰澶辫触"+jsonObject.getInteger("code"),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
}
@@ -343,7 +333,7 @@
// 灏哄妫�娴嬪紓甯�
boolean back = false;
- String errMsg = "寮傚父锛�";
+ String errMsg = inSta.getStaNo()+"绔欑偣锛�";
if (staProtocol.isFrontErr()) {
errMsg = errMsg+"鍓嶈秴闄愶紱";
back = true;
@@ -375,13 +365,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("1");
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
- }
+ LedErrorThreadUtil.ledErrorThread(errMsg,inSta.getLed(), LedErrorAreaType.FOUR_BARCODE.getDesc());
continue;
}
@@ -423,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;
@@ -468,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)){
@@ -498,13 +484,7 @@
}
} 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));
- }
+ LedErrorThreadUtil.ledErrorThread("鍏ュ簱璇锋眰澶辫触"+jsonObject.getInteger("code"),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
}
@@ -558,7 +538,7 @@
// 灏哄妫�娴嬪紓甯�
boolean back = false;
- String errMsg = "寮傚父锛�";
+ String errMsg = inSta.getStaNo()+"绔欑偣锛�";
if (staProtocol.isFrontErr()) {
errMsg = errMsg+"鍓嶈秴闄愶紱";
back = true;
@@ -590,13 +570,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("1");
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
- }
+ LedErrorThreadUtil.ledErrorThread(errMsg,inSta.getLed(), LedErrorAreaType.FOUR_BARCODE.getDesc());
continue;
}
@@ -624,6 +598,8 @@
// if (!result) {
// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
// }
+ String msg =inSta.getStaNo()+"绔欑偣鏉$爜寮傚父,鏉$爜="+barcode;
+ LedErrorThreadUtil.ledErrorThread(msg,inSta.getLed(), LedErrorAreaType.FOUR_BARCODE.getDesc());
continue;
}
@@ -632,18 +608,15 @@
if (wrkMast111 != null) {
LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
barcodeThread.setBarcode("");
- staProtocol.setWorkNo(wrkMast111.getWrkNo());
- staProtocol.setStaNo(wrkMast111.getStaNo());
+ StaProtocol staProtocol1 = new StaProtocol();
+ staProtocol1.setSiteId(staProtocol.getSiteId());
+ staProtocol1.setWorkNo(wrkMast111.getWrkNo());
+ staProtocol1.setStaNo(wrkMast111.getStaNo());
- devpThread.setPakMk(staProtocol.getSiteId(), false,637);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ 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;
@@ -653,6 +626,8 @@
WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
if (wrkMast != null) {
log.error("宸ヤ綔妗d腑宸插瓨鍦ㄨ绔欑姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,宸ヤ綔鍙�={}", wrkMast.getWrkNo());
+ String msg ="宸ヤ綔妗d腑宸插瓨鍦�"+inSta.getStaNo()+"绔欑偣鏁版嵁,宸ヤ綔鍙�="+wrkMast.getWrkNo();
+ LedErrorThreadUtil.ledErrorThread(msg,inSta.getLed(),LedErrorAreaType.TWO_PAKIN.getDesc());
continue;
}
// // 鑾峰彇鍏ュ簱閫氱煡妗�
@@ -682,43 +657,45 @@
StartupDto dto = jsonObject.getObject("data", StartupDto.class);
LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
-
+ StaProtocol staProtocol1 = new StaProtocol();
+ staProtocol1.setSiteId(staProtocol.getSiteId());
barcodeThread.setBarcode("");
- staProtocol.setWorkNo(dto.getWorkNo());
+ staProtocol1.setWorkNo(dto.getWorkNo());
if(Cools.isEmpty(dto.getRgvNo()) || dto.getRgvNo() <= 0) {
- staProtocol.setStaNo(dto.getStaNo());
+ staProtocol1.setStaNo(dto.getStaNo());
} else {//濡傛灉瀛樺湪RGV缂栧彿锛岃鏄庨渶瑕丷GV鎺ラ┏锛屽厛涓嬪彂浠诲姟鍒癛GV婧愮珯
- staProtocol.setStaNo(dto.getRgvSstaNo());
+ staProtocol1.setStaNo(dto.getRgvSstaNo());
}
- devpThread.setPakMk(staProtocol.getSiteId(), false,695);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ devpThread.setPakMk(staProtocol1.getSiteId(), false,695);
+ 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{
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绔欑偣淇℃伅澶辫触");
+ } catch (Exception e){
+ log.error("鍏ュ簱鎴愬姛!鐢佃鏈轰俊鎭洿鏂板け璐ワ紝灏忔枡绠卞叆搴擄紒锛侊紒request锛歿}锛況esponse锛歿}",JSON.toJSONString(param), response);
}
} else {
log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/pair/station/single/loc/v1", JSON.toJSONString(param), response);
+ String msg = inSta.getStaNo()+"绔欑偣锛�"+jsonObject.getString("msg");
+ LedErrorThreadUtil.ledErrorThread(msg,inSta.getLed(), LedErrorAreaType.TWO_PAKIN.getDesc());
+ Thread.sleep(1000);
}
-
} catch (Exception e) {
e.printStackTrace();
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
-
}
-
-
}
}
-
}
/**
@@ -758,7 +735,7 @@
// 灏哄妫�娴嬪紓甯�
boolean back = false;
- String errMsg = "寮傚父锛�";
+ String errMsg = inSta.getStaNo()+"绔欑偣锛�";
if (staProtocol.isFrontErr()) {
errMsg = errMsg+"鍓嶈秴闄愶紱";
back = true;
@@ -790,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("1");
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
- }
+ LedErrorThreadUtil.ledErrorThread(errMsg,inSta.getLed(), LedErrorAreaType.FOUR_BARCODE.getDesc());
continue;
}
@@ -838,19 +809,16 @@
if (wrkMast != null) {
LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
barcodeThread.setBarcode("");
- staProtocol.setWorkNo(wrkMast.getWrkNo());
- staProtocol.setStaNo(wrkMast.getStaNo());
+ StaProtocol staProtocol1 = new StaProtocol();
+ staProtocol1.setWorkNo(wrkMast.getWrkNo());
+ staProtocol1.setStaNo(wrkMast.getStaNo());
+ staProtocol1.setSiteId(staProtocol.getSiteId());
- devpThread.setPakMk(staProtocol.getSiteId(), false,843);
- log.info("閿佸畾鏍囪flase===銆婲===銆嬬珯鐐瑰彿锛歿}锛屽伐浣滃彿锛歿}锛屾潯鐮�:{}",staProtocol.getSiteId(),staProtocol.getWorkNo(),barcode);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ devpThread.setPakMk(staProtocol1.getSiteId(), false,843);
+ 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;
@@ -880,59 +848,65 @@
JSONObject jsonObject = JSON.parseObject(response);
if (jsonObject.getInteger("code").equals(200)) {
StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-
+ StaProtocol staProtocol1 = new StaProtocol();
+ staProtocol1.setSiteId(staProtocol.getSiteId());
barcodeThread.setBarcode("");
- staProtocol.setWorkNo(dto.getWorkNo());
+ staProtocol1.setWorkNo(dto.getWorkNo());
if(Cools.isEmpty(dto.getRgvNo()) || dto.getRgvNo() <= 0) {
- staProtocol.setStaNo(dto.getStaNo());
+ staProtocol1.setStaNo(dto.getStaNo());
} else {//濡傛灉瀛樺湪RGV缂栧彿锛岃鏄庨渶瑕丷GV鎺ラ┏锛屽厛涓嬪彂浠诲姟鍒癛GV婧愮珯
- staProtocol.setStaNo(dto.getRgvSstaNo());
+ staProtocol1.setStaNo(dto.getRgvSstaNo());
}
- devpThread.setPakMk(staProtocol.getSiteId(), false,892);
- log.info("閿佸畾鏍囪flase===銆婲===銆嬬珯鐐瑰彿锛歿}锛屽伐浣滃彿锛歿}锛屾潯鐮�:{}",staProtocol.getStaNo(),staProtocol.getWorkNo(),barcode);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ devpThread.setPakMk(staProtocol1.getSiteId(), false,892);
+ 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绔欑偣淇℃伅澶辫触");
}
- } 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/v33")
- .setJson(JSON.toJSONString(param2))
- .build()
- .doPost();
- JSONObject jsonObject2 = JSON.parseObject(response2);
- if (jsonObject2.getInteger("code").equals(200)) {
- log.info("澶ф枡绠辫嚜鍔ㄧ粍鎵樻垚鍔燂紒锛�");
- } else {
- log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
-
+ try{
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));
}
+ } catch (Exception e){
+ log.error("鍏ュ簱鎴愬姛!鐢佃鏈轰俊鎭洿鏂板け璐ワ紝澶ф枡绠卞叆搴擄紒锛侊紒request锛歿}锛況esponse锛歿}",JSON.toJSONString(param), response);
}
+
+// } 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/v33")
+// .setJson(JSON.toJSONString(param2))
+// .build()
+// .doPost();
+// JSONObject jsonObject2 = JSON.parseObject(response2);
+// if (jsonObject2.getInteger("code").equals(200)) {
+// log.info("澶ф枡绠辫嚜鍔ㄧ粍鎵樻垚鍔燂紒锛�");
+// } 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));
+// }
+// }
} 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));
- }
+ String msg = inSta.getStaNo()+"绔欑偣锛�"+jsonObject.getString("msg");
+ LedErrorThreadUtil.ledErrorThread(msg,inSta.getLed(),LedErrorAreaType.TWO_PAKIN.getDesc());
+ Thread.sleep(1000);
}
} catch (Exception e) {
@@ -1161,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 {
@@ -2181,6 +2155,7 @@
log.error("鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNoOther());
continue;
}
+ boolean signStanOther81 = false;
if (staProtocolOther.getWorkNo()!=0){
WrkMast wrkMastOther = wrkMastMapper.selectPakInStep3(staProtocolOther.getWorkNo());
if (Cools.isEmpty(wrkMastOther)){
@@ -2282,29 +2257,33 @@
return;
}
}
+ return;
}
- return;
+ signStanOther81 = true;
+ crnStation=2;
}
- StaProtocol staProtocolOther1 = devpThread.getStation().get(crnStn.getStaNoOther1());
- if (staProtocolOther1 == null) {
- continue;
- } else {
- staProtocolOther1 = staProtocolOther1.clone();
- }
+ if (!signStanOther81){
+ StaProtocol staProtocolOther1 = devpThread.getStation().get(crnStn.getStaNoOther1());
+ if (staProtocolOther1 == null) {
+ continue;
+ } else {
+ staProtocolOther1 = staProtocolOther1.clone();
+ }
- if (staProtocolOther1.isAutoing() && staProtocolOther1.getWorkNo()!=0){
- return;
- }
+ if (staProtocolOther1.isLoading() || !staProtocolOther1.getWorkNo().equals(0)){
+ return;
+ }
- StaProtocol staProtocolOther2 = devpThread.getStation().get(crnStn.getStaNoOther2());
- if (staProtocolOther2 == null) {
- continue;
- } else {
- staProtocolOther2 = staProtocolOther2.clone();
- }
- if (staProtocolOther2.isAutoing() && staProtocolOther2.getWorkNo()!=0){
- return;
+ StaProtocol staProtocolOther2 = devpThread.getStation().get(crnStn.getStaNoOther2());
+ if (staProtocolOther2 == null) {
+ continue;
+ } else {
+ staProtocolOther2 = staProtocolOther2.clone();
+ }
+ if (staProtocolOther2.isLoading() || !staProtocolOther2.getWorkNo().equals(0)){
+ return;
+ }
}
crnStation = 2;
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
@@ -3098,6 +3077,10 @@
if (wrkMast == null) {
continue;
}
+// if (wrkMast.getStaNoSign().equals(signBigTurn)){
+// continue;
+// }
+
crnStation = crnStation1;
@@ -3112,17 +3095,39 @@
continue;
}
- if (wrkMast.getStaNo()>309){
- 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){
- continue;
- }
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
- StaProtocol staProtocolEnt = devpThread.getStation().get(212);
- if (staProtocolEnt.isLoading() || staProtocolEnt.getWorkNo()!=0){
- continue;
- }
- }
+ Integer turnBigInt = 0;
+// if (wrkMast.booleanStaNoSign()){
+// RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign("LineUp"+wrkMast.getStaNo());
+// if (Cools.isEmpty(rgvOneSign)){
+// continue;
+// }
+// RgvOneSign trunBig = rgvOneSignMapper.selectOneSign("TrunBig"+wrkMast.getStaNo());
+// if (Cools.isEmpty(trunBig)){
+// continue;
+// }
+// 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;
+// }
+// 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) {
@@ -3266,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 {
@@ -3342,7 +3350,29 @@
// }
}
}
+// signBigTurn++;
+// if (signBigTurn > 2){
+// 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);
+ }
+ }
}
/**
@@ -4018,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 {
@@ -4100,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 {
@@ -4163,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 {
@@ -4226,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 {
@@ -5120,21 +5153,29 @@
break;
}
BasJar basJar = basJarMapper.selectById(jarSlave.getId());
+ BasJar basJarOther = basJarMapper.selectById(jarSlave.getJarOtherId());
jarMaxLoc = basJar.getJarCount();
- if (jarMaxLoc == 0) {
+ if (jarMaxLoc == 0 || basJarOther.getJarCount() == 0) {
break;
}
- int count = basJarMastService.selectCount(new EntityWrapper<BasJarMast>().eq("jar_regin", basJar.getRegion()).lt("status", 17).gt("status", 11));
- 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(jarMaxLoc)){
- JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
- JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
- if (jarOtherProtocol == null) {
- break;
- }
+ 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;
+// }
if (jarOtherProtocol.getJarTemperature()>jarTemperature){
log.info("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....鍏堟墽琛屽叆缃愪换鍔★紒锛侊紒",jarOtherProtocol.getJarNo());
} else {
@@ -5215,7 +5256,7 @@
if (jarProtocol.modeType != JarModeType.AUTO){
return false;
}
- if (jarProtocol.statusType .equals(JarStatusType.SOS)){
+ if (jarProtocol.statusType .equals(JarStatusType.SOS) || jarProtocol.statusType .equals(JarStatusType.SOS2)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -5245,7 +5286,7 @@
//鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂�� Other宸﹂棬鍏抽棴
if (jarProtocol.isAutoing() && jarProtocol.jarErr==0
&& jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0){
- if (jarProtocol.statusType != JarStatusType.SOS){
+ if (jarProtocol.statusType != JarStatusType.SOS && jarProtocol.statusType != JarStatusType.SOS2){
log.error("Jar浠诲姟鍒涘缓===銆嬫墽琛�===>琛�={}",4537);
BasJarMast basJarMast = new BasJarMast(basJar, wrkMast, jarLocDigit);
basJarMast.setJarEnterStaNo(staNo);//鍏ョ~鍖栫綈绔欑偣
@@ -5333,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);//鍐峰嵈妲藉彇杈撻�佺嚎
@@ -5393,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());
@@ -5401,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){
@@ -5594,7 +5635,7 @@
if (jarProtocol.modeType != JarModeType.AUTO){
return false;
}
- if (jarProtocol.statusType .equals(JarStatusType.WAITING2) || jarProtocol.statusType .equals(JarStatusType.SOS)){
+ if (jarProtocol.statusType .equals(JarStatusType.WAITING2) || jarProtocol.statusType .equals(JarStatusType.SOS) || jarProtocol.statusType .equals(JarStatusType.SOS2)){
return false;
}
if (jarProtocol.getJarTemperature()>jarTemperature){
@@ -5702,7 +5743,7 @@
return false;
}
- if (jarProtocol.statusType .equals(JarStatusType.WAITING2) || jarProtocol.statusType .equals(JarStatusType.SOS)){
+ if (jarProtocol.statusType .equals(JarStatusType.WAITING2) || jarProtocol.statusType .equals(JarStatusType.SOS) || jarProtocol.statusType .equals(JarStatusType.SOS2)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -5728,7 +5769,7 @@
}
//闂ㄤ綔涓� 鏃�
- if (jarProtocol.isAutoing() && jarProtocol.statusType != JarStatusType.SOS && jarProtocol.jarErr==0
+ if (jarProtocol.isAutoing() && jarProtocol.statusType != JarStatusType.SOS && jarProtocol.statusType!= JarStatusType.SOS2 && jarProtocol.jarErr==0
&& jarProtocol.isRightDoor() && jarProtocol.isLeftDoor()
&& jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0){
//鍏宠繘鏂欓棬
@@ -5760,11 +5801,6 @@
List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
add(6);
}});
-// if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),5)!=0
-// && basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),5)!=jarMaxLoc
-// && basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),5)!=jarMaxLoc*2){
-// return false;
-// }
if (basJarMastList.isEmpty()){
return false;
}
@@ -5796,7 +5832,7 @@
return false;
}
- if (jarProtocol.statusType .equals(JarStatusType.SOS)){
+ if (jarProtocol.statusType .equals(JarStatusType.SOS) || jarProtocol.statusType .equals(JarStatusType.SOS2)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -5826,6 +5862,15 @@
log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMastSign));
}
return true;
+ } else if (jarProtocol.isAutoing() && jarProtocol.statusType != JarStatusType.SOS && jarProtocol.statusType != JarStatusType.SOS2
+ && jarProtocol.statusType != JarStatusType.WAITING2 && jarProtocol.jarErr==0
+ && jarProtocol.isLeftDoor() && jarProtocol.isRightDoor()
+ && jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0){
+ Integer integer = basJarMastService.updateStatus(jarProtocol.getJarNo(), 6, 8);
+ if (basJarMastList.size()!=integer){
+ log.error("{}鍙风~鍖栫綈纭寲瀹屾垚鍚庡紑闂ㄥ畬鎴愪慨鏀圭~鍖栨。妗堢姸鎬佺粨鏋滄暟閲忎笉涓�鑷达紒锛侊紒鏌ヨ璧勬枡鏁伴噺={}锛屾洿鏂拌繑鍥炴暟閲�={}",jarProtocol.getJarNo(),basJarMastList.size(),integer);
+ }
+ return true;
}
return false;
} else {
@@ -5894,7 +5939,7 @@
return false;
}
- if (jarProtocol.statusType .equals(JarStatusType.SOS)){
+ if (jarProtocol.statusType .equals(JarStatusType.SOS) || jarProtocol.statusType .equals(JarStatusType.SOS2)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -5912,9 +5957,26 @@
if (basJarMastList10.size()==jarMaxLoc){
return false;
}
- if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),4)!=0 && !basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(), 4).equals(jarMaxLoc)){
+
+ BasJar basJarOther = basJarMapper.selectById(jarSlave.getJarOtherId());
+ if (Cools.isEmpty(basJarOther)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarSlave.getJarOtherId());
return false;
}
+
+ if (basJarOther.getJarCount() == 0) {
+ return false;
+ }
+
+ List<BasJarMast> basJarMastListOther = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getJarOtherId(), new ArrayList<Integer>() {{
+ add(8);
+ }});
+ 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 (basJar.getJarCode()==1){
@@ -6407,12 +6469,12 @@
if (jarWrkMastExecuteActionExecute5Three(wrkMastExecute,sign)){
break;
}
- return;
+ continue;
case 6:
if (jarWrkMastExecuteActionExecute6Three(wrkMastExecute,sign)){
break;
}
- return;
+ continue;
}
}
} catch (Exception e){
@@ -6445,7 +6507,7 @@
if (jarProtocol.modeType != JarModeType.AUTO){
return false;
}
- if (jarProtocol.statusType .equals(JarStatusType.SOS)){
+ if (jarProtocol.statusType .equals(JarStatusType.SOS) || jarProtocol.statusType .equals(JarStatusType.SOS2)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -6573,7 +6635,7 @@
if (jarProtocol.modeType != JarModeType.AUTO){
return false;
}
- if (jarProtocol.statusType .equals(JarStatusType.WAITING2) || jarProtocol.statusType .equals(JarStatusType.SOS)){
+ if (jarProtocol.statusType .equals(JarStatusType.WAITING2) || jarProtocol.statusType .equals(JarStatusType.SOS) || jarProtocol.statusType .equals(JarStatusType.SOS2)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -6701,7 +6763,7 @@
if (jarProtocol.modeType != JarModeType.AUTO){
return false;
}
- if (jarProtocol.statusType .equals(JarStatusType.WAITING2) || jarProtocol.statusType .equals(JarStatusType.SOS)){
+ if (jarProtocol.statusType .equals(JarStatusType.WAITING2) || jarProtocol.statusType .equals(JarStatusType.SOS) || jarProtocol.statusType .equals(JarStatusType.SOS2)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -6817,7 +6879,7 @@
if (jarProtocol.modeType != JarModeType.AUTO){
return false;
}
- if (jarProtocol.statusType .equals(JarStatusType.WAITING2) || jarProtocol.statusType .equals(JarStatusType.SOS)){
+ if (jarProtocol.statusType .equals(JarStatusType.WAITING2) || jarProtocol.statusType .equals(JarStatusType.SOS) || jarProtocol.statusType .equals(JarStatusType.SOS2)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -6933,7 +6995,7 @@
if (jarProtocol.modeType != JarModeType.AUTO){
return false;
}
- if (jarProtocol.statusType .equals(JarStatusType.SOS)){
+ if (jarProtocol.statusType .equals(JarStatusType.SOS) || jarProtocol.statusType .equals(JarStatusType.SOS2)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -7069,7 +7131,7 @@
return false;
}
- if (jarProtocol.statusType .equals(JarStatusType.SOS)){
+ if (jarProtocol.statusType .equals(JarStatusType.SOS) || jarProtocol.statusType .equals(JarStatusType.SOS2)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -7147,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);
}
@@ -7541,7 +7603,7 @@
return false;
}
- if (jarProtocol.statusType .equals(JarStatusType.SOS)){
+ if (jarProtocol.statusType .equals(JarStatusType.SOS) || jarProtocol.statusType .equals(JarStatusType.SOS2)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -7593,7 +7655,7 @@
continue;
}
- if (jarProtocolOther.statusType .equals(JarStatusType.SOS)){
+ if (jarProtocolOther.statusType .equals(JarStatusType.SOS) || jarProtocol.statusType .equals(JarStatusType.SOS2)){
// log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
continue;
}
@@ -7768,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));
@@ -7789,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));
@@ -7809,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));
@@ -7836,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));
@@ -7855,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));
@@ -7871,35 +7943,89 @@
try{
switch (sign){
case 1:
- case 5:
- case 9:
if (jarWrkMastExecuteGenerateSteComplete(sign)){
- break;
+ return;
}
case 2:
- case 6:
- case 10:
if (jarWrkMastExecuteGenerateJarComplete(sign)){
- break;
+ return;
}
case 3:
- case 7:
- case 11:
if (jarWrkMastExecuteGenerateRgvComplete1(sign)){
- break;
+ return;
}
case 4:
- case 8:
- case 12:
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;
}
/**
@@ -7936,6 +8062,7 @@
log.error("绌挎杞te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},绌挎杞︽暟鎹�={},sign={}",
wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSON(steProtocol),sign);
}
+// Thread.sleep(500);
return true;
}
}
@@ -8043,6 +8170,35 @@
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)
&& !jarProtocol.isRightDoor() && !jarProtocol.isLeftDoor()
@@ -8103,7 +8259,7 @@
&& (jarProtocol.leftDoorClose==2 || jarProtocol.rightDoorClose==2)){
if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
- return false;
+ continue;
}
WrkMastExecute wrkMastExecuteSou = new WrkMastExecute();
wrkMastExecuteSou.setWrkSts(3);
@@ -8399,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鐢甸噺 鏈変换鍔� 鏂數
@@ -8433,6 +8596,9 @@
add(5);
add(11);
add(17);
+ add(99);
+ add(100);
+ add(999);
}});
if(!basJarMastList.isEmpty()){
continue;
@@ -8483,7 +8649,11 @@
if (jarProtocol.modeType != JarModeType.AUTO){
continue;
}
- if (jarProtocol.statusType .equals(JarStatusType.SOS)){
+ 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){
@@ -8547,6 +8717,9 @@
add(5);
add(11);
add(17);
+ add(99);
+ add(100);
+ add(999);
}});
if(basJarMastList.isEmpty()){
if (wrkMastExecuteService.selectNoStartCharge(steSlave.getId())==0){
@@ -8571,7 +8744,11 @@
if (jarProtocol.modeType != JarModeType.AUTO){
continue;
}
- if (jarProtocol.statusType .equals(JarStatusType.SOS)){
+ 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){
@@ -8616,6 +8793,11 @@
log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={}",
wrkMastExecuteByCharge.getSteId(), JSON.toJSONString(wrkMastExecuteByCharge));
}
+ try{
+ Thread.sleep(1000);
+ } catch (Exception e){
+
+ }
wrkMastExecuteByCharge.setWrkType(2);
wrkMastExecuteByCharge.setWrkSts(100);
if (!wrkMastExecuteService.updateById(wrkMastExecuteByCharge)){
@@ -8643,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 {
@@ -8653,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 {
@@ -8673,14 +8859,39 @@
}
}
-
-
}
+ 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鍒嗛厤纭寲缃�)
ArrayList<Integer> staNos = new ArrayList<Integer>() {{
- add(607);add(608);add(609);add(610);add(611);add(612);
+ 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);
}};
@@ -8757,7 +8968,11 @@
if (jarProtocol.modeType != JarModeType.AUTO){
continue;
}
- if (jarProtocol.statusType .equals(JarStatusType.SOS)){
+ 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){
@@ -8788,7 +9003,7 @@
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
StaProtocol staProtocolEnt = devpThread.getStation().get(staNoEnt);
if (staProtocolEnt == null || (staProtocolEnt.isLoading() && staProtocolEnt.getWorkNo()==0)){
- log.error("绔欑偣寮傚父,璁℃暟鍔犱竴锛岀珯鐐瑰彿锛�"+staNoEnt);
+// log.error("绔欑偣寮傚父,璁℃暟鍔犱竴锛岀珯鐐瑰彿锛�"+staNoEnt);
count++;
} else if (staProtocolEnt != null && staProtocolEnt.getWorkNo()!=0 && !wrkNoList.contains(staProtocolEnt.getWorkNo())){
if (staProtocolEnt.getStaNo().equals(basJar.getEntStaNo$())){
--
Gitblit v1.9.1