From d15462274ecea7f7fe3dfc4b81278bc647e8cd26 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 30 三月 2026 11:03:13 +0800
Subject: [PATCH] 发货库存校验2.0
---
src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java | 20 +++++++++++++++++---
1 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java b/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
index 358f20b..caf11a0 100644
--- a/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
@@ -16,6 +16,7 @@
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
+import com.ruoyi.sales.pojo.SalesLedgerProduct;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -64,18 +65,18 @@
List<ProcurementRecordStorage> collect1 = procurementRecordStorages.stream()
.filter(procurementRecordStorage -> procurementRecordStorage.getSalesLedgerProductId().equals(dto.getId()))
.collect(Collectors.toList());
-
+
// 濡傛灉娌℃湁鐩稿叧鐨勫叆搴撹褰曪紝璺宠繃璇ユ潯鏁版嵁
if(CollectionUtils.isEmpty(collect1)){
dto.setQuantity0(dto.getQuantity());
continue;
}
-
+
// 璁$畻宸插叆搴撴暟閲忔�诲拰锛屽苟璁剧疆寰呭叆搴撴暟閲�
BigDecimal totalInboundNum = collect1.stream()
.map(ProcurementRecordStorage::getInboundNum)
.reduce(BigDecimal.ZERO, BigDecimal::add);
-
+
// 寰呭叆搴撴暟閲� = 鎬绘暟閲� - 宸插叆搴撴暟閲�
dto.setQuantity0(dto.getQuantity().subtract(totalInboundNum));
}
@@ -102,8 +103,11 @@
public int updatePro(ProcurementUpdateDto procurementDto) {
ProcurementRecordStorage procurementRecordStorageById = getProcurementRecordById(procurementDto.getId());
procurementRecordStorageById.setInboundNum(procurementDto.getQuantityStock());
+ procurementRecordStorageById.setWarnNum(procurementDto.getWarnNum());
procurementRecordStorageById.setUpdateUser(SecurityUtils.getLoginUser().getUserId());
procurementRecordStorageById.setUpdateTime(LocalDateTime.now());
+ procurementRecordStorageById.setOutStockQuantity(procurementDto.getOutStockQuantity());
+ procurementRecordStorageById.setShortageDescription(procurementDto.getShortageDescription());
return procurementRecordMapper.updateById(procurementRecordStorageById);
}
@@ -176,6 +180,12 @@
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String entryDateStr = procurementDto.getEntryDate() + " 00:00:00";
String createTimeStr = procurementDto.getCreateTime() + " 00:00:00";
+ SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(procurementDto.getSalesLedgerProductId());
+ if(salesLedgerProduct == null){
+ throw new RuntimeException("閿�鍞彴璐︿骇鍝佷笉瀛樺湪");
+ }
+ salesLedgerProduct.setMinStock(procurementDto.getMinStock());
+ salesLedgerProductMapper.updateById(salesLedgerProduct);
ProcurementRecordStorage procurementRecordStorageById = getProcurementRecordById(procurementDto.getId());
procurementRecordStorageById.setCreateBy(sysUser.getNickName());
procurementRecordStorageById.setCreateUser(sysUser.getUserId());
@@ -339,8 +349,12 @@
ProcurementRecordStorage.ProcurementRecordStorageBuilder procurementRecordBuilder = ProcurementRecordStorage.builder()
.salesLedgerProductId(detail.getId())
+ .productModelId(detail.getProductModelId())
.inboundBatches(aLong.equals(0L) ? "绗�1鎵规" : "绗�"+ (aLong + 1) + "鎵规")
.inboundNum(detail.getInboundQuantity())
+ .warnNum(detail.getWarnNum())
+ .outStockQuantity(detail.getOutStockQuantity())
+ .shortageDescription(detail.getShortageDescription())
.createTime(LocalDateTime.now())
.createUser(loginUser.getUserId())
.updateTime(LocalDateTime.now())
--
Gitblit v1.9.3