From c25ccc2181c8d47936cf86443359e783eedeb018 Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期二, 19 十一月 2024 15:19:57 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 1224 +++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 1,037 insertions(+), 187 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 80023d9..da5e0d0 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -59,6 +59,9 @@
// 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
private CommonService commonService;
@Autowired
@@ -137,7 +140,7 @@
if (!Cools.isEmpty(barcode)) {
// log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
- if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) {
+ if ("00000000".endsWith(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) {
continue;
}
} else {
@@ -190,7 +193,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;
}
@@ -225,12 +231,12 @@
// 鍒ゆ柇閲嶅宸ヤ綔妗�
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());
- devpThread.setPakMk(staProtocol.getSiteId(), false);
+ devpThread.setPakMk(staProtocol.getSiteId(), false,238);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
@@ -263,24 +269,32 @@
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("");
staProtocol.setWorkNo(dto.getWorkNo());
if(Cools.isEmpty(dto.getRgvNo()) || dto.getRgvNo() <= 0) {
- staProtocol.setStaNo(dto.getStaNo());
+ staProtocol.setStaNo(607);//607
} else {//濡傛灉瀛樺湪RGV缂栧彿锛岃鏄庨渶瑕丷GV鎺ラ┏锛屽厛涓嬪彂浠诲姟鍒癛GV婧愮珯
staProtocol.setStaNo(dto.getRgvSstaNo());
}
- devpThread.setPakMk(staProtocol.getSiteId(), false);
+ devpThread.setPakMk(staProtocol.getSiteId(), false,283);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
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);
}
@@ -296,16 +310,11 @@
}
}
-
- /**
- * 缁勬墭
- * 鍏ュ簱绔欙紝鏍规嵁鏉$爜鎵弿鐢熸垚鍏ュ簱宸ヤ綔妗o紝宸ヤ綔鐘舵�� 2
- */
- public synchronized void generateStoreWrkFileSingle() {
+ public synchronized void generateStoreWrkFile464() {
// 鏍规嵁杈撻�佺嚎plc閬嶅巻
for (DevpSlave devp : slaveProperties.getDevp()) {
// 閬嶅巻鍏ュ簱鍙�
- for (DevpSlave.Sta inSta : devp.getInSingleSta()) {
+ for (DevpSlave.Sta inSta : devp.getInSta464()) {
// 鑾峰彇鏉$爜鎵弿浠俊鎭�
BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode());
if (barcodeThread == null) {
@@ -315,7 +324,7 @@
if (!Cools.isEmpty(barcode)) {
// log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
- if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) {
+ if ("00000000".endsWith(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) {
continue;
}
} else {
@@ -368,7 +377,225 @@
// 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;
+ }
+
+ // 鍏ュ嚭搴撴ā寮忓垽鏂�
+// 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,422);
+ 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,467);
+ 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);
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ }
+
+ }
+
+
+ }
+ }
+
+ }
+
+ /**
+ * 缁勬墭
+ * 鍏ュ簱绔欙紝鏍规嵁鏉$爜鎵弿鐢熸垚鍏ュ簱宸ヤ綔妗o紝宸ヤ綔鐘舵�� 2
+ */
+ public synchronized void generateStoreWrkFileSingle() {
+ // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ // 閬嶅巻鍏ュ簱鍙�
+ for (DevpSlave.Sta inSta : devp.getInSingleSta()) {
+ // 鑾峰彇鏉$爜鎵弿浠俊鎭�
+ 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 ("00000000".endsWith(barcode) || "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;
}
@@ -408,9 +635,15 @@
staProtocol.setWorkNo(wrkMast111.getWrkNo());
staProtocol.setStaNo(wrkMast111.getStaNo());
- devpThread.setPakMk(staProtocol.getSiteId(), false);
+ devpThread.setPakMk(staProtocol.getSiteId(), false,637);
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;
@@ -460,9 +693,15 @@
staProtocol.setStaNo(dto.getRgvSstaNo());
}
- devpThread.setPakMk(staProtocol.getSiteId(), false);
+ devpThread.setPakMk(staProtocol.getSiteId(), false,695);
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 {
@@ -500,7 +739,7 @@
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 {
@@ -553,7 +792,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;
}
@@ -599,9 +841,16 @@
staProtocol.setWorkNo(wrkMast.getWrkNo());
staProtocol.setStaNo(wrkMast.getStaNo());
- devpThread.setPakMk(staProtocol.getSiteId(), false);
+ 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));
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;
@@ -641,12 +890,13 @@
staProtocol.setStaNo(dto.getRgvSstaNo());
}
- devpThread.setPakMk(staProtocol.getSiteId(), false);
+ 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));
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());
@@ -666,8 +916,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));
}
}
@@ -722,7 +986,7 @@
staNo = 147;
}
staProtocol.setStaNo(staNo);
- devpThread.setPakMk(staProtocol.getSiteId(), false);
+ devpThread.setPakMk(staProtocol.getSiteId(), false,988);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (result) {
// 鏇存柊宸ヤ綔涓绘。
@@ -830,7 +1094,7 @@
// 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
staProtocol.setWorkNo(wrkMast.getWrkNo());
staProtocol.setStaNo(dto.getStaNo());
- devpThread.setPakMk(staProtocol.getSiteId(), false);
+ devpThread.setPakMk(staProtocol.getSiteId(), false,1096);
// ledThread.errorReset();
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
@@ -945,7 +1209,7 @@
// 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
staProtocol.setWorkNo(wrkMast.getWrkNo());
staProtocol.setStaNo(dto.getStaNo());
- devpThread.setPakMk(staProtocol.getSiteId(), false);
+ devpThread.setPakMk(staProtocol.getSiteId(), false,1211);
// ledThread.errorReset();
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
@@ -2059,7 +2323,7 @@
staProtocol.setWorkNo(wrkMast.getWrkNo());
staProtocol.setStaNo(wrkMast.getStaNo());
- devpThread.setPakMk(staProtocol.getSiteId(), false);
+ devpThread.setPakMk(staProtocol.getSiteId(), false,2325);
if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(99, crnCommand.getCrnNo()-2))) {
log.error("杈撻�佺嚎閿佸畾鍛戒护涓嬪彂澶辫触锛屽爢鍨涙満鍙�={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), crnCommand.getCrnNo()-2);
@@ -2523,6 +2787,11 @@
public synchronized void locToCrnStn1(CrnSlave slave, CrnProtocol crnProtocol, Integer crnStation) {
List<WrkMast> wrkMasts = wrkMastMapper.selectPakOutStep12(slave.getId());
for (WrkMast wrkMast : wrkMasts) {
+ // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+ if (wrkMastMapper.selectWorking(slave.getId()) != null) {
+ break;
+// return;
+ }
if (wrkMast == null) {
continue;
}
@@ -2545,7 +2814,7 @@
}
//閫�搴撴ā寮忚烦杩�118銆�119鍑哄簱浠诲姟
if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119){
- RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign();
+ RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign("oneSign");
if (Cools.isEmpty(rgvOneSign) || rgvOneSign.getRgvOneSign()==1){
continue;
}
@@ -2843,18 +3112,30 @@
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;
+ }
+ }
+
// 宸ヤ綔妗g姸鎬佸垽鏂�
if (wrkMast.getIoType() < 100 || wrkMast.getSourceStaNo() == null) {
log.error("鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), wrkMast.getIoType());
continue;
}
- //閫�搴撴ā寮忚烦杩�118銆�119鍑哄簱浠诲姟
- if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119){
- RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign();
- if (Cools.isEmpty(rgvOneSign) || rgvOneSign.getRgvOneSign()==1){
- continue;
- }
- }
+// //閫�搴撴ā寮忚烦杩�118銆�119鍑哄簱浠诲姟
+// if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119){
+// RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign("oneSign");
+// if (Cools.isEmpty(rgvOneSign) || rgvOneSign.getRgvOneSign()==1){
+// continue;
+// }
+// }
// 鑾峰彇婧愬簱浣嶄俊鎭�
LocMast sourceSta = locMastService.selectById(wrkMast.getSourceLocNo());
if (!sourceSta.getLocSts().equals("R") && !sourceSta.getLocSts().equals("P")) {
@@ -3737,7 +4018,61 @@
} else {
staProtocol = staProtocol.clone();
}
+ if (emptyInSta.getStaNo()==607 && staProtocol.getStaNo()==0 && staProtocol.getWorkNo()==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)) {
+ continue;
+ }
+ } else {
+ continue;
+ }
+ try {
+ BasDevp basDevp = basDevpService.selectById(emptyInSta.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")
+ .setJson(JSON.toJSONString(param))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ if (jsonObject.getInteger("code").equals(200)) {
+ basDevp.setReportSign(1);
+ basDevpService.updateById(basDevp);
+// StartupDto dto = jsonObject.getObject("data", StartupDto.class);
+//
+// // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
+// staProtocol.setWorkNo(dto.getWorkNo());
+// staProtocol.setStaNo(607);
+// devpThread.setPakMk(staProtocol.getSiteId(), false);
+// boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(5, staProtocol));
+// if (!result) {
+// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+// }
+ } else {
+ log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ }
+ return;
+ } else
// 绔欑偣鏉′欢鍒ゆ柇
if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
&& staProtocol.isEmptyMk() && ((staProtocol.getWorkNo() > 32222 && staProtocol.getWorkNo() <= 63333) || staProtocol.getWorkNo()==0) && staProtocol.isPakMk()) {
@@ -3762,7 +4097,7 @@
// 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
staProtocol.setWorkNo(dto.getWorkNo());
staProtocol.setStaNo(dto.getStaNo());
- devpThread.setPakMk(staProtocol.getSiteId(), false);
+ devpThread.setPakMk(staProtocol.getSiteId(), false,4087);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
@@ -3798,7 +4133,13 @@
// 绔欑偣鏉′欢鍒ゆ柇
if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
&& staProtocol.isEmptyMk() && ((staProtocol.getWorkNo() > 32222 && staProtocol.getWorkNo() <= 63333) || staProtocol.getWorkNo()==0) && staProtocol.isPakMk()) {
-
+ //鍥炲簱鏍囪
+ if (emptyInSta.getStaNo()==126 || emptyInSta.getStaNo()==131){
+ RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign("sign"+emptyInSta.getStaNo());
+ if (Cools.isEmpty(rgvOneSign) || rgvOneSign.getRgvOneSign()!=1){
+ continue;
+ }
+ }
try {
LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
@@ -3819,7 +4160,7 @@
// 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
staProtocol.setWorkNo(dto.getWorkNo());
staProtocol.setStaNo(dto.getStaNo());
- devpThread.setPakMk(staProtocol.getSiteId(), false);
+ devpThread.setPakMk(staProtocol.getSiteId(), false,4150);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
@@ -3855,7 +4196,13 @@
// 绔欑偣鏉′欢鍒ゆ柇
if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
&& staProtocol.isEmptyMk() && ((staProtocol.getWorkNo() > 32222 && staProtocol.getWorkNo() <= 63333) || staProtocol.getWorkNo()==0) && staProtocol.isPakMk()) {
-
+ //鍥炲簱鏍囪
+ if (emptyInSta.getStaNo()==310 || emptyInSta.getStaNo()==312){
+ RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign("sign"+emptyInSta.getStaNo());
+ if (Cools.isEmpty(rgvOneSign) || rgvOneSign.getRgvOneSign()!=1){
+ continue;
+ }
+ }
try {
LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
@@ -3876,7 +4223,7 @@
// 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
staProtocol.setWorkNo(dto.getWorkNo());
staProtocol.setStaNo(dto.getStaNo());
- devpThread.setPakMk(staProtocol.getSiteId(), false);
+ devpThread.setPakMk(staProtocol.getSiteId(), false,4213);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
@@ -3935,7 +4282,7 @@
*/
public synchronized void storeEmptyPlt3() {
try{
- RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign();
+ RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign("oneSign");
if (Cools.isEmpty(rgvOneSign) || rgvOneSign.getRgvOneSign()==1){
return;
}
@@ -4772,13 +5119,38 @@
if (basJarMastService.selectJarMastOperation(jarSlave.getId(),2)!=0){
break;
}
+ BasJar basJar = basJarMapper.selectById(jarSlave.getId());
+ BasJar basJarOther = basJarMapper.selectById(jarSlave.getJarOtherId());
+ jarMaxLoc = basJar.getJarCount();
+ 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){
+ 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;
+ }
+ 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;
}
- if (basJarMastService.getJarMastByJarIdCount(jarSlave.getId())>=14){
- break;
- }
- if (basJarMastService.selectJarMastOperation(jarSlave.getId(),0,9)>=7){
+ if (basJarMastService.selectJarMastOperation(jarSlave.getId(),0,9)>=jarMaxLoc){
break;
}
if (!Objects.equals
@@ -4797,7 +5169,7 @@
break;
}
jarLocDigit = 1;
- } else if (jarMastByJarIdMax.getJarLocDigit()<7){
+ } else if (jarMastByJarIdMax.getJarLocDigit()<jarMaxLoc){
jarLocDigit = jarMastByJarIdMax.getJarLocDigit()+1;
} else {
continue;
@@ -4848,7 +5220,7 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -4906,8 +5278,32 @@
if (wrkMastExecute.getIoType()<7 || wrkMastExecute.getIoType()==9){
BasJarMast jarMastByWrkNo = basJarMastService.getJarMastByWrkNo(wrkMastExecute.getWrkNo());
jarMastByWrkNo.setStatus(jarMastByWrkNo.getStatusComplete(wrkMastExecute.getIoType()));
- if (!basJarMastService.updateById(jarMastByWrkNo)){
- log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,BasJarMast={},寮傚父淇℃伅={}",JSON.toJSONString(jarMastByWrkNo),"鏇存柊basJarMast澶辫触");
+ if (wrkMastExecute.getIoType()==3 && jarMastByWrkNo.getStatus()==8){
+ List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarMastByWrkNo.getJarId(), new ArrayList<Integer>() {{
+ add(6);//纭寲瀹屾垚
+ }});
+ if (basJarMastList.isEmpty()){
+ continue;
+ }
+ Integer integer = basJarMastService.updateStatus(jarMastByWrkNo.getJarId(), 6, 8);
+ if (basJarMastList.size()!=integer){
+ log.error("{}鍙风~鍖栫綈纭寲瀹屾垚鍚庡紑闂ㄥ畬鎴愪慨鏀圭~鍖栨。妗堢姸鎬佺粨鏋滄暟閲忎笉涓�鑷达紒锛侊紒鏌ヨ璧勬枡鏁伴噺={}锛屾洿鏂拌繑鍥炴暟閲�={}",jarMastByWrkNo.getJarId(),basJarMastList.size(),integer);
+ }
+ } else if (wrkMastExecute.getIoType()==2 && jarMastByWrkNo.getStatus()==5){
+ List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarMastByWrkNo.getJarId(), new ArrayList<Integer>() {{
+ add(4);//纭寲瀹屾垚
+ }});
+ if (basJarMastList.isEmpty()){
+ continue;
+ }
+ Integer integer = basJarMastService.updateStatus(jarMastByWrkNo.getJarId(), 4, 5);
+ if (basJarMastList.size()!=integer){
+ log.error("{}鍙风~鍖栫綈纭寲瀹屾垚鍚庡紑闂ㄥ畬鎴愪慨鏀圭~鍖栨。妗堢姸鎬佺粨鏋滄暟閲忎笉涓�鑷达紒锛侊紒鏌ヨ璧勬枡鏁伴噺={}锛屾洿鏂拌繑鍥炴暟閲�={}",jarMastByWrkNo.getJarId(),basJarMastList.size(),integer);
+ }
+ } else {
+ if (!basJarMastService.updateById(jarMastByWrkNo)){
+ log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,BasJarMast={},寮傚父淇℃伅={}",JSON.toJSONString(jarMastByWrkNo),"鏇存柊basJarMast澶辫触");
+ }
}
}
wrkMastExecute.setWrkSts(wrkMastExecute.getWrkStsComplete());
@@ -4942,6 +5338,8 @@
signExecute = jarWrkMastExecuteGenerateBurial(signExecute, sign);//鍐峰嵈妲藉彇杈撻�佺嚎
default:
jarWrkMastExecuteGenerateSte(signExecute,sign);//灏忚溅绉诲姩
+// signExecute = jarWrkMastExecuteGenerateBurial(signExecute, sign);//鍐峰嵈妲藉彇杈撻�佺嚎
+
}
if (!signExecute[0] && !signExecute[1]){
//Ste绉诲姩
@@ -4969,10 +5367,7 @@
if (jarProtocol.modeType != JarModeType.AUTO){
continue;
}
- if (jarProtocol.getJarTemperature()>50){
- log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
- continue;
- }
+
JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
@@ -5000,6 +5395,10 @@
break;//寮�闂ㄤ换鍔� 鐢熸垚鍏ョ~鍖栫綈浠诲姟
}
case 2:
+ if (jarProtocol.getJarTemperature()>jarTemperature){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+ continue;
+ }
if (jarWrkMastExecuteGenerate2(jarSlave,sign)){
signExecute[i] = true;
break;//鍏宠繘鏂欓棬
@@ -5010,6 +5409,10 @@
break;//寮�鍑烘枡闂�
}
case 4:
+ if (jarProtocol.getJarTemperature()>jarTemperature){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+ continue;
+ }
if (jarWrkMastExecuteGenerate4(jarSlave,sign)){
signExecute[i] = true;
break;//鍑虹~鍖栫綈 ===銆� 鍏ュ喎鍗存Ы
@@ -5048,7 +5451,7 @@
signExecute[jarSlave.getId()-5] = true;
continue;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
continue;
}
@@ -5063,9 +5466,10 @@
if (jarProtocol.isAutoing() && jarProtocol.jarErr==0){
if (jarWrkMastExecuteGenerate5(jarSlave,sign)){
signExecute[jarSlave.getId()-5] = true;
- //鍑虹~鍖栫綈 ===銆� 鍏ュ喎鍗存Ы
+ return signExecute;
+ //鍐峰嵈瀹屾垚涓婅緭閫佺嚎
}
- return signExecute;
+ continue;
}
} catch (Exception e){
log.error("{}鍙风~鍖栫綈JarWrkMastExecute浠诲姟鍒涘缓寮傚父,寮傚父鍘熷洜={}",jarSlave.getId(),e.getMessage());
@@ -5096,7 +5500,7 @@
if (jarProtocol.modeType != JarModeType.AUTO){
continue;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
continue;
}
@@ -5194,7 +5598,7 @@
if (jarProtocol.statusType .equals(JarStatusType.WAITING2) || jarProtocol.statusType .equals(JarStatusType.SOS)){
return false;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
continue;
}
@@ -5210,6 +5614,15 @@
BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
if (Cools.isEmpty(basJar)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
+ return false;
+ }
+
+ if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(basJar.getRegion())!=0){
+ return false;
+ }
+
+ int count = basJarMastService.selectCount(new EntityWrapper<BasJarMast>().eq("jar_regin", basJar.getRegion()).lt("status", 17).gt("status", 11));
+ if (count>0){
return false;
}
@@ -5260,12 +5673,16 @@
List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
add(4);
}});
- if (basJarMastList.size() != 7){
+ if (basJarMastList.isEmpty()){
return false;
}
BasJarMast basJarMastSign = basJarMastList.get(0);
if (Cools.isEmpty(basJarMastSign)){
+ return false;
+ }
+
+ if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(basJarMastSign.getJarRegin())!=0){
return false;
}
// //鍒ゆ柇灏忚溅鐘舵��
@@ -5290,7 +5707,7 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -5299,8 +5716,15 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
return false;
}
- if (basJar.getJarCount()!=7){
- log.error("{}鍙风~鍖栫綈鏌ヨ璁惧搴撳瓨鏁板紓甯革紒锛侊紒搴撳瓨寰呭叆鏁帮細{}",jarProtocol.getJarNo(),basJar.getJarCount());
+ jarMaxLoc = basJar.getJarCount();
+ if (jarMaxLoc == 0) {
+ return false;
+ }
+// if (!basJar.getJarCount().equals(jarMaxLoc)){
+// log.error("{}鍙风~鍖栫綈鏌ヨ璁惧搴撳瓨鏁板紓甯革紒锛侊紒搴撳瓨寰呭叆鏁帮細{}",jarProtocol.getJarNo(),basJar.getJarCount());
+// return false;
+// }
+ if (basJarMastList.size() != jarMaxLoc){
return false;
}
@@ -5337,15 +5761,16 @@
List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
add(6);
}});
- if (basJarMastList.size() != 7){
- return false;
- }
- if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),5)!=0){
+ if (basJarMastList.isEmpty()){
return false;
}
BasJarMast basJarMastSign = basJarMastList.get(0);
if (Cools.isEmpty(basJarMastSign)){
+ return false;
+ }
+
+ if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(basJarMastSign.getJarRegin())!=0){
return false;
}
// //鍒ゆ柇灏忚溅鐘舵��
@@ -5371,13 +5796,20 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
- if (jarProtocol.getJarTemperature()>50){
- log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
- return false;
- }
+// if (jarProtocol.getJarTemperature()>jarTemperature){
+// log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+// return false;
+// }
BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
if (Cools.isEmpty(basJar)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
+ return false;
+ }
+ jarMaxLoc = basJar.getJarCount();
+ if (jarMaxLoc == 0) {
+ return false;
+ }
+ if (basJarMastList.size() != jarMaxLoc){
return false;
}
@@ -5390,6 +5822,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.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 {
@@ -5411,19 +5852,32 @@
if (wrkMastExecuteService.getWrkMastExecuteByJarIdCount(jarSlave.getId())!=0){
return false;
}
+ List<BasJarMast> basJarMastList1 = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getJarOtherId(), new ArrayList<Integer>() {{
+ add(0);add(1);add(2);add(3);
+ }});
+ if (!basJarMastList1.isEmpty()){
+ return false;
+ }
List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
add(8);
}});
if (basJarMastList.isEmpty()){
return false;
}
-
- if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),4)!=0){
- return false;
- }
+ List<BasJarMast> basJarMastList10 = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
+ add(10);
+ }});
BasJarMast jarMastByJarIdMin = basJarMastService.getJarMastByJarIdMin(jarSlave.getId(),8,8);
if (Cools.isEmpty(jarMastByJarIdMin)){
+ return false;
+ }
+ if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(jarMastByJarIdMin.getJarRegin())!=0){
+ return false;
+ }
+
+ int count = basJarMastService.selectCount(new EntityWrapper<BasJarMast>().eq("jar_regin", jarMastByJarIdMin.getJarRegin()).lt("status", 17).gt("status", 10));
+ if (count>0){
return false;
}
// //鍒ゆ柇灏忚溅鐘舵��
@@ -5455,6 +5909,50 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
return false;
}
+
+ jarMaxLoc = basJar.getJarCount();
+ if (jarMaxLoc == 0) {
+ return false;
+ }
+ if (basJarMastList10.size()==jarMaxLoc){
+ return false;
+ }
+
+ 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){
+// 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
@@ -5507,6 +6005,10 @@
if (Cools.isEmpty(jarMastByJarIdMin)){
return false;
}
+
+ if (wrkMastExecuteService.getWrkMastExecuteByjarReginCount(jarMastByJarIdMin.getJarRegin())!=0){
+ return false;
+ }
//
// //鍒ゆ柇灏忚溅鐘舵��
// if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarOutSte().get(0).getSteNo(),3,SteStatusType.IDLE)){
@@ -5526,13 +6028,33 @@
if (jarProtocol.modeType != JarModeType.AUTO){
return false;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
if (Cools.isEmpty(basJar)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
+ return false;
+ }
+
+ // 鑾峰彇纭寲缃愪俊鎭�
+ JarThread jarThreadOther = (JarThread) SlaveConnection.get(SlaveType.Jar, SteAndJarUtil.getRgvJarNo(jarProtocol.getJarNo()));
+ JarProtocol jarProtocolOther = jarThreadOther.getJarProtocol();
+ if (jarProtocolOther == null) {
+ return false;
+ }
+ if (jarProtocolOther.modeType != JarModeType.AUTO){
+ return false;
+ }
+
+ BasJar basJarOther = basJarMapper.selectById(jarProtocolOther.getJarNo());
+ if (Cools.isEmpty(basJarOther)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocolOther.getJarNo());
+ return false;
+ }
+
+ if (!jarProtocolOther.isRightDoor()){
return false;
}
@@ -5573,7 +6095,7 @@
return false;
}
if (steProtocol.getMode() != (short)1) {
- log.error(steNo + "鍙峰皬杞︾绾匡紝鏃犳硶鎿嶄綔");
+// log.error(steNo + "鍙峰皬杞︾绾匡紝鏃犳硶鎿嶄綔");
return false;
}
if (steProtocol.getChargeStatus()!=0){
@@ -5628,7 +6150,7 @@
return false;
}
if (steProtocol.getMode() != (short)1) {
- log.error(steNo + "鍙峰皬杞︾绾匡紝鏃犳硶鎿嶄綔");
+// log.error(steNo + "鍙峰皬杞︾绾匡紝鏃犳硶鎿嶄綔");
return false;
}
if (steProtocol.getCharge()<31.0F && chargeSign){
@@ -5949,10 +6471,10 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
- if (jarProtocol.getJarTemperature()>50){
- log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
- return false;
- }
+// if (jarProtocol.getJarTemperature()>jarTemperature){
+// log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+// return false;
+// }
BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
if (Cools.isEmpty(basJar)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
@@ -6077,7 +6599,7 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -6205,7 +6727,7 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -6321,7 +6843,7 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -6437,13 +6959,33 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
if (Cools.isEmpty(basJar)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
+ return false;
+ }
+
+ // 鑾峰彇纭寲缃愪俊鎭�
+ JarThread jarThreadOther = (JarThread) SlaveConnection.get(SlaveType.Jar, SteAndJarUtil.getRgvJarNo(wrkMastExecute.getJarId()));
+ JarProtocol jarProtocolOther = jarThreadOther.getJarProtocol();
+ if (jarProtocolOther == null) {
+ return false;
+ }
+ if (jarProtocolOther.modeType != JarModeType.AUTO){
+ return false;
+ }
+
+ BasJar basJarOther = basJarMapper.selectById(jarProtocolOther.getJarNo());
+ if (Cools.isEmpty(basJarOther)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocolOther.getJarNo());
+ return false;
+ }
+
+ if (!jarProtocolOther.isRightDoor()){
return false;
}
@@ -6553,13 +7095,29 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
if (Cools.isEmpty(basJar)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
+ return false;
+ }
+
+ // 鑾峰彇纭寲缃愪俊鎭�
+ JarThread jarThreadOther = (JarThread) SlaveConnection.get(SlaveType.Jar, SteAndJarUtil.getRgvJarNo(wrkMastExecute.getJarId()));
+ JarProtocol jarProtocolOther = jarThreadOther.getJarProtocol();
+ if (jarProtocolOther == null) {
+ return false;
+ }
+ if (jarProtocolOther.modeType != JarModeType.AUTO){
+ return false;
+ }
+
+ BasJar basJarOther = basJarMapper.selectById(jarProtocolOther.getJarNo());
+ if (Cools.isEmpty(basJarOther)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocolOther.getJarNo());
return false;
}
@@ -6605,7 +7163,7 @@
&& jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0){
log.error("6:鍏ュ喎鍗存Ы Three==>浠诲姟涓嬪彂===>琛�={}",6115);
- if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
+ if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocolOther.getJarNo())){
//鍒ゆ柇灏忚溅鐘舵��
if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.WAITING2,false)){
return false;
@@ -6623,7 +7181,7 @@
}
} else {
//璋冭溅 == > endRow
- if (!jarRgvMoveTake(wrkMastExecute,1)){
+ if (!jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getJarNoEndRow(basJar.getBurial()))){
log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
@@ -6669,7 +7227,7 @@
if (jarProtocol.modeType != JarModeType.AUTO){
return false;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -6785,7 +7343,7 @@
} else {
//璋冭溅 == > endRow
- if (!jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId()))){
+ if (!jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(jarProtocolOther.getJarNo()))){
log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
@@ -6833,7 +7391,7 @@
// if (jarProtocol.modeType != JarModeType.AUTO){
// return false;
// }
-// if (jarProtocol.getJarTemperature()>50){
+// if (jarProtocol.getJarTemperature()>jarTemperature){
// log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
// return false;
// }
@@ -7009,7 +7567,7 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
return false;
}
@@ -7044,89 +7602,124 @@
if (staProtocolRGVOther == null) {
return false;
}
-
- if (staProtocolRGV.rgvBoolean(1) && staProtocolRGVOther.rgvBoolean(1)){ //涓存椂
-// if ( staProtocolRGVOther.rgvBoolean(1)){
- if (staProtocolRGV.getNowRow() != staProtocolRGVOther.getNowRow()){
- //绉昏蛋 == > 2
- if (!jarRgvMoveTake(wrkMastExecute,2)){
- log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
- }
- return true;
+ Integer[] steJarNoAB = SteAndJarUtil.getSteJarNoAB(wrkMastExecute.getJarId());
+ boolean signOther = false;
+ for(Integer jarNoOther : steJarNoAB){
+ // 鑾峰彇纭寲缃愪俊鎭�
+ JarThread jarThreadOther = (JarThread) SlaveConnection.get(SlaveType.Jar, jarNoOther);
+ JarProtocol jarProtocolOther = jarThreadOther.getJarProtocol();
+ if (jarProtocolOther == null) {
+ continue;
}
- //闂ㄤ綔涓� 鏃�
- //鑷姩銆佺┖闂层��
+ if (jarProtocolOther.modeType != JarModeType.AUTO){
+ continue;
+ }
+
+ if (jarProtocolOther.statusType .equals(JarStatusType.SOS)){
+// log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
+ continue;
+ }
+ if (jarProtocolOther.getJarTemperature()>jarTemperature){
+// log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+ continue;
+ }
+ BasJar basJarOther = basJarMapper.selectById(jarProtocolOther.getJarNo());
+ if (Cools.isEmpty(basJarOther)){
+// log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
+ continue;
+ }
if (jarProtocol.isAutoing() && jarProtocol.jarErr==0 && jarProtocol.isLeftDoor() && jarProtocol.isRightDoor()
&& jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0
){
- log.error("10锛欰=>B\\11锛欱=>A==>浠诲姟涓嬪彂===>琛�={}",6558);
- if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
- //鍒ゆ柇灏忚溅鐘舵��
- if (wrkMastExecute.getIoType()==10){//10锛欰=>B
- if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE,true)){
- //璋冭溅 == > 绉诲姩
- if (!jarSteTake(wrkMastExecute,SteLocaType.POINT20.id,SteLocaType.POINT23.id,SteTaskModeType.STE_MOVE_14,false,wrkMastExecute.getJarId())){
- log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
- }
- wrkMastExecute.setWrkType(1);
- wrkMastExecute.setWrkSts(3);
- if (!wrkMastExecuteService.updateById(wrkMastExecute)){
- log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
- }
- } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE,false)){
- wrkMastExecute.setWrkType(1);
- wrkMastExecute.setWrkSts(4);
- if (!wrkMastExecuteService.updateById(wrkMastExecute)){
- log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
- }
- }
- } else {//11:B=>A
- if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE,false)){
- //璋冭溅 == > 绉诲姩
- if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT20.id,SteTaskModeType.STE_MOVE_14,false,wrkMastExecute.getJarId())){
- log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
- }
- wrkMastExecute.setWrkType(1);
- wrkMastExecute.setWrkSts(3);
- if (!wrkMastExecuteService.updateById(wrkMastExecute)){
- log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
- }
- } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE,false)){
- wrkMastExecute.setWrkType(1);
- wrkMastExecute.setWrkSts(4);
- if (!wrkMastExecuteService.updateById(wrkMastExecute)){
- log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
- }
- }
- }
-
- } else {
- //璋冭溅 == > endRow
- if (!jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId()))){
+ jarProtocol = jarProtocolOther;
+ signOther = true;
+ break;
+ }
+ }
+ if (signOther){
+ if (staProtocolRGV.rgvBoolean(1) && staProtocolRGVOther.rgvBoolean(1)){ //涓存椂
+ if (staProtocolRGV.getNowRow() != staProtocolRGVOther.getNowRow()){
+ //绉昏蛋 == > 2
+ if (!jarRgvMoveTake(wrkMastExecute,2)){
log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
- wrkMastExecute.setWrkType(1);
- wrkMastExecute.setWrkSts(2);
- if (!wrkMastExecuteService.updateById(wrkMastExecute)){
- log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
- }
+ return true;
}
- return true;
+ //闂ㄤ綔涓� 鏃�
+ //鑷姩銆佺┖闂层��
+ if (jarProtocol.isAutoing() && jarProtocol.jarErr==0 && jarProtocol.isLeftDoor() && jarProtocol.isRightDoor()
+ && jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0
+ ){
+ log.error("10锛欰=>B\\11锛欱=>A==>浠诲姟涓嬪彂===>琛�={}",6558);
+ if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
+ //鍒ゆ柇灏忚溅鐘舵��
+ if (wrkMastExecute.getIoType()==10){//10锛欰=>B
+ if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE,true)){
+ //璋冭溅 == > 绉诲姩
+ if (!jarSteTake(wrkMastExecute,SteLocaType.POINT20.id,SteLocaType.POINT23.id,SteTaskModeType.STE_MOVE_14,false,jarProtocol.getJarNo())){
+ log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+ wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
+ }
+ wrkMastExecute.setWrkType(1);
+ wrkMastExecute.setWrkSts(3);
+ if (!wrkMastExecuteService.updateById(wrkMastExecute)){
+ log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+ wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
+ }
+ } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE,false)){
+ wrkMastExecute.setWrkType(1);
+ wrkMastExecute.setWrkSts(4);
+ if (!wrkMastExecuteService.updateById(wrkMastExecute)){
+ log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+ wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
+ }
+ }
+ } else {//11:B=>A
+ if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE,false)){
+ //璋冭溅 == > 绉诲姩
+ if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT20.id,SteTaskModeType.STE_MOVE_14,false,jarProtocol.getJarNo())){
+ log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+ wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
+ }
+ wrkMastExecute.setWrkType(1);
+ wrkMastExecute.setWrkSts(3);
+ if (!wrkMastExecuteService.updateById(wrkMastExecute)){
+ log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+ wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
+ }
+ } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE,false)){
+ wrkMastExecute.setWrkType(1);
+ wrkMastExecute.setWrkSts(4);
+ if (!wrkMastExecuteService.updateById(wrkMastExecute)){
+ log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+ wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
+ }
+ }
+ }
+
+ } else {
+ //璋冭溅 == > endRow
+ if (!jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(jarProtocol.getJarNo()))){
+ log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
+ }
+ wrkMastExecute.setWrkType(1);
+ wrkMastExecute.setWrkSts(2);
+ if (!wrkMastExecuteService.updateById(wrkMastExecute)){
+ log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
+ }
+ }
+ return true;
+ }
+ return false;
+ } else {
+ log.error("jarWrkMastExecuteActionExecute1===>鎵ц寮傚父===銆婻GV涓嶆弧瓒虫潯浠讹紝绛夊緟===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar.getEnterRgvNo())+";WrkMastExecute:"+JSON.toJSONString(wrkMastExecute));
+ return false;
}
- return false;
- } else {
- log.error("jarWrkMastExecuteActionExecute1===>鎵ц寮傚父===銆婻GV涓嶆弧瓒虫潯浠讹紝绛夊緟===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar.getEnterRgvNo())+";WrkMastExecute:"+JSON.toJSONString(wrkMastExecute));
- return false;
}
+
} catch (Exception e){
log.error("jarWrkMastExecuteActionExecute1浠诲姟鎵ц涓嬪彂寮傚父==銆媤rkMastExecute={},寮傚父鍘熷洜={}",wrkMastExecute,e.getMessage());
}
@@ -7300,26 +7893,18 @@
try{
switch (sign){
case 1:
- case 5:
- case 9:
if (jarWrkMastExecuteGenerateSteComplete(sign)){
break;
}
case 2:
- case 6:
- case 10:
if (jarWrkMastExecuteGenerateJarComplete(sign)){
break;
}
case 3:
- case 7:
- case 11:
if (jarWrkMastExecuteGenerateRgvComplete1(sign)){
break;
}
case 4:
- case 8:
- case 12:
if (jarWrkMastExecuteGenerateRgvComplete2(sign)){
break;
}
@@ -7467,10 +8052,6 @@
if (jarProtocol.modeType != JarModeType.AUTO){
continue;
}
- if (jarProtocol.getJarTemperature()>50){
- log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
- return false;
- }
BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
if (Cools.isEmpty(basJar)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
@@ -7496,6 +8077,10 @@
&& jarProtocol.leftDoorOpen!=1 && jarProtocol.leftDoorOpen!=3
&& jarProtocol.rightDoorOpen!=1 && jarProtocol.rightDoorOpen!=3
&& (jarProtocol.leftDoorOpen==2 || jarProtocol.rightDoorOpen==2)){
+// if (jarProtocol.getJarTemperature()>jarTemperature){
+// log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+// return false;
+// }
WrkMastExecute wrkMastExecuteSou = new WrkMastExecute();
wrkMastExecuteSou.setWrkSts(3);
List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou);
@@ -7530,6 +8115,10 @@
&& jarProtocol.leftDoorClose!=1 && jarProtocol.leftDoorClose!=3
&& jarProtocol.rightDoorClose!=1 && jarProtocol.rightDoorClose!=3
&& (jarProtocol.leftDoorClose==2 || jarProtocol.rightDoorClose==2)){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+ continue;
+ }
WrkMastExecute wrkMastExecuteSou = new WrkMastExecute();
wrkMastExecuteSou.setWrkSts(3);
List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou);
@@ -7655,6 +8244,8 @@
return true;
}
return true;
+ } else {
+ log.error("{}鍙峰钩琛¤溅褰撳墠鐘舵�佷笉婊¤冻鍏ョ~鍖栫綈鏉′欢锛屽綋鍓嶄换鍔★紝骞宠 杞︿粠鍙栬揣");
}
}
return true;
@@ -7832,7 +8423,14 @@
continue;
}
SteProtocol steProtocol = steThread.getSteProtocol();
- if (steProtocol == null || steProtocol.getChargeStatus()!=0) {
+ if (steProtocol == null) {
+ continue;
+ }
+ if (Cools.isEmpty(steProtocol.getChargeStatus())) {
+ log.error("{}鍙峰皬杞︼紝鍏呯數鐘舵�佷俊鎭紓甯革紝灏忚溅淇℃伅锛歿}",steProtocol.getSteNo(),steProtocol.toString());
+ continue;
+ }
+ if (steProtocol.getChargeStatus()!=0) {
continue;
}
WrkMastExecute wrkMastExecuteByCharge = wrkMastExecuteService.getWrkMastExecuteByCharge(steSlave.getId());
@@ -7848,7 +8446,7 @@
List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusListCharge(steSlave.getId(), new ArrayList<Integer>() {{
add(5);
add(11);
- add(16);
+ add(17);
}});
if(!basJarMastList.isEmpty()){
continue;
@@ -7902,7 +8500,7 @@
if (jarProtocol.statusType .equals(JarStatusType.SOS)){
continue;
}
- if (jarProtocol.getJarTemperature()>50){
+ if (jarProtocol.getJarTemperature()>jarTemperature){
continue;
}
if (jarProtocol.leftDoorOpen != 0 || jarProtocol.rightDoorOpen != 0){
@@ -7929,7 +8527,7 @@
}
}
} catch (Exception e){
- log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,寮傚父淇℃伅={}",e.getMessage());
+ log.error("纭寲鍖哄煙鍒嗘鍏呯數浠诲姟鍒涘缓寮傚父,寮傚父淇℃伅={}",e.getMessage());
}
return false;
}
@@ -7946,15 +8544,60 @@
continue;
}
SteProtocol steProtocol = steThread.getSteProtocol();
- if (steProtocol == null || steProtocol.getChargeStatus()!=1) {
+ if (steProtocol == null) {
+ continue;
+ }
+ if (Cools.isEmpty(steProtocol.getChargeStatus())) {
+ log.error("{}鍙峰皬杞︼紝鍏呯數鐘舵�佷俊鎭紓甯革紝灏忚溅淇℃伅锛歿}",steProtocol.getSteNo(),steProtocol.toString());
+ continue;
+ }
+ if (steProtocol.getChargeStatus()!=1) {
continue;
}
if (steProtocol.getCharge()>95.0F || steProtocol.getFullCharge()){
} else if (steProtocol.getCharge()>50.0F){
- if (wrkMastExecuteService.selectNoStartCharge(steSlave.getId())==0){
- if (wrkMastExecuteService.selectMoveStart(steSlave.getId())==0){
- continue;
+ List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusListCharge(steSlave.getId(), new ArrayList<Integer>() {{
+ add(5);
+ add(11);
+ add(17);
+ }});
+ if(basJarMastList.isEmpty()){
+ if (wrkMastExecuteService.selectNoStartCharge(steSlave.getId())==0){
+ if (wrkMastExecuteService.selectMoveStart(steSlave.getId())==0){
+ 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;
+ }
+ }
}
}
} else {
@@ -7999,9 +8642,216 @@
}
}
} catch (Exception e){
- log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,寮傚父淇℃伅={}",e.getMessage());
+ log.error("纭寲鍖哄煙鍒嗘浠诲姟鍏呯數浠诲姟瀹屾垚寮傚父,寮傚父淇℃伅={}",e.getMessage());
}
return false;
}
+ /**
+ * 鍏朵粬 ===>> 607鍒嗛厤纭寲缃�
+ */
+ public synchronized void stackingCompletionDriveTray() {
+ Integer staNo1 = jarGetStartStaNo(607);
+ if (staNo1!=0){
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 2);
+ StaProtocol staProtocol607 = devpThread.getStation().get(607);
+ 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() == 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));
+ }
+ }
+ } 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){
+
+ }
+ }
+
+ 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 Integer jarGetStartStaNo(Integer staNo) {
+ try {
+ int[] jarNos=new int[]{3,1,4,2};//(607鍒嗛厤纭寲缃�)
+ ArrayList<Integer> staNos = new ArrayList<Integer>() {{
+ add(608);add(609);add(610);add(611);add(612);
+ add(613);add(614);add(615);add(616);add(617);add(618);
+ add(619);add(620);add(621);add(622);
+ }};
+ ArrayList<Integer> jarNoList = new ArrayList<>();
+ ArrayList<Integer> jarNoList1 = new ArrayList<>();
+ ArrayList<Integer> jarNoListNow = new ArrayList<>();
+ for (int jarNo : jarNos) {
+ List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarNo, new ArrayList<Integer>() {{
+ add(0);
+ add(1);
+ add(2);
+ add(3);
+ add(4);
+ }});
+ if (basJarMastList.isEmpty()){
+ continue;
+ }
+ BasJar basJar = basJarMapper.selectById(jarNo);
+ if (Cools.isEmpty(basJar)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarNo);
+ continue;
+ }
+
+ jarMaxLoc = basJar.getJarCount();
+ if (jarMaxLoc == 0) {
+ continue;
+ }
+ if (basJarMastList.size()>0 && basJarMastList.size()<jarMaxLoc){
+ jarNoList.add(jarNo);
+ }
+ }
+ for (int jarNo : jarNos) {
+ if (!jarNoList.contains(jarNo)){
+ jarNoList1.add(jarNo);
+ }
+ }
+ for (int jarNo : jarNoList1) {
+ List<BasJarMast> jarMastByJarIdAndStatusList = basJarMastService.getJarMastByJarIdAndStatusList(8, jarNo);
+ if (jarMastByJarIdAndStatusList.isEmpty()){
+ jarNoList.add(jarNo);
+ }
+ }
+ jarNoList1 = new ArrayList<Integer>();
+ for (int jarNo : jarNos) {
+ if (!jarNoList.contains(jarNo)){
+ jarNoList1.add(jarNo);
+ }
+ }
+ for (int jarNo : jarNoList1) {
+ List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarNo, new ArrayList<Integer>() {{
+ add(5);
+ add(6);
+ add(7);
+ add(8);
+ add(9);
+ add(13);
+ add(14);
+ add(15);
+ }});
+ if (basJarMastList.isEmpty()){
+ jarNoList.add(jarNo);
+ }
+ }
+ for (int jarNo : jarNoList) {
+ if (jarNoListNow.contains(jarNo)){
+ continue;
+ }
+ // 鑾峰彇纭寲缃愪俊鎭�
+ JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarNo);
+ 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){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+ continue;
+ }
+
+ BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
+ if (Cools.isEmpty(basJar)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
+ continue;
+ }
+ jarMaxLoc = basJar.getJarCount();
+ if (jarMaxLoc == 0) {
+ continue;
+ }
+ List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarNo, new ArrayList<Integer>() {{
+ add(0);
+ add(1);
+ add(2);
+ add(3);
+ add(4);
+ }});
+
+ Integer count = basJarMastList.size();
+ ArrayList<Integer> wrkNoList = new ArrayList<>();
+ for (Integer staNoEnt : staNos){
+ 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);
+ count++;
+ } else if (staProtocolEnt != null && staProtocolEnt.getWorkNo()!=0 && !wrkNoList.contains(staProtocolEnt.getWorkNo())){
+ if (staProtocolEnt.getStaNo().equals(basJar.getEntStaNo$())){
+ count++;
+ wrkNoList.add(staProtocolEnt.getWorkNo());
+ }
+ }
+ }
+ if (count<jarMaxLoc){
+ return basJar.getEntStaNo$();
+ }
+ }
+ }catch (Exception e){
+// e.printStackTrace();
+// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ log.error("鍏朵粬 ===>> 鍒嗛厤纭寲缃愯繘鍏ヤ笅涓�姝�"+e);
+ }
+ return 0;
+ }
}
--
Gitblit v1.9.1