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/mapper/PurchaseReturnOrdersMapper.java            |    7 +++++--
 src/main/java/com/ruoyi/purchase/service/impl/PurchaseReturnOrdersServiceImpl.java |    6 +++---
 src/main/java/com/ruoyi/purchase/service/PurchaseReturnOrdersService.java          |    4 ++--
 src/main/java/com/ruoyi/purchase/dto/PurchaseReturnOrderHasAllInfoDto.java         |    4 ++--
 src/main/java/com/ruoyi/purchase/vo/PurchaseReturnDetailsVo.java                   |    4 ++--
 src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml                  |   24 ++++++++++++++++--------
 6 files changed, 30 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/ruoyi/purchase/vo/PurchaseReturnOrderVo.java b/src/main/java/com/ruoyi/purchase/dto/PurchaseReturnOrderHasAllInfoDto.java
similarity index 79%
rename from src/main/java/com/ruoyi/purchase/vo/PurchaseReturnOrderVo.java
rename to src/main/java/com/ruoyi/purchase/dto/PurchaseReturnOrderHasAllInfoDto.java
index fb02943..68ef597 100644
--- a/src/main/java/com/ruoyi/purchase/vo/PurchaseReturnOrderVo.java
+++ b/src/main/java/com/ruoyi/purchase/dto/PurchaseReturnOrderHasAllInfoDto.java
@@ -1,4 +1,4 @@
-package com.ruoyi.purchase.vo;
+package com.ruoyi.purchase.dto;
 
 import com.ruoyi.purchase.pojo.PurchaseReturnOrders;
 import lombok.AllArgsConstructor;
