From bf7f18b252078aa07b7df4a2b51a36e320663730 Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期四, 18 七月 2024 19:00:46 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 1399 +++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 1,189 insertions(+), 210 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 93c9189..fe9b45c 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -8,6 +8,7 @@
import com.core.common.DateUtils;
import com.core.common.R;
import com.core.exception.CoolException;
+import com.zy.asrs.domain.enums.WorkNoType;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.*;
import com.zy.asrs.service.*;
@@ -56,7 +57,7 @@
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},{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}};
@Autowired
private CommonService commonService;
@@ -224,8 +225,17 @@
// 鍒ゆ柇閲嶅宸ヤ綔妗�
WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
if (wrkMast != null) {
- log.error("宸ヤ綔妗d腑宸插瓨鍦ㄨ绔欑姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,宸ヤ綔鍙�={}", wrkMast.getWrkNo());
- continue;
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+ barcodeThread.setBarcode("");
+ staProtocol.setWorkNo(wrkMast.getWrkNo());
+ staProtocol.setStaNo(wrkMast.getStaNo());
+
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ if (!result) {
+ throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+ }
+ return;
}
// // 鑾峰彇鍏ュ簱閫氱煡妗�
// List<WaitPakin> waitPakins = waitPakinMapper.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", barcode).eq("io_status", "N"));
@@ -260,7 +270,7 @@
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());
}
@@ -388,6 +398,22 @@
// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
// }
continue;
+ }
+
+ // 鍒ゆ柇閲嶅宸ヤ綔妗�
+ WrkMast wrkMast111 = wrkMastMapper.selectPakInStep111(inSta.getStaNo(), barcode);
+ if (wrkMast111 != null) {
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+ barcodeThread.setBarcode("");
+ staProtocol.setWorkNo(wrkMast111.getWrkNo());
+ staProtocol.setStaNo(wrkMast111.getStaNo());
+
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ if (!result) {
+ throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+ }
+ return;
}
// 鍒ゆ柇閲嶅宸ヤ綔妗�
@@ -558,12 +584,27 @@
// }
continue;
}
-
+//
+// // 鍒ゆ柇閲嶅宸ヤ綔妗�
+// WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
+// if (wrkMast != null) {
+// log.error("宸ヤ綔妗d腑宸插瓨鍦ㄨ绔欑姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,宸ヤ綔鍙�={}", wrkMast.getWrkNo());
+// continue;
+// }
// 鍒ゆ柇閲嶅宸ヤ綔妗�
WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
if (wrkMast != null) {
- log.error("宸ヤ綔妗d腑宸插瓨鍦ㄨ绔欑姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,宸ヤ綔鍙�={}", wrkMast.getWrkNo());
- continue;
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+ barcodeThread.setBarcode("");
+ staProtocol.setWorkNo(wrkMast.getWrkNo());
+ staProtocol.setStaNo(wrkMast.getStaNo());
+
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ if (!result) {
+ throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+ }
+ return;
}
// // 鑾峰彇鍏ュ簱閫氱煡妗�
// List<WaitPakin> waitPakins = waitPakinMapper.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", barcode).eq("io_status", "N"));
@@ -606,12 +647,27 @@
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
} else {
- log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
+ 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());
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
- if (ledThread != null) {
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, "鍏ュ簱澶辫触锛�"));
+ if (ledThread != null) {
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, "鍏ュ簱澶辫触锛�"));
+ }
}
}
@@ -1033,7 +1089,7 @@
case 3:
case 4:
case 5:
- crnStnToOutStnTwo(crnStn,1);
+ crnStnToOutStnTwo(crnSlave.getId(),crnStn,1);
continue;
case 6:
case 7:
@@ -1166,7 +1222,7 @@
return false;
}
- public synchronized boolean crnStnToOutStnTwo(CrnSlave.CrnStn crnStn ,Integer conStation) {
+ public synchronized boolean crnStnToOutStnTwo(Integer crnNo,CrnSlave.CrnStn crnStn ,Integer conStation) {
try{
Date now = new Date();
// 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
@@ -1177,20 +1233,22 @@
} else {
staProtocol = staProtocol.clone();
}
- if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == null)) {
- // 鏌ヨ宸ヤ綔妗�
- WrkMast wrkMast = wrkMastMapper.selectPakOutStep2(staProtocol.getSiteId());
- if (wrkMast == null) {
- return false;
- }
- // 鍒ゆ柇宸ヤ綔妗f潯浠�
- if (wrkMast.getIoType() < 100 || wrkMast.getStaNo() == null || wrkMast.getSourceStaNo() == null) {
- return false;
- }
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == null || staProtocol.getWorkNo() == 0)) {
+
// 鍒ゆ柇鍚婅溅鏄惁瀹為檯宸插畬鎴愶紝涓旂數鑴戠姸鎬佸湪move涓紝浠ュ鐢佃剳杩涜鏇存柊宸ヤ綔妗�
- CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, wrkMast.getCrnNo());
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn,crnNo);
CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+
if (conStation==1){
+ // 鏌ヨ宸ヤ綔妗�
+ WrkMast wrkMast = wrkMastMapper.selectPakOutStep2345(staProtocol.getSiteId(),crnProtocol.getTaskNo().intValue());
+ if (wrkMast == null) {
+ return false;
+ }
+ // 鍒ゆ柇宸ヤ綔妗f潯浠�
+ if (wrkMast.getIoType() < 100 || wrkMast.getStaNo() == null || wrkMast.getSourceStaNo() == null) {
+ return false;
+ }
if (crnProtocol.statusType == CrnStatusType.FETCHING || crnProtocol.statusType == CrnStatusType.PUTTING) {
// 绉诲姩涓�
return false;
@@ -1236,6 +1294,18 @@
}
}
}else if (conStation==2){
+ if (crnProtocol.statusType != CrnStatusType.IDLE){
+ return false;
+ }
+ // 鏌ヨ宸ヤ綔妗�
+ WrkMast wrkMast = wrkMastMapper.selectPakOutStep2345(staProtocol.getSiteId(),crnProtocol.getTaskNoTwo().intValue());
+ if (wrkMast == null) {
+ return false;
+ }
+ // 鍒ゆ柇宸ヤ綔妗f潯浠�
+ if (wrkMast.getIoType() < 100 || wrkMast.getStaNo() == null || wrkMast.getSourceStaNo() == null) {
+ return false;
+ }
if (crnProtocol.statusTypeTwo == CrnStatusType.FETCHING || crnProtocol.statusTypeTwo == CrnStatusType.PUTTING) {
// 绉诲姩涓�
return false;
@@ -1356,7 +1426,7 @@
case 3:
case 4:
case 5:
- crnStnToOutStnTwo(crnStn,2);
+ crnStnToOutStnTwo(crnSlave.getId(),crnStn,2);
continue;
default:
break;
@@ -1675,7 +1745,7 @@
crnCommand.setDestinationPosY(locMast.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ(locMast.getLev1().shortValue()); // 鐩爣搴撲綅灞�
if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
- log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand));
} else {
// long startTime = System.currentTimeMillis();
@@ -1834,6 +1904,145 @@
}
}
+ StaProtocol staProtocolOther = devpThread.getStation().get(crnStn.getStaNoOther());
+ if (staProtocolOther == null) {
+ continue;
+ } else {
+ staProtocolOther = staProtocolOther.clone();
+ }
+
+ // 鏌ヨ绔欑偣璇︾粏淇℃伅
+ BasDevp staDetlOther = basDevpService.selectById(crnStn.getStaNoOther());
+ if (staDetlOther == null) {
+ log.error("鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNoOther());
+ continue;
+ }
+ if (staProtocolOther.getWorkNo()!=0){
+ WrkMast wrkMastOther = wrkMastMapper.selectPakInStep3(staProtocolOther.getWorkNo());
+ if (Cools.isEmpty(wrkMastOther)){
+ log.error("Other鏌ヨ宸ヤ綔妗f鏃犳暟鎹�--宸ヤ綔鍙穥},绔欑偣鍙凤細{}", staProtocolOther.getWorkNo(),staProtocolOther.getSiteId());
+ continue;
+ }
+ // 鑾峰彇搴撲綅淇℃伅
+ LocMast locMastOther = locMastService.selectById(wrkMastOther.getLocNo());
+ if (locMastOther == null) {
+ log.error("鏌ヨ搴撳瓨鏃犳暟鎹�--搴撲綅鍙穥}", locMastOther.getLocNo());
+ continue;
+ }
+ if (!locMastOther.getLocSts().equals("S") && !locMastOther.getLocSts().equals("Q")) {
+ log.error("鍏ュ簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMastOther.getLocNo(), locMastOther.getLocSts());
+ continue;
+ }
+ if (locMastOther.getBay1()!=81){
+ if (staProtocolOther.isAutoing() && staProtocolOther.isLoading()
+ && staProtocolOther.isInEnable() && staDetlOther.getCanining() != null && staDetlOther.getCanining().equals("Y")) {
+ // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ CrnCommandParam crnCommandParam = new CrnCommandParam();
+ crnCommandParam.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
+
+ crnCommandParam.setTaskNo2(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommandParam.setAckFinish2((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommandParam.setTaskMode2(CrnTaskModeType.SEPARATE_TAKE); // 浠诲姟妯″紡: 鍗曞彇璐�
+ crnCommandParam.setSourcePosX2(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓
+ crnCommandParam.setSourcePosY2(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪
+ crnCommandParam.setSourcePosZ2(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰
+ crnCommandParam.setDestinationPosX2((short)0); // 鐩爣搴撲綅鎺�
+ crnCommandParam.setDestinationPosY2((short)0); // 鐩爣搴撲綅鍒�
+ crnCommandParam.setDestinationPosZ2((short)0); // 鐩爣搴撲綅灞�
+
+ crnCommandParam.setTaskNo(wrkMastOther.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommandParam.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommandParam.setTaskMode(CrnTaskModeType.SEPARATE_TAKE); // 浠诲姟妯″紡: 鍗曞彇璐�
+ crnCommandParam.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓
+ crnCommandParam.setSourcePosY(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪
+ crnCommandParam.setSourcePosZ(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰
+ crnCommandParam.setDestinationPosX((short)0); // 鐩爣搴撲綅鎺�
+ crnCommandParam.setDestinationPosY((short)0); // 鐩爣搴撲綅鍒�
+ crnCommandParam.setDestinationPosZ((short)0); // 鐩爣搴撲綅灞�
+ if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(99, crnCommandParam.getCrnNo()-2))) {
+ log.error("杈撻�佺嚎閿佸畾鍛戒护涓嬪彂澶辫触锛屽爢鍨涙満鍙�={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), crnCommandParam.getCrnNo()-2);
+ continue;
+ }
+ if (!MessageQueue.offer(SlaveType.Crn, crnCommandParam.getCrnNo(), new Task(9, crnCommandParam))) {
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommandParam));
+ } else {
+ // 淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓�
+ Date now = new Date();
+ wrkMast.setWrkSts(3L);
+ wrkMast.setCrnStrTime(now);
+ wrkMast.setModiTime(now);
+ WrkMastSplitTwin wrkMastSplitTwin = new WrkMastSplitTwin(wrkMast,2,now);
+ wrkMastSplitTwin.setWrkSts(1);
+ wrkMastSplitTwin.setWrkStart(wrkMast.getStaNo().toString());
+ wrkMastSplitTwin.setWrkEnd(wrkMast.getLocNo());
+ wrkMastSplitTwin.setStartRow(crnStn.getRow());
+ wrkMastSplitTwin.setStartBay(crnStn.getBay());
+ wrkMastSplitTwin.setStartLev(crnStn.getLev());
+ wrkMastSplitTwin.setEndRow(locMast.getRow1());
+ wrkMastSplitTwin.setEndBay(locMast.getBay1());
+ wrkMastSplitTwin.setEndLev(locMast.getLev1());
+ wrkMastSplitTwin.setWrkType(1);
+ wrkMastSplitTwin.setIoType(1);
+
+ wrkMastOther.setWrkSts(3L);
+ wrkMastOther.setCrnStrTime(now);
+ wrkMastOther.setModiTime(now);
+ WrkMastSplitTwin wrkMastSplitTwinOther = new WrkMastSplitTwin(wrkMastOther,1,now);
+ wrkMastSplitTwinOther.setWrkSts(1);
+ wrkMastSplitTwinOther.setWrkStart(wrkMastOther.getStaNo().toString());
+ wrkMastSplitTwinOther.setWrkEnd(wrkMastOther.getLocNo());
+ wrkMastSplitTwinOther.setStartRow(crnStn.getRow());
+ wrkMastSplitTwinOther.setStartBay(crnStn.getBay());
+ wrkMastSplitTwinOther.setStartLev(crnStn.getLev());
+ wrkMastSplitTwinOther.setEndRow(locMastOther.getRow1());
+ wrkMastSplitTwinOther.setEndBay(locMastOther.getBay1());
+ wrkMastSplitTwinOther.setEndLev(locMastOther.getLev1());
+ wrkMastSplitTwinOther.setWrkType(1);
+ wrkMastSplitTwinOther.setIoType(1);
+
+ if (wrkMastMapper.updateById(wrkMast) == 0) {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
+
+ if (wrkMastSplitTwinMapper.insert(wrkMastSplitTwin)==0){
+ log.error("鍒涘缓 鍫嗗灈鏈烘墽琛屼换鍔� 澶辫触锛侊紒锛屽伐浣滃彿={}锛屽爢鍨涙満鍙�={}", wrkMast.getWrkNo(),wrkMast.getCrnNo());
+ }
+
+ if (wrkMastMapper.updateById(wrkMastOther) == 0) {
+ log.error("Other淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
+
+ if (wrkMastSplitTwinMapper.insert(wrkMastSplitTwinOther)==0){
+ log.error("Other鍒涘缓 鍫嗗灈鏈烘墽琛屼换鍔� 澶辫触锛侊紒锛屽伐浣滃彿={}锛屽爢鍨涙満鍙�={}", wrkMast.getWrkNo(),wrkMast.getCrnNo());
+ }
+ return;
+ }
+ }
+ }
+ return;
+ }
+ StaProtocol staProtocolOther1 = devpThread.getStation().get(crnStn.getStaNoOther1());
+ if (staProtocolOther1 == null) {
+ continue;
+ } else {
+ staProtocolOther1 = staProtocolOther1.clone();
+ }
+
+ if (staProtocolOther1.isAutoing() && staProtocolOther1.getWorkNo()!=0){
+ return;
+ }
+
+
+ StaProtocol staProtocolOther2 = devpThread.getStation().get(crnStn.getStaNoOther2());
+ if (staProtocolOther2 == null) {
+ continue;
+ } else {
+ staProtocolOther2 = staProtocolOther2.clone();
+ }
+ if (staProtocolOther2.isAutoing() && staProtocolOther2.getWorkNo()!=0){
+ return;
+ }
+ crnStation = 2;
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
CrnCommand crnCommand = new CrnCommand();
crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
@@ -1846,8 +2055,18 @@
crnCommand.setDestinationPosX((short)0); // 鐩爣搴撲綅鎺�
crnCommand.setDestinationPosY((short)0); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ((short)0); // 鐩爣搴撲綅灞�
- if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) {
- log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+
+ staProtocol.setWorkNo(wrkMast.getWrkNo());
+ staProtocol.setStaNo(wrkMast.getStaNo());
+
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+
+ if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(99, crnCommand.getCrnNo()-2))) {
+ log.error("杈撻�佺嚎閿佸畾鍛戒护涓嬪彂澶辫触锛屽爢鍨涙満鍙�={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), crnCommand.getCrnNo()-2);
+ continue;
+ }
+ if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(5, crnCommand))) {
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand));
} else {
// 淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓�
Date now = new Date();
@@ -1988,7 +2207,7 @@
crnCommand.setDestinationPosY(locMast.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ(locMast.getLev1().shortValue()); // 鐩爣搴撲綅灞�
if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
- log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand));
} else {
// 淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓�
Date now = new Date();
@@ -2145,7 +2364,7 @@
crnCommand.setDestinationPosY(locMast.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ(locMast.getLev1().shortValue()); // 鐩爣搴撲綅灞�
if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) {
- log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand));
} else {
// 淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓�
Date now = new Date();
@@ -2280,7 +2499,7 @@
crnCommand.setDestinationPosY(crnStn.getBay().shortValue()); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ(crnStn.getLev().shortValue()); // 鐩爣搴撲綅灞�
if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
- log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand));
} else {
// 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
Date now = new Date();
@@ -2446,7 +2665,7 @@
crnCommand.setDestinationPosY(crnStn.getBay().shortValue()); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ(crnStn.getLev().shortValue()); // 鐩爣搴撲綅灞�
if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) {
- log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand));
} else {
// 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
Date now = new Date();
@@ -2566,7 +2785,7 @@
crnCommand.setDestinationPosY(crnStn.getBay().shortValue()); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ(crnStn.getLev().shortValue()); // 鐩爣搴撲綅灞�
if (!MessageQueue.offer(SlaveType.Crn, wrkMastCrn.getCrnNo(), new Task(2, crnCommand))) {
- log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMastCrn.getCrnNo(), JSON.toJSON(crnCommand));
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMastCrn.getCrnNo(), JSON.toJSONString(crnCommand));
} else {
// 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
Date now = new Date();
@@ -2767,7 +2986,7 @@
crnCommand.setDestinationPosY((short)0); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ((short)0); // 鐩爣搴撲綅灞�
if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) {
- log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand));
} else {
// 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
Date now = new Date();
@@ -2811,7 +3030,7 @@
// crnCommand.setDestinationPosY((short)0); // 鐩爣搴撲綅鍒�
// crnCommand.setDestinationPosZ((short)0); // 鐩爣搴撲綅灞�
// if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) {
-// log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+// log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand));
// } else {
// // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
// Date now = new Date();
@@ -2899,7 +3118,7 @@
crnCommand.setDestinationPosY(sta.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ(sta.getLev1().shortValue()); // 鐩爣搴撲綅灞�
if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
- log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand));
} else {
// 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
Date now = new Date();
@@ -3517,6 +3736,46 @@
continue;
} else {
staProtocol = staProtocol.clone();
+ }
+ if (emptyInSta.getStaNo()==607 && staProtocol.getStaNo()==607 && staProtocol.getWorkNo()>20000){
+ try {
+ BasDevp basDevp = basDevpService.selectById(staProtocol.getStaNo());
+ if (basDevp.getReportSign()==0){
+ LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
+
+ SearchLocParam param = new SearchLocParam();
+ param.setIoType(10);
+ param.setSourceStaNo(emptyInSta.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)) {
+ 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;
}
// 绔欑偣鏉′欢鍒ゆ柇
@@ -4294,6 +4553,39 @@
int[] sign = new int[]{0,0};
// 鍙湁褰撳爢鍨涙満鑷姩鏃舵墠缁х画鎵ц
if (crnProtocol.getModeType() == CrnModeType.AUTO) {
+ //鍙�
+ if (crnProtocol.getStatusType() == CrnStatusType.SEPARATE_IDLE
+ && crnProtocol.getTaskNo() == 0
+ && crnProtocol.getLoaded() == 1
+ && crnProtocol.getForkPos() == 0) {
+ if (crnProtocol.getStatusTypeTwo() == CrnStatusType.SEPARATE_IDLE
+ && crnProtocol.getTaskNoTwo() == 0
+ && crnProtocol.getLoadedTwo() == 1
+ && crnProtocol.getForkPosTwo() == 0){
+ List<WrkMastSplitTwin> wrkMastSplitTwinList1 = wrkMastSplitTwinService.getWrkMastSplitTwin(crn.getId(),1,2,2,0);
+ List<WrkMastSplitTwin> wrkMastSplitTwinList2 = wrkMastSplitTwinService.getWrkMastSplitTwin(crn.getId(),2,2,2,0);
+ if (!wrkMastSplitTwinList1.isEmpty() && !wrkMastSplitTwinList2.isEmpty() ){
+ if (wrkMastSplitTwinList1.size()>1 || wrkMastSplitTwinList2.size()>1 ){
+ log.error("Pair鍫嗗灈鏈哄嚭鍏ュ簱涓嬪彂寮傚父,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={},宸ヤ綔绫诲瀷={}",crn.getId(),"瀛樺湪澶氱瑪鍙墽琛屼綔涓氾紝璇峰垹闄ゆ棤鏁堜綔涓氾紒锛侊紒",sign[1],sign[0]);
+ return false;
+ }
+ WrkMastSplitTwin wrkMastSplitTwin1 = wrkMastSplitTwinList1.get(0);
+ WrkMastSplitTwin wrkMastSplitTwin2 = wrkMastSplitTwinList2.get(0);
+ boolean ack = crnExecutePutFullPair(crn.getId(), wrkMastSplitTwin1,wrkMastSplitTwin2, sign[1]);
+ if (ack){
+ wrkMastSplitTwin1.setWrkSts(wrkMastSplitTwin1.getWrkType()==1? 1:3);
+ wrkMastSplitTwinService.updateById(wrkMastSplitTwin1);
+ wrkMastSplitTwin2.setWrkSts(wrkMastSplitTwin2.getWrkType()==1? 1:3);
+ wrkMastSplitTwinService.updateById(wrkMastSplitTwin2);
+ }else {
+ log.error("鍫嗗灈鏈哄嚭鍏ュ簱涓嬪彂鎶ラ敊,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={}",crn.getId(),"涓嬪彂浠诲姟杩斿洖鍊间负锛�"+ack);
+ }
+
+ return false;
+ }
+
+ }
+ }
// 鍙湁褰撳爢鍨涙満宸ヤ綅1鍙栬揣鎴栬�呮湁鐗� 骞朵笖 宸ヤ綅2鏃犱换鍔℃椂鎵嶇户缁墽琛�
switch (i){
case 1:
@@ -4377,7 +4669,7 @@
crnCommand.setDestinationPosY((short)0); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ((short)0); // 鐩爣搴撲綅灞�
if (!MessageQueue.offer(SlaveType.Crn, wrkMastSplitTwin.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) {
- log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMastSplitTwin.getCrnNo(), JSON.toJSON(crnCommand));
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMastSplitTwin.getCrnNo(), JSON.toJSONString(crnCommand));
return false;
} else {
return true;
@@ -4406,7 +4698,85 @@
crnCommand.setDestinationPosY(wrkMastSplitTwin.getEndBay().shortValue()); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ(wrkMastSplitTwin.getEndLev().shortValue()); // 鐩爣搴撲綅灞�
if (!MessageQueue.offer(SlaveType.Crn, wrkMastSplitTwin.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) {
- log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMastSplitTwin.getCrnNo(), JSON.toJSON(crnCommand));
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMastSplitTwin.getCrnNo(), JSON.toJSONString(crnCommand));
+ return false;
+ } else {
+ return true;
+ }
+ }catch (Exception e){
+ return false;
+ }
+ }
+
+ /*
+ * 鍫嗗灈鏈哄彇璐ц嚦宸ヤ綅浠诲姟
+ * */
+ public synchronized boolean crnExecuteTakeFullPair(Integer crnNo,WrkMastSplitTwin wrkMastSplitTwinOne,WrkMastSplitTwin wrkMastSplitTwinTwo, Integer crnStation){
+ try{
+ // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔�
+ CrnCommandParam crnCommandParam = new CrnCommandParam();
+ crnCommandParam.setCrnNo(crnNo); // 鍫嗗灈鏈虹紪鍙�
+ crnCommandParam.setTaskNo(wrkMastSplitTwinOne.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommandParam.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommandParam.setTaskMode(CrnTaskModeType.SEPARATE_TAKE); // 浠诲姟妯″紡: 鍗曞彇璐�
+ crnCommandParam.setSourcePosX(wrkMastSplitTwinOne.getStartRow().shortValue()); // 婧愬簱浣嶆帓
+ crnCommandParam.setSourcePosY(wrkMastSplitTwinOne.getStartBay().shortValue()); // 婧愬簱浣嶅垪
+ crnCommandParam.setSourcePosZ(wrkMastSplitTwinOne.getStartLev().shortValue()); // 婧愬簱浣嶅眰
+ crnCommandParam.setDestinationPosX((short)0); // 鐩爣搴撲綅鎺�
+ crnCommandParam.setDestinationPosY((short)0); // 鐩爣搴撲綅鍒�
+ crnCommandParam.setDestinationPosZ((short)0); // 鐩爣搴撲綅灞�
+
+ crnCommandParam.setTaskNo2(wrkMastSplitTwinTwo.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommandParam.setAckFinish2((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommandParam.setTaskMode2(CrnTaskModeType.SEPARATE_TAKE); // 浠诲姟妯″紡: 鍗曞彇璐�
+ crnCommandParam.setSourcePosX2(wrkMastSplitTwinTwo.getStartRow().shortValue()); // 婧愬簱浣嶆帓
+ crnCommandParam.setSourcePosY2(wrkMastSplitTwinTwo.getStartBay().shortValue()); // 婧愬簱浣嶅垪
+ crnCommandParam.setSourcePosZ2(wrkMastSplitTwinTwo.getStartLev().shortValue()); // 婧愬簱浣嶅眰
+ crnCommandParam.setDestinationPosX2((short)0); // 鐩爣搴撲綅鎺�
+ crnCommandParam.setDestinationPosY2((short)0); // 鐩爣搴撲綅鍒�
+ crnCommandParam.setDestinationPosZ2((short)0); // 鐩爣搴撲綅灞�
+ if (!MessageQueue.offer(SlaveType.Crn, crnCommandParam.getCrnNo(), new Task(9, crnCommandParam))) {
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", crnCommandParam.getCrnNo(), JSON.toJSONString(crnCommandParam));
+ return false;
+ } else {
+ return true;
+ }
+ }catch (Exception e){
+ return false;
+ }
+ }
+
+ /*
+ * 鍫嗗灈鏈烘斁璐ц揣鑷冲嚭搴撶珯鐐逛换鍔�
+ * */
+ public synchronized boolean crnExecutePutFullPair(Integer crnNo,WrkMastSplitTwin wrkMastSplitTwinOne,WrkMastSplitTwin wrkMastSplitTwinTwo, Integer crnStation){
+ try{
+ // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔�
+ CrnCommandParam crnCommandParam = new CrnCommandParam();
+ crnCommandParam.setCrnNo(crnNo); // 鍫嗗灈鏈虹紪鍙�
+ crnCommandParam.setTaskNo(wrkMastSplitTwinOne.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommandParam.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommandParam.setTaskMode(CrnTaskModeType.SEPARATE_PUT); // 浠诲姟妯″紡: 鍗曟斁璐�
+ crnCommandParam.setSourcePosX((short)0); // 婧愬簱浣嶆帓
+ crnCommandParam.setSourcePosY((short)0); // 婧愬簱浣嶅垪
+ crnCommandParam.setSourcePosZ((short)0); // 婧愬簱浣嶅眰
+ crnCommandParam.setDestinationPosX(wrkMastSplitTwinOne.getEndRow().shortValue()); // 鐩爣搴撲綅鎺�
+ crnCommandParam.setDestinationPosY(wrkMastSplitTwinOne.getEndBay().shortValue()); // 鐩爣搴撲綅鍒�
+ crnCommandParam.setDestinationPosZ(wrkMastSplitTwinOne.getEndLev().shortValue()); // 鐩爣搴撲綅灞�
+
+ crnCommandParam.setTaskNo2(wrkMastSplitTwinTwo.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommandParam.setAckFinish2((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommandParam.setTaskMode2(CrnTaskModeType.SEPARATE_PUT); // 浠诲姟妯″紡: 鍗曟斁璐�
+ crnCommandParam.setSourcePosX2((short)0); // 婧愬簱浣嶆帓
+ crnCommandParam.setSourcePosY2((short)0); // 婧愬簱浣嶅垪
+ crnCommandParam.setSourcePosZ2((short)0); // 婧愬簱浣嶅眰
+ crnCommandParam.setDestinationPosX2(wrkMastSplitTwinTwo.getEndRow().shortValue()); // 鐩爣搴撲綅鎺�
+ crnCommandParam.setDestinationPosY2(wrkMastSplitTwinTwo.getEndBay().shortValue()); // 鐩爣搴撲綅鍒�
+ crnCommandParam.setDestinationPosZ2(wrkMastSplitTwinTwo.getEndLev().shortValue()); // 鐩爣搴撲綅灞�
+ if (!MessageQueue.offer(SlaveType.Crn, crnCommandParam.getCrnNo(), new Task(9, crnCommandParam))) {
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", crnCommandParam.getCrnNo(), JSON.toJSONString(crnCommandParam));
return false;
} else {
return true;
@@ -4421,6 +4791,9 @@
*/
public synchronized void jarMastGenerate() {
for (JarSlave jarSlave : slaveProperties.getJar()) {
+ if (jarSlave.getId()>4){
+ continue;
+ }
try{
if (wrkMastExecuteService.getWrkMastExecuteByJarIdCount(jarSlave.getId())!=0){
continue;
@@ -4481,11 +4854,12 @@
if (!Cools.isEmpty(wrkMastExecute)){
continue;
}
+ log.error("Jar浠诲姟鍒涘缓 鍒濆===>琛�={}",4484);
if (jarMastGenerateExecute(jarSlave,wrkMast,jarLocDigit,staStn.getStaNo())){
return;
}
}catch (Exception e){
- log.error(jarSlave.getId()+"鍙峰皬杞﹀浣嶇嚎绋嬫姤閿欙紒"+e);
+ log.error(jarSlave.getId()+"鍙风~鍖栫綈Jar浠诲姟鍒涘缓寮傚父锛�"+e);
}
break;
}
@@ -4510,6 +4884,14 @@
if (jarProtocol.modeType != JarModeType.AUTO){
return false;
}
+ if (jarProtocol.statusType .equals(JarStatusType.SOS)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
+ return false;
+ }
+ if (jarProtocol.getJarTemperature()>50){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+ return false;
+ }
JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
@@ -4532,7 +4914,8 @@
//鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂�� Other宸﹂棬鍏抽棴
if (jarProtocol.isAutoing() && jarProtocol.jarErr==0
&& jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0){
- if (jarProtocol.statusType == JarStatusType.IDLE || jarProtocol.statusType == JarStatusType.MOVING){
+ if (jarProtocol.statusType != JarStatusType.SOS){
+ log.error("Jar浠诲姟鍒涘缓===銆嬫墽琛�===>琛�={}",4537);
BasJarMast basJarMast = new BasJarMast(basJar, wrkMast, jarLocDigit);
basJarMast.setJarEnterStaNo(staNo);//鍏ョ~鍖栫綈绔欑偣
basJarMastService.insert(basJarMast);
@@ -4559,10 +4942,26 @@
wrkMastExecuteSou.setWrkType(1);
List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou);
for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){
- BasJarMast jarMastByWrkNo = basJarMastService.getJarMastByWrkNo(wrkMastExecute.getWrkNo());
- jarMastByWrkNo.setStatus(jarMastByWrkNo.getStatusComplete());
- if (!basJarMastService.updateById(jarMastByWrkNo)){
- log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,BasJarMast={},寮傚父淇℃伅={}",JSON.toJSONString(jarMastByWrkNo),"鏇存柊basJarMast澶辫触");
+ log.error("Jar浠诲姟瀹屾垚===>琛�={}",4564);
+ if (wrkMastExecute.getIoType()<7 || wrkMastExecute.getIoType()==9){
+ BasJarMast jarMastByWrkNo = basJarMastService.getJarMastByWrkNo(wrkMastExecute.getWrkNo());
+ jarMastByWrkNo.setStatus(jarMastByWrkNo.getStatusComplete(wrkMastExecute.getIoType()));
+ 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 (!basJarMastService.updateById(jarMastByWrkNo)){
+ log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,BasJarMast={},寮傚父淇℃伅={}",JSON.toJSONString(jarMastByWrkNo),"鏇存柊basJarMast澶辫触");
+ }
+ }
}
wrkMastExecute.setWrkSts(wrkMastExecute.getWrkStsComplete());
wrkMastExecute.setWrkType(2);
@@ -4621,6 +5020,10 @@
continue;
}
if (jarProtocol.modeType != JarModeType.AUTO){
+ continue;
+ }
+ if (jarProtocol.getJarTemperature()>50){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
continue;
}
@@ -4698,6 +5101,10 @@
signExecute[jarSlave.getId()-5] = true;
continue;
}
+ if (jarProtocol.getJarTemperature()>50){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+ continue;
+ }
BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
if (Cools.isEmpty(basJar)){
@@ -4707,13 +5114,11 @@
//闂ㄤ綔涓� 鏃�
//鑷姩銆佺┖闂层�佸彸闂ㄥ叧闂�� Other宸﹂棬鍏抽棴
if (jarProtocol.isAutoing() && jarProtocol.jarErr==0){
- switch (sign){
- case 5:
- if (jarWrkMastExecuteGenerate5(jarSlave,sign)){
- signExecute[jarSlave.getId()-5] = true;
- break;//鍑虹~鍖栫綈 ===銆� 鍏ュ喎鍗存Ы
- }
+ if (jarWrkMastExecuteGenerate5(jarSlave,sign)){
+ signExecute[jarSlave.getId()-5] = true;
+ //鍑虹~鍖栫綈 ===銆� 鍏ュ喎鍗存Ы
}
+ return signExecute;
}
} catch (Exception e){
log.error("{}鍙风~鍖栫綈JarWrkMastExecute浠诲姟鍒涘缓寮傚父,寮傚父鍘熷洜={}",jarSlave.getId(),e.getMessage());
@@ -4742,6 +5147,10 @@
continue;
}
if (jarProtocol.modeType != JarModeType.AUTO){
+ continue;
+ }
+ if (jarProtocol.getJarTemperature()>50){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
continue;
}
@@ -4835,7 +5244,13 @@
if (jarProtocol.modeType != JarModeType.AUTO){
return false;
}
-
+ if (jarProtocol.statusType .equals(JarStatusType.WAITING2) || jarProtocol.statusType .equals(JarStatusType.SOS)){
+ return false;
+ }
+ if (jarProtocol.getJarTemperature()>50){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+ continue;
+ }
JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
if (jarOtherProtocol == null) {
@@ -4861,15 +5276,16 @@
log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
}
return true;
- } else if ((jarProtocol.statusType == JarStatusType.WAITING3 || jarProtocol.statusType == JarStatusType.MOVING) && jarProtocol.isLeftDoor()){
+ } else if (jarProtocol.isLeftDoor()){
//鐢熸垚鍏ョ~鍖栫綈浠诲姟
if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,basJar.getJarNo(),new int[]{basJar.getEnterSteNo(),basJar.getEnterRgvNo(),5,1})){
log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
}
return true;
- } else if (jarProtocol.statusType == JarStatusType.IDLE && jarProtocol.isLeftDoor()){
- log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬬~鍖栫綈绌洪棽浣嗘槸闂ㄦ湭鍏�===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
}
+// else if (jarProtocol.statusType == JarStatusType.IDLE && jarProtocol.isLeftDoor()){
+// log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬬~鍖栫綈绌洪棽浣嗘槸闂ㄦ湭鍏�===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
+// }
}
return false;
} else {
@@ -4923,6 +5339,14 @@
return false;
}
+ if (jarProtocol.statusType .equals(JarStatusType.WAITING2) || jarProtocol.statusType .equals(JarStatusType.SOS)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
+ return false;
+ }
+ 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());
@@ -4934,7 +5358,7 @@
}
//闂ㄤ綔涓� 鏃�
- if (jarProtocol.isAutoing() && jarProtocol.statusType == JarStatusType.WAITING3 && jarProtocol.jarErr==0
+ if (jarProtocol.isAutoing() && jarProtocol.statusType != JarStatusType.SOS && jarProtocol.jarErr==0
&& jarProtocol.isRightDoor() && jarProtocol.isLeftDoor()
&& jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0){
//鍏宠繘鏂欓棬
@@ -4996,6 +5420,14 @@
return false;
}
+ if (jarProtocol.statusType .equals(JarStatusType.SOS)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
+ return false;
+ }
+ 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());
@@ -5043,7 +5475,7 @@
return false;
}
- BasJarMast jarMastByJarIdMin = basJarMastService.getJarMastByJarIdMax(jarSlave.getId(),8,8);
+ BasJarMast jarMastByJarIdMin = basJarMastService.getJarMastByJarIdMin(jarSlave.getId(),8,8);
if (Cools.isEmpty(jarMastByJarIdMin)){
return false;
}
@@ -5066,6 +5498,11 @@
return false;
}
+ if (jarProtocol.statusType .equals(JarStatusType.SOS)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
+ return false;
+ }
+
BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
if (Cools.isEmpty(basJar)){
log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
@@ -5073,12 +5510,18 @@
}
//闂ㄤ綔涓� 鏃�
- if (jarProtocol.isAutoing() && jarProtocol.statusType == JarStatusType.WAITING4 && jarProtocol.jarErr==0
- && !jarProtocol.isLeftDoor() && jarProtocol.isRightDoor()
+// if (jarProtocol.isAutoing() && jarProtocol.statusType == JarStatusType.WAITING4 && jarProtocol.jarErr==0
+ if (jarProtocol.isAutoing() && jarProtocol.jarErr==0
+ && jarProtocol.isLeftDoor() && jarProtocol.isRightDoor()
&& jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0){
- //鍏宠繘鏂欓棬
- if (!jarWrkMastExecuteGenerateExecute(basJar,jarMastByJarIdMin,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),3,1})){
+ //鍏ュ喎鍗存Ы
+ if (!jarWrkMastExecuteGenerateExecute(basJar,jarMastByJarIdMin,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),6,1})){
log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(jarMastByJarIdMin));
+ }
+ jarMastByJarIdMin.setStatus(jarMastByJarIdMin.getStatusComplete());
+
+ if (!basJarMastService.updateById(jarMastByJarIdMin)){
+ log.error("JarWrkMastExecute浠诲姟鍒涘缓===>jarMastByJarIdMin鏇存柊澶辫触===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(jarMastByJarIdMin));
}
return true;
}
@@ -5102,26 +5545,26 @@
if (wrkMastExecuteService.getWrkMastExecuteByJarIdCount(jarSlave.getId())!=0){
return false;
}
- List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{
- add(14);//鍐峰嵈瀹屾垚
+ List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusListB(jarSlave.getId(), new ArrayList<Integer>() {{
+ add(12);//鍐峰嵈瀹屾垚
}});
if (basJarMastList.isEmpty()){
return false;
}
- if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),7)!=0){
+ if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),6)!=0){
return false;
}
- BasJarMast jarMastByJarIdMin = basJarMastService.getJarMastByJarIdMin(jarSlave.getId(),14,14);
+ BasJarMast jarMastByJarIdMin = basJarMastService.getJarMastByJarIdMinB(jarSlave.getId(),12,12);
if (Cools.isEmpty(jarMastByJarIdMin)){
return false;
}
-
- //鍒ゆ柇灏忚溅鐘舵��
- if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarOutSte().get(0).getSteNo(),2,SteStatusType.IDLE)){
- return false;
- }
+//
+// //鍒ゆ柇灏忚溅鐘舵��
+// if (!jarWrkMastExecuteGenerateSteStatus(jarSlave.getJarOutSte().get(0).getSteNo(),3,SteStatusType.IDLE)){
+// return false;
+// }
//鍒ゆ柇RGV鐘舵��
JarSlave.RgvStn rgvStn = jarSlave.getJarOutRgv().get(0);
@@ -5136,7 +5579,10 @@
if (jarProtocol.modeType != JarModeType.AUTO){
return false;
}
-
+ 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());
@@ -5145,8 +5591,8 @@
//闂ㄤ綔涓� 鏃�
if (jarProtocol.isAutoing() && jarProtocol.jarErr==0){
- //鍏宠繘鏂欓棬
- if (!jarWrkMastExecuteGenerateExecute(basJar,jarMastByJarIdMin,basJar.getBurial(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),3,1})){
+ //鍐峰嵈瀹屾垚涓婅緭閫佺嚎
+ if (!jarWrkMastExecuteGenerateExecute(basJar,jarMastByJarIdMin,basJar.getBurial(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),9,1})){
log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(jarMastByJarIdMin));
}
return true;
@@ -5168,7 +5614,7 @@
* 2锛欱闈� 鍑烘枡闈�
* 3锛氬喎鍗存ЫB闈� 涓婅緭閫佺嚎
*/
- public synchronized boolean jarWrkMastExecuteGenerateSteStatus(Integer steNo,Integer type,SteStatusType steStatusType) {
+ public synchronized boolean jarWrkMastExecuteGenerateSteStatus(Integer steNo,Integer type,SteStatusType steStatusType,boolean chargeSign) {
try{
//鍒ゆ柇灏忚溅鐘舵��
SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
@@ -5185,6 +5631,61 @@
}
if (steProtocol.getChargeStatus()!=0){
log.error(steNo + "鍙峰皬杞﹀湪鍏呯數锛岀瓑寰�....");
+ return false;
+ }
+ if (steProtocol.getCharge()<31.0F && chargeSign){
+ log.error(steNo + "鍙峰皬杞﹀綋鍓嶇數閲忚繃浣庯紝鍑嗗鍏呯數...褰撳墠鐢甸噺"+steProtocol.getCharge().toString());
+ return false;
+ }
+ if (!steProtocol.getStatusType().equals(steStatusType)) {
+ log.error(steNo + "鍙峰皬杞︾姸鎬佷笉鏄�"+JSON.toJSONString(steStatusType)+"锛岀瓑寰�....");
+ return false;
+ }
+ switch (type){
+ case 1:
+ if (!steProtocol.getLocaType().equals(SteLocaType.POINT20)) {
+ log.error(steNo + "鍙峰皬杞︿笉鍦ˋ闈㈠钩绉昏溅锛屾棤娉曟搷浣�");
+ return false;
+ }
+ break;
+ case 2:
+ if (!steProtocol.getLocaType().equals(SteLocaType.POINT23)) {
+ log.error(steNo + "鍙峰皬杞︿笉鍦˙闈㈠钩绉昏溅锛屾棤娉曟搷浣�");
+ return false;
+ }
+ break;
+ case 3:
+ if (!steProtocol.getLocaType().equals(SteLocaType.POINT26) && !steProtocol.getLocaType().equals(SteLocaType.POINT25)) {
+ log.error(steNo + "鍙峰皬杞︿笉鍦ㄦ按妲紹绔紝鏃犳硶鎿嶄綔");
+ return false;
+ }
+ break;
+ default: return false;
+ }
+ return true;
+ } catch (Exception e){
+ log.error("{}鍙峰皬杞︾姸鎬佸垽鏂姸鎬佸紓甯�,寮傚父鍘熷洜={}",steNo,e.getMessage());
+ }
+ return false;
+ }
+
+ public synchronized boolean jarWrkMastExecuteGenerateSteStatusCharge(Integer steNo,Integer type,SteStatusType steStatusType,boolean chargeSign) {
+ try{
+ //鍒ゆ柇灏忚溅鐘舵��
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
+ if (steThread == null) {
+ return false;
+ }
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol == null) {
+ return false;
+ }
+ if (steProtocol.getMode() != (short)1) {
+ log.error(steNo + "鍙峰皬杞︾绾匡紝鏃犳硶鎿嶄綔");
+ return false;
+ }
+ if (steProtocol.getCharge()<31.0F && chargeSign){
+ log.error(steNo + "鍙峰皬杞﹀綋鍓嶇數閲忚繃浣庯紝鍑嗗鍏呯數...褰撳墠鐢甸噺"+steProtocol.getCharge().toString());
return false;
}
if (!steProtocol.getStatusType().equals(steStatusType)) {
@@ -5260,7 +5761,7 @@
wrkMastExecute.setSteId(digit[0]);//绌挎鏉縄D
wrkMastExecute.setRgvId(basJar.getEnterRgvNo());//RGV ID enter
wrkMastExecute.setRgvEndId(basJar.getOutRgvNo());//RGV ID out
- wrkMastExecute.setIoType(digit[2]);//浠诲姟绫诲瀷 0: 鏈煡 1: 寮�杩涙枡闂� 2: 鍏宠繘鏂欓棬 3: 寮�鍑烘枡闂� 4: 鍏冲嚭鏂欓棬 5: 鍏ョ~鍖栫綈 6: 鍏ュ喎鍗存Ы 7: 绌挎杞﹁繘鍐峰嵈妲� 8: 绌挎杞︾寮�鍐峰嵈妲� 9: 鍑哄喎鍗存Ы 10锛欰=>B 11:B=>A
+ wrkMastExecute.setIoType(digit[2]);//浠诲姟绫诲瀷 0: 鏈煡 1: 寮�杩涙枡闂� 2: 鍏宠繘鏂欓棬 3: 寮�鍑烘枡闂� 4: 鍏冲嚭鏂欓棬 5: 鍏ョ~鍖栫綈 6: 鍏ュ喎鍗存Ы 7: 绌挎杞﹁繘鍐峰嵈妲� 8: 绌挎杞︾寮�鍐峰嵈妲� 9: 鍑哄喎鍗存Ы 10锛欰=>B 11:B=>A 100:灏忚溅鍏呯數浠诲姟
wrkMastExecute.setType(digit[3]);//璁惧 0: 鏈煡 1: 纭寲缃� 2: 鍐峰嵈妲� 3: 纭寲缃�==>鍐峰嵈妲�
return wrkMastExecuteService.insert(wrkMastExecute);
} catch (Exception e) {
@@ -5305,6 +5806,9 @@
try{
List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, null,0);
for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){
+ if (wrkMastExecute.getWrkSts()!=0){
+ continue;
+ }
/*
* 浠诲姟绫诲瀷 0: 鏈煡
* 1: 寮�杩涙枡闂� 2: 鍏宠繘鏂欓棬 3: 寮�鍑烘枡闂� 4: 鍏冲嚭鏂欓棬
@@ -5313,7 +5817,9 @@
* 7: 绌挎杞﹁繘鍐峰嵈妲� 8: 绌挎杞︾寮�鍐峰嵈妲�
* 9: 鍑哄喎鍗存Ы
* 10锛欰=>B 11:B=>A
+ * 100锛氬厖鐢典换鍔�
* */
+ log.error("JarWrkMastExecute浠诲姟鍒涘缓==>涓嬪彂===>琛�={}",5326);
switch (wrkMastExecute.getIoType()){
case 1://1: 寮�杩涙枡闂�
case 3://3: 寮�鍑烘枡闂�
@@ -5351,6 +5857,11 @@
case 10:
case 11:
if (jarWrkMastExecuteActionExecute10(wrkMastExecute,sign)){
+ break;
+ }
+ continue;
+ case 100:
+ if (jarWrkMastExecuteActionExecute100(wrkMastExecute,sign)){
break;
}
continue;
@@ -5472,10 +5983,12 @@
public synchronized boolean jarWrkMastExecuteActionExecute1(WrkMastExecute wrkMastExecute,Integer sign) {
try{
List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.getWrkMastExecuteByJarNo(wrkMastExecute.getJarId());
- if (wrkMastExecuteByJarNo.size()!=1 || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo())){
+ if (wrkMastExecuteByJarNo.size()!=1
+ || !wrkMastExecuteByJarNo.get(0).getIoType().equals(wrkMastExecute.getIoType())
+ || !wrkMastExecuteByJarNo.get(0).getWrkSts().equals(wrkMastExecute.getWrkSts())
+ || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo()) ){
return false;
}
-
// 鑾峰彇纭寲缃愪俊鎭�
JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, wrkMastExecute.getJarId());
JarProtocol jarProtocol = jarThread.getJarProtocol();
@@ -5485,7 +5998,14 @@
if (jarProtocol.modeType != JarModeType.AUTO){
return false;
}
-
+ if (jarProtocol.statusType .equals(JarStatusType.SOS)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
+ return false;
+ }
+ 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());
@@ -5523,7 +6043,7 @@
//绉昏蛋 == > 2
if (!jarRgvMoveTake(wrkMastExecute,2)){
log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
return true;
}
@@ -5531,31 +6051,32 @@
//鑷姩銆佺┖闂层�� 杩涙枡浠叧闂渶鎵撳紑
if (jarProtocol.isAutoing() && jarProtocol.jarErr==0
&& jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0){
+ log.error("1銆�3寮�杩涙枡闂�==>浠诲姟涓嬪彂===>琛�={}",5546);
if (!jarProtocol.isLeftDoor() && !jarProtocol.isRightDoor()){
if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
//绉昏蛋 == > 2
if (!jarRgvMoveTake(wrkMastExecute,2)){
log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
} else {
//鐩存帴寮�闂�/鍏抽棬
if (!jarDoorTake(wrkMastExecute,JarTaskModeType.OPEN_THE_DOOR)){
log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
wrkMastExecute.setWrkType(1);
wrkMastExecute.setWrkSts(3);
if (!wrkMastExecuteService.updateById(wrkMastExecute)){
log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
}
}else if (jarProtocol.isLeftDoor() && jarProtocol.isRightDoor()){
@@ -5564,7 +6085,7 @@
wrkMastExecute.setWrkSts(4);
if (!wrkMastExecuteService.updateById(wrkMastExecute)){
log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
}
@@ -5589,7 +6110,10 @@
public synchronized boolean jarWrkMastExecuteActionExecute2(WrkMastExecute wrkMastExecute,Integer sign) {
try{
List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.getWrkMastExecuteByJarNo(wrkMastExecute.getJarId());
- if (wrkMastExecuteByJarNo.size()!=1 || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo())){
+ if (wrkMastExecuteByJarNo.size()!=1
+ || !wrkMastExecuteByJarNo.get(0).getIoType().equals(wrkMastExecute.getIoType())
+ || !wrkMastExecuteByJarNo.get(0).getWrkSts().equals(wrkMastExecute.getWrkSts())
+ || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo()) ){
return false;
}
@@ -5602,7 +6126,14 @@
if (jarProtocol.modeType != JarModeType.AUTO){
return false;
}
-
+ if (jarProtocol.statusType .equals(JarStatusType.WAITING2) || jarProtocol.statusType .equals(JarStatusType.SOS)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
+ return false;
+ }
+ 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());
@@ -5640,7 +6171,7 @@
//绉昏蛋 == > 2
if (!jarRgvMoveTake(wrkMastExecute,2)){
log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
return true;
}
@@ -5648,32 +6179,33 @@
//鑷姩銆佺┖闂层�� 杩涙枡浠墦寮�闇�鍏抽棴
if (jarProtocol.isAutoing() && jarProtocol.jarErr==0
&& jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0){
+ log.error("2銆�4:鍏抽棬==>浠诲姟涓嬪彂===>琛�={}",5667);
if (jarProtocol.isLeftDoor() && jarProtocol.isRightDoor()){
if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
//绉昏蛋 == > 2
if (!jarRgvMoveTake(wrkMastExecute,2)){
log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
} else {
//鐩存帴鍏抽棬
if (!jarDoorTake(wrkMastExecute,JarTaskModeType.CLOSE_THE_DOOR)){
log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
wrkMastExecute.setWrkType(1);
wrkMastExecute.setWrkSts(3);
if (!wrkMastExecuteService.updateById(wrkMastExecute)){
log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
}
} else if (!jarProtocol.isLeftDoor() && !jarProtocol.isRightDoor()){
@@ -5682,7 +6214,7 @@
wrkMastExecute.setWrkSts(4);
if (!wrkMastExecuteService.updateById(wrkMastExecute)){
log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
}
return true;
@@ -5706,7 +6238,10 @@
public synchronized boolean jarWrkMastExecuteActionExecute5(WrkMastExecute wrkMastExecute,Integer sign) {
try{
List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.getWrkMastExecuteByJarNo(wrkMastExecute.getJarId());
- if (wrkMastExecuteByJarNo.size()!=1 || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo())){
+ if (wrkMastExecuteByJarNo.size()!=1
+ || !wrkMastExecuteByJarNo.get(0).getIoType().equals(wrkMastExecute.getIoType())
+ || !wrkMastExecuteByJarNo.get(0).getWrkSts().equals(wrkMastExecute.getWrkSts())
+ || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo()) ){
return false;
}
@@ -5719,7 +6254,14 @@
if (jarProtocol.modeType != JarModeType.AUTO){
return false;
}
-
+ if (jarProtocol.statusType .equals(JarStatusType.WAITING2) || jarProtocol.statusType .equals(JarStatusType.SOS)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
+ return false;
+ }
+ 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());
@@ -5751,7 +6293,7 @@
//绉昏蛋 == > 2
if (!jarRgvMoveTake(wrkMastExecute,2)){
log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
return true;
}
@@ -5759,8 +6301,9 @@
//鑷姩銆佺┖闂层�� 杩涙枡浠墦寮�闇�鍏抽棴
if (jarProtocol.isAutoing() && jarProtocol.jarErr==0 && jarProtocol.isLeftDoor() && jarProtocol.isRightDoor()
&& jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0){
- //鍒ゆ柇灏忚溅鐘舵��
- if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
+ log.error("5:鍏ョ~鍖栫綈==>浠诲姟涓嬪彂===>琛�={}",5667);
+ //鍒ゆ柇灏忚溅鐘舵�� //鍏ョ~鍖栫綈灏忚溅鍙复鏃跺睆钄�
+ if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE,true)){
return false;
}
if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
@@ -5770,26 +6313,26 @@
,SteAndJarUtil.getRgvStaRow(wrkMastExecute.getJarEnterStaNo())==1
,SteAndJarUtil.getRgvStaRow(wrkMastExecute.getJarEnterStaNo())==3)){
log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
return true;
}
wrkMastExecute.setWrkType(1);
wrkMastExecute.setWrkSts(3);
if (!wrkMastExecuteService.updateById(wrkMastExecute)){
log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
} else {
//璋冭溅 == > endRow
if (!jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId()))){
log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
}
return true;
@@ -5813,7 +6356,7 @@
*/
public synchronized boolean jarWrkMastExecuteActionExecute5Three(WrkMastExecute wrkMastExecute,Integer sign) {
try{
- List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.getWrkMastExecuteByJarNo(wrkMastExecute.getJarId());
+ List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecute);
if (wrkMastExecuteByJarNo.size()!=1 || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo())){
return false;
}
@@ -5827,7 +6370,14 @@
if (jarProtocol.modeType != JarModeType.AUTO){
return false;
}
-
+ if (jarProtocol.statusType .equals(JarStatusType.WAITING2) || jarProtocol.statusType .equals(JarStatusType.SOS)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
+ return false;
+ }
+ 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());
@@ -5860,13 +6410,13 @@
return false;
}
-// if (staProtocolRGV.rgvBoolean(2) && staProtocolRGVOther.rgvBoolean(1)){
- if (staProtocolRGV.rgvBoolean(2)){
+ if (staProtocolRGV.rgvBoolean(2) && staProtocolRGVOther.rgvBoolean(1)){//涓存椂
+// if (staProtocolRGV.rgvBoolean(2)){
if (staProtocolRGV.getNowRow() != staProtocolRGVOther.getNowRow()){
//绉昏蛋 == > 2
if (!jarRgvMoveTake(wrkMastExecute,2)){
log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
return true;
}
@@ -5874,28 +6424,29 @@
//鑷姩銆佺┖闂层�� 杩涙枡浠墦寮�闇�鍏抽棴
if (jarProtocol.isAutoing() && jarProtocol.jarErr==0 && jarProtocol.isLeftDoor() && jarProtocol.isRightDoor()
&& jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0){
+ log.error("io_type==>5:鍏ョ~鍖栫綈 : wrkSts ==>4锛歳gv鍙栬揣瀹屾垚==>浠诲姟涓嬪彂===>琛�={}",5898);
if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
//鍒ゆ柇灏忚溅鐘舵��
- if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
+ if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE,true)){
return false;
}
//璋冭溅 == > 鍙栬揣
- if (!jarSteTake(wrkMastExecute,SteLocaType.POINT20.id,SteLocaType.POINT22.id,SteTaskModeType.STE_WFFH_13,false)){
+ if (!jarSteTake(wrkMastExecute,SteLocaType.POINT20.id,SteLocaType.POINT22.id,SteTaskModeType.STE_WFFH_13,false,wrkMastExecute.getJarId())){
log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
wrkMastExecute.setWrkType(1);
wrkMastExecute.setWrkSts(5);
if (!wrkMastExecuteService.updateById(wrkMastExecute)){
log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
} else {
//璋冭溅 == > endRow
if (!jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId()))){
log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
}
return true;
@@ -5919,7 +6470,10 @@
public synchronized boolean jarWrkMastExecuteActionExecute6(WrkMastExecute wrkMastExecute,Integer sign) {
try{
List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.getWrkMastExecuteByJarNo(wrkMastExecute.getJarId());
- if (wrkMastExecuteByJarNo.size()!=1 || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo())){
+ if (wrkMastExecuteByJarNo.size()!=1
+ || !wrkMastExecuteByJarNo.get(0).getIoType().equals(wrkMastExecute.getIoType())
+ || !wrkMastExecuteByJarNo.get(0).getWrkSts().equals(wrkMastExecute.getWrkSts())
+ || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo()) ){
return false;
}
@@ -5932,7 +6486,14 @@
if (jarProtocol.modeType != JarModeType.AUTO){
return false;
}
-
+ if (jarProtocol.statusType .equals(JarStatusType.SOS)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
+ return false;
+ }
+ 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());
@@ -5960,12 +6521,13 @@
return false;
}
- if (staProtocolRGV.rgvBoolean(1) && staProtocolRGVOther.rgvBoolean(1)){
+ 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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
return true;
}
@@ -5973,35 +6535,36 @@
//鑷姩銆佺┖闂层��
if (jarProtocol.isAutoing() && jarProtocol.jarErr==0 && jarProtocol.isLeftDoor() && jarProtocol.isRightDoor()
&& jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0){
+ log.error("6:鍏ュ喎鍗存Ы==>浠诲姟涓嬪彂===>琛�={}",6002);
//鍒ゆ柇灏忚溅鐘舵��
- if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
+ if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE,true)){
return false;
}
if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocol.getJarNo())){
//璋冭溅 == > 鍙栬揣
- if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT21.id,SteTaskModeType.STE_WFQH_12,false)){
+ if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT21.id,SteTaskModeType.STE_WFQH_12,false,wrkMastExecute.getJarId())){
log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
wrkMastExecute.setWrkType(1);
wrkMastExecute.setWrkSts(3);
if (!wrkMastExecuteService.updateById(wrkMastExecute)){
log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
} else {
//璋冭溅 == > endRow
if (!jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId()))){
log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
}
return true;
@@ -6024,7 +6587,7 @@
*/
public synchronized boolean jarWrkMastExecuteActionExecute6Three(WrkMastExecute wrkMastExecute,Integer sign) {
try{
- List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.getWrkMastExecuteByJarNo(wrkMastExecute.getJarId());
+ List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecute);
if (wrkMastExecuteByJarNo.size()!=1 || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo())){
return false;
}
@@ -6039,6 +6602,14 @@
return false;
}
+ if (jarProtocol.statusType .equals(JarStatusType.SOS)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
+ return false;
+ }
+ 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());
@@ -6071,12 +6642,13 @@
return false;
}
- if (staProtocolRGV.rgvBoolean(1) && staProtocolRGVOther.rgvBoolean(1)){
+ 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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
return true;
}
@@ -6084,35 +6656,36 @@
//鑷姩銆佺┖闂层��
if (jarProtocol.isAutoing() && jarProtocol.jarErr==0 && jarProtocol.isLeftDoor() && jarProtocol.isRightDoor()
&& 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 (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
+ if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.WAITING2,false)){
return false;
}
//璋冭溅 == > 鍙栬揣
- if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT21.id,SteTaskModeType.STE_WFQH_12,false)){
+ if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT25.id,SteTaskModeType.STE_WFFH_13,false,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){
log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
wrkMastExecute.setWrkType(1);
- wrkMastExecute.setWrkSts(3);
+ wrkMastExecute.setWrkSts(5);
if (!wrkMastExecuteService.updateById(wrkMastExecute)){
log.error("纭寲缃怞ar鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
} else {
//璋冭溅 == > endRow
- if (!jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId()))){
+ if (!jarRgvMoveTake(wrkMastExecute,1)){
log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),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.toJSON(wrkMastExecute), JSON.toJSON(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;
}
@@ -6149,7 +6722,10 @@
if (jarProtocol.modeType != JarModeType.AUTO){
return false;
}
-
+ 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());
@@ -6203,7 +6779,7 @@
//绉昏蛋 == > 2
if (!jarRgvMoveTake(wrkMastExecute,2)){
log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
return true;
}
@@ -6213,49 +6789,49 @@
&& jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0
&& jarProtocolOther.isLeftDoor() && jarProtocolOther.isRightDoor()
){
-
+ log.error("7锛氱┛姊溅杩涘喎鍗存Ы 7 B=>C//8锛氱┛姊溅绂诲紑鍐峰嵈妲� 8 C=>B Three==>浠诲姟涓嬪彂===>琛�={}",6245);
if (SteAndJarUtil.steAndJarNowRow(staProtocolRGV.getNowRow() , jarProtocolOther.getJarNo())){
//鍒ゆ柇灏忚溅鐘舵��
if (wrkMastExecute.getIoType()==7){ //7 B=>C
- if (!jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
+ if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE,true)){
//璋冭溅 == > 绉诲姩
- if (jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT26.id,SteTaskModeType.STE_MOVE_14,false)){
+ if (jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT26.id,SteTaskModeType.STE_MOVE_14,false,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){
log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
- } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE)){
+ } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE,false)){
wrkMastExecute.setWrkType(1);
wrkMastExecute.setWrkSts(4);
if (!wrkMastExecuteService.updateById(wrkMastExecute)){
log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
}
} else { //8 C=>B
- if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE)){
+ if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE,false)){
//璋冭溅 == > 绉诲姩
- if (!jarSteTake(wrkMastExecute,SteLocaType.POINT26.id,SteLocaType.POINT23.id,SteTaskModeType.STE_MOVE_14,false)){
+ if (!jarSteTake(wrkMastExecute,SteLocaType.POINT26.id,SteLocaType.POINT23.id,SteTaskModeType.STE_MOVE_14,false,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){
log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
- } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
+ } 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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
}
}
@@ -6264,13 +6840,13 @@
//璋冭溅 == > endRow
if (!jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId()))){
log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
}
return true;
@@ -6294,7 +6870,10 @@
public synchronized boolean jarWrkMastExecuteActionExecute9(WrkMastExecute wrkMastExecute,Integer sign) {
try{
List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.getWrkMastExecuteByJarNo(wrkMastExecute.getJarId());
- if (wrkMastExecuteByJarNo.size()!=1 || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo())){
+ if (wrkMastExecuteByJarNo.size()!=1
+ || !wrkMastExecuteByJarNo.get(0).getIoType().equals(wrkMastExecute.getIoType())
+ || !wrkMastExecuteByJarNo.get(0).getWrkSts().equals(wrkMastExecute.getWrkSts())
+ || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo()) ){
return false;
}
@@ -6307,7 +6886,10 @@
// if (jarProtocol.modeType != JarModeType.AUTO){
// return false;
// }
-
+// if (jarProtocol.getJarTemperature()>50){
+// log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+// return false;
+// }
BasJar basJar = basJarMapper.selectById(wrkMastExecute.getJarId());
if (Cools.isEmpty(basJar)){
log.error("{}鍙峰喎鍗存Ы鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",wrkMastExecute.getJarId());
@@ -6364,7 +6946,7 @@
// //绉昏蛋 == > 2
// if (jarRgvTake(wrkMastExecute,2)){
// log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
-// wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+// wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
// }
// return true;
// }
@@ -6374,17 +6956,19 @@
// && jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0
// ){
//鍒ゆ柇灏忚溅鐘舵��
- if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE)){
+ if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),3,SteStatusType.IDLE,true)){
+ log.error("9锛氬嚭鍐峰嵈妲�==>浠诲姟涓嬪彂===>琛�={}",6410);
+
//璋冭溅 == > 鍙栬揣
- if (!jarSteTake(wrkMastExecute,SteLocaType.POINT26.id,SteLocaType.POINT24.id,SteTaskModeType.STE_WFQH_12,false)){
+ if (!jarSteTake(wrkMastExecute,SteLocaType.POINT26.id,SteLocaType.POINT24.id,SteTaskModeType.STE_WFQH_12,false,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){
log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},鍐峰嵈妲芥暟鎹�={},sign={}",
- wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(basJar),sign);
+ wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(basJar),sign);
}
wrkMastExecute.setWrkType(1);
wrkMastExecute.setWrkSts(1);
if (!wrkMastExecuteService.updateById(wrkMastExecute)){
log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},鍐峰嵈妲芥暟鎹�={},sign={}",
- wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(basJar),sign);
+ wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(basJar),sign);
}
}
return true;
@@ -6408,7 +6992,10 @@
public synchronized boolean jarWrkMastExecuteActionExecute9Two(WrkMastExecute wrkMastExecute,Integer sign) {
try{
List<WrkMastExecute> wrkMastExecuteByJarNo = wrkMastExecuteService.getWrkMastExecuteByJarNo(wrkMastExecute.getJarId());
- if (wrkMastExecuteByJarNo.size()!=1 || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo())){
+ if (wrkMastExecuteByJarNo.size()!=1
+ || !wrkMastExecuteByJarNo.get(0).getIoType().equals(wrkMastExecute.getIoType())
+ || !wrkMastExecuteByJarNo.get(0).getWrkSts().equals(wrkMastExecute.getWrkSts())
+ || !wrkMastExecuteByJarNo.get(0).getWrkNo().equals(wrkMastExecute.getWrkNo()) ){
return false;
}
@@ -6427,10 +7014,11 @@
}
//鍒ゆ柇STE灏忚溅鐘舵��
- if (jarWrkMastExecuteGenerateSteStatus(wrkMastExecute.getSteId(),3,SteStatusType.IDLE)){
+ if (jarWrkMastExecuteGenerateSteStatus(wrkMastExecute.getSteId(),3,SteStatusType.IDLE,false)){
+ log.error("9锛氬嚭鍐峰嵈妲絋wo==>浠诲姟涓嬪彂===>琛�={}",6468);
// 涓嬪彂绔欑偣淇℃伅
staProtocol.setWorkNo(wrkMastExecute.getWrkNo().intValue());
- staProtocol.setStaNo(staProtocol.getStaNo());
+ staProtocol.setStaNo(wrkMastExecute.getOutStaNo());
if (!MessageQueue.offer(SlaveType.Devp, 2, new Task(2, staProtocol))) {
return false;
}
@@ -6438,7 +7026,7 @@
wrkMastExecute.setWrkSts(3);
if (!wrkMastExecuteService.updateById(wrkMastExecute)){
log.error("杈撻�佺嚎鍑哄簱鐩爣绔欏懡浠や笅鍙戝け璐�===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},鏀捐揣绔欑偣鏁版嵁={},sign={}",
- wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(staProtocol),sign);
+ wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(staProtocol),sign);
}
}
return true;
@@ -6470,6 +7058,14 @@
return false;
}
+ if (jarProtocol.statusType .equals(JarStatusType.SOS)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧姝e湪纭寲涓紝浠诲姟寮傚父锛侊紒锛�",jarProtocol.getJarNo());
+ return false;
+ }
+ 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());
@@ -6502,12 +7098,13 @@
return false;
}
- if (staProtocolRGV.rgvBoolean(1) && staProtocolRGVOther.rgvBoolean(1)){
+ 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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
return true;
}
@@ -6516,49 +7113,49 @@
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)){
+ if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE,true)){
//璋冭溅 == > 绉诲姩
- if (!jarSteTake(wrkMastExecute,SteLocaType.POINT20.id,SteLocaType.POINT23.id,SteTaskModeType.STE_MOVE_14,false)){
+ if (!jarSteTake(wrkMastExecute,SteLocaType.POINT20.id,SteLocaType.POINT23.id,SteTaskModeType.STE_MOVE_14,false,wrkMastExecute.getJarId())){
log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
- } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
+ } 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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
}
} else {//11:B=>A
- if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE)){
+ if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),2,SteStatusType.IDLE,false)){
//璋冭溅 == > 绉诲姩
- if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT20.id,SteTaskModeType.STE_MOVE_14,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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
- } else if (jarWrkMastExecuteGenerateSteStatus(basJar.getEnterSteNo(),1,SteStatusType.IDLE)){
+ } 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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
}
}
@@ -6567,13 +7164,13 @@
//璋冭溅 == > endRow
if (!jarRgvMoveTake(wrkMastExecute,SteAndJarUtil.getRgvJarNowRow(wrkMastExecute.getJarId()))){
log.error("骞宠 杞GV鍛戒护涓嬪彂澶辫触锛宺gv鍙�={},浠诲姟鏁版嵁={},纭寲缃愭暟鎹�={},sign={}",
- wrkMastExecute.getJarId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),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.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign);
+ wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign);
}
}
return true;
@@ -6585,6 +7182,59 @@
}
} catch (Exception e){
log.error("jarWrkMastExecuteActionExecute1浠诲姟鎵ц涓嬪彂寮傚父==銆媤rkMastExecute={},寮傚父鍘熷洜={}",wrkMastExecute,e.getMessage());
+ }
+ return false;
+ }
+
+ /**
+ * JarWrkMastExecute浠诲姟==>涓嬪彂 //瀹屾垚
+ * 100锛氬厖鐢典换鍔�
+ * 浠诲姟涓嬪彂
+ */
+ public synchronized boolean jarWrkMastExecuteActionExecute100(WrkMastExecute wrkMastExecute,Integer sign) {
+ try{
+ // 鑾峰彇纭寲缃愪俊鎭�
+ BasJar basJar = basJarMapper.selectById(wrkMastExecute.getJarId());
+ if (Cools.isEmpty(basJar)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",wrkMastExecute.getJarId());
+ return false;
+ }
+
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2);
+ StaProtocol staProtocolRGV = devpThread.getStation().get(basJar.getEnterRgvNo());
+ if (staProtocolRGV == null) {
+ return false;
+ } else {
+ staProtocolRGV = staProtocolRGV.clone();
+ }
+ if (staProtocolRGV == null) {
+ return false;
+ }
+
+ if (staProtocolRGV.rgvBoolean(1) || staProtocolRGV.rgvBoolean(2)){
+ //闂ㄤ綔涓� 鏃�
+ //鑷姩銆佺┖闂层��
+ log.error("100:鍏呯數浠诲姟==>浠诲姟涓嬪彂===>琛�={}",6899);
+ //鍒ゆ柇灏忚溅鐘舵��
+ if (!jarWrkMastExecuteGenerateSteStatusCharge(basJar.getEnterSteNo(),1,SteStatusType.IDLE,false)){
+ return false;
+ }
+ //璋冭溅 == > 鍙栬揣
+ if (!jarSteTake(wrkMastExecute,SteLocaType.POINT20.id,SteLocaType.POINT20.id,SteTaskModeType.START_CHARGE,false,wrkMastExecute.getJarId())){
+ log.error("绌挎鏉縎te鍏呯數鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={}",
+ wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute));
+ }
+ wrkMastExecute.setWrkType(1);
+ wrkMastExecute.setWrkSts(99);
+ if (!wrkMastExecuteService.updateById(wrkMastExecute)){
+ log.error("绌挎鏉縎te鍏呯數鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={}",
+ wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute));
+ }
+ return true;
+ }
+ return false;
+ } catch (Exception e){
+ log.error("绌挎鏉縎te鍏呯數鍛戒护涓嬪彂澶辫触,寮傚父==銆媤rkMastExecute={},寮傚父鍘熷洜={}",wrkMastExecute,e.getMessage());
}
return false;
}
@@ -6653,7 +7303,7 @@
/*
* Ste 鍔ㄤ綔
* */
- public synchronized boolean jarSteTake(WrkMastExecute wrkMastExecute,Integer startLoad,Integer endLoad,SteTaskModeType steTaskModeType,boolean complete){
+ public synchronized boolean jarSteTake(WrkMastExecute wrkMastExecute,Integer startLoad,Integer endLoad,SteTaskModeType steTaskModeType,boolean complete,Integer siteId){
try {
SteCommand steCommand = new SteCommand();
steCommand.setTaskNo(wrkMastExecute.getWrkNo().intValue());
@@ -6665,7 +7315,7 @@
if (!complete){
steCommand.setTaskMode(steTaskModeType.id.shortValue());
}
- steCommand.setJarNo(wrkMastExecute.getJarId().shortValue());
+ steCommand.setJarNo(siteId.shortValue());
if (!MessageQueue.offer(SlaveType.Ste, steCommand.getSteNo(), new Task(2, steCommand))) {
log.error("绌挎杞te鍛戒护涓嬪彂澶辫触锛屽爢鍨涙満鍙�={},浠诲姟鏁版嵁={},涓嬪彂鏁版嵁={},complete={}", steCommand.getSteNo(), JSON.toJSON(wrkMastExecute), JSON.toJSON(steCommand),complete);
return false;
@@ -6730,7 +7380,7 @@
return;
}
}catch (Exception e){
- log.error("灏忚溅澶嶄綅绾跨▼鎶ラ敊锛�"+e);
+ log.error("JarWrkMastExecute浠诲姟瀹屾垚鎶ラ敊锛�"+e);
}
}
@@ -6760,19 +7410,19 @@
if (wrkMastExecute.getWrkSts()==3){//==>4
//1锛歊GV灏忚溅绉诲姩銆�2锛歊GV灏忚溅鍒颁綅銆�3锛歋te绌挎鐗堝彇璐с��4锛氬彇璐у畬鎴愮瓑寰呬笅涓�姝ャ��5锛歋te绌挎鐗堟斁璐ц嚦鍐峰嵈姹犮��6锛氭斁璐у畬鎴愩��7锛氭洿鏂板畬鎴� //io_type = 6
//ste浠诲姟绛夊緟瀹屾垚
- if (steProtocol.statusType.equals(SteStatusType.WAITING2)){
+ if (steProtocol.statusType.equals(SteStatusType.WAITING)){
//ste浠诲姟瀹屾垚
- if (jarSteTake(wrkMastExecute,null,null,null,true)){
+ if (jarSteTake(wrkMastExecute,null,null,null,true,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){
wrkMastExecute.setWrkSts(4);
if (!wrkMastExecuteService.updateById(wrkMastExecute)){
log.error("绌挎杞te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},绌挎杞︽暟鎹�={},sign={}",
- wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(steProtocol),sign);
+ wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSON(steProtocol),sign);
}
return true;
}
}
log.error("绌挎杞te鍛戒护涓嬪彂澶辫触===>涓嬪彂寮傚父锛宩ar鍙�={},浠诲姟鏁版嵁={},绌挎杞︽暟鎹�={},sign={}",
- wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(steProtocol),sign);
+ wrkMastExecute.getSteId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(steProtocol),sign);
return true;
}
case 5:
@@ -6781,7 +7431,7 @@
//ste浠诲姟瀹屾垚
if (steProtocol.statusType.equals(SteStatusType.WAITING)){
//ste浠诲姟瀹屾垚
- if (jarSteTake(wrkMastExecute,null,null,null,true)){
+ if (jarSteTake(wrkMastExecute,null,null,null,true,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){
wrkMastExecute.setWrkSts(6);
if (!wrkMastExecuteService.updateById(wrkMastExecute)){
log.error("绌挎杞te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},绌挎杞︽暟鎹�={},sign={}",
@@ -6804,7 +7454,7 @@
//ste浠诲姟瀹屾垚
if (steProtocol.statusType.equals(SteStatusType.WAITING)){
//ste浠诲姟瀹屾垚
- if (jarSteTake(wrkMastExecute,null,null,null,true)){
+ if (jarSteTake(wrkMastExecute,null,null,null,true,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){
wrkMastExecute.setWrkSts(4);
if (!wrkMastExecuteService.updateById(wrkMastExecute)){
log.error("绌挎杞te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},绌挎杞︽暟鎹�={},sign={}",
@@ -6824,7 +7474,7 @@
//ste浠诲姟瀹屾垚
if (steProtocol.statusType.equals(SteStatusType.WAITING)){
//ste浠诲姟瀹屾垚
- if (jarSteTake(wrkMastExecute,null,null,null,true)){
+ if (jarSteTake(wrkMastExecute,null,null,null,true,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){
wrkMastExecute.setWrkSts(2);
if (!wrkMastExecuteService.updateById(wrkMastExecute)){
log.error("绌挎杞te鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宩ar鍙�={},浠诲姟鏁版嵁={},绌挎杞︽暟鎹�={},sign={}",
@@ -6846,7 +7496,7 @@
}
return true;
}catch (Exception e){
- log.error("灏忚溅澶嶄綅绾跨▼鎶ラ敊锛�"+e);
+ log.error("JarWrkMastExecute浠诲姟瀹屾垚 ===>Ste鎶ラ敊锛�"+e);
}
return false;
}
@@ -6870,6 +7520,10 @@
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());
@@ -6877,7 +7531,7 @@
}
//WAITING2(4, "纭寲瀹屾垚"),
if (jarProtocol.getJarErr()==0 && jarProtocol.getStatusType().equals(JarStatusType.WAITING2)
- && jarProtocol.isRightDoor() && jarProtocol.isLeftDoor()
+ && !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>() {{
@@ -6925,7 +7579,7 @@
}
}
} else if (jarProtocol.getJarErr()==0
- && jarProtocol.isRightDoor() && jarProtocol.isLeftDoor()
+ && !jarProtocol.isRightDoor() && !jarProtocol.isLeftDoor()
&& jarProtocol.leftDoorClose!=1 && jarProtocol.leftDoorClose!=3
&& jarProtocol.rightDoorClose!=1 && jarProtocol.rightDoorClose!=3
&& (jarProtocol.leftDoorClose==2 || jarProtocol.rightDoorClose==2)){
@@ -6962,7 +7616,7 @@
}
return true;
}catch (Exception e){
- log.error("灏忚溅澶嶄綅绾跨▼鎶ラ敊锛�"+e);
+ log.error("//纭寲瀹屾垚 淇敼浠诲姟鐘舵�� 鎶ラ敊锛�"+e);
}
return false;
}
@@ -7012,7 +7666,7 @@
}
return true;
}catch (Exception e){
- log.error("灏忚溅澶嶄綅绾跨▼鎶ラ敊锛�"+e);
+ log.error("JarWrkMastExecute浠诲姟瀹屾垚 ===>RGV绉诲姩锛佸紓甯�"+e);
}
return false;
}
@@ -7058,7 +7712,7 @@
}
return true;
}catch (Exception e){
- log.error("灏忚溅澶嶄綅绾跨▼鎶ラ敊锛�"+e);
+ log.error(" JarWrkMastExecute浠诲姟瀹屾垚 ===>RGV鍙栬揣 寮傚父锛�"+e);
}
return false;
}
@@ -7087,11 +7741,12 @@
}
try{
- if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),1,SteStatusType.IDLE)){
- List<WrkMastExecute> wrkMastExecutes = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 5, null);
- if (wrkMastExecutes.isEmpty()){
- List<WrkMastExecute> wrkMastExecutesB = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 6, null);
- List<WrkMastExecute> wrkMastExecutesC = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 9, null);
+ if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),1,SteStatusType.IDLE,false)){
+ List<WrkMastExecute> wrkMastExecutes = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 5, null,steProtocol.getSteNo().intValue());
+ List<WrkMastExecute> wrkMastExecutes100 = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 100, null,steProtocol.getSteNo().intValue());
+ if (wrkMastExecutes.isEmpty() && wrkMastExecutes100.isEmpty()){
+ List<WrkMastExecute> wrkMastExecutesB = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 6, null,steProtocol.getSteNo().intValue());
+ List<WrkMastExecute> wrkMastExecutesC = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 9, null,steProtocol.getSteNo().intValue());
if (!wrkMastExecutesB.isEmpty() || !wrkMastExecutesC.isEmpty()){
WrkMastExecute wrkMastExecute = !wrkMastExecutesB.isEmpty() ? wrkMastExecutesB.get(0) : wrkMastExecutesC.get(0);
@@ -7108,11 +7763,31 @@
continue;
}
}
- } else if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),2,SteStatusType.IDLE)){
- List<WrkMastExecute> wrkMastExecutes = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 6, null);
+ } else if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),2,SteStatusType.IDLE,false)){
+ List<WrkMastExecute> wrkMastExecutes = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 6, null,steProtocol.getSteNo().intValue());
if (wrkMastExecutes.isEmpty()){
- List<WrkMastExecute> wrkMastExecutesA = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 5, null);
- List<WrkMastExecute> wrkMastExecutesC = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 9, null);
+ List<WrkMastExecute> wrkMastExecutesA = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 5, null,steProtocol.getSteNo().intValue());
+ List<WrkMastExecute> wrkMastExecutesC = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 9, null,steProtocol.getSteNo().intValue());
+ List<WrkMastExecute> wrkMastExecutes100 = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 100, null,steProtocol.getSteNo().intValue());
+ if (!wrkMastExecutes100.isEmpty()){
+ WrkMastExecute wrkMastExecute = wrkMastExecutes100.get(0);
+ BasJar basJar = basJarMapper.selectById(wrkMastExecute.getJarId());
+ if (Cools.isEmpty(basJar)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",wrkMastExecute.getJarId());
+ return false;
+ }
+
+ BasJarMast jarMastByWrkNo = new BasJarMast(basJar);
+ jarMastByWrkNo.setWrkNo(Integer.toUnsignedLong(wrkMastExecute.getWrkNo().intValue()));//宸ヤ綔鍙�
+ jarMastByWrkNo.setJarEnterStaNo(basJar.getEnterRgvNo());
+ jarMastByWrkNo.setEnterStaNo(basJar.getEnterRgvNo());
+ jarMastByWrkNo.setOutStaNo(basJar.getOutRgvNo());
+ //B==>A
+ if (!jarWrkMastExecuteGenerateExecute(basJar,jarMastByWrkNo,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),11,1})){
+ log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(jarMastByWrkNo));
+ }
+ continue;
+ }
if (!wrkMastExecutesA.isEmpty()){
WrkMastExecute wrkMastExecute = wrkMastExecutesA.get(0);
BasJar basJar = basJarMapper.selectById(wrkMastExecute.getJarId());
@@ -7143,11 +7818,31 @@
continue;
}
}
- } else if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),3,SteStatusType.IDLE)){
- List<WrkMastExecute> wrkMastExecutes = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 9, null);
+ } else if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),3,SteStatusType.IDLE,false)){
+ List<WrkMastExecute> wrkMastExecutes = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 9, null,steProtocol.getSteNo().intValue());
if (wrkMastExecutes.isEmpty()){
- List<WrkMastExecute> wrkMastExecutesB = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 9, null);
- List<WrkMastExecute> wrkMastExecutesA = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 6, null);
+ List<WrkMastExecute> wrkMastExecutesB = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 6, null,steProtocol.getSteNo().intValue());
+ List<WrkMastExecute> wrkMastExecutesA = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 5, null,steProtocol.getSteNo().intValue());
+ List<WrkMastExecute> wrkMastExecutes100 = wrkMastExecuteService.selectWrkMastExecuteByTypeAndIoTyperAndWrkType(null, 100, null,steProtocol.getSteNo().intValue());
+ if (!wrkMastExecutes100.isEmpty()){
+ WrkMastExecute wrkMastExecute = wrkMastExecutes100.get(0);
+ BasJar basJar = basJarMapper.selectById(wrkMastExecute.getJarId());
+ if (Cools.isEmpty(basJar)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",wrkMastExecute.getJarId());
+ return false;
+ }
+
+ BasJarMast jarMastByWrkNo = new BasJarMast(basJar);
+ jarMastByWrkNo.setWrkNo(Integer.toUnsignedLong(wrkMastExecute.getWrkNo().intValue()));//宸ヤ綔鍙�
+ jarMastByWrkNo.setJarEnterStaNo(basJar.getEnterRgvNo());
+ jarMastByWrkNo.setEnterStaNo(basJar.getEnterRgvNo());
+ jarMastByWrkNo.setOutStaNo(basJar.getOutRgvNo());
+ //C==>B
+ if (!jarWrkMastExecuteGenerateExecute(basJar,jarMastByWrkNo,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),8,1})){
+ log.error("JarWrkMastExecute浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(jarMastByWrkNo));
+ }
+ continue;
+ }
if (!wrkMastExecutesB.isEmpty() || !wrkMastExecutesA.isEmpty()){
WrkMastExecute wrkMastExecute = !wrkMastExecutesB.isEmpty() ? wrkMastExecutesB.get(0) : wrkMastExecutesA.get(0);
BasJar basJar = basJarMapper.selectById(wrkMastExecute.getJarId());
@@ -7177,5 +7872,289 @@
}
return false;
}
+ /**
+ * ste鍏呯數浠诲姟鍒涘缓 //瀹屾垚
+ */
+ public synchronized boolean jarChargeGenerate() {
+ try{
+ //80%鐢甸噺 鏃犱换鍔� 鍏呯數 >50鐢甸噺 鏈変换鍔� 鏂數
+ //30%鐢甸噺 涓嶆帴鍙栦换鍔� 鏃犺繘琛屼腑浠诲姟 鍏呯數 >50鐢甸噺 鏈変换鍔� 鏂數
+ for (SteSlave steSlave : slaveProperties.getSte()){
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steSlave.getId());
+ if (steThread == null) {
+ continue;
+ }
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol == null || steProtocol.getChargeStatus()!=0) {
+ continue;
+ }
+ WrkMastExecute wrkMastExecuteByCharge = wrkMastExecuteService.getWrkMastExecuteByCharge(steSlave.getId());
+ if (!Cools.isEmpty(wrkMastExecuteByCharge)){
+ continue;
+ }
+
+ if (steProtocol.getCharge()<30.0F){
+ if (wrkMastExecuteService.selectMoveStartCharge(steSlave.getId())!=0){
+ continue;
+ }
+ } else if (steProtocol.getCharge()<80.0F){
+ List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusListCharge(steSlave.getId(), new ArrayList<Integer>() {{
+ add(5);
+ add(11);
+ add(17);
+ }});
+ if(!basJarMastList.isEmpty()){
+ continue;
+ }
+ if (wrkMastExecuteService.selectNoStart(steSlave.getId())!=0){
+ continue;
+ }
+ if (wrkMastExecuteService.selectMoveStart(steSlave.getId())!=0){
+ continue;
+ }
+ } else {
+ continue;
+ }
+
+ try{
+ boolean jarIDLESign = false;
+ if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),1,SteStatusType.IDLE,false)){
+ //鐢熸垚鍏呯數浠诲姟
+ //A
+ BasJar basJar = basJarMapper.selectById(steSlave.getId()==1? 1:3);
+ int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(7));//鍏呯數宸ヤ綔鍙�
+ BasJarMast basJarMast = new BasJarMast(basJar);
+ basJarMast.setWrkNo(Integer.toUnsignedLong(workNo));//宸ヤ綔鍙�
+ basJarMast.setJarEnterStaNo(basJar.getEnterRgvNo());
+ basJarMast.setEnterStaNo(basJar.getEnterRgvNo());
+ basJarMast.setOutStaNo(basJar.getOutRgvNo());
+ if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),100,1})){
+ log.error("JarWrkMastExecute鍏呯數浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
+ }
+ continue;
+ } else if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),2,SteStatusType.IDLE,false)){
+ jarIDLESign =true;
+ } else if (jarWrkMastExecuteGenerateSteStatus(steSlave.getId(),3,SteStatusType.IDLE,false)){
+ jarIDLESign =true;
+ }
+ if (jarIDLESign){
+ //鐢熸垚鍏呯數浠诲姟
+ //C==>A
+ BasJar basJar = null;
+ List<BasJar> basJarList = basJarMapper.selectList(new EntityWrapper<BasJar>().eq("region", steSlave.getId()));
+ for (BasJar basJarNow : basJarList){
+ // 鑾峰彇纭寲缃愪俊鎭�0.0
+ JarThread jarThread = (JarThread) SlaveConnection.get(SlaveType.Jar, basJarNow.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()>50){
+ continue;
+ }
+ if (jarProtocol.leftDoorOpen != 0 || jarProtocol.rightDoorOpen != 0){
+ continue;
+ }
+ basJar = basJarNow;
+ break;
+ }
+ if (basJar == null){
+ continue;
+ }
+ int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(7));//鍏呯數宸ヤ綔鍙�
+ BasJarMast basJarMast = new BasJarMast(basJar);
+ basJarMast.setWrkNo(Integer.toUnsignedLong(workNo));//宸ヤ綔鍙�
+ basJarMast.setJarEnterStaNo(basJar.getEnterRgvNo());
+ basJarMast.setEnterStaNo(basJar.getEnterRgvNo());
+ basJarMast.setOutStaNo(basJar.getOutRgvNo());
+ if (!jarWrkMastExecuteGenerateExecute(basJar,basJarMast,basJar.getJarNo(),new int[]{basJar.getOutSteNo(),basJar.getOutRgvNo(),100,1})){
+ log.error("JarWrkMastExecute鍏呯數浠诲姟鍒涘缓===>鎵ц寮傚父===銆嬪紓甯告暟鎹細BasJar:"+ JSON.toJSONString(basJar)+";BasJarMast:"+JSON.toJSONString(basJarMast));
+ }
+ }
+ }catch (Exception e){
+ log.error("鍏呯數浠诲姟鍒涘缓寮傚父,steProtocol={},寮傚父淇℃伅={}",JSON.toJSONString(steProtocol),e.getMessage());
+ }
+ }
+ } catch (Exception e){
+ log.error("纭寲鍖哄煙鍒嗘浠诲姟瀹屾垚寮傚父,寮傚父淇℃伅={}",e.getMessage());
+ }
+ return false;
+ }
+ /**
+ * Ste鍏呯數浠诲姟瀹屾垚 //瀹屾垚
+ */
+ public synchronized boolean jarChargeComplete() {
+ try{
+ //80%鐢甸噺 鏃犱换鍔� 鍏呯數 >50鐢甸噺 鏈変换鍔� 鏂數
+ //30%鐢甸噺 涓嶆帴鍙栦换鍔� 鏃犺繘琛屼腑浠诲姟 鍏呯數 >50鐢甸噺 鏈変换鍔� 鏂數
+ for (SteSlave steSlave : slaveProperties.getSte()){
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steSlave.getId());
+ if (steThread == null) {
+ continue;
+ }
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol == null || 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;
+ }
+ }
+ } else {
+ continue;
+ }
+
+ WrkMastExecute wrkMastExecuteByCharge = wrkMastExecuteService.getWrkMastExecuteByCharge(steSlave.getId());
+ if (Cools.isEmpty(wrkMastExecuteByCharge)){
+ BasJar basJar = basJarMapper.selectById(steSlave.getId()==1? 1:3);
+ int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(7));//鍏呯數宸ヤ綔鍙�
+ BasJarMast basJarMast = new BasJarMast(basJar);
+ basJarMast.setWrkNo(Integer.toUnsignedLong(workNo));//宸ヤ綔鍙�
+ basJarMast.setJarEnterStaNo(basJar.getEnterRgvNo());
+ basJarMast.setEnterStaNo(basJar.getEnterRgvNo());
+ basJarMast.setOutStaNo(basJar.getOutRgvNo());
+ wrkMastExecuteByCharge = new WrkMastExecute(basJarMast);
+ wrkMastExecuteByCharge.setJarId(basJar.getJarNo());
+ wrkMastExecuteByCharge.setSteId(steSlave.getId());//绌挎鏉縄D
+ wrkMastExecuteByCharge.setRgvId(basJar.getEnterRgvNo());//RGV ID enter
+ wrkMastExecuteByCharge.setRgvEndId(basJar.getOutRgvNo());//RGV ID out
+ wrkMastExecuteByCharge.setIoType(100);//浠诲姟绫诲瀷 0: 鏈煡 1: 寮�杩涙枡闂� 2: 鍏宠繘鏂欓棬 3: 寮�鍑烘枡闂� 4: 鍏冲嚭鏂欓棬 5: 鍏ョ~鍖栫綈 6: 鍏ュ喎鍗存Ы 7: 绌挎杞﹁繘鍐峰嵈妲� 8: 绌挎杞︾寮�鍐峰嵈妲� 9: 鍑哄喎鍗存Ы 10锛欰=>B 11:B=>A 100:灏忚溅鍏呯數浠诲姟
+ wrkMastExecuteByCharge.setType(1);//璁惧 0: 鏈煡 1: 纭寲缃� 2: 鍐峰嵈妲� 3: 纭寲缃�==>鍐峰嵈妲�
+ }
+
+ try{
+ if (jarWrkMastExecuteGenerateSteStatusCharge(steSlave.getId(),1,SteStatusType.CHARGE,true)){
+ //瀹屾垚鍏呯數浠诲姟
+ //璋冭溅 == > 鏂紑鍏呯數
+ if (!jarSteTake(wrkMastExecuteByCharge,SteLocaType.POINT20.id,SteLocaType.POINT20.id,SteTaskModeType.CLOSE_CHARGE,true,wrkMastExecuteByCharge.getJarId())){
+ log.error("绌挎鏉縎te鍛戒护涓嬪彂澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={}",
+ wrkMastExecuteByCharge.getSteId(), JSON.toJSONString(wrkMastExecuteByCharge));
+ }
+ wrkMastExecuteByCharge.setWrkType(2);
+ wrkMastExecuteByCharge.setWrkSts(100);
+ if (!wrkMastExecuteService.updateById(wrkMastExecuteByCharge)){
+ log.error("鍏呯數浠诲姟瀹屾垚鍛戒护涓嬪彂澶辫触===>鏇存柊wrkMastExecute澶辫触锛宻te鍙�={},浠诲姟鏁版嵁={}",
+ wrkMastExecuteByCharge.getSteId(), JSON.toJSONString(wrkMastExecuteByCharge));
+ }
+ }
+ }catch (Exception e){
+ log.error("鍏呯數浠诲姟瀹屾垚寮傚父,steProtocol={},寮傚父淇℃伅={}",JSON.toJSONString(steProtocol),e.getMessage());
+ }
+ }
+ } catch (Exception e){
+ 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);
+ if (staProtocol607.getWorkNo()<9001 && staProtocol607.getWorkNo()!=0 && staProtocol607.isLoading() && staProtocol607.isAutoing()){
+ staProtocol607.setStaNo(staNo1);
+ boolean result2 = MessageQueue.offer(SlaveType.Devp, 2, new Task(5, staProtocol607));
+ }
+ }
+ }
+ public synchronized Integer jarGetStartStaNo(Integer staNo) {
+ try {
+ int[] jarNos=new int[]{1,2,3,4};//(607鍒嗛厤纭寲缃�)
+ ArrayList<Integer> staNos = new ArrayList<Integer>() {{
+ add(607);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> 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;
+ }
+ if (basJarMastList.size()>0 && basJarMastList.size()<7){
+ jarNoList.add(jarNo);
+ }
+ }
+ jarNoList.add(4);
+ jarNoList.add(2);
+ jarNoList.add(3);
+ jarNoList.add(1);
+ 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()>50){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧娓╁害杩囬珮锛岀瓑寰呴檷娓�....锛侊紒锛�",jarProtocol.getJarNo());
+ continue;
+ }
+
+ BasJar basJar = basJarMapper.selectById(jarProtocol.getJarNo());
+ if (Cools.isEmpty(basJar)){
+ log.error("{}鍙风~鍖栫綈鏌ヨ璁惧妗f鏃犱俊鎭紒锛侊紒",jarProtocol.getJarNo());
+ continue;
+ }
+ List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarNo, new ArrayList<Integer>() {{
+ add(0);
+ add(1);
+ add(2);
+ 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){
+ StaProtocol staProtocolEnt = devpThread.getStation().get(staNoEnt);
+ if (staProtocolEnt != null && staProtocolEnt.getWorkNo()!=0 && !wrkNoList.contains(staProtocolEnt.getWorkNo())){
+ if (staProtocolEnt.getStaNo().equals(basJar.getEntStaNo$())){
+ count++;
+ wrkNoList.add(staProtocolEnt.getWorkNo());
+ }
+ }
+ }
+ if (count<7){
+ return basJar.getEntStaNo$();
+ }
+ }
+ }catch (Exception e){
+// e.printStackTrace();
+// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ log.error("鍏朵粬 ===>> 鍒嗛厤纭寲缃愯繘鍏ヤ笅涓�姝�"+e);
+ }
+ return 0;
+ }
}
--
Gitblit v1.9.1