From 2ea423b0f01d4db3d879066cd6c9634cc6800c7c Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期四, 27 十一月 2025 16:37:43 +0800
Subject: [PATCH] #1
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 311 +++++++++++++++++++++++++++++----------------------
1 files changed, 175 insertions(+), 136 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 c525150..d5cf0fe 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -136,7 +136,9 @@
&& staProtocol.isInEnable()
&& !staProtocol.isEmptyMk()
&& staProtocol.getWorkNo() == 9999
- && staProtocol.isPakMk() && (staProtocol.getEmptyInType() != 1 && staProtocol.getEmptyInType() != 2)) {
+ && staProtocol.isPakMk()
+// && (staProtocol.getEmptyInType() != 1 && staProtocol.getEmptyInType() != 2)
+ ) {
News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛�");
String barcode = barcodeThread.getBarcode();
@@ -197,17 +199,17 @@
continue;
}
- if (inSta.getStaNo() == 1002 || inSta.getStaNo() == 1007) {
- //妫�娴嬫槸鍚︽湁鍑哄簱浠诲姟
- List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
- .in("io_type", 101, 103, 107)
- .in("sta_no", 1003, 1004)
- );
- if (!wrkMasts.isEmpty()) {
- News.error("" + mark + " - 4" + " - 鍏ュ簱锛屾娴嬪瓨鍦ㄥ嚭搴撲换鍔★紝绛夊緟鍑哄簱浠诲姟鎵ц瀹屾垚,鎵樼洏鐮�={}", barcode);
- continue;
- }
- }
+// if (inSta.getStaNo() == 1002 || inSta.getStaNo() == 1007) {
+// //妫�娴嬫槸鍚︽湁鍑哄簱浠诲姟
+// List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+// .in("io_type", 101, 103, 107)
+// .in("sta_no", 1003, 1004)
+// );
+// if (!wrkMasts.isEmpty()) {
+// News.error("" + mark + " - 4" + " - 鍏ュ簱锛屾娴嬪瓨鍦ㄥ嚭搴撲换鍔★紝绛夊緟鍑哄簱浠诲姟鎵ц瀹屾垚,鎵樼洏鐮�={}", barcode);
+// continue;
+// }
+// }
try {
LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
@@ -232,14 +234,14 @@
short staNo = dto.getStaNo().shortValue();
- int sourceStaNo = dto.getSourceStaNo();
- if (sourceStaNo == 1007) {
- staNo = 2002;
- }
-
- if (inSta.getStaNo() == 1002) {
- staNo = 2002;
- }
+// int sourceStaNo = dto.getSourceStaNo();
+// if (sourceStaNo == 1007) {
+// staNo = 2002;
+// }
+//
+// if (inSta.getStaNo() == 1002) {
+// staNo = 2002;
+// }
barcodeThread.setBarcode("");
staProtocol.setWorkNo(dto.getWorkNo().shortValue());
@@ -409,6 +411,26 @@
// 鏃犳嫞鏂欐暟鎹�
continue;
}
+
+ if (wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57) {
+ if (wrkMast.getWrkSts() != 2) {
+ News.error("" + mark + " - 3" + " - 鎷i�夌洏鐐瑰洖搴撳伐浣滄。鐘舵�佸紓甯革紒锛侊紒 [plc缂栧彿锛歿}]", devp.getId());
+ continue;
+ }
+
+ LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+ // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
+ staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
+ staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+ staProtocol.setPalletSize(locMast.getLocType2());
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ if (!result) {
+ News.error("" + mark + " - 3" + " - 鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
+ }
+ continue;
+ }
+
if ((wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107)
|| Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo())) {
continue;
@@ -451,10 +473,27 @@
.doPost();
JSONObject jsonObject = JSON.parseObject(response);
if (jsonObject.getInteger("code").equals(200)) {
- LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+ WrkMast newWrkMast = wrkMastMapper.selectPakInStepBarcode(wrkMast.getBarcode());
+ if (newWrkMast == null) {
+ // 鏃犳嫞鏂欐暟鎹�
+ News.error("" + mark + " - 3" + " - 鎷i�夌洏鐐瑰洖搴撹幏鍙栧伐浣滄。澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
+ continue;
+ }
+
+ if(newWrkMast.getWrkSts() != 53 && newWrkMast.getWrkSts() != 57) {
+ News.error("" + mark + " - 3" + " - 鎷i�夌洏鐐瑰洖搴撳伐浣滄。绫诲瀷寮傚父锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
+ continue;
+ }
+
+ if (wrkMast.getWrkSts() != 2) {
+ News.error("" + mark + " - 3" + " - 鎷i�夌洏鐐瑰洖搴撳伐浣滄。鐘舵�佸紓甯革紒锛侊紒 [plc缂栧彿锛歿}]", devp.getId());
+ continue;
+ }
+
+ LocMast locMast = locMastService.selectById(newWrkMast.getLocNo());
// 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
- staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
- staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+ staProtocol.setWorkNo(newWrkMast.getWrkNo().shortValue());
+ staProtocol.setStaNo(newWrkMast.getStaNo().shortValue());
staProtocol.setPalletSize(locMast.getLocType2());
devpThread.setPakMk(staProtocol.getSiteId(), false);
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
@@ -978,16 +1017,16 @@
continue;
}
- if (crnProtocol.getCrnNo() == 1) {
- //鍒ゆ柇鍫嗗灈鏈哄拰褰撳墠浠诲姟鏄惁澶勪簬涓�涓贩閬�
- if (Utils.getLaneByLocNo(wrkMast.getLocNo()) != crnProtocol.getCrnLane()) {
- //鍒ゆ柇鍫嗗灈鏈烘墍鍦ㄥ贩閬撴槸鍚﹀瓨鍦ㄥ叾浠栦换鍔★紝濡傚瓨鍦ㄥ垯浼樺厛鎵ц
- List<WrkMast> currentWrkMasts = wrkMastService.selectLaneWrkMast(crnProtocol.getCrnLane(), false);
-// if (!currentWrkMasts.isEmpty()) {
-// continue;//褰撳墠鍫嗗灈鏈烘墍鍦ㄥ贩閬撳瓨鍦ㄤ换鍔�
-// }
- }
- }
+// if (crnProtocol.getCrnNo() == 1) {
+// //鍒ゆ柇鍫嗗灈鏈哄拰褰撳墠浠诲姟鏄惁澶勪簬涓�涓贩閬�
+// if (Utils.getLaneByLocNo(wrkMast.getLocNo()) != crnProtocol.getCrnLane()) {
+// //鍒ゆ柇鍫嗗灈鏈烘墍鍦ㄥ贩閬撴槸鍚﹀瓨鍦ㄥ叾浠栦换鍔★紝濡傚瓨鍦ㄥ垯浼樺厛鎵ц
+// List<WrkMast> currentWrkMasts = wrkMastService.selectLaneWrkMast(crnProtocol.getCrnLane(), false);
+//// if (!currentWrkMasts.isEmpty()) {
+//// continue;//褰撳墠鍫嗗灈鏈烘墍鍦ㄥ贩閬撳瓨鍦ㄤ换鍔�
+//// }
+// }
+// }
// 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
if (Utils.isDeepLoc(slaveProperties, wrkMast.getLocNo())) {
@@ -1094,32 +1133,32 @@
public synchronized void locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol, Integer mark) {
News.warnNoLog("" + mark + " - 2" + " - 0" + " - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂锛氭墽琛屽嚭搴�");
- int devpTaskStackOver = 20;
- Config config = configService.selectOne(new EntityWrapper<Config>()
- .eq("code", "devpTaskStackOver"));
- if (config != null) {
- devpTaskStackOver = Integer.parseInt(config.getValue());
- }
- int devpCheckTaskStackOver = 2;
- Config config2 = configService.selectOne(new EntityWrapper<Config>()
- .eq("code", "devpCheckTaskStackOver"));
- if (config2 != null) {
- devpCheckTaskStackOver = Integer.parseInt(config2.getValue());
- }
-
- int outNumber = 13;
- Config config3 = configService.selectOne(new EntityWrapper<Config>()
- .eq("code", "fullBoardOutboundNumber"));
- if (config3 != null) {
- outNumber = Integer.parseInt(config3.getValue());
- }
-
-
- Integer devpWorkingCount = commonService.queryDevpWorkingCount();
- if (devpWorkingCount > devpTaskStackOver) {
- News.warn("" + mark + " - 2" + " - 0" + " - 杈撻�佺嚎浠诲姟杩囪浇锛屽綋鍓嶈緭閫佺嚎鎵胯浇鏁伴噺:{}", devpWorkingCount);
- return;
- }
+// int devpTaskStackOver = 20;
+// Config config = configService.selectOne(new EntityWrapper<Config>()
+// .eq("code", "devpTaskStackOver"));
+// if (config != null) {
+// devpTaskStackOver = Integer.parseInt(config.getValue());
+// }
+// int devpCheckTaskStackOver = 2;
+// Config config2 = configService.selectOne(new EntityWrapper<Config>()
+// .eq("code", "devpCheckTaskStackOver"));
+// if (config2 != null) {
+// devpCheckTaskStackOver = Integer.parseInt(config2.getValue());
+// }
+//
+// int outNumber = 13;
+// Config config3 = configService.selectOne(new EntityWrapper<Config>()
+// .eq("code", "fullBoardOutboundNumber"));
+// if (config3 != null) {
+// outNumber = Integer.parseInt(config3.getValue());
+// }
+//
+//
+// Integer devpWorkingCount = commonService.queryDevpWorkingCount();
+// if (devpWorkingCount > devpTaskStackOver) {
+// News.warn("" + mark + " - 2" + " - 0" + " - 杈撻�佺嚎浠诲姟杩囪浇锛屽綋鍓嶈緭閫佺嚎鎵胯浇鏁伴噺:{}", devpWorkingCount);
+// return;
+// }
for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) {
// 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗�
@@ -1151,49 +1190,49 @@
staProtocol = staProtocol.clone();
}
- if (wrkMast.getStaNo() == 1003 || wrkMast.getStaNo() == 1007 || wrkMast.getStaNo() == 1004) {
- //妫�娴嬫槸鍚︽湁鍏ュ簱浠诲姟
- List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
- .in("io_type", 1, 53, 57)
- .notIn("wrk_sts", 3, 4, 5)
- .in("source_sta_no", 1002, 1007)
- );
- if (!inWrkMasts.isEmpty()) {
- News.error("" + mark + " - 2" + " - 妫�娴嬪瓨鍦ㄥ叆搴撲换鍔★紝绛夊緟鍏ュ簱浠诲姟鎵ц瀹屾垚鍐嶅嚭搴擄紝宸ヤ綔鍙�={}" + wrkMast.getWrkNo());
- continue;
- }
- }
+// if (wrkMast.getStaNo() == 1003 || wrkMast.getStaNo() == 1007 || wrkMast.getStaNo() == 1004) {
+// //妫�娴嬫槸鍚︽湁鍏ュ簱浠诲姟
+// List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+// .in("io_type", 1, 53, 57)
+// .notIn("wrk_sts", 3, 4, 5)
+// .in("source_sta_no", 1002, 1007)
+// );
+// if (!inWrkMasts.isEmpty()) {
+// News.error("" + mark + " - 2" + " - 妫�娴嬪瓨鍦ㄥ叆搴撲换鍔★紝绛夊緟鍏ュ簱浠诲姟鎵ц瀹屾垚鍐嶅嚭搴擄紝宸ヤ綔鍙�={}" + wrkMast.getWrkNo());
+// continue;
+// }
+// }
//zhangc
- if (wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107) {
- if (wrkMast.getStaNo() == 1058) {
- List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
- .in("wrk_sts", 12, 14)
- .eq("sta_no", 1058)
- );
- if (!Cools.isEmpty(inWrkMasts) && inWrkMasts.size() >= devpCheckTaskStackOver) {
- News.error("" + mark + " - 2" + " - 妫�娴嬪瓨鍦�1058绔欑偣锛屽瓨鍦ㄤ袱绗斿伐浣滀腑鐨勪换鍔★紝宸ヤ綔鍙�={}" + wrkMast.getWrkNo());
- continue;
- }
- } else if (wrkMast.getStaNo() == 1062) {
- List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
- .in("wrk_sts", 12, 14)
- .eq("sta_no", 1062)
- );
- if (!Cools.isEmpty(inWrkMasts) && inWrkMasts.size() >= devpCheckTaskStackOver) {
- News.error("" + mark + " - 2" + " - 妫�娴嬪瓨鍦�1062绔欑偣锛屽瓨鍦ㄤ袱绗斿伐浣滀腑鐨勪换鍔★紝宸ヤ綔鍙�={}" + wrkMast.getWrkNo());
- continue;
- }
- }
- }else if (wrkMast.getIoType() == 101) {
- List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
- .in("wrk_sts", 12, 14)
- );
- if (!Cools.isEmpty(inWrkMasts) && inWrkMasts.size() >= outNumber) {
- News.error("" + mark + " - 4" + " - 妫�娴嬪埌鍏ㄦ澘鍑哄簱鐨勪换鍔″凡缁忓埌杈句笂绾匡紝宸ヤ綔鍙�={}" + wrkMast.getWrkNo());
- continue;
- }
- }
+// if (wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107) {
+// if (wrkMast.getStaNo() == 1058) {
+// List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+// .in("wrk_sts", 12, 14)
+// .eq("sta_no", 1058)
+// );
+// if (!Cools.isEmpty(inWrkMasts) && inWrkMasts.size() >= devpCheckTaskStackOver) {
+// News.error("" + mark + " - 2" + " - 妫�娴嬪瓨鍦�1058绔欑偣锛屽瓨鍦ㄤ袱绗斿伐浣滀腑鐨勪换鍔★紝宸ヤ綔鍙�={}" + wrkMast.getWrkNo());
+// continue;
+// }
+// } else if (wrkMast.getStaNo() == 1062) {
+// List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+// .in("wrk_sts", 12, 14)
+// .eq("sta_no", 1062)
+// );
+// if (!Cools.isEmpty(inWrkMasts) && inWrkMasts.size() >= devpCheckTaskStackOver) {
+// News.error("" + mark + " - 2" + " - 妫�娴嬪瓨鍦�1062绔欑偣锛屽瓨鍦ㄤ袱绗斿伐浣滀腑鐨勪换鍔★紝宸ヤ綔鍙�={}" + wrkMast.getWrkNo());
+// continue;
+// }
+// }
+// }else if (wrkMast.getIoType() == 101) {
+// List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+// .in("wrk_sts", 12, 14)
+// );
+// if (!Cools.isEmpty(inWrkMasts) && inWrkMasts.size() >= outNumber) {
+// News.error("" + mark + " - 4" + " - 妫�娴嬪埌鍏ㄦ澘鍑哄簱鐨勪换鍔″凡缁忓埌杈句笂绾匡紝宸ヤ綔鍙�={}" + wrkMast.getWrkNo());
+// continue;
+// }
+// }
// // 鍏ュ嚭搴撴ā寮忓垽鏂�
// if (devpThread.ioMode != IoModeType.PAKOUT_MODE) { continue; }
@@ -1213,22 +1252,22 @@
if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")) {
//鏍规嵁鍙傛暟鍒ゆ柇鏄惁鏍¢獙鍙嚭淇″彿
- String crnOutVerifyOut = "Y";
- Config crnOutVerifyOutEnableConfig = configService.selectOne(new EntityWrapper<Config>()
- .eq("code", "crnOutVerifyOutEnable"));
- if (crnOutVerifyOutEnableConfig != null) {
- crnOutVerifyOut = crnOutVerifyOutEnableConfig.getValue();
- }
-
- if (crnOutVerifyOut.equals("Y")) {
- if (!staProtocol.isOutEnable()) {
- continue;
- }
-
- if (staProtocol.getWorkNo() > 0) {
- continue;
- }
- }
+// String crnOutVerifyOut = "Y";
+// Config crnOutVerifyOutEnableConfig = configService.selectOne(new EntityWrapper<Config>()
+// .eq("code", "crnOutVerifyOutEnable"));
+// if (crnOutVerifyOutEnableConfig != null) {
+// crnOutVerifyOut = crnOutVerifyOutEnableConfig.getValue();
+// }
+//
+// if (crnOutVerifyOut.equals("Y")) {
+// if (!staProtocol.isOutEnable()) {
+// continue;
+// }
+//
+// if (staProtocol.getWorkNo() > 0) {
+// continue;
+// }
+// }
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
@@ -1239,26 +1278,26 @@
break;
}
- if (crnProtocol.getCrnNo() == 1) {
- String turnCrnExecuteCurrentChannel = "Y";
- Config turnCrnExecuteCurrentChannelConfig = configService.selectOne(new EntityWrapper<Config>()
- .eq("code", "turnCrnExecuteCurrentChannel")
- );
- if (turnCrnExecuteCurrentChannelConfig != null) {
- turnCrnExecuteCurrentChannel = turnCrnExecuteCurrentChannelConfig.getValue();
- }
-
- if (turnCrnExecuteCurrentChannel.equals("Y")) {
- //鍒ゆ柇鍫嗗灈鏈哄拰褰撳墠浠诲姟鏄惁澶勪簬涓�涓贩閬�
- if (Utils.getLaneByLocNo(wrkMast.getSourceLocNo()) != crnProtocol.getCrnLane()) {
- //鍒ゆ柇鍫嗗灈鏈烘墍鍦ㄥ贩閬撴槸鍚﹀瓨鍦ㄥ叾浠栦换鍔★紝濡傚瓨鍦ㄥ垯浼樺厛鎵ц
- List<WrkMast> currentWrkMasts = wrkMastService.selectLaneWrkMast(crnProtocol.getCrnLane(), false);
- if (!currentWrkMasts.isEmpty()) {
- continue;//褰撳墠鍫嗗灈鏈烘墍鍦ㄥ贩閬撳瓨鍦ㄤ换鍔�
- }
- }
- }
- }
+// if (crnProtocol.getCrnNo() == 1) {
+// String turnCrnExecuteCurrentChannel = "Y";
+// Config turnCrnExecuteCurrentChannelConfig = configService.selectOne(new EntityWrapper<Config>()
+// .eq("code", "turnCrnExecuteCurrentChannel")
+// );
+// if (turnCrnExecuteCurrentChannelConfig != null) {
+// turnCrnExecuteCurrentChannel = turnCrnExecuteCurrentChannelConfig.getValue();
+// }
+//
+// if (turnCrnExecuteCurrentChannel.equals("Y")) {
+// //鍒ゆ柇鍫嗗灈鏈哄拰褰撳墠浠诲姟鏄惁澶勪簬涓�涓贩閬�
+// if (Utils.getLaneByLocNo(wrkMast.getSourceLocNo()) != crnProtocol.getCrnLane()) {
+// //鍒ゆ柇鍫嗗灈鏈烘墍鍦ㄥ贩閬撴槸鍚﹀瓨鍦ㄥ叾浠栦换鍔★紝濡傚瓨鍦ㄥ垯浼樺厛鎵ц
+// List<WrkMast> currentWrkMasts = wrkMastService.selectLaneWrkMast(crnProtocol.getCrnLane(), false);
+// if (!currentWrkMasts.isEmpty()) {
+// continue;//褰撳墠鍫嗗灈鏈烘墍鍦ㄥ贩閬撳瓨鍦ㄤ换鍔�
+// }
+// }
+// }
+// }
// 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
if (Utils.isDeepLoc(slaveProperties, wrkMast.getSourceLocNo())) {
--
Gitblit v1.9.1