From 9dcd90dc8e329900e6058ac0a3aa44a9e7e04599 Mon Sep 17 00:00:00 2001
From: chenhj <1263187585@qq.com>
Date: 星期六, 14 六月 2025 15:45:24 +0800
Subject: [PATCH] 库存明细,以及库存数量更新方法,库存节点存储

---
 main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java |   29 +++++++++++++++++++++++++----
 1 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java
index 54b2b7b..ff4252d 100644
--- a/main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java
+++ b/main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java
@@ -5,18 +5,24 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.entity.CoalInfo;
+import com.ruoyi.basic.entity.Supply;
+import com.ruoyi.basic.mapper.CoalInfoMapper;
+import com.ruoyi.basic.mapper.SupplyMapper;
 import com.ruoyi.business.dto.PurchaseRegistrationDto;
 import com.ruoyi.business.entity.PendingInventory;
 import com.ruoyi.business.entity.PurchaseRegistration;
 import com.ruoyi.business.mapper.PendingInventoryMapper;
 import com.ruoyi.business.mapper.PurchaseRegistrationMapper;
 import com.ruoyi.business.service.PurchaseRegistrationService;
+import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.bean.BeanUtils;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
 
+import java.time.LocalDate;
 import java.util.Objects;
 
 /**
@@ -36,6 +42,10 @@
 
     private final PendingInventoryMapper pendingInventoryMapper;
 
+    private final CoalInfoMapper coalInfoMapper;
+
+    private final SupplyMapper supplyMapper;
+
     @Override
     public IPage<PurchaseRegistration> selectPurchaseRegistrationList(Page page, PurchaseRegistrationDto purchaseRegistrationDto) {
         LambdaQueryWrapper<PurchaseRegistration> queryWrapper = new LambdaQueryWrapper<>();
@@ -52,13 +62,25 @@
         // 鍒涘缓閲囪喘鐧昏瀹炰綋骞跺鍒跺睘鎬�
         PurchaseRegistration purchaseRegistration = new PurchaseRegistration();
         BeanUtils.copyProperties(purchaseRegistrationDto, purchaseRegistration);
-
+        CoalInfo coalInfo = coalInfoMapper.selectById(purchaseRegistrationDto.getCoalId());
+        if (coalInfo == null) {
+            throw new BaseException("鐓ょ淇℃伅涓嶅瓨鍦�");
+        }
+        purchaseRegistration.setCoal(coalInfo.getCoal());
+        Supply supply = supplyMapper.selectById(purchaseRegistrationDto.getSupplierId());
+        if (supply == null) {
+            throw new BaseException("渚涘簲鍟嗕俊鎭笉瀛樺湪");
+        }
+        purchaseRegistration.setSupplierName(supply.getSupplierName());
         if (Objects.isNull(purchaseRegistrationDto.getId())) {
             // 鏂板閲囪喘鐧昏
+            purchaseRegistration.setRegistrationDate(LocalDate.now());
             int insertCount = purchaseRegistrationMapper.insert(purchaseRegistration);
             if (insertCount > 0) {
                 // 閲囪喘鐧昏鎴愬姛锛屽悓姝ュ垱寤哄緟鍏ュ簱璁板綍
                 PendingInventory pendingInventory = createPendingInventory(purchaseRegistration);
+                pendingInventory.setSupplierName(supply.getSupplierName());
+                pendingInventory.setCoal(coalInfo.getCoal());
                 return pendingInventoryMapper.insert(pendingInventory);
             }
             return insertCount;
@@ -70,6 +92,7 @@
 
     /**
      * 鏍规嵁閲囪喘鐧昏淇℃伅鍒涘缓寰呭叆搴撹褰�
+     *
      * @param purchaseRegistration 閲囪喘鐧昏瀹炰綋
      * @return 寰呭叆搴撳疄浣�
      */
@@ -79,9 +102,7 @@
         BeanUtils.copyProperties(purchaseRegistration, pendingInventory);
 
         // 璁剧疆寰呭叆搴撹褰曠壒鏈夌殑灞炴�э紙濡傛灉鏈夛級
-        // pendingInventory.setStatus(InventoryStatus.PENDING);
-        // pendingInventory.setCreateTime(LocalDateTime.now());
-
+        pendingInventory.setInventoryQuantity(purchaseRegistration.getPurchaseQuantity());
         return pendingInventory;
     }
 

--
Gitblit v1.9.3