From 5de69ab786a6e992271279ca6bba6344f18a100b Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 08 六月 2026 17:27:00 +0800
Subject: [PATCH] feat(financial): 新增凭证分录科目明细字段
---
src/main/java/com/ruoyi/production/service/impl/ProductionOrderPickServiceImpl.java | 29 +++++++++++++++++++++++++++++
1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionOrderPickServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionOrderPickServiceImpl.java
index 554b95e..3d9a515 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionOrderPickServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionOrderPickServiceImpl.java
@@ -189,6 +189,7 @@
return Collections.emptyList();
}
List<ProductionOrderPickVo> detailList = baseMapper.listPickedDetailByOrderId(productionOrderId);
+ fillStockQuantity(detailList);
fillBatchNoList(detailList);
fillSelectableBatchNoList(detailList);
return detailList;
@@ -1121,6 +1122,34 @@
}
}
+ private void fillStockQuantity(List<ProductionOrderPickVo> detailList) {
+ if (detailList == null || detailList.isEmpty()) {
+ return;
+ }
+ Set<Long> productModelIdSet = detailList.stream()
+ .map(ProductionOrderPickVo::getProductModelId)
+ .filter(Objects::nonNull)
+ .collect(Collectors.toSet());
+ if (productModelIdSet.isEmpty()) {
+ return;
+ }
+ List<StockInventory> stockList = stockInventoryMapper.selectList(
+ Wrappers.<StockInventory>lambdaQuery()
+ .in(StockInventory::getProductModelId, productModelIdSet));
+ Map<Long, BigDecimal> stockQuantityMap = new HashMap<>();
+ for (StockInventory stockInventory : stockList) {
+ if (stockInventory == null || stockInventory.getProductModelId() == null) {
+ continue;
+ }
+ stockQuantityMap.merge(stockInventory.getProductModelId(),
+ defaultDecimal(stockInventory.getQualitity()),
+ BigDecimal::add);
+ }
+ for (ProductionOrderPickVo detail : detailList) {
+ detail.setStockQuantity(stockQuantityMap.getOrDefault(detail.getProductModelId(), BigDecimal.ZERO));
+ }
+ }
+
private String buildBatchNoGroupKey(ProductionOrderPickVo detail) {
// 鏋勫缓鎵规鑱氬悎鍒嗙粍閿��
return detail.getProductionOrderId() + "|"
--
Gitblit v1.9.3