From 98911ba7d8a9f50f48ae903775c6fba673f6f8e3 Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期六, 09 五月 2026 16:04:46 +0800
Subject: [PATCH] refactor(purchase): 重构采购退货单详情查询以使用包含扩展信息的DTO

---
 src/main/java/com/ruoyi/purchase/service/impl/PurchaseReturnOrdersServiceImpl.java |   41 ++++++++++++++++++++++++++---------------
 1 files changed, 26 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseReturnOrdersServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseReturnOrdersServiceImpl.java
index 5e40d8a..e91f692 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseReturnOrdersServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseReturnOrdersServiceImpl.java
@@ -2,6 +2,7 @@
 
 import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -11,7 +12,6 @@
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.framework.security.LoginUser;
-import com.ruoyi.procurementrecord.utils.StockUtils;
 import com.ruoyi.purchase.dto.PurchaseReturnOrderDto;
 import com.ruoyi.purchase.dto.PurchaseReturnOrderProductsDto;
 import com.ruoyi.purchase.mapper.PurchaseReturnOrderProductsMapper;
@@ -20,14 +20,13 @@
 import com.ruoyi.purchase.pojo.PurchaseReturnOrders;
 import com.ruoyi.purchase.service.PurchaseReturnOrdersService;
 import com.ruoyi.purchase.vo.PurchaseReturnDetailsVo;
-import com.ruoyi.purchase.vo.PurchaseReturnOrderVo;
+import com.ruoyi.purchase.dto.PurchaseReturnOrderHasAllInfoDto;
 import com.ruoyi.sales.pojo.SalesLedgerProduct;
 import com.ruoyi.sales.service.ISalesLedgerService;
-import org.springframework.beans.factory.annotation.Autowired;
+import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.annotation.Resource;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
@@ -42,20 +41,16 @@
  * @since 2026-03-06 11:44:38
  */
 @Service
+@RequiredArgsConstructor
 public class PurchaseReturnOrdersServiceImpl extends ServiceImpl<PurchaseReturnOrdersMapper, PurchaseReturnOrders> implements PurchaseReturnOrdersService {
-    @Autowired
-    private PurchaseReturnOrdersMapper purchaseReturnOrdersMapper;
-    @Autowired
-    private PurchaseReturnOrderProductsMapper purchaseReturnOrderProductsMapper;
 
-    @Autowired
-    private ISalesLedgerService salesLedgerService;
-
-    @Resource
-    private AccountIncomeService accountIncomeService;
+    private final PurchaseReturnOrdersMapper purchaseReturnOrdersMapper;
+    private final PurchaseReturnOrderProductsMapper purchaseReturnOrderProductsMapper;
+    private final ISalesLedgerService salesLedgerService;
+    private final AccountIncomeService accountIncomeService;
 
     @Override
-    public IPage<PurchaseReturnOrderVo> listPage(Page page, PurchaseReturnOrderDto purchaseReturnOrderDto) {
+    public IPage<PurchaseReturnOrderHasAllInfoDto> listPage(Page page, PurchaseReturnOrderDto purchaseReturnOrderDto) {
         return purchaseReturnOrdersMapper.listPage(page, purchaseReturnOrderDto);
     }
 
@@ -96,7 +91,7 @@
 
     @Override
     public PurchaseReturnDetailsVo getPurchaseReturnOrderDtoById(Long id) {
-        PurchaseReturnOrders purchaseReturnOrders = purchaseReturnOrdersMapper.selectById(id);
+        PurchaseReturnOrderHasAllInfoDto purchaseReturnOrders = purchaseReturnOrdersMapper.getPurchaseReturnOrderHasAllInfoById(id);
         PurchaseReturnDetailsVo purchaseReturnOrderDto = BeanUtil.copyProperties(purchaseReturnOrders, PurchaseReturnDetailsVo.class);
         // 鏌ヨ鍑轰粬鍏蜂綋瀵瑰簲鐨勯��璐�
         LambdaQueryWrapper<PurchaseReturnOrderProducts> queryWrapper = new LambdaQueryWrapper<>();
@@ -117,4 +112,20 @@
 
         return purchaseReturnOrderDto;
     }
+
+    @Override
+    @Transactional
+    public void deleteById(Long id) {
+        purchaseReturnOrdersMapper.deleteById(id);
+        LambdaUpdateWrapper<PurchaseReturnOrderProducts> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.eq(PurchaseReturnOrderProducts::getPurchaseReturnOrderId, id);
+        purchaseReturnOrderProductsMapper.delete(updateWrapper);
+
+        // 璐㈠姟
+        LambdaUpdateWrapper<AccountIncome> updateWrapperAccountIncome = new LambdaUpdateWrapper<>();
+        updateWrapperAccountIncome.eq(AccountIncome::getBusinessId, id);
+        updateWrapperAccountIncome.eq(AccountIncome::getBusinessType, 1);
+        updateWrapperAccountIncome.eq(AccountIncome::getIncomeType, 4);
+        accountIncomeService.remove(updateWrapperAccountIncome);
+    }
 }

--
Gitblit v1.9.3