From c550c142bcd4b079ba0b4c23498f2bf7488e61a4 Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期六, 30 八月 2025 14:02:25 +0800 Subject: [PATCH] 1 --- src/main/java/com/zy/common/service/CommonService.java | 114 ++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 81 insertions(+), 33 deletions(-) diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index 38d6e60..53b7b8d 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -123,34 +123,82 @@ */ @Transactional public StartupDto getLocNo(Integer staDescId, Integer sourceStaNo, FindLocNoAttributeVo findLocNoAttributeVo, LocTypeDto locTypeDto) { - try { - Integer whsType = Utils.GetWhsType(sourceStaNo); - RowLastno rowLastno = rowLastnoService.selectById(whsType); - RowLastnoType rowLastnoType = rowLastnoTypeService.selectById(rowLastno.getTypeId()); - /** - * 搴撳瀷 1: 鏍囧噯鍫嗗灈鏈哄簱 2: 骞冲簱 3: 绌挎鏉� 4: 鍥涘悜杞� 5: AGV 0: 鏈煡 - */ - switch (rowLastnoType.getType()) { - case 1: - return getLocNoRun(whsType, staDescId, sourceStaNo, findLocNoAttributeVo, 0, locTypeDto, 0); - case 2: - log.error("绔欑偣={} 鏈煡璇㈠埌瀵瑰簲鐨勮鍒�", sourceStaNo); - break; - case 3: - log.error("绔欑偣={} 鏈煡璇㈠埌瀵瑰簲鐨勮鍒�", sourceStaNo); - break; - case 4: - return getLocNoRun4(whsType, staDescId, sourceStaNo, findLocNoAttributeVo, 4, locTypeDto, 0); - case 5: - return getLocNoRun5(whsType, staDescId, sourceStaNo, findLocNoAttributeVo, 0, locTypeDto, 0); - default: - log.error("绔欑偣={} 鏈煡璇㈠埌瀵瑰簲鐨勮鍒�", sourceStaNo); - break; - } + // try { + Integer whsType = Utils.GetWhsType(sourceStaNo); + RowLastno rowLastno = rowLastnoService.selectById(whsType); + RowLastnoType rowLastnoType = rowLastnoTypeService.selectById(rowLastno.getTypeId()); + /** + * 搴撳瀷 1: 鏍囧噯鍫嗗灈鏈哄簱 2: 骞冲簱 3: 绌挎鏉� 4: 鍥涘悜杞� 5: AGV 0: 鏈煡 + */ + switch (rowLastnoType.getType()) { + case 1: + Config crnSearchDetectTaskCountConfig = configService.selectConfigByCode("crnSearchDetectTaskCount"); + int crnSearchDetectTaskCount = Integer.parseInt(crnSearchDetectTaskCountConfig.getValue()); - } catch (Exception e) { - log.error("绔欑偣={} 鏈煡璇㈠埌瀵瑰簲鐨勮鍒欙紝{}", sourceStaNo,e.getMessage()); + Config applyInTaskTotalCountConfig = configService.selectConfigByCode("applyInTaskTotalCount"); + int applyInTaskTotalCount = Integer.parseInt(applyInTaskTotalCountConfig.getValue()); + int crnNo = 6; + boolean flag = true; + List<String> data = new ArrayList<>(); + while (crnNo > 0) { + List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() + .eq("loc_sts", "O") + .eq("crn", crnNo) + .eq("whs_type", rowLastnoType.getType().longValue()) + .eq("loc_type1", locTypeDto.getLocType1()) + .eq("loc_type2", locTypeDto.getLocType2()) + ); + if (locMasts.size() <= 15) { + log.error(crnNo + "鍙峰爢鍨涙満娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}", JSON.toJSONString(locTypeDto)); + data.add(crnNo + "鍙锋病鏈夌┖搴撲綅;"); + } else { + List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() + .eq("crn_no", crnNo) + .in("io_type", 1, 10, 53, 57) + ); + if (wrkMasts.size() > crnSearchDetectTaskCount) { + log.error(crnNo + "鍙峰爢鍨涙満宸茶揪鍒板叆搴撴帶鍒朵笂闄愶紒锛侊紒 浠诲姟鏁伴噺锛� {}锛� 鎺у埗鏁伴噺锛歿}", wrkMasts.size(), crnSearchDetectTaskCount); + data.add(crnNo + "鍙峰叆搴撴帶鍒朵笂闄�;"); + continue; + } + List<WrkMast> wrkMastsList = wrkMastService.selectList(new EntityWrapper<WrkMast>() + .eq("crn_no", crnNo) + .in("io_type", 1, 10, 53, 57, 101, 103, 107, 110) + ); + if (wrkMastsList.size() > applyInTaskTotalCount) { + log.error(crnNo + "鍙峰爢鍨涙満宸茶揪鍒扮敵璇峰叆搴撴椂鎬讳换鍔℃暟閲忎笂闄�(鍏ュ簱銆佸嚭搴�)锛侊紒锛� 浠诲姟鏁伴噺锛� {}锛� 鎺у埗鏁伴噺锛歿}", wrkMastsList.size(), applyInTaskTotalCount); + data.add(crnNo + "鍙风敵璇峰叆搴撴椂鎬讳换鍔℃暟閲忎笂闄�;"); + continue; + } + flag = false; + break; + } + crnNo--; + } + if (!flag) { + return getLocNoRun(whsType, staDescId, sourceStaNo, findLocNoAttributeVo, 0, locTypeDto, 0); + } else { + log.info("鏁版嵁锛歿}", data); + throw new CoolException(data.toString()); + } + case 2: + log.error("绔欑偣={} 鏈煡璇㈠埌瀵瑰簲鐨勮鍒�", sourceStaNo); + break; + case 3: + log.error("绔欑偣={} 鏈煡璇㈠埌瀵瑰簲鐨勮鍒�", sourceStaNo); + break; + case 4: + return getLocNoRun4(whsType, staDescId, sourceStaNo, findLocNoAttributeVo, 4, locTypeDto, 0); + case 5: + return getLocNoRun5(whsType, staDescId, sourceStaNo, findLocNoAttributeVo, 0, locTypeDto, 0); + default: + log.error("绔欑偣={} 鏈煡璇㈠埌瀵瑰簲鐨勮鍒�", sourceStaNo); + break; } + +// } catch (Exception e) { +// log.error("绔欑偣={} 鏈煡璇㈠埌瀵瑰簲鐨勮鍒欙紝{}", sourceStaNo, e.getMessage()); +// } return null; } @@ -222,7 +270,7 @@ .eq("crn_no", crnNo) .in("io_type", 1, 10, 53, 57) ); - if(wrkMasts.size() > crnSearchDetectTaskCount){ + if (wrkMasts.size() > crnSearchDetectTaskCount) { log.error(crnNo + "鍙峰爢鍨涙満宸茶揪鍒板叆搴撴帶鍒朵笂闄愶紒锛侊紒 浠诲姟鏁伴噺锛� {}锛� 鎺у埗鏁伴噺锛歿}", wrkMasts.size(), crnSearchDetectTaskCount); continue; } @@ -233,6 +281,7 @@ ); if (wrkMastsList.size() > applyInTaskTotalCount) { log.error(crnNo + "鍙峰爢鍨涙満宸茶揪鍒扮敵璇峰叆搴撴椂鎬讳换鍔℃暟閲忎笂闄�(鍏ュ簱銆佸嚭搴�)锛侊紒锛� 浠诲姟鏁伴噺锛� {}锛� 鎺у埗鏁伴噺锛歿}", wrkMastsList.size(), applyInTaskTotalCount); + continue; } rowCount = locNecessaryParameters[0]; @@ -263,7 +312,7 @@ .eq("crn_no", crnNo) .in("io_type", 1, 10, 53, 57) ); - if(wrkMasts.size() > crnSearchDetectTaskCount){ + if (wrkMasts.size() > crnSearchDetectTaskCount) { log.error(crnNo + "鍙峰爢鍨涙満宸茶揪鍒板叆搴撴帶鍒朵笂闄愶紒锛侊紒 浠诲姟鏁伴噺锛� {}锛� 鎺у埗鏁伴噺锛歿}", wrkMasts.size(), crnSearchDetectTaskCount); flag = false; } @@ -315,7 +364,7 @@ .eq("crn_no", crnNo) .in("io_type", 1, 10, 53, 57) ); - if(wrkMasts.size() > crnSearchDetectTaskCount){ + if (wrkMasts.size() > crnSearchDetectTaskCount) { log.error(crnNo + "鍙峰爢鍨涙満宸茶揪鍒板叆搴撴帶鍒朵笂闄愶紒锛侊紒 浠诲姟鏁伴噺锛� {}锛� 鎺у埗鏁伴噺锛歿}", wrkMasts.size(), crnSearchDetectTaskCount); flag = false; } @@ -524,7 +573,7 @@ if (Cools.isEmpty(locMast) && crnNo != 0) { List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() .eq("row1", nearRow) - .eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()).ne("inv_wh",1) + .eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()).ne("inv_wh", 1) .orderBy("lev1", true).orderBy("bay1", true)); for (LocMast locMast1 : locMasts) { if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) { @@ -600,7 +649,7 @@ // locTypeDto.setLocType1((short)i); // return getLocNo(1, staDescId, sourceStaNo, matnr,batch,grade, locTypeDto, 0); // } - log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿},{}", JSON.toJSONString(locTypeDto), times,moveCrnNo); + log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿},{}", JSON.toJSONString(locTypeDto), times, moveCrnNo); throw new CoolException("娌℃湁绌哄簱浣�"); } @@ -615,13 +664,12 @@ //閽堝1鍙峰爢鍨涙満鎵撶殑琛ヤ竵锛岄槻姝㈡壘鍒板簱浣嶆椂锛屾壘鍒版渶娴呭簱浣� String deepLoc2 = Utils.getDeepLoc2(slaveProperties, locMast.getLocNo()); if (!Cools.isEmpty(deepLoc2)) { - LocMast locMastNew = locMastService.selectOne(new EntityWrapper<LocMast>().eq("crn_no",locMast.getCrnNo()) + LocMast locMastNew = locMastService.selectOne(new EntityWrapper<LocMast>().eq("crn_no", locMast.getCrnNo()) .eq("loc_no", deepLoc2).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())); if (!Cools.isEmpty(locMastNew)) { locMast = locMastNew; } } - // 鑾峰彇鐩爣绔� -- Gitblit v1.9.1