@@ -8,7 +8,7 @@
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
-public class PurchaseReturnOrderVo extends PurchaseReturnOrders {
+public class PurchaseReturnOrderHasAllInfoDto extends PurchaseReturnOrders {
     //渚涘簲鍟嗗悕绉�
     private String supplierName;
 
diff --git a/src/main/java/com/ruoyi/purchase/mapper/PurchaseReturnOrdersMapper.java b/src/main/java/com/ruoyi/purchase/mapper/PurchaseReturnOrdersMapper.java
index a680c12..c6f55b7 100644
--- a/src/main/java/com/ruoyi/purchase/mapper/PurchaseReturnOrdersMapper.java
+++ b/src/main/java/com/ruoyi/purchase/mapper/PurchaseReturnOrdersMapper.java
@@ -5,7 +5,8 @@
 import com.ruoyi.purchase.dto.PurchaseReturnOrderDto;
 import com.ruoyi.purchase.pojo.PurchaseReturnOrders;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.purchase.vo.PurchaseReturnOrderVo;
+import com.ruoyi.purchase.dto.PurchaseReturnOrderHasAllInfoDto;
+import jakarta.validation.constraints.NotNull;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -19,5 +20,7 @@
  */
 @Mapper
 public interface PurchaseReturnOrdersMapper extends BaseMapper<PurchaseReturnOrders> {
-    IPage<PurchaseReturnOrderVo> listPage(Page page, @Param("params") PurchaseReturnOrderDto purchaseReturnOrder);
+    IPage<PurchaseReturnOrderHasAllInfoDto> listPage(Page page, @Param("params") PurchaseReturnOrderDto purchaseReturnOrder);
+
+    PurchaseReturnOrderHasAllInfoDto getPurchaseReturnOrderHasAllInfoById(@Param("id") @NotNull Long id);
 }
diff --git a/src/main/java/com/ruoyi/purchase/service/PurchaseReturnOrdersService.java b/src/main/java/com/ruoyi/purchase/service/PurchaseReturnOrdersService.java
index dc68108..2038e09 100644
--- a/src/main/java/com/ruoyi/purchase/service/PurchaseReturnOrdersService.java
+++ b/src/main/java/com/ruoyi/purchase/service/PurchaseReturnOrdersService.java
@@ -6,7 +6,7 @@
 import com.ruoyi.purchase.pojo.PurchaseReturnOrders;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.purchase.vo.PurchaseReturnDetailsVo;
-import com.ruoyi.purchase.vo.PurchaseReturnOrderVo;
+import com.ruoyi.purchase.dto.PurchaseReturnOrderHasAllInfoDto;
 
 import jakarta.validation.constraints.NotNull;
 
@@ -19,7 +19,7 @@
  * @since 2026-03-06 11:44:38
  */
 public interface PurchaseReturnOrdersService extends IService<PurchaseReturnOrders> {
-    IPage<PurchaseReturnOrderVo> listPage(Page page, PurchaseReturnOrderDto purchaseReturnOrderDto);
+    IPage<PurchaseReturnOrderHasAllInfoDto> listPage(Page page, PurchaseReturnOrderDto purchaseReturnOrderDto);
 
     Boolean add(PurchaseReturnOrderDto purchaseReturnOrderDto);
 
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 e75e986..e91f692 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseReturnOrdersServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseReturnOrdersServiceImpl.java
@@ -20,7 +20,7 @@
 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 lombok.RequiredArgsConstructor;
@@ -50,7 +50,7 @@
     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);
     }
 
@@ -91,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<>();
diff --git a/src/main/java/com/ruoyi/purchase/vo/PurchaseReturnDetailsVo.java b/src/main/java/com/ruoyi/purchase/vo/PurchaseReturnDetailsVo.java
index 02317e6..975cd5c 100644
--- a/src/main/java/com/ruoyi/purchase/vo/PurchaseReturnDetailsVo.java
+++ b/src/main/java/com/ruoyi/purchase/vo/PurchaseReturnDetailsVo.java
@@ -1,6 +1,6 @@
 package com.ruoyi.purchase.vo;
 
-import com.ruoyi.purchase.pojo.PurchaseReturnOrders;
+import com.ruoyi.purchase.dto.PurchaseReturnOrderHasAllInfoDto;
 import com.ruoyi.sales.pojo.SalesLedgerProduct;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -20,7 +20,7 @@
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
-public class PurchaseReturnDetailsVo extends PurchaseReturnOrders implements Serializable {
+public class PurchaseReturnDetailsVo extends PurchaseReturnOrderHasAllInfoDto implements Serializable {
 
     private List<PurchaseReturnOrderProductsDetailVo> purchaseReturnOrderProductsDetailVoList;
 
diff --git a/src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml b/src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml
index 0232873..77435ad 100644
--- a/src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml
+++ b/src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml
@@ -18,16 +18,18 @@
         <result column="create_time" property="createTime" />
         <result column="update_time" property="updateTime" />
     </resultMap>
-
-    <select id="listPage" resultType="com.ruoyi.purchase.vo.PurchaseReturnOrderVo">
+    <sql id="getPurchaseReturnOrderHasAllInfoFormAndColumn">
         SELECT
-        pro.*,
-        sm.supplier_name as supplierName,
-        pl.purchase_contract_number as purchaseContractNumber
+            pro.*,
+            sm.supplier_name as supplier_name,
+            pl.purchase_contract_number as purchase_contract_number
         FROM purchase_return_orders pro
-        LEFT JOIN supplier_manage sm ON pro.supplier_id = sm.id
-        LEFT JOIN purchase_ledger pl ON pl.id = pro.purchase_ledger_id
-        where 1=1
+                 LEFT JOIN supplier_manage sm ON pro.supplier_id = sm.id
+                 LEFT JOIN purchase_ledger pl ON pl.id = pro.purchase_ledger_id
+    </sql>
+    <select id="listPage" resultType="com.ruoyi.purchase.dto.PurchaseReturnOrderHasAllInfoDto">
+        <include refid="getPurchaseReturnOrderHasAllInfoFormAndColumn"/>
+        <where>
         <if test="params.no != null and params.no != '' ">
             AND pro.no LIKE CONCAT('%',#{params.no},'%')
         </if>
@@ -43,6 +45,12 @@
         <if test="params.createUser != null">
             AND pro.create_user = #{params.createUser}
         </if>
+        </where>
         ORDER BY pro.create_time DESC
     </select>
+    <select id="getPurchaseReturnOrderHasAllInfoById"
+            resultType="com.ruoyi.purchase.dto.PurchaseReturnOrderHasAllInfoDto">
+        <include refid="getPurchaseReturnOrderHasAllInfoFormAndColumn"/>
+        where pro.id = #{id}
+    </select>
 </mapper>

--
Gitblit v1.9.3