From 8a42df9f13c1328b36ba5919258b2636dce455fe Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 24 六月 2025 16:25:48 +0800
Subject: [PATCH] no message
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java | 57 +++++++++------------------------------------------------
1 files changed, 9 insertions(+), 48 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
index 0ed6f59..62c4b3e 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
@@ -15,6 +15,7 @@
import com.vincent.rsf.server.manager.entity.*;
import com.vincent.rsf.server.manager.mapper.AsnOrderMapper;
import com.vincent.rsf.server.manager.service.*;
+import com.vincent.rsf.server.manager.utils.LocManageUtil;
import com.vincent.rsf.server.manager.utils.OptimalAlgorithmUtil;
import com.vincent.rsf.server.system.constant.SerialRuleCode;
import com.vincent.rsf.server.system.utils.SerialRuleUtils;
@@ -295,10 +296,11 @@
if (!waveService.save(wave)) {
throw new CoolException("娉㈡淇濆瓨澶辫触锛侊紒");
}
+
List<Long> list = orders.stream().map(AsnOrder::getId).collect(Collectors.toList());
List<AsnOrderItem> orderItems = asnOrderItemService
.list(new LambdaQueryWrapper<AsnOrderItem>()
- .in(AsnOrderItem::getAsnId, list));
+ .in(AsnOrderItem::getAsnId, list).apply("anfme > work_qty"));
if (orderItems.isEmpty()) {
throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�");
}
@@ -324,7 +326,7 @@
.set(AsnOrder::getWaveId, wave.getId())
.set(AsnOrder::getWorkQty, wkQty)
.set(AsnOrder::getExceStatus, AsnExceStatus.OUT_STOCK_STATUS_TASK_WAVE.val)
- .in(AsnOrder::getId, params.getIds()))) {
+ .eq(AsnOrder::getId, order.getId()))) {
throw new CoolException("鎵ц鐘舵�佷慨鏀逛慨鏀瑰け璐ワ紒锛�");
}
}
@@ -346,15 +348,12 @@
throw new CoolException("涓诲崟淇℃伅涓嶈兘涓虹┖");
}
AsnOrder orders = params.getOrders();
- if (Objects.isNull(orders)) {
- throw new CoolException("鍗曟嵁涓嶈兘涓虹┖锛侊紒");
- }
if (StringUtils.isBlank(orders.getWkType())) {
throw new CoolException("涓氬姟绫诲瀷涓嶈兘涓虹┖锛侊紒");
}
String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_OUT_STOCK_CODE, orders);
- if (Objects.isNull(ruleCode) || StringUtils.isBlank(ruleCode)) {
+ if (StringUtils.isBlank(ruleCode)) {
throw new CoolException("缂栫爜瑙勫垯閿欒锛氳妫�鏌ャ�孲YS_OUT_STOCK_CODE銆嶆槸鍚﹁缃纭紒锛�");
}
orders.setCode(ruleCode)
@@ -569,44 +568,6 @@
}
- private List<LocItem> getEfficiencyFirstItemList(AsnOrderItem asnOrderItem) {
- LambdaQueryWrapper<LocItem> locItemQueryWrapper = new LambdaQueryWrapper<>();
- locItemQueryWrapper.eq(LocItem::getMatnrCode, asnOrderItem.getMatnrCode());
- locItemQueryWrapper.eq(LocItem::getBatch, asnOrderItem.getSplrBatch());
- 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);
- List<LocItem> locItems = locItemService.list(locItemQueryWrapper);
- locItems.sort(Comparator.comparing((LocItem item) -> !LocUtils.isShallowLoc(item.getLocCode())));
- List<LocItem> locsSet = locItems.stream().filter(locItem -> locItem.getAnfme().compareTo(asnOrderItem.getAnfme()) == 0.0).collect(Collectors.toList());
- if (!locsSet.isEmpty()) {
- return locsSet;
- }
- return locItems;
- }
-
- private List<LocItem> getFirstInFirstOutItemList(AsnOrderItem asnOrderItem) {
- LambdaQueryWrapper<LocItem> locItemQueryWrapper = new LambdaQueryWrapper<>();
- locItemQueryWrapper.eq(LocItem::getMatnrCode, asnOrderItem.getMatnrCode());
- locItemQueryWrapper.eq(LocItem::getBatch, asnOrderItem.getSplrBatch());
- 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);
- List<LocItem> locItems = locItemService.list(locItemQueryWrapper);
- return locItems;
- }
-
private List<OrderOutItemDto> getOutOrderList(Long orderId, WaveRule waveRule) {
List<AsnOrderItem> asnOrderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>()
.eq(AsnOrderItem::getAsnId, orderId));
@@ -622,11 +583,11 @@
}
List<LocItem> locItems = new ArrayList<>();
if (WaveRuleType.Efficiency_First.type.equals(waveRule.getType())) {
- locItems = getEfficiencyFirstItemList(asnOrderItem);
+ locItems = LocManageUtil.getEfficiencyFirstItemList(asnOrderItem.getMatnrCode(), asnOrderItem.getSplrBatch(), asnOrderItem.getAnfme());
} else if (WaveRuleType.First_In_First_Out.type.equals(waveRule.getType())) {
- locItems = getFirstInFirstOutItemList(asnOrderItem);
+ locItems = LocManageUtil.getFirstInFirstOutItemList(asnOrderItem.getMatnrCode(), asnOrderItem.getSplrBatch(), asnOrderItem.getAnfme());
} else {
- locItems = getFirstInFirstOutItemList(asnOrderItem);
+ locItems = LocManageUtil.getFirstInFirstOutItemList(asnOrderItem.getMatnrCode(), asnOrderItem.getSplrBatch(), asnOrderItem.getAnfme());
}
for (LocItem locItem : locItems) {
Loc loc = locService.getById(locItem.getLocId());
@@ -732,7 +693,7 @@
p1.getUpdateBy(),
p1.getMemo()
),
- WaveItem::getSplrBatch, WaveItem::getMatnrId, WaveItem::getFieldsIndex
+ WaveItem::getSplrBatch, WaveItem::getMatnrCode, WaveItem::getFieldsIndex
);
return waveItems;
--
Gitblit v1.9.1