From ad5fef776eb9d66a0fcfc2ddf89698c5642e0eec Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期五, 06 三月 2026 08:36:24 +0800
Subject: [PATCH] 增加一个定时任务。如果拣货出库过程中,相同料箱号,存在(199 ,200)的任务 并且同时存在 101,196的任务 则101和196的任务会 自动变成199
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java | 30 +++++++++++++-----------------
1 files changed, 13 insertions(+), 17 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java
index 5e73f65..d4b8a60 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java
@@ -96,14 +96,12 @@
public static List<LocItem> getEfficiencyFirstItemList(String matnrCode, String splrBatch, Double anfme) {
LambdaQueryWrapper<LocItem> locItemQueryWrapper = new LambdaQueryWrapper<>();
locItemQueryWrapper.eq(LocItem::getMatnrCode, matnrCode);
- locItemQueryWrapper.eq(StringUtils.isNotBlank(splrBatch), LocItem::getBatch, splrBatch);
- String applySql = String.format(
- "EXISTS (SELECT 1 FROM man_loc ml " +
- "WHERE ml.use_status = '%s'" +
- "AND ml.id = man_loc_item.loc_id " +
- ")",
- LocStsType.LOC_STS_TYPE_F.type
- );
+ // 鏈夋壒娆℃椂锛氬尮閰嶅簱浣嶆壒娆�=璁㈠崟鎵规 鎴� 搴撲綅鎵规涓虹┖锛堟棤鎵规搴撳瓨鍙弬涓庡垎閰嶏紝閬垮厤璇垽搴撳瓨涓嶈冻锛�
+ if (StringUtils.isNotBlank(splrBatch)) {
+ locItemQueryWrapper.and(w -> w.eq(LocItem::getBatch, splrBatch).or().isNull(LocItem::getBatch));
+ }
+ // 鍚� F.鍦ㄥ簱 涓� R.鍑哄簱棰勭害锛堟嫞鏂欏嚭搴撴湭纭鍓嶅彲鍐嶄笅鍙戯紝浣跨敤鍓╀綑鍙敤锛�
+ String applySql = "EXISTS (SELECT 1 FROM man_loc ml WHERE ml.use_status IN ('" + LocStsType.LOC_STS_TYPE_F.type + "','" + LocStsType.LOC_STS_TYPE_R.type + "') AND ml.id = man_loc_item.loc_id)";
locItemQueryWrapper.apply(applySql);
LocItemService locItemService = SpringUtils.getBean(LocItemService.class);
List<LocItem> locItems = locItemService.list(locItemQueryWrapper);
@@ -127,21 +125,19 @@
public static List<LocItem> getFirstInFirstOutItemList(String matnrCode, String splrBatch, Double anfme) {
LambdaQueryWrapper<LocItem> locItemQueryWrapper = new LambdaQueryWrapper<>();
locItemQueryWrapper.eq(LocItem::getMatnrCode, matnrCode);
- locItemQueryWrapper.eq(StringUtils.isNotEmpty(splrBatch), LocItem::getBatch, splrBatch);
+ // 鏈夋壒娆℃椂锛氬尮閰嶅簱浣嶆壒娆�=璁㈠崟鎵规 鎴� 搴撲綅鎵规涓虹┖锛堟棤鎵规搴撳瓨鍙弬涓庡垎閰嶏紝閬垮厤璇垽搴撳瓨涓嶈冻锛�
+ if (StringUtils.isNotBlank(splrBatch)) {
+ locItemQueryWrapper.and(w -> w.eq(LocItem::getBatch, splrBatch).or().isNull(LocItem::getBatch));
+ }
//濡傛灉鎵规涓嶄负绌猴紝鎸夋壒娆″厛鍚庡嚭搴�
if (StringUtils.isNotBlank(splrBatch)) {
locItemQueryWrapper.orderByAsc(LocItem::getBatch);
} else {
locItemQueryWrapper.orderByAsc(LocItem::getCreateTime);
}
- String applySql = String.format(
- "EXISTS (SELECT 1 FROM man_loc ml " +
- "WHERE ml.use_status = '%s'" +
- "AND ml.id = man_loc_item.loc_id " +
- ")",
- LocStsType.LOC_STS_TYPE_F.type
- );
- locItemQueryWrapper.apply(applySql);
+ // 鍚� F.鍦ㄥ簱 涓� R.鍑哄簱棰勭害锛堟嫞鏂欏嚭搴撴湭纭鍓嶅彲鍐嶄笅鍙戯紝浣跨敤鍓╀綑鍙敤锛�
+ String applySqlR = "EXISTS (SELECT 1 FROM man_loc ml WHERE ml.use_status IN ('" + LocStsType.LOC_STS_TYPE_F.type + "','" + LocStsType.LOC_STS_TYPE_R.type + "') AND ml.id = man_loc_item.loc_id)";
+ locItemQueryWrapper.apply(applySqlR);
LocItemService locItemService = SpringUtils.getBean(LocItemService.class);
List<LocItem> locItems = locItemService.list(locItemQueryWrapper);
return locItems;
--
Gitblit v1.9.1