From 98d88ac8caf7f0991d741079474c262f1e252927 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期五, 06 三月 2026 08:14:54 +0800
Subject: [PATCH] 拣货过程中的出库库存匹配
---
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java | 37 +++++++++++++++++++++++--------------
1 files changed, 23 insertions(+), 14 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java
index c6a34ec..a1c7793 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java
@@ -53,7 +53,7 @@
* @create 2025/3/12 17:08
*/
@Slf4j
-@Service
+@Service("reportMsgService")
public class ReportMsgServiceImpl implements ReportMsgService {
@Autowired
@@ -302,10 +302,13 @@
//鑾峰彇搴撳瓨涓鍗曞簱浣�
Set<Long> longSet = stockItems.stream().map(StockItem::getStockId).collect(Collectors.toSet());
- Stock stocks = stockService.getOne(new LambdaQueryWrapper<Stock>()
- .in(Stock::getId, longSet)
- .eq(Stock::getType, OrderType.ORDER_IN.type)
- .eq(Stock::getSourceCode, order.getCode()));
+ Stock stocks = null;
+ if (!longSet.isEmpty()) {
+ stocks = stockService.getOne(new LambdaQueryWrapper<Stock>()
+ .in(Stock::getId, longSet)
+ .eq(Stock::getType, OrderType.ORDER_IN.type)
+ .eq(Stock::getSourceCode, order.getCode()));
+ }
if (!Objects.isNull(stocks)) {
param.setZone(stocks.getLocCode());
}
@@ -319,8 +322,8 @@
.setItemCode(orderItem.getMatnrCode())
.setEditUser(nickName)
.setEditDate(order.getUpdateTime())
- .setZone(stocks.getLocCode())
- .setGoodsNO(fields.get("crushNo"))
+ .setZone(stocks != null ? stocks.getLocCode() : null)
+ // .setGoodsNO(fields.get("crushNo")) // 绁ㄥ彿鏆備笉浣跨敤
.setMemoDtl(order.getMemo());
if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_DONE_IN.type)) {
@@ -393,6 +396,9 @@
//杩囨护鎷h揣鍏ュ簱鏄庣粏锛岄伩鍏嶄笂鎶�
List<Stock> stockList = stocks.stream().filter(stock -> stock.getType().equals(OrderType.ORDER_OUT.type) && !Objects.isNull(stock.getSourceCode())).collect(Collectors.toList());
List<Long> list = stockList.stream().map(Stock::getId).collect(Collectors.toList());
+ if (list.isEmpty()) {
+ return;
+ }
List<StockItem> stockItems1 = stockItemService.list(new LambdaQueryWrapper<StockItem>().in(StockItem::getStockId, list));
String finalNickName = nickName;
stockItems1.forEach(stockItem -> {
@@ -407,7 +413,7 @@
.setItemCode(stockItem.getMatnrCode())
.setEditUser(finalNickName)
.setEditDate(order.getUpdateTime())
- .setGoodsNO(fields.get("crushNo"))
+ // .setGoodsNO(fields.get("crushNo")) // 绁ㄥ彿鏆備笉浣跨敤
.setMemoDtl(order.getMemo());
if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_DONE_IN.type)) {
//閲囪喘鍏ュ簱鍗�
@@ -500,11 +506,14 @@
.eq(StockItem::getFieldsIndex, orderItem.getFieldsIndex()));
//鑾峰彇搴撳瓨涓鍗曞簱浣�
List<Long> longSet = stockItems.stream().map(StockItem::getStockId).collect(Collectors.toList());
- //鑾峰彇搴撳瓨搴撲綅淇℃伅
- Stock stocks = stockService.getOne(new LambdaQueryWrapper<Stock>()
- .in(Stock::getId, longSet)
- .eq(Stock::getType, OrderType.ORDER_IN.type)
- .eq(Stock::getSourceCode, order.getCode()));
+ //鑾峰彇搴撳瓨搴撲綅淇℃伅锛堥伩鍏� longSet 涓虹┖鏃剁敓鎴� stock_id IN () 瀵艰嚧 SQL 寮傚父锛�
+ Stock stocks = null;
+ if (!longSet.isEmpty()) {
+ stocks = stockService.getOne(new LambdaQueryWrapper<Stock>()
+ .in(Stock::getId, longSet)
+ .eq(Stock::getType, OrderType.ORDER_IN.type)
+ .eq(Stock::getSourceCode, order.getCode()));
+ }
if (!Objects.isNull(stocks)) {
param.setZone(stocks.getLocCode());
}
@@ -520,7 +529,7 @@
.setItemCode(orderItem.getMatnrCode())
.setEditUser(nickName)
.setEditDate(order.getUpdateTime())
- .setGoodsNO(fields.get("crushNo"))
+ // .setGoodsNO(fields.get("crushNo")) // 绁ㄥ彿鏆備笉浣跨敤
.setMemoDtl(order.getMemo());
if (order.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_DONE_IN.type)) {
--
Gitblit v1.9.1