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

---
 inspect-server/src/main/resources/mapper/InsOrderMapper.xml                          |   56 ++++++++++++---------------
 inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsProductMapper.java          |    8 ----
 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java |   18 ---------
 inspect-server/src/main/resources/mapper/InsProductMapper.xml                        |   20 ----------
 4 files changed, 25 insertions(+), 77 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 ab34adc..606bb77 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
@@ -77,14 +77,6 @@
      * @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/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
index 537ac2e..18b8a22 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
@@ -106,24 +106,6 @@
         otherParam.setCheckUserFlag(checkUserFlag);
         otherParam.setCheckUserId(SecurityUtils.getUserId());
         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/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index 2fe9e71..24c7c12 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -58,43 +58,37 @@
         CONCAT(ROUND(approved_product_counts.approved_count / total_product_counts.total_count * 100, 2), '%') AS insProgress,
         io.sample_view AS sample_name,
         GROUP_CONCAT(DISTINCT isa.model SEPARATOR ' ') AS sample_model,
+        GROUP_CONCAT(DISTINCT uu.name SEPARATOR ', ') AS testing_name,
         u.name,
-        testing_name,
         ip.son_laboratory
         FROM
-        ins_order io
+            ins_order io
+        LEFT JOIN ins_sample isa ON io.id = isa.ins_order_id
+        LEFT JOIN ins_product ip on ip.ins_sample_id = isa.id
+        LEFT JOIN ins_sample_user isau ON isau.ins_sample_id = io.id
+        LEFT JOIN (SELECT id, ins_order_id, is_ratify, url, url_s FROM ins_report WHERE is_ratify = 1) ir ON io.id = ir.ins_order_id
+        LEFT JOIN user u ON io.create_user = u.id
+        LEFT JOIN user uu ON  ip.check_user_id = uu.id
         LEFT JOIN
-        ins_sample isa ON io.id = isa.ins_order_id
-        left join ins_product ip on ip.ins_sample_id = isa.id
+            (SELECT ins_order_id, COUNT(*) AS sample_num
+                FROM ins_sample
+                WHERE id in(select id1 from (select is2.id id1 ,ip.id from ins_sample is2 left join ins_product ip on is2.id = ip.ins_sample_id where ip.id is not null)s )
+                GROUP BY ins_order_id
+            ) sample_counts ON io.id = sample_counts.ins_order_id
         LEFT JOIN
-        ins_sample_user isau ON isau.ins_sample_id = io.id
+            (SELECT ins_sample.ins_order_id, COUNT(*) AS total_count
+                FROM ins_product
+                JOIN ins_sample ON ins_product.ins_sample_id = ins_sample.id
+                WHERE ins_product.state = 1
+                GROUP BY ins_sample.ins_order_id
+            ) total_product_counts ON io.id = total_product_counts.ins_order_id
         LEFT JOIN
-        (SELECT id, ins_order_id, is_ratify, url, url_s FROM ins_report WHERE is_ratify = 1) ir ON io.id = ir.ins_order_id
-        LEFT JOIN
-        user u ON io.create_user = u.id
-        LEFT JOIN
-        (SELECT ins_order_id, COUNT(*) AS sample_num
-        FROM ins_sample
-        WHERE id in(select id1 from (select is2.id id1 ,ip.id from ins_sample is2 left join ins_product ip on is2.id = ip.ins_sample_id where ip.id is not null)s )
-        GROUP BY ins_order_id) sample_counts ON io.id = sample_counts.ins_order_id
-        LEFT JOIN
-        (SELECT ins_sample.ins_order_id, COUNT(*) AS total_count
-        FROM ins_product
-        JOIN ins_sample ON ins_product.ins_sample_id = ins_sample.id
-        WHERE ins_product.state = 1
-        GROUP BY ins_sample.ins_order_id) total_product_counts ON io.id = total_product_counts.ins_order_id
-        LEFT JOIN
-        (SELECT ins_sample.ins_order_id, COUNT(*) AS approved_count
-        FROM ins_product
-        JOIN ins_sample ON ins_product.ins_sample_id = ins_sample.id
-        WHERE ins_product.state = 1 AND ins_product.ins_result IS NOT NULL
-        GROUP BY ins_sample.ins_order_id) approved_product_counts ON io.id = approved_product_counts.ins_order_id
-        LEFT JOIN (SELECT ins_sample_id, GROUP_CONCAT(DISTINCT uu.name SEPARATOR ',') AS testing_name
-        FROM ins_sample_user u
-        LEFT JOIN user uu ON u.user_id = uu.id
-        WHERE u.state = 0
-        GROUP BY ins_sample_id
-        ORDER BY ins_sample_id) isu ON isu.ins_sample_id = io.id
+            (SELECT ins_sample.ins_order_id, COUNT(*) AS approved_count
+                FROM ins_product
+                JOIN ins_sample ON ins_product.ins_sample_id = ins_sample.id
+                WHERE ins_product.state = 1 AND ins_product.ins_result IS NOT NULL
+                GROUP BY ins_sample.ins_order_id
+            ) approved_product_counts ON io.id = approved_product_counts.ins_order_id
         where (io.ifs_inventory_id IS NULL OR TRIM(io.ifs_inventory_id)  = '')
         <if test="otherParam.isOrderAll != null and otherParam.isOrderAll != ''">
             AND io.state in (1, 4)
diff --git a/inspect-server/src/main/resources/mapper/InsProductMapper.xml b/inspect-server/src/main/resources/mapper/InsProductMapper.xml
index 6aa310a..b2e6807 100644
--- a/inspect-server/src/main/resources/mapper/InsProductMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsProductMapper.xml
@@ -157,24 +157,4 @@
             #{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