From 12a87a3bc544e3e5ffe1589a4975de642ab038c4 Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期五, 29 十一月 2024 00:59:16 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 598 +++++++++++++++++++++++++++++++++++++----------------------
1 files changed, 377 insertions(+), 221 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 1b9768f..209b3a0 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,9 @@
public class MainServiceImpl {
public static final long COMMAND_TIMEOUT = 5 * 1000;
-// private static final int[][] execute = new int[][]{{1,4},{2,4},{3,4},{4,4},{5,6},{6,6},{7,4},{8,4},{9,3},{10,4},{11,4}};
private static final int[][] execute = new int[][]{{1,4},{2,4},{3,4},{4,4},{5,6},{6,6},{7,4},{8,4},{9,3},{10,4},{11,4}};
- private static final Integer jarMaxLoc = 7;
+ private static Integer jarMaxLoc = 0;
private static final Float jarTemperature = 50F;
@Autowired
private CommonService commonService;
@@ -139,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,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;
}
@@ -235,9 +230,10 @@
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) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
return;
@@ -280,20 +276,15 @@
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) {
+ 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);
}
@@ -323,7 +314,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 {
@@ -342,7 +333,7 @@
// 灏哄妫�娴嬪紓甯�
boolean back = false;
- String errMsg = "寮傚父锛�";
+ String errMsg = inSta.getStaNo()+"绔欑偣锛�";
if (staProtocol.isFrontErr()) {
errMsg = errMsg+"鍓嶈秴闄愶紱";
back = true;
@@ -374,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;
}
@@ -419,9 +404,10 @@
staProtocol.setWorkNo(wrkMast.getWrkNo());
staProtocol.setStaNo(wrkMast.getStaNo());
- devpThread.setPakMk(staProtocol.getSiteId(), false);
+ 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;
@@ -464,9 +450,10 @@
staProtocol.setStaNo(dto.getRgvSstaNo());
}
- devpThread.setPakMk(staProtocol.getSiteId(), false);
+ 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)){
@@ -497,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);
}
@@ -538,7 +519,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 {
@@ -557,7 +538,7 @@
// 灏哄妫�娴嬪紓甯�
boolean back = false;
- String errMsg = "寮傚父锛�";
+ String errMsg = inSta.getStaNo()+"绔欑偣锛�";
if (staProtocol.isFrontErr()) {
errMsg = errMsg+"鍓嶈秴闄愶紱";
back = true;
@@ -589,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;
}
@@ -623,6 +598,8 @@
// if (!result) {
// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
// }
+ String msg =inSta.getStaNo()+"绔欑偣鏉$爜寮傚父,鏉$爜="+barcode;
+ LedErrorThreadUtil.ledErrorThread(msg,inSta.getLed(), LedErrorAreaType.FOUR_BARCODE.getDesc());
continue;
}
@@ -631,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);
- 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;
@@ -652,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;
}
// // 鑾峰彇鍏ュ簱閫氱煡妗�
@@ -681,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);
- 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();
}
-
}
-
-
}
}
-
}
/**
@@ -738,19 +716,7 @@
if (!Cools.isEmpty(barcode)) {
// log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
- if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) {
- continue;
- }
- if ("00000000".equals(barcode)){
- log.error(inSta+"绔欑偣锛屾壂鐮佸け璐ワ紝barcode锛�"+barcode);
- // led 寮傚父鏄剧ず
- LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
- if (ledThread != null) {
- ErrMsg errMsg1 = new ErrMsg();
- errMsg1.setErrMsg(inSta+"绔欑偣锛屾壂鐮佸け璐ワ紝barcode锛�"+barcode);
- errMsg1.setArea("1");
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
- }
+ if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) {
continue;
}
} else {
@@ -769,7 +735,7 @@
// 灏哄妫�娴嬪紓甯�
boolean back = false;
- String errMsg = "寮傚父锛�";
+ String errMsg = inSta.getStaNo()+"绔欑偣锛�";
if (staProtocol.isFrontErr()) {
errMsg = errMsg+"鍓嶈秴闄愶紱";
back = true;
@@ -801,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;
}
@@ -849,18 +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);
- 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;
@@ -890,58 +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);
- 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) {
@@ -995,7 +960,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) {
// 鏇存柊宸ヤ綔涓绘。
@@ -1103,7 +1068,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) {
@@ -1218,7 +1183,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) {
@@ -2190,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)){
@@ -2291,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;
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
@@ -2332,7 +2302,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);
@@ -3107,6 +3077,10 @@
if (wrkMast == null) {
continue;
}
+// if (wrkMast.getStaNoSign().equals(signBigTurn)){
+// continue;
+// }
+
crnStation = crnStation1;
@@ -3121,18 +3095,52 @@
continue;
}
+ Integer turnBigInt = 0;
+ if (wrkMast.booleanStaNoSign()){
+ RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign("LineUp"+wrkMast.getStaNo());
+ if (Cools.isEmpty(rgvOneSign)){
+ continue;
+ }
+ RgvOneSign trunBig = rgvOneSignMapper.selectOneSign("TrunBig");
+ 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 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;
+// }
+// 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) {
log.error("鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), wrkMast.getIoType());
continue;
}
- //閫�搴撴ā寮忚烦杩�118銆�119鍑哄簱浠诲姟
- if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119){
- RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign("oneSign");
- 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")) {
@@ -3263,6 +3271,9 @@
crnCommand.setDestinationPosX((short)0); // 鐩爣搴撲綅鎺�
crnCommand.setDestinationPosY((short)0); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ((short)0); // 鐩爣搴撲綅灞�
+ if (!Cools.isEmpty(wrkMast.getStaNo()) && (wrkMast.getStaNo().equals(312) || wrkMast.getStaNo().equals(310))){
+ updateRgvOneSign("TrunBig",turnBigInt+1);
+ }
if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) {
log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand));
} else {
@@ -3339,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);
+ }
+ }
}
/**
@@ -4015,7 +4048,7 @@
} 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)) {
@@ -4094,9 +4127,10 @@
// 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂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) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+emptyInSta.getStaNo(),emptyInSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
} else {
@@ -4157,9 +4191,10 @@
// 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂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) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+emptyInSta.getStaNo(),emptyInSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
} else {
@@ -4220,9 +4255,10 @@
// 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂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) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+emptyInSta.getStaNo(),emptyInSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
} else {
@@ -5117,12 +5153,17 @@
break;
}
BasJar basJar = basJarMapper.selectById(jarSlave.getId());
- int count = basJarMastService.selectCount(new EntityWrapper<BasJarMast>().eq("jar_regin", basJar.getRegion()).lt("status", 17).gt("status", 11));
+ 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)==7){
+ 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) {
@@ -5208,7 +5249,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;
}
@@ -5238,7 +5279,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);//鍏ョ~鍖栫綈绔欑偣
@@ -5330,6 +5371,8 @@
signExecute = jarWrkMastExecuteGenerateBurial(signExecute, sign);//鍐峰嵈妲藉彇杈撻�佺嚎
default:
jarWrkMastExecuteGenerateSte(signExecute,sign);//灏忚溅绉诲姩
+// signExecute = jarWrkMastExecuteGenerateBurial(signExecute, sign);//鍐峰嵈妲藉彇杈撻�佺嚎
+
}
if (!signExecute[0] && !signExecute[1]){
//Ste绉诲姩
@@ -5585,7 +5628,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){
@@ -5663,7 +5706,7 @@
List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
add(4);
}});
- if (basJarMastList.size() != jarMaxLoc){
+ if (basJarMastList.isEmpty()){
return false;
}
@@ -5693,7 +5736,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;
}
@@ -5706,13 +5749,20 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
return false;
}
- if (!basJar.getJarCount().equals(jarMaxLoc)){
- 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;
}
//闂ㄤ綔涓� 鏃�
- 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){
//鍏宠繘鏂欓棬
@@ -5744,14 +5794,9 @@
List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
add(6);
}});
- if (basJarMastList.size() != jarMaxLoc){
+ if (basJarMastList.isEmpty()){
return false;
}
-// if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),5)!=0
-// && basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),5)!=7
-// && basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),5)!=14){
-// return false;
-// }
BasJarMast basJarMastSign = basJarMastList.get(0);
if (Cools.isEmpty(basJarMastSign)){
@@ -5780,7 +5825,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;
}
@@ -5793,6 +5838,13 @@
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
return false;
}
+ jarMaxLoc = basJar.getJarCount();
+ if (jarMaxLoc == 0) {
+ return false;
+ }
+ if (basJarMastList.size() != jarMaxLoc){
+ return false;
+ }
//闂ㄤ綔涓� 鏃�
if (jarProtocol.isAutoing() && jarProtocol.statusType == JarStatusType.WAITING2 && jarProtocol.jarErr==0
@@ -5803,6 +5855,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 {
@@ -5824,6 +5885,12 @@
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);
}});
@@ -5833,12 +5900,6 @@
List<BasJarMast> basJarMastList10 = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
add(10);
}});
- if (basJarMastList10.size()==jarMaxLoc){
- return false;
- }
- if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),4)!=0 && basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),4)!=7){
- return false;
- }
BasJarMast jarMastByJarIdMin = basJarMastService.getJarMastByJarIdMin(jarSlave.getId(),8,8);
if (Cools.isEmpty(jarMastByJarIdMin)){
@@ -5871,7 +5932,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;
}
@@ -5879,6 +5940,34 @@
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 (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;
}
@@ -6039,7 +6128,7 @@
return false;
}
if (steProtocol.getMode() != (short)1) {
- log.error(steNo + "鍙峰皬杞︾绾匡紝鏃犳硶鎿嶄綔");
+// log.error(steNo + "鍙峰皬杞︾绾匡紝鏃犳硶鎿嶄綔");
return false;
}
if (steProtocol.getChargeStatus()!=0){
@@ -6094,7 +6183,7 @@
return false;
}
if (steProtocol.getMode() != (short)1) {
- log.error(steNo + "鍙峰皬杞︾绾匡紝鏃犳硶鎿嶄綔");
+// log.error(steNo + "鍙峰皬杞︾绾匡紝鏃犳硶鎿嶄綔");
return false;
}
if (steProtocol.getCharge()<31.0F && chargeSign){
@@ -6411,7 +6500,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;
}
@@ -6539,7 +6628,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;
}
@@ -6667,7 +6756,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;
}
@@ -6783,7 +6872,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;
}
@@ -6899,7 +6988,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;
}
@@ -7035,7 +7124,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;
}
@@ -7507,7 +7596,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;
}
@@ -7559,7 +7648,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;
}
@@ -7837,26 +7926,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;
}
@@ -8069,7 +8150,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);
@@ -8365,6 +8446,10 @@
/**
* ste鍏呯數浠诲姟鍒涘缓 //瀹屾垚
*/
+ public synchronized void signTrunBig() {
+ updateRgvOneSign("TrunBig",0);
+ }
+
public synchronized boolean jarChargeGenerate() {
try{
//80%鐢甸噺 鏃犱换鍔� 鍏呯數 >50鐢甸噺 鏈変换鍔� 鏂數
@@ -8375,7 +8460,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());
@@ -8392,6 +8484,9 @@
add(5);
add(11);
add(17);
+ add(99);
+ add(100);
+ add(999);
}});
if(!basJarMastList.isEmpty()){
continue;
@@ -8442,7 +8537,7 @@
if (jarProtocol.modeType != JarModeType.AUTO){
continue;
}
- if (jarProtocol.statusType .equals(JarStatusType.SOS)){
+ if (jarProtocol.statusType .equals(JarStatusType.SOS) || jarProtocol.statusType .equals(JarStatusType.SOS2)){
continue;
}
if (jarProtocol.getJarTemperature()>jarTemperature){
@@ -8489,7 +8584,14 @@
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;
}
@@ -8499,6 +8601,9 @@
add(5);
add(11);
add(17);
+ add(99);
+ add(100);
+ add(999);
}});
if(basJarMastList.isEmpty()){
if (wrkMastExecuteService.selectNoStartCharge(steSlave.getId())==0){
@@ -8523,7 +8628,7 @@
if (jarProtocol.modeType != JarModeType.AUTO){
continue;
}
- if (jarProtocol.statusType .equals(JarStatusType.SOS)){
+ if (jarProtocol.statusType .equals(JarStatusType.SOS) || jarProtocol.statusType .equals(JarStatusType.SOS2)){
continue;
}
if (jarProtocol.getJarTemperature()>jarTemperature){
@@ -8567,6 +8672,11 @@
if (!jarSteTake(wrkMastExecuteByCharge,SteLocaType.POINT20.id,SteLocaType.POINT20.id,SteTaskModeType.CLOSE_CHARGE,true,wrkMastExecuteByCharge.getJarId())){
log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={}",
wrkMastExecuteByCharge.getSteId(), JSON.toJSONString(wrkMastExecuteByCharge));
+ }
+ try{
+ Thread.sleep(1000);
+ } catch (Exception e){
+
}
wrkMastExecuteByCharge.setWrkType(2);
wrkMastExecuteByCharge.setWrkSts(100);
@@ -8626,13 +8736,42 @@
}
}
+// 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(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);
}};
@@ -8648,6 +8787,16 @@
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){
@@ -8699,7 +8848,7 @@
if (jarProtocol.modeType != JarModeType.AUTO){
continue;
}
- if (jarProtocol.statusType .equals(JarStatusType.SOS)){
+ if (jarProtocol.statusType .equals(JarStatusType.SOS) || jarProtocol.statusType .equals(JarStatusType.SOS2)){
continue;
}
if (jarProtocol.getJarTemperature()>jarTemperature){
@@ -8712,6 +8861,10 @@
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);
@@ -8719,13 +8872,16 @@
add(3);
add(4);
}});
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
+
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.getWorkNo()!=0 && !wrkNoList.contains(staProtocolEnt.getWorkNo())){
+ 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());
--
Gitblit v1.9.1