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