From 326284994ae0730ecb6b876bded39dec1d10c00d Mon Sep 17 00:00:00 2001
From: zhangchao <zc857179121@qq.com>
Date: 星期六, 07 九月 2024 12:18:58 +0800
Subject: [PATCH] 输送线指令优化
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 124 ++++++++++++++++++++++++-----------------
1 files changed, 72 insertions(+), 52 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 b8a304a..f5d8190 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -224,29 +224,39 @@
}
// 鍒ゆ柇閲嶅宸ヤ綔妗�
- WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
- //杩囨护鍒ゆ柇锛岄槻姝㈡嫞鏂欏啀鍏ュ簱璐х墿锛岀粡杩囧叆搴撶珯鍐嶅叆搴撴椂锛岃閫�鍥炲埌閫�搴撶珯
- WrkMast wrkMast1 = wrkMastMapper.selectPakInStepBarcode(barcode);
- if (wrkMast1 != null) {
- if (wrkMast1.getIoType() == 103 || wrkMast1.getIoType() == 107 || wrkMast1.getIoType() == 104) {
+ WrkMast wrkMast = wrkMastMapper.selectPakInStepBarcode(barcode);
+ if (wrkMast != null && wrkMast.getWrkSts() == 2) {
+ int wrkNo1 = basDevpService.count(new QueryWrapper<BasDevp>().eq("wrk_no", wrkMast.getWrkNo()));
+ if (wrkNo1 != 0) {
+ News.error(barcode + "鏉$爜宸插瓨鍦ㄧ姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,璇锋煡鐪媁CS杈撻�佺嚎鐣岄潰,宸ヤ綔鍙�={}", wrkMast.getWrkNo());
+ if (ledThread != null) {
+ News.error(":鎵爜澶辫触锛岃閲嶈瘯");
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, barcode + "鏉$爜宸插瓨鍦ㄧ姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑浠诲姟,宸ヤ綔鍙�=" + wrkMast.getWrkNo()));
+ }
continue;
}
- }
- if (wrkMast != null) {
- News.error("" + mark + " - 4" + " - 宸ヤ綔妗d腑宸插瓨鍦ㄨ绔欑姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,宸ヤ綔鍙�={}", wrkMast.getWrkNo());
- staProtocol.setWorkNo((short) 9999);
- staProtocol.setStaNo(inSta.getBackSta().shortValue());
+ barcodeThread.setBarcode("");
+ staProtocol.setWorkNo(Short.parseShort(wrkMast.getWrkNo() + ""));
+ staProtocol.setStaNo(Short.parseShort(wrkMast.getStaNo() + ""));
devpThread.setPakMk(staProtocol.getSiteId(), false);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ log.info("杈撻�佺嚎涓嬪彂(瀛樺湪璁惧涓婅蛋鐨勫伐浣滄。锛岀洿鎺ヤ笅鍙戯紒))锛�" + wrkMast.getWrkNo() + "," + wrkMast.getStaNo());
+
+ ledThread.errorReset();
+ log.info("缁勬墭璇锋眰鍚嶭ED閿欒娓呴櫎");
+
if (!result) {
- throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+ News.error(":鏇存柊plc绔欑偣淇℃伅澶辫触");
+ log.error("杈撻�佺嚎涓嬪彂(瀛樺湪璁惧涓婅蛋鐨勫伐浣滄。锛岀洿鎺ヤ笅鍙戯紒)==>鏇存柊plc绔欑偣淇℃伅澶辫触");
+// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+ continue;
}
- // led 寮傚父鏄剧ず
- if (ledThread != null) {
- String errorMsg = "宸ヤ綔妗e凡瀛樺湪璇ユ潯鐮佸彿===>>" + barcode;
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
- }
+ }
+ WrkMast checkPick = wrkMastMapper.selectOne(new QueryWrapper<WrkMast>()
+ .eq("barcode", barcode)
+ .in("io_type", 107, 103, 57));
+ if (!Cools.isEmpty(checkPick)) {
continue;
}
@@ -489,10 +499,16 @@
if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()) {
News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛�");
WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
-// WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue());
+ // WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue());
if (wrkMast == null) {
- // 鏃犳嫞鏂欐暟鎹�
- continue;
+ WrkMast wrkMast1 = wrkMastMapper.selectPakInStepBarcode(barcode);
+ if (!(wrkMast1 != null && wrkMast1.getWrkSts() == 2 && wrkMast1.getIoType() == 53)) {
+ // 鏃犳嫞鏂欐暟鎹�
+ continue;
+ } else {
+ wrkMast1.setIoType(103);
+ wrkMast = wrkMast1;
+ }
}
if ((wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) || Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo())) {
continue;
@@ -508,6 +524,7 @@
// log.error("{}鍙蜂换鍔℃暟鎹紓甯革紒", wrkMast.getWrkNo());
// }
// 鑾峰彇鐩爣绔�
+
Wrapper<StaDesc> wrapper = new QueryWrapper<StaDesc>().eq("type_no", wrkMast.getIoType() - 50).eq("stn_no", pickSta.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
.eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
StaDesc staDesc = staDescService.getOne(wrapper);
@@ -646,7 +663,7 @@
crnThread.setResetFlag(true);
} else if (statusTypeTwo == CrnStatusType.WAITING_TWO) {
crnThread.setResetFlagTwo(true);
- } else {
+ } else if (statusTypeTwo == CrnStatusType.WAITING_All) {
crnThread.setResetFlag(true);
crnThread.setResetFlagTwo(true);
}
@@ -1272,6 +1289,7 @@
crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
if (workMode == 2) {
//CrnTaskModeType璇ユ灇涓剧被鏃犳晥锛屽彧鏈�1浠h〃宸ヤ綅锛�2浠h〃宸ヤ綅2锛�3鍙屽伐浣�
+ crnCommand.setTaskMode(CrnTaskModeType.PAKOUT);
crnCommand.setSourcePosXTwo(sourceSta.getRow1().shortValue()); // 婧愬簱浣嶆帓
crnCommand.setSourcePosYTwo(sourceSta.getBay1().shortValue()); // 婧愬簱浣嶅垪
crnCommand.setSourcePosZTwo(sourceSta.getLev1().shortValue()); // 婧愬簱浣嶅眰
@@ -1329,8 +1347,38 @@
// 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1
if (wait && crnProtocol.getTaskNo() != 0) {
News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛屽宸ヤ綔妗g殑瀹屾垚鎿嶄綔");
- if (crnProtocol.getTaskNo() == 9999) {
+// if (crnProtocol.getTaskNo() == 9999) {
+// // 鍫嗗灈鏈哄浣�
+// if (statusType == CrnStatusType.WAITING_ONE) {
+// crnThread.setResetFlag(true);
+// } else if (statusTypeTwo == CrnStatusType.WAITING_TWO) {
+// crnThread.setResetFlagTwo(true);
+// } else {
+// crnThread.setResetFlag(true);
+// crnThread.setResetFlagTwo(true);
+// }
+// } else {
+ // 鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
+ WrkMast wrkMast = wrkMastMapper.selectPakInStep3(crnProtocol.getTaskNo().intValue());
+ if (wrkMast == null) {
+ News.error("" + mark + " - 1" + " - 鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo());
+ continue;
+ }
+ // 鍏ュ簱 + 搴撲綅杞Щ ==> 4.鍏ュ簱瀹屾垚
+ if (wrkMast.getWrkSts() == 3 || (wrkMast.getWrkSts() == 12 && wrkMast.getIoType() == 11)) {
+ wrkMast.setWrkSts(4L);
+ } else {
+ //TODO
+ News.info("鐘舵�佷笉瀵�,鐘舵��={}锛屽伐浣滃彿={}", wrkMast.getWrkSts(), crnProtocol.getTaskNo());
+ continue;
+ }
+ Date now = new Date();
+ wrkMast.setCrnEndTime(now);
+ wrkMast.setModiTime(now);
+ // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
+ if (wrkMastMapper.updateById(wrkMast) > 0) {
// 鍫嗗灈鏈哄浣�
+ News.info("" + mark + " - 2" + " - 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 : 鍫嗗灈鏈哄彿={}", crnThread.getCrnProtocol().getCrnNo());
if (statusType == CrnStatusType.WAITING_ONE) {
crnThread.setResetFlag(true);
} else if (statusTypeTwo == CrnStatusType.WAITING_TWO) {
@@ -1340,39 +1388,11 @@
crnThread.setResetFlagTwo(true);
}
} else {
- // 鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
- WrkMast wrkMast = wrkMastMapper.selectPakInStep3(crnProtocol.getTaskNo().intValue());
- if (wrkMast == null) {
- News.error("" + mark + " - 1" + " - 鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo());
- continue;
- }
- // 鍏ュ簱 + 搴撲綅杞Щ ==> 4.鍏ュ簱瀹屾垚
- if (wrkMast.getWrkSts() == 3 || (wrkMast.getWrkSts() == 12 && wrkMast.getIoType() == 11)) {
- wrkMast.setWrkSts(4L);
- } else {
- continue;
- }
- Date now = new Date();
- wrkMast.setCrnEndTime(now);
- wrkMast.setModiTime(now);
- // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
- if (wrkMastMapper.updateById(wrkMast) > 0) {
- // 鍫嗗灈鏈哄浣�
- News.info("" + mark + " - 2" + " - 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 : 鍫嗗灈鏈哄彿={}", crnThread.getCrnProtocol().getCrnNo());
- if (statusType == CrnStatusType.WAITING_ONE) {
- crnThread.setResetFlag(true);
- } else if (statusTypeTwo == CrnStatusType.WAITING_TWO) {
- crnThread.setResetFlagTwo(true);
- } else {
- crnThread.setResetFlag(true);
- crnThread.setResetFlagTwo(true);
- }
- } else {
- News.error("" + mark + " - 2" + " - 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 澶辫触锛侊紒锛屽爢鍨涙満鍙�={}", crnThread.getCrnProtocol().getCrnNo());
- }
+ News.error("" + mark + " - 2" + " - 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 澶辫触锛侊紒锛屽爢鍨涙満鍙�={}", crnThread.getCrnProtocol().getCrnNo());
}
-
}
+
+ //}
}
News.infoNoLog("" + mark + " - 0" + " - 瀵瑰伐浣滄。鐨勫畬鎴愭搷浣滄墽琛屽畬鎴�");
}
--
Gitblit v1.9.1