From 74260d0eb5ce27531cd2f7b79538170edcd042bb Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期一, 30 三月 2026 18:50:00 +0800
Subject: [PATCH] fix: 产品入库的库存返回产品大类、规则型号、单位

---
 src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java |   29 ++++++++++++++++++-----------
 1 files changed, 18 insertions(+), 11 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 7361c0a..8a11f1c 100644
--- a/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
@@ -181,11 +181,13 @@
         String entryDateStr = procurementDto.getEntryDate() + " 00:00:00";
         String createTimeStr = procurementDto.getCreateTime() + " 00:00:00";
         SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(procurementDto.getSalesLedgerProductId());
-        if (salesLedgerProduct == null) {
+        if (procurementDto.getSalesLedgerProductId() != null && salesLedgerProduct == null) {
             throw new RuntimeException("閿�鍞彴璐︿骇鍝佷笉瀛樺湪");
         }
-        salesLedgerProduct.setMinStock(procurementDto.getMinStock());
-        salesLedgerProductMapper.updateById(salesLedgerProduct);
+        if (procurementDto.getSalesLedgerProductId() != null && salesLedgerProduct != null) {
+            salesLedgerProduct.setMinStock(procurementDto.getMinStock());
+            salesLedgerProductMapper.updateById(salesLedgerProduct);
+        }
         ProcurementRecordStorage procurementRecordStorageById = getProcurementRecordById(procurementDto.getId());
         procurementRecordStorageById.setCreateBy(sysUser.getNickName());
         procurementRecordStorageById.setCreateUser(sysUser.getUserId());
@@ -440,20 +442,25 @@
     @Override
     public int addProduct(Details detail) {
         LoginUser loginUser = SecurityUtils.getLoginUser();
-        ProcurementRecordStorage.ProcurementRecordStorageBuilder procurementRecordBuilder = ProcurementRecordStorage.builder()
+
+        ProcurementRecordStorage.ProcurementRecordStorageBuilder builder = ProcurementRecordStorage.builder()
+                .id(detail.getId())
                 .inboundBatches("绗�1鎵规")
                 .inboundNum(detail.getInboundQuantity())
                 .warnNum(detail.getWarnNum())
                 .outStockQuantity(detail.getOutStockQuantity())
                 .shortageDescription(detail.getShortageDescription())
-                .createTime(LocalDateTime.now())
-                .createUser(loginUser.getUserId())
+                .productModelId(detail.getProductModelId())
                 .updateTime(LocalDateTime.now())
-                .updateUser(loginUser.getUserId())
-                .createBy(loginUser.getNickName())
-                .productModelId(detail.getProductModelId());
-        this.save(procurementRecordBuilder.build());
-        return 1;
+                .updateUser(loginUser.getUserId());
+        if (detail.getId() == null) {
+            builder.createTime(LocalDateTime.now())
+                    .createUser(loginUser.getUserId())
+                    .createBy(loginUser.getNickName());
+        }
+
+        boolean success = this.saveOrUpdate(builder.build());
+        return success ? 1 : 0;
     }
 
     @Override

--
Gitblit v1.9.3