From d25daa625c821b214a83609361fdd42f58f521ab Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期六, 11 十月 2025 11:56:19 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 66 ++++++++++++++++++++++++++------ 1 files changed, 53 insertions(+), 13 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 d5dbdff..06acf8f 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -197,14 +197,14 @@ continue; } - if (inSta.getStaNo() == 1005) { + 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, 1007) + .in("sta_no", 1003, 1004) ); if (!wrkMasts.isEmpty()) { - News.error("" + mark + " - 4" + " - 1003绔欏叆搴擄紝妫�娴嬪瓨鍦ㄥ嚭搴撲换鍔★紝绛夊緟鍑哄簱浠诲姟鎵ц瀹屾垚,鎵樼洏鐮�={}", barcode); + News.error("" + mark + " - 4" + " - 鍏ュ簱锛屾娴嬪瓨鍦ㄥ嚭搴撲换鍔★紝绛夊緟鍑哄簱浠诲姟鎵ц瀹屾垚,鎵樼洏鐮�={}", barcode); continue; } } @@ -708,9 +708,14 @@ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>() .eq("loc_no", wrkMast.getSourceLocNo())); + short staNo = wrkMast.getStaNo().shortValue(); + if (wrkMast.getStaNo() == 1004) { + staNo = 2003; + } + // 涓嬪彂绔欑偣淇℃伅 staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); - staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); + staProtocol.setStaNo(staNo); staProtocol.setPalletSize(locMast.getLocType2()); if (!MessageQueue.offer(SlaveType.Devp, devpId, new Task(2, staProtocol))) { continue; @@ -1044,7 +1049,7 @@ News.warn("" + mark + " - 1" + " - 12" + " - // F銆丏 搴撲綅={},搴撲綅鐘舵��={}", shallowLoc.getLocNo(), shallowLoc.getLocSts()); // 姝ゆ爣璁伴伩鍏嶅娆℃墽琛岀Щ搴撲换鍔� if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk())) { - if (moveLocForDeepLoc(slave, shallowLoc, mark)) { + if (moveLocForDeepLoc(slave, crnProtocol, shallowLoc, mark)) { wrkMast.setUpdMk("Y"); wrkMast.setIoPri(14D); wrkMastMapper.updateById(wrkMast); @@ -1132,6 +1137,13 @@ 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) { @@ -1169,11 +1181,11 @@ staProtocol = staProtocol.clone(); } - if (wrkMast.getStaNo() == 1003 || wrkMast.getStaNo() == 1007) { + if (wrkMast.getStaNo() == 1003 || wrkMast.getStaNo() == 1007 || wrkMast.getStaNo() == 1004) { //妫�娴嬫槸鍚︽湁鍏ュ簱浠诲姟 List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() .in("io_type", 1, 53, 57) - .in("source_sta_no", 1005) + .in("source_sta_no", 1002, 1007) ); if (!inWrkMasts.isEmpty()) { News.error("" + mark + " - 2" + " - 妫�娴嬪瓨鍦ㄥ叆搴撲换鍔★紝绛夊緟鍏ュ簱浠诲姟鎵ц瀹屾垚鍐嶅嚭搴擄紝宸ヤ綔鍙�={}" + wrkMast.getWrkNo()); @@ -1201,6 +1213,14 @@ 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; } } @@ -1301,7 +1321,7 @@ // if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk()) // || Cools.isEmpty(waitWrkMast)) { if (Cools.isEmpty(waitWrkMast)) { - if (moveLocForDeepLoc(slave, shallowLoc, mark)) { + if (moveLocForDeepLoc(slave, crnProtocol, shallowLoc, mark)) { wrkMast.setUpdMk("Y"); // wrkMast.setIoPri(14D); wrkMastMapper.updateById(wrkMast); @@ -2017,6 +2037,16 @@ continue; } + //妫�娴嬫槸鍚︽湁鍏ュ簱浠诲姟 + List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() + .in("io_type", 1, 53, 57) + .in("source_sta_no", 1002, 1007) + ); + if (!inWrkMasts.isEmpty()) { + News.error("" + mark + " - 2" + " - 妫�娴嬪瓨鍦ㄥ叆搴撲换鍔★紝绛夊緟鍏ュ簱浠诲姟鎵ц瀹屾垚鍐嶅叆绌烘墭锛屽伐浣滃彿={}"); + continue; + } + int workNo = commonService.getWorkNo(3); // 鐢熸垚宸ヤ綔妗� WrkMast wrkMast1 = new WrkMast(); @@ -2202,7 +2232,7 @@ )); }else { - List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectTodayByWrkNo(wrkMast.getWrkNo()); + List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectTodayByWrkNo(wrkNo); if(!wrkDetlLogs.isEmpty()) { WrkDetlLog wrkDetlLog = wrkDetlLogs.get(0); @@ -2216,7 +2246,7 @@ } List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>() - .eq("loc_no", wrkMast.getSourceLocNo())); + .eq("loc_no", sourceLocNo)); double totalAnfme = 0D; double totalWeight = 0D; for (LocDetl locDetl : locDetls) { @@ -2429,8 +2459,7 @@ * 鍥犲弻娣卞簱浣嶉樆濉烇紝瀵规祬搴撲綅杩涜绉昏浆锛堢珛鍗虫墽琛岀増) * tip锛氬悓姝� */ - private synchronized boolean moveLocForDeepLoc(CrnSlave crn, LocMast shallowLoc, Integer mark) { - + private synchronized boolean moveLocForDeepLoc(CrnSlave crn, CrnProtocol crnProtocol, LocMast shallowLoc, Integer mark) { try { News.warnNoLog("" + mark + "moveLocForDeepLoc" + " - 0" + " - 寮�濮嬫墽琛�:鍥犲弻娣卞簱浣嶉樆濉烇紝瀵规祬搴撲綅杩涜绉昏浆锛堢珛鍗虫墽琛岀増)"); List<Integer> rows = locMastService.queryDistinctRow(crn.getId()); @@ -2438,8 +2467,13 @@ for (Integer row : rows) { if (Utils.isDeepLoc(slaveProperties, row)) { loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType1()); - if (loc != null) { + if (crn.getId() == 1) { + if (Utils.getLaneByLocNo(loc.getLocNo()) != crnProtocol.getCrnLane()) { + continue; + } + } + if (Utils.isDeepLoc(slaveProperties, loc.getLocNo())) { String shallowLocNo = Utils.getShallowLoc(slaveProperties, loc.getLocNo()); LocMast shallowLoc1 = locMastService.selectById(shallowLocNo); @@ -2459,6 +2493,12 @@ loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType1()); if (null != loc) {//瀵瑰簲娣卞簱浣嶉潪鍦ㄥ簱鐘舵��,涓嶈兘绉诲簱 + if (crn.getId() == 1) { + if (Utils.getLaneByLocNo(loc.getLocNo()) != crnProtocol.getCrnLane()) { + continue; + } + } + String deepLoc = Utils.getDeepLoc(slaveProperties, loc.getLocNo()); LocMast deepLoc1 = locMastService.selectById(deepLoc); if (!deepLoc1.getLocSts().equals("F") && !deepLoc1.getLocSts().equals("D")) { -- Gitblit v1.9.1