From 591735554fc359c5988e00732ef9067d79157007 Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期六, 30 八月 2025 12:19:29 +0800 Subject: [PATCH] 1 --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 112 +++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 86 insertions(+), 26 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 a61bcc8..ecf10ca 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.mapper.Wrapper; import com.core.common.Cools; import com.core.common.DateUtils; -import com.core.common.R; import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.mapper.BasCrnErrorMapper; @@ -233,6 +232,12 @@ .eq("loc_no", dto.getLocNo())); short staNo = dto.getStaNo().shortValue(); + + int sourceStaNo = dto.getSourceStaNo(); + if (sourceStaNo == 1007) { + staNo = 2002; + } + if (inSta.getStaNo() == 1002) { staNo = 2002; } @@ -743,7 +748,7 @@ // } //鍫嗗灈鏈哄洖鍘熺偣浠诲姟涓� - Object object = redisUtil.get(RedisConstantType.CRN_MOVE_LOCK); + Object object = redisUtil.get(RedisConstantType.CRN_MOVE_LOCK + crn.getId()); if (object != null) { continue; } @@ -815,7 +820,7 @@ continue; } - Object object = redisUtil.get(RedisConstantType.CRN_MOVE_LOCK); + Object object = redisUtil.get(RedisConstantType.CRN_MOVE_LOCK + crn.getId()); if (object != null) { continue; } @@ -887,7 +892,7 @@ continue; } - Object object = redisUtil.get(RedisConstantType.CRN_MOVE_LOCK); + Object object = redisUtil.get(RedisConstantType.CRN_MOVE_LOCK + crn.getId()); if (object != null) { continue; } @@ -1207,8 +1212,7 @@ // continue; } // 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵�� - if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y") - && staProtocol.getWorkNo() == 0) { + if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")) { //鏍规嵁鍙傛暟鍒ゆ柇鏄惁鏍¢獙鍙嚭淇″彿 String crnOutVerifyOut = "Y"; @@ -1220,6 +1224,10 @@ if (crnOutVerifyOut.equals("Y")) { if (!staProtocol.isOutEnable()) { + continue; + } + + if (staProtocol.getWorkNo() > 0) { continue; } } @@ -1242,7 +1250,7 @@ turnCrnExecuteCurrentChannel = turnCrnExecuteCurrentChannelConfig.getValue(); } - if(turnCrnExecuteCurrentChannel.equals("Y")) { + if (turnCrnExecuteCurrentChannel.equals("Y")) { //鍒ゆ柇鍫嗗灈鏈哄拰褰撳墠浠诲姟鏄惁澶勪簬涓�涓贩閬� if (Utils.getLaneByLocNo(wrkMast.getSourceLocNo()) != crnProtocol.getCrnLane()) { //鍒ゆ柇鍫嗗灈鏈烘墍鍦ㄥ贩閬撴槸鍚﹀瓨鍦ㄥ叾浠栦换鍔★紝濡傚瓨鍦ㄥ垯浼樺厛鎵ц @@ -1535,7 +1543,7 @@ if (wrkMastMapper.updateById(wrkMast) == 0) { News.error("" + mark + " - 3" + " - 5" + " - 銆愬簱浣嶇Щ杞�� 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); } - crnProtocol.setLastIo("O"); + crnProtocol.setLastIo("I"); } News.infoNoLog("" + mark + " - 3" + " - 0" + " - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂锛氬簱浣嶇Щ杞畬鎴�"); @@ -1641,6 +1649,7 @@ if (crnProtocol.getTaskNo() == 9999) { // 鍫嗗灈鏈哄浣� crnThread.setResetFlag(true); + redisUtil.set(RedisConstantType.CRN_MOVE_LOCK + crn.getId(), "lock", 8);//闃叉鍥炲師鐐瑰悗涓嬪彂鎸囦护杩囧揩 continue; } @@ -1652,7 +1661,7 @@ } Date now = new Date(); - if(wrkMast.getIoType() < 100){ + if (wrkMast.getIoType() < 100) { // 鍏ュ簱 + 搴撲綅杞Щ ==> 4.鍏ュ簱瀹屾垚 if (wrkMast.getWrkSts() == 3 || (wrkMast.getWrkSts() == 12 && (wrkMast.getIoType() == 11 || wrkMast.getIoType() == 111))) { wrkMast.setWrkSts(4L); @@ -1668,7 +1677,7 @@ News.warnNoLog("" + mark + " - 2" + " - 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 : 鍫嗗灈鏈哄彿={}", crnThread.getCrnProtocol().getCrnNo()); crnThread.setResetFlag(true); } - }else { + } else { List<Long> list = new ArrayList<>(); list.add(14L); list.add(15L); @@ -2130,22 +2139,64 @@ // }catch (Exception e){ // log.error("宸ヤ綔妗f鏄庣粏杈撳叆鐢佃鏈哄け璐�1锛氬紓甯镐俊鎭�==銆�"+e); // } - wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto( - wrkDetl.getMatnr() - , wrkDetl.getMaktx() - , wrkDetl.getAnfme() - , wrkDetl.getWeight() - , wrkDetl.getStockNum() - , wrkDetl.getStockNum2() - , wrkDetl.getSpecs() - , wrkDetl.getSku() - , wrkDetl.getZpallet() - , wrkDetl.getModel() - , wrkDetl.getSupp() - , wrkDetl.getKpCstmrName() - , wrkDetl.getOrderNo() - , wrkDetl.getCstateid$() - ))); + + if (!wrkDetls.isEmpty()) { + WrkDetl wrkDetl = wrkDetls.get(0); + double anfme = 0D; + double weight = 0D; + for (WrkDetl detl : wrkDetls) { + anfme += detl.getAnfme(); + weight += detl.getWeight(); + wrkDetl.setAnfme(anfme); + wrkDetl.setWeight(weight); + } + + List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>() + .eq("loc_no", wrkMast.getSourceLocNo())); + double totalAnfme = 0D; + double totalWeight = 0D; + for (LocDetl locDetl : locDetls) { + totalAnfme += locDetl.getAnfme(); + totalWeight += locDetl.getWeight(); + } + wrkDetl.setStockNum(totalAnfme); + wrkDetl.setStockNum2(totalWeight); + + ledCommand.getMatDtos().add(new MatDto( + wrkDetl.getMatnr() + , wrkDetl.getMaktx() + , wrkDetl.getAnfme() + , wrkDetl.getWeight() + , wrkDetl.getStockNum() + , wrkDetl.getStockNum2() + , wrkDetl.getSpecs() + , wrkDetl.getSku() + , wrkDetl.getZpallet() + , wrkDetl.getModel() + , wrkDetl.getSupp() + , wrkDetl.getKpCstmrName() + , wrkDetl.getOrderNo() + , wrkDetl.getCstateid$() + )); + +// wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto( +// wrkDetl.getMatnr() +// , wrkDetl.getMaktx() +// , wrkDetl.getAnfme() +// , wrkDetl.getWeight() +// , wrkDetl.getStockNum() +// , wrkDetl.getStockNum2() +// , wrkDetl.getSpecs() +// , wrkDetl.getSku() +// , wrkDetl.getZpallet() +// , wrkDetl.getModel() +// , wrkDetl.getSupp() +// , wrkDetl.getKpCstmrName() +// , wrkDetl.getOrderNo() +// , wrkDetl.getCstateid$() +// ))); + } + } commands.add(ledCommand); } @@ -2376,6 +2427,15 @@ return false; // throw new CoolException("鍙屾繁搴撲綅 --- 娴呭簱浣嶉樆濉炲紓甯革紒 寰呯Щ杞祬搴撲綅锛�" + shallowLoc.getLocNo()); } else { + String deepLoc2 = Utils.getDeepLoc2(slaveProperties, loc.getLocNo()); + if (deepLoc2 != null) { + LocMast locnew = locMastService.selectById(deepLoc2); + if (locnew != null && locnew.getLocSts().equals("O")) { + loc = locnew; + } + } + + try { // 鑾峰彇宸ヤ綔鍙� int workNo = commonService.getWorkNo(0); -- Gitblit v1.9.1