From 73f262d6a15a925ea8f0af1351b907255a4735b5 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期三, 09 四月 2025 10:59:00 +0800
Subject: [PATCH] 成品下单查询拼接检验人

---
 inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsProductMapper.java          |    9 ++++
 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java |   21 ++++++++++
 inspect-server/src/main/java/com/ruoyi/inspect/pojo/CheckUserDto.java                |   11 +++++
 inspect-server/src/main/resources/mapper/InsProductMapper.xml                        |   20 ++++++++++
 4 files changed, 60 insertions(+), 1 deletions(-)

diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsProductMapper.java b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsProductMapper.java
index eec4fa9..ab34adc 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsProductMapper.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsProductMapper.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.inspect.dto.ProductResultDto2;
 import com.ruoyi.inspect.dto.SampleProductRawAnalysisDto;
+import com.ruoyi.inspect.pojo.CheckUserDto;
 import com.ruoyi.inspect.pojo.InsProduct;
 import org.apache.ibatis.annotations.Param;
 
@@ -76,6 +77,14 @@
      * @return
      */
     int batchUpdateInsProductCheckUserId(@Param("insProductIds") List <Integer> insProductIds, @Param("checkUserId") Integer userId);
+
+    /**
+     * 鏍规嵁璁㈠崟id鏌ヨ妫�楠屼汉鍛�
+     *
+     * @param orderIds
+     * @return
+     */
+    List<CheckUserDto> selectCheckUserNameByOrderIds(@Param("orderIds") List<Integer> orderIds);
 }
 
 
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/CheckUserDto.java b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/CheckUserDto.java
new file mode 100644
index 0000000..36bdab5
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/CheckUserDto.java
@@ -0,0 +1,11 @@
+package com.ruoyi.inspect.pojo;
+
+import lombok.Data;
+
+@Data
+public class CheckUserDto {
+
+    private Integer orderId;
+
+    private String checkUserNames;
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
index 868ba44..537ac2e 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
@@ -105,7 +105,26 @@
         otherParam.setIsOrderAll(isOrderAll);
         otherParam.setCheckUserFlag(checkUserFlag);
         otherParam.setCheckUserId(SecurityUtils.getUserId());
-        return insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto), otherParam);
+        IPage<SampleOrderDto> sampleOrderDtoIPage = insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto), otherParam);
+        // 鎷兼帴妫�楠屼汉鏍规嵁妫�楠岄」鏉�
+        if(CollectionUtils.isEmpty(sampleOrderDtoIPage.getRecords())){
+            return sampleOrderDtoIPage;
+        }
+        List<Integer> orderIds = new ArrayList<>();
+        for (SampleOrderDto record : sampleOrderDtoIPage.getRecords()) {
+            orderIds.add(record.getId());
+        }
+        List<CheckUserDto> checkUserDtoList = insProductMapper.selectCheckUserNameByOrderIds(orderIds);
+        for (SampleOrderDto record : sampleOrderDtoIPage.getRecords()) {
+            Integer orderId = record.getId();
+            for (CheckUserDto checkUserDto : checkUserDtoList) {
+                if(orderId.equals(checkUserDto.getOrderId())) {
+                    record.setTestingName(checkUserDto.getCheckUserNames());
+                    break;
+                }
+            }
+        }
+        return sampleOrderDtoIPage;
     }
 
 
diff --git a/inspect-server/src/main/resources/mapper/InsProductMapper.xml b/inspect-server/src/main/resources/mapper/InsProductMapper.xml
index b2e6807..6aa310a 100644
--- a/inspect-server/src/main/resources/mapper/InsProductMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsProductMapper.xml
@@ -157,4 +157,24 @@
             #{item}
         </foreach>
     </update>
+
+    <select id="selectCheckUserNameByOrderIds" resultType="com.ruoyi.inspect.pojo.CheckUserDto">
+        SELECT T1.id AS order_id,
+               GROUP_CONCAT(DISTINCT user.name SEPARATOR ', ') AS check_user_names
+        FROM (
+              SELECT
+                  ipr.check_user_id,
+                  iso.id
+              FROM
+                  ins_product ipr
+                      LEFT JOIN ins_sample isa ON ipr.ins_sample_id = isa.id
+                      LEFT JOIN ins_order iso ON isa.ins_order_id = iso.id
+              WHERE
+                  iso.id IN
+                  <foreach collection="orderIds" open="(" close=")" item="item" separator=",">
+                      #{item}
+                  </foreach>
+        ) T1 LEFT JOIN user ON T1.check_user_id = user.id
+        GROUP BY T1.id
+    </select>
 </mapper>

--
Gitblit v1.9.3