From 8407e277e156a55fee38e7bb7b8930ec16a15f0e Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期五, 24 四月 2026 09:08:47 +0800
Subject: [PATCH] 库存上下限预警,物料高低频摆放
---
src/main/java/com/zy/common/service/CommonService.java | 28 ++++++++++++++++------------
1 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index f6f6785..8c50881 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -1030,7 +1030,7 @@
@Resource
private LocMastMapper locMastMapper;
- public StartupDto getLocNoNew(int ioType, Integer sourceStaNo, Integer locType, List<Integer> rows) {
+ public StartupDto getLocNoNew(int ioType, Integer sourceStaNo, Integer locType, List<Integer> rows, int sortRole) {
// 瀵绘壘鍒扮殑搴撲綅
LocMast locMast = null;
@@ -1057,14 +1057,18 @@
m -> ((Number) m.get("cnt")).intValue()
));
+ Wrapper<LocMast> wrapper = new EntityWrapper<LocMast>()
+ .eq("loc_type1", locType)
+ .eq("loc_sts", 'O')
+ .in("crn_no", basCrnps.stream().map(BasCrnp::getCrnNo).collect(Collectors.toList()));
+ if(sortRole == 0) {
+ wrapper.last("ORDER BY CASE WHEN row1 IN (1,4,5,8,9,12) THEN 0 ELSE 1 END, lev1, bay1, row1");
+ } else {
+ wrapper.last("ORDER BY CASE WHEN row1 IN (1,4,5,8,9,12) THEN 0 ELSE 1 END, lev1, bay1 desc, row1");
+ }
+
// 鎵�鏈夋弧瓒虫潯浠剁殑搴撲綅
- List<LocMast> allLocs = locMastMapper.selectList(
- new EntityWrapper<LocMast>()
- .eq("loc_type1", locType)
- .eq("loc_sts" ,'O')
- .in("crn_no", basCrnps.stream().map(BasCrnp::getCrnNo).collect(Collectors.toList()))
- .last("ORDER BY CASE WHEN row1 IN (1,4,5,8,9,12) THEN 0 ELSE 1 END, lev1, bay1, row1")
- );
+ List<LocMast> allLocs = locMastMapper.selectList(wrapper);
// 鎸夊爢鍨涙満鍒嗙粍
Map<Integer, List<LocMast>> locMap = allLocs.stream()
@@ -1078,7 +1082,7 @@
if (availableCrn.isEmpty()) {
// 閫掑綊鍏煎
if (locType >= 3) return null;
- return getLocNoNew(ioType, sourceStaNo, locType + 1, rows);
+ return getLocNoNew(ioType, sourceStaNo, locType + 1, rows, sortRole);
}
availableCrn.sort(Comparator.comparing(c -> countMap.getOrDefault(c.getCrnNo(), 0)));
@@ -1098,8 +1102,8 @@
// 鑾峰彇娴呭簱浣�
String shallowLoc = Utils.getShallowLoc(slaveProperties, locNo);
LocMast shallow = locNoMap.get(shallowLoc);
- // 娴呭簱浣嶆棤璐�
- if (shallow == null) {
+ // 娴呭簱浣嶆槸绌哄簱浣嶏紝鏀炬繁搴撲綅
+ if (shallow != null) {
locMast = locMast1;
break;
}
@@ -1124,7 +1128,7 @@
if (locMast == null) {
if (locType >= 3) return null;
- return getLocNoNew(ioType, sourceStaNo, locType + 1, rows);
+ return getLocNoNew(ioType, sourceStaNo, locType + 1, rows, sortRole);
}
// 鏍规嵁鍏ュ簱绫诲瀷鍜屾簮绔欑偣鑾峰彇宸ヤ綔璺緞
--
Gitblit v1.9.1