From 6d4ae730f093c9bcbb28fd97d8e3ce8867b9d693 Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期三, 01 一月 2025 17:42:02 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 341 ++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 219 insertions(+), 122 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 92b7426..dd57260 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,13 +58,9 @@
public class MainServiceImpl {
public static final long COMMAND_TIMEOUT = 5 * 1000;
-// private static final int[][] execute = new int[][]{{1,4},{2,4},{3,4},{4,4},{5,6},{6,6},{7,4},{8,4},{9,3},{10,4},{11,4}};
private static final int[][] execute = new int[][]{{1,4},{2,4},{3,4},{4,4},{5,6},{6,6},{7,4},{8,4},{9,3},{10,4},{11,4}};
-// private static final Integer jarMaxLoc1 = 7;
private static Integer jarMaxLoc = 0;
-// private static Integer signBigTurn = 0;
-// private static Integer signSmallTurn = 0;
private static final Float jarTemperature = 50F;
@Autowired
private CommonService commonService;
@@ -193,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;
}
@@ -241,6 +233,7 @@
devpThread.setPakMk(staProtocol.getSiteId(), false,238);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
return;
@@ -286,17 +279,12 @@
devpThread.setPakMk(staProtocol.getSiteId(), false,283);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
} else {
// led 寮傚父鏄剧ず
- LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
- if (ledThread != null) {
- ErrMsg errMsg1 = new ErrMsg();
- errMsg1.setErrMsg("鍏ュ簱璇锋眰澶辫触"+jsonObject.getInteger("code"));
- errMsg1.setArea("1");
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
- }
+ LedErrorThreadUtil.ledErrorThread("鍏ュ簱璇锋眰澶辫触"+jsonObject.getInteger("code"),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
}
@@ -345,7 +333,7 @@
// 灏哄妫�娴嬪紓甯�
boolean back = false;
- String errMsg = "寮傚父锛�";
+ String errMsg = inSta.getStaNo()+"绔欑偣锛�";
if (staProtocol.isFrontErr()) {
errMsg = errMsg+"鍓嶈秴闄愶紱";
back = true;
@@ -377,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;
}
@@ -425,6 +407,7 @@
devpThread.setPakMk(staProtocol.getSiteId(), false,422);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
return;
@@ -470,6 +453,7 @@
devpThread.setPakMk(staProtocol.getSiteId(), false,467);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
} else if (jsonObject.getInteger("code").equals(700)){
@@ -500,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);
}
@@ -560,7 +538,7 @@
// 灏哄妫�娴嬪紓甯�
boolean back = false;
- String errMsg = "寮傚父锛�";
+ String errMsg = inSta.getStaNo()+"绔欑偣锛�";
if (staProtocol.isFrontErr()) {
errMsg = errMsg+"鍓嶈秴闄愶紱";
back = true;
@@ -592,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;
}
@@ -626,6 +598,8 @@
// if (!result) {
// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
// }
+ String msg =inSta.getStaNo()+"绔欑偣鏉$爜寮傚父,鏉$爜="+barcode;
+ LedErrorThreadUtil.ledErrorThread(msg,inSta.getLed(), LedErrorAreaType.FOUR_BARCODE.getDesc());
continue;
}
@@ -634,18 +608,15 @@
if (wrkMast111 != null) {
LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
barcodeThread.setBarcode("");
- staProtocol.setWorkNo(wrkMast111.getWrkNo());
- staProtocol.setStaNo(wrkMast111.getStaNo());
+ StaProtocol staProtocol1 = new StaProtocol();
+ staProtocol1.setSiteId(staProtocol.getSiteId());
+ staProtocol1.setWorkNo(wrkMast111.getWrkNo());
+ staProtocol1.setStaNo(wrkMast111.getStaNo());
- devpThread.setPakMk(staProtocol.getSiteId(), false,637);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ devpThread.setPakMk(staProtocol1.getSiteId(), false,637);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol1));
if (!result) {
- if (ledThread != null) {
- ErrMsg errMsg1 = new ErrMsg();
- errMsg1.setErrMsg("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣濂斤細"+inSta.getStaNo());
- errMsg1.setArea("1");
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
- }
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
return;
@@ -655,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;
}
// // 鑾峰彇鍏ュ簱閫氱煡妗�
@@ -684,43 +657,45 @@
StartupDto dto = jsonObject.getObject("data", StartupDto.class);
LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
-
+ StaProtocol staProtocol1 = new StaProtocol();
+ staProtocol1.setSiteId(staProtocol.getSiteId());
barcodeThread.setBarcode("");
- staProtocol.setWorkNo(dto.getWorkNo());
+ staProtocol1.setWorkNo(dto.getWorkNo());
if(Cools.isEmpty(dto.getRgvNo()) || dto.getRgvNo() <= 0) {
- staProtocol.setStaNo(dto.getStaNo());
+ staProtocol1.setStaNo(dto.getStaNo());
} else {//濡傛灉瀛樺湪RGV缂栧彿锛岃鏄庨渶瑕丷GV鎺ラ┏锛屽厛涓嬪彂浠诲姟鍒癛GV婧愮珯
- staProtocol.setStaNo(dto.getRgvSstaNo());
+ staProtocol1.setStaNo(dto.getRgvSstaNo());
}
- devpThread.setPakMk(staProtocol.getSiteId(), false,695);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ devpThread.setPakMk(staProtocol1.getSiteId(), false,695);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol1));
if (!result) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(),LedErrorAreaType.ONE_OTHER.getDesc());
+ throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+ }
+ try{
if (ledThread != null) {
ErrMsg errMsg1 = new ErrMsg();
- errMsg1.setErrMsg("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣濂斤細"+inSta.getStaNo());
- errMsg1.setArea("1");
MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
}
- throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+ } catch (Exception e){
+ log.error("鍏ュ簱鎴愬姛!鐢佃鏈轰俊鎭洿鏂板け璐ワ紝灏忔枡绠卞叆搴擄紒锛侊紒request锛歿}锛況esponse锛歿}",JSON.toJSONString(param), response);
}
} else {
log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/pair/station/single/loc/v1", JSON.toJSONString(param), response);
+ String msg = inSta.getStaNo()+"绔欑偣锛�"+jsonObject.getString("msg");
+ LedErrorThreadUtil.ledErrorThread(msg,inSta.getLed(), LedErrorAreaType.TWO_PAKIN.getDesc());
+ Thread.sleep(1000);
}
-
} catch (Exception e) {
e.printStackTrace();
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
-
}
-
-
}
}
-
}
/**
@@ -760,7 +735,7 @@
// 灏哄妫�娴嬪紓甯�
boolean back = false;
- String errMsg = "寮傚父锛�";
+ String errMsg = inSta.getStaNo()+"绔欑偣锛�";
if (staProtocol.isFrontErr()) {
errMsg = errMsg+"鍓嶈秴闄愶紱";
back = true;
@@ -792,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;
}
@@ -840,19 +809,16 @@
if (wrkMast != null) {
LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
barcodeThread.setBarcode("");
- staProtocol.setWorkNo(wrkMast.getWrkNo());
- staProtocol.setStaNo(wrkMast.getStaNo());
+ StaProtocol staProtocol1 = new StaProtocol();
+ staProtocol1.setWorkNo(wrkMast.getWrkNo());
+ staProtocol1.setStaNo(wrkMast.getStaNo());
+ staProtocol1.setSiteId(staProtocol.getSiteId());
- devpThread.setPakMk(staProtocol.getSiteId(), false,843);
- log.info("閿佸畾鏍囪flase===銆婲===銆嬬珯鐐瑰彿锛歿}锛屽伐浣滃彿锛歿}锛屾潯鐮�:{}",staProtocol.getSiteId(),staProtocol.getWorkNo(),barcode);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ devpThread.setPakMk(staProtocol1.getSiteId(), false,843);
+ log.info("閿佸畾鏍囪flase===銆婲===銆嬬珯鐐瑰彿锛歿}锛屽伐浣滃彿锛歿}锛屾潯鐮�:{}",staProtocol1.getSiteId(),staProtocol1.getWorkNo(),barcode);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol1));
if (!result) {
- if (ledThread != null) {
- ErrMsg errMsg1 = new ErrMsg();
- errMsg1.setErrMsg("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣濂斤細"+inSta.getStaNo());
- errMsg1.setArea("1");
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg1));
- }
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
return;
@@ -882,22 +848,34 @@
JSONObject jsonObject = JSON.parseObject(response);
if (jsonObject.getInteger("code").equals(200)) {
StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-
+ StaProtocol staProtocol1 = new StaProtocol();
+ staProtocol1.setSiteId(staProtocol.getSiteId());
barcodeThread.setBarcode("");
- staProtocol.setWorkNo(dto.getWorkNo());
+ staProtocol1.setWorkNo(dto.getWorkNo());
if(Cools.isEmpty(dto.getRgvNo()) || dto.getRgvNo() <= 0) {
- staProtocol.setStaNo(dto.getStaNo());
+ staProtocol1.setStaNo(dto.getStaNo());
} else {//濡傛灉瀛樺湪RGV缂栧彿锛岃鏄庨渶瑕丷GV鎺ラ┏锛屽厛涓嬪彂浠诲姟鍒癛GV婧愮珯
- staProtocol.setStaNo(dto.getRgvSstaNo());
+ staProtocol1.setStaNo(dto.getRgvSstaNo());
}
- devpThread.setPakMk(staProtocol.getSiteId(), false,892);
- log.info("閿佸畾鏍囪flase===銆婲===銆嬬珯鐐瑰彿锛歿}锛屽伐浣滃彿锛歿}锛屾潯鐮�:{}",staProtocol.getStaNo(),staProtocol.getWorkNo(),barcode);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ devpThread.setPakMk(staProtocol1.getSiteId(), false,892);
+ log.info("閿佸畾鏍囪flase===銆婲===銆嬬珯鐐瑰彿锛歿}锛屽伐浣滃彿锛歿}锛屾潯鐮�:{}",staProtocol1.getStaNo(),staProtocol1.getWorkNo(),barcode);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol1));
if (!result) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
+ try{
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+ if (ledThread != null) {
+ ErrMsg errMsg1 = new ErrMsg();
+ 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);
@@ -926,15 +904,9 @@
// }
} else {
log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
- String msg = jsonObject.getString("msg");
- LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
-
- if (ledThread != null) {
- ErrMsg errMsg1 = new ErrMsg();
- errMsg1.setErrMsg("鍏ュ簱澶辫触!绔欑偣鍙凤細"+inSta.getStaNo()+"==銆嬪け璐ュ師鍥狅細"+msg);
- 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) {
@@ -2298,7 +2270,7 @@
staProtocolOther1 = staProtocolOther1.clone();
}
- if (staProtocolOther1.isAutoing() || staProtocolOther1.getWorkNo()!=0){
+ if (staProtocolOther1.isLoading() || !staProtocolOther1.getWorkNo().equals(0)){
return;
}
@@ -2309,7 +2281,7 @@
} else {
staProtocolOther2 = staProtocolOther2.clone();
}
- if (staProtocolOther2.isAutoing() || staProtocolOther2.getWorkNo()!=0){
+ if (staProtocolOther2.isLoading() || !staProtocolOther2.getWorkNo().equals(0)){
return;
}
}
@@ -3123,18 +3095,26 @@
continue;
}
+ Integer turnBigInt = 0;
if (wrkMast.booleanStaNoSign()){
RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign("LineUp"+wrkMast.getStaNo());
if (Cools.isEmpty(rgvOneSign)){
continue;
}
- if (rgvOneSign.getRgvOneSign()>=2){
+ RgvOneSign trunBig = rgvOneSignMapper.selectOneSign("TrunBig"+wrkMast.getStaNo());
+ if (Cools.isEmpty(trunBig)){
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;
-// }
+ turnBigInt = trunBig.getRgvOneSign();
+ int wrkCount = wrkMastMapper.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMast.getStaNo()).eq("wrk_sts",12L));
+
+ if (trunBig.getRgvOneSign()+wrkCount+rgvOneSign.getRgvOneSign()>2){
+ continue;
+ }
+ int wrkCountGt = wrkMastMapper.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMast.getStaNo()).gt("wrk_sts",11L));
+ if (wrkCountGt > 2){
+ continue;
+ }
// RgvOneSign bigTurn = rgvOneSignMapper.selectOneSign("bigTurn");
// if (Cools.isEmpty(bigTurn)){
// continue;
@@ -3291,6 +3271,9 @@
crnCommand.setDestinationPosX((short)0); // 鐩爣搴撲綅鎺�
crnCommand.setDestinationPosY((short)0); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ((short)0); // 鐩爣搴撲綅灞�
+ if (wrkMast.booleanStaNoSign()){
+ updateRgvOneSign("TrunBig"+wrkMast.getStaNo(),turnBigInt+1);
+ }
if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) {
log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand));
} else {
@@ -3372,6 +3355,24 @@
// signBigTurn = 0;
// }
+ }
+
+ public void updateRgvOneSign(String signType,Integer oneSign){
+ RgvOneSignMapper rgvOneSignMapper = SpringUtils.getBean(RgvOneSignMapper.class);
+
+ try{
+ RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign(signType);
+ if (!Cools.isEmpty(rgvOneSign)){
+ rgvOneSign.setRgvOneSign(oneSign);
+ rgvOneSignMapper.updateById(rgvOneSign);
+ }
+ } catch (Exception e){
+ RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign(signType);
+ if (!Cools.isEmpty(rgvOneSign)){
+ rgvOneSign.setRgvOneSign(999);
+ rgvOneSignMapper.updateById(rgvOneSign);
+ }
+ }
}
/**
@@ -4047,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)) {
@@ -4129,6 +4130,7 @@
devpThread.setPakMk(staProtocol.getSiteId(), false,4087);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+emptyInSta.getStaNo(),emptyInSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
} else {
@@ -4192,6 +4194,7 @@
devpThread.setPakMk(staProtocol.getSiteId(), false,4150);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+emptyInSta.getStaNo(),emptyInSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
} else {
@@ -4255,6 +4258,7 @@
devpThread.setPakMk(staProtocol.getSiteId(), false,4213);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+emptyInSta.getStaNo(),emptyInSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
} else {
@@ -5154,7 +5158,7 @@
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));
+ int count = basJarMastService.selectCount(new EntityWrapper<BasJarMast>().eq("jar_regin", basJar.getRegion()).lt("status", 17).gt("status", 5));
if (count>0){
break;
}
@@ -5363,8 +5367,8 @@
case 3:
case 4:
signExecute = jarWrkMastExecuteGenerateJar(signExecute,sign);//纭寲缃愪换鍔�
- case 5:
- signExecute = jarWrkMastExecuteGenerateBurial(signExecute, sign);//鍐峰嵈妲藉彇杈撻�佺嚎
+// case 5:
+// signExecute = jarWrkMastExecuteGenerateBurial(signExecute, sign);//鍐峰嵈妲藉幓杈撻�佺嚎
default:
jarWrkMastExecuteGenerateSte(signExecute,sign);//灏忚溅绉诲姩
// signExecute = jarWrkMastExecuteGenerateBurial(signExecute, sign);//鍐峰嵈妲藉彇杈撻�佺嚎
@@ -5963,9 +5967,9 @@
if (!basJarMastListOther.isEmpty() && basJarMastListOther.size() < basJarOther.getJarCount()){
return false;
}
- if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),4)!=0 && !basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(), 4).equals(basJarOther.getJarCount() )){
- return false;
- }
+// if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),4)!=0 && !basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(), 4).equals(basJarOther.getJarCount() )){
+// return false;
+// }
// //涓存椂
// if (basJar.getJarCode()==1){
@@ -6458,12 +6462,12 @@
if (jarWrkMastExecuteActionExecute5Three(wrkMastExecute,sign)){
break;
}
- return;
+ continue;
case 6:
if (jarWrkMastExecuteActionExecute6Three(wrkMastExecute,sign)){
break;
}
- return;
+ continue;
}
}
} catch (Exception e){
@@ -7198,7 +7202,7 @@
return false;
}
//璋冭溅 == > 鍙栬揣
- if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT25.id,SteTaskModeType.STE_WFFH_13,false,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){
+ if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT26.id,SteTaskModeType.STE_WFFH_13,false,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){
log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
@@ -7923,26 +7927,88 @@
switch (sign){
case 1:
if (jarWrkMastExecuteGenerateSteComplete(sign)){
- break;
+ return;
}
case 2:
if (jarWrkMastExecuteGenerateJarComplete(sign)){
- break;
+ return;
}
case 3:
if (jarWrkMastExecuteGenerateRgvComplete1(sign)){
- break;
+ return;
}
case 4:
if (jarWrkMastExecuteGenerateRgvComplete2(sign)){
- break;
+ return;
}
default:
- return;
+ break;
}
+ jarWrkMastExecuteGenerateDevComplete(sign);
}catch (Exception e){
log.error("JarWrkMastExecute浠诲姟瀹屾垚鎶ラ敊锛�"+e);
}
+ }
+
+ /**
+ * JarWrkMastExecute浠诲姟瀹屾垚 ===>Devp //瀹屾垚
+ */
+ public synchronized boolean jarWrkMastExecuteGenerateDevComplete(Integer sign) {
+ try{
+ // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ // 閬嶅巻鍏ュ簱鍙�
+ for (DevpSlave.Sta inSta : devp.getOutJarInSta()) {
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ // 鍒ゆ柇鏄惁婊¤冻鏉′欢
+ if (staProtocol.isAutoing()
+ && staProtocol.isLoading()
+ && staProtocol.isInEnable()
+ && staProtocol.getWorkNo() == 0
+ && staProtocol.isPakMk()) {
+ for (DevpSlave.Jar jar : inSta.getJarList()) {
+ // 鍒ゆ柇閲嶅宸ヤ綔妗�
+ List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusListB(jar.getBurial(), new ArrayList<Integer>() {{
+ add(9);
+ add(11);
+ }});
+ if (basJarMastList.isEmpty()){
+ continue;
+ }
+ BasJarMast jarMastByWrkNo = basJarMastList.get(0);
+ jarMastByWrkNo.setStatus(jarMastByWrkNo.getStatusComplete(6));
+
+
+ StaProtocol staProtocolNew = new StaProtocol();
+ staProtocolNew.setSiteId(staProtocol.getSiteId());
+ staProtocolNew.setWorkNo(basJarMastList.get(0).getWrkNo().intValue());
+ staProtocolNew.setStaNo(jar.getEndStaNo());
+ devpThread.setPakMk(staProtocolNew.getSiteId(), false,7989);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocolNew));
+ if (!result) {
+ LedErrorThreadUtil.ledErrorThread("鏇存柊plc绔欑偣淇℃伅澶辫触!绔欑偣鍙凤細"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc());
+ throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+ }
+ if (!basJarMastService.updateById(jarMastByWrkNo)){
+ log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,BasJarMast={},寮傚父淇℃伅={}",JSON.toJSONString(jarMastByWrkNo),"鏇存柊basJarMast澶辫触");
+ throw new CoolException("鏇存柊basJarMast澶辫触");
+ }
+ break;
+ }
+ }
+ }
+ }
+ return true;
+ }catch (Exception e){
+ log.error("JarWrkMastExecute浠诲姟瀹屾垚 ===>Ste鎶ラ敊锛�"+e);
+ }
+ return false;
}
/**
@@ -8085,6 +8151,30 @@
if (Cools.isEmpty(basJar)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
continue;
+ }
+ if (jarProtocol.getJarErr()==0 && (jarProtocol.getStatusType().equals(JarStatusType.WAITING1) || jarProtocol.getStatusType().equals(JarStatusType.MOVING))
+ && jarProtocol.isRightDoor() && jarProtocol.isLeftDoor()
+ && jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0
+ ){
+ List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
+ add(6);//纭寲瀹屾垚
+ }});
+ if (!basJarMastList.isEmpty()){
+ WrkMastExecute wrkMastExecuteSou = new WrkMastExecute();
+ wrkMastExecuteSou.setWrkSts(3);
+ List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou);
+ for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){
+ if (wrkMastExecute.getIoType() == 3){
+ wrkMastExecute.setWrkSts(4);
+ if (!wrkMastExecuteService.updateById(wrkMastExecute)){
+ log.error("纭寲缃怞ar鍛戒护淇敼澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
+ wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ return false;
+ }
+ return true;
+ }
+ }
+ }
}
//WAITING2(4, "纭寲瀹屾垚"),
if (jarProtocol.getJarErr()==0 && jarProtocol.getStatusType().equals(JarStatusType.WAITING2)
@@ -8442,6 +8532,13 @@
/**
* ste鍏呯數浠诲姟鍒涘缓 //瀹屾垚
*/
+ public synchronized void signTrunBig() {
+ updateRgvOneSign("TrunSma126",0);
+ updateRgvOneSign("TrunSma131",0);
+ updateRgvOneSign("TrunBig310",0);
+ updateRgvOneSign("TrunBig312",0);
+ }
+
public synchronized boolean jarChargeGenerate() {
try{
//80%鐢甸噺 鏃犱换鍔� 鍏呯數 >50鐢甸噺 鏈変换鍔� 鏂數
--
Gitblit v1.9.1