From 388bd216d4eb70b367ada95118d1087b45f07ae3 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期一, 09 六月 2025 17:53:48 +0800
Subject: [PATCH] 1.煤质部分 2.代入库部分

---
 main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java |   42 +++++++++++++++++++++++++++++++++++++++---
 1 files changed, 39 insertions(+), 3 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 642cfea..54b2b7b 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
@@ -6,12 +6,16 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 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.utils.bean.BeanUtils;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.Assert;
 
 import java.util.Objects;
 
@@ -30,6 +34,8 @@
 
     private final PurchaseRegistrationMapper purchaseRegistrationMapper;
 
+    private final PendingInventoryMapper pendingInventoryMapper;
+
     @Override
     public IPage<PurchaseRegistration> selectPurchaseRegistrationList(Page page, PurchaseRegistrationDto purchaseRegistrationDto) {
         LambdaQueryWrapper<PurchaseRegistration> queryWrapper = new LambdaQueryWrapper<>();
@@ -38,17 +44,47 @@
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public int addOrEditPR(PurchaseRegistrationDto purchaseRegistrationDto) {
+        // 鍙傛暟鏍¢獙
+        Assert.notNull(purchaseRegistrationDto, "閲囪喘鐧昏淇℃伅涓嶈兘涓虹┖");
+
+        // 鍒涘缓閲囪喘鐧昏瀹炰綋骞跺鍒跺睘鎬�
         PurchaseRegistration purchaseRegistration = new PurchaseRegistration();
-        BeanUtils.copyProperties(purchaseRegistrationDto,purchaseRegistration);
-        
+        BeanUtils.copyProperties(purchaseRegistrationDto, purchaseRegistration);
+
         if (Objects.isNull(purchaseRegistrationDto.getId())) {
-            return purchaseRegistrationMapper.insert(purchaseRegistration);
+            // 鏂板閲囪喘鐧昏
+            int insertCount = purchaseRegistrationMapper.insert(purchaseRegistration);
+            if (insertCount > 0) {
+                // 閲囪喘鐧昏鎴愬姛锛屽悓姝ュ垱寤哄緟鍏ュ簱璁板綍
+                PendingInventory pendingInventory = createPendingInventory(purchaseRegistration);
+                return pendingInventoryMapper.insert(pendingInventory);
+            }
+            return insertCount;
         } else {
+            // 鏇存柊閲囪喘鐧昏
             return purchaseRegistrationMapper.updateById(purchaseRegistration);
         }
     }
 
+    /**
+     * 鏍规嵁閲囪喘鐧昏淇℃伅鍒涘缓寰呭叆搴撹褰�
+     * @param purchaseRegistration 閲囪喘鐧昏瀹炰綋
+     * @return 寰呭叆搴撳疄浣�
+     */
+    private PendingInventory createPendingInventory(PurchaseRegistration purchaseRegistration) {
+        PendingInventory pendingInventory = new PendingInventory();
+        // 澶嶅埗鍩烘湰灞炴��
+        BeanUtils.copyProperties(purchaseRegistration, pendingInventory);
+
+        // 璁剧疆寰呭叆搴撹褰曠壒鏈夌殑灞炴�э紙濡傛灉鏈夛級
+        // pendingInventory.setStatus(InventoryStatus.PENDING);
+        // pendingInventory.setCreateTime(LocalDateTime.now());
+
+        return pendingInventory;
+    }
+
     @Override
     public int delByIds(Long[] ids) {
         // 妫�鏌ュ弬鏁�

--
Gitblit v1.9.3