From e2c5017787d7fc5eea2afb8bc84bca0db054ad8c Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期三, 09 四月 2025 17:46:36 +0800
Subject: [PATCH] Merge branch 'radio_frequency' of http://114.132.189.42:9002/r/lims-ruoyi-after into radio_frequency

---
 inspect-server/src/main/resources/mapper/InsSampleMapper.xml |   80 ++++++++++++++++-----------------------
 1 files changed, 33 insertions(+), 47 deletions(-)

diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index 84af8bb..c26a110 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -78,6 +78,7 @@
         <result property="radius" column="radius"/>
         <result property="cableTag" column="cable_tag"/>
         <result property="structureItemParameterId" column="structure_item_parameter_id"/>
+        <result property="checkUserId" column="check_user_id"/>
         <collection property="insProductResult" resultMap="insProductResult"/>
     </resultMap>
 
@@ -159,14 +160,15 @@
                ip.dic,
                ip.sort,
                ip.cable_tag,
-               ip.structure_item_parameter_id
+               ip.structure_item_parameter_id,
+               ip.check_user_id
     </sql>
 
 
     <select id="findInsSampleAndOrder" resultType="com.ruoyi.inspect.vo.InsOrderPlanVO">
-        select * from(select * from(
-        SELECT
-        a.*,ios.ins_state,ios.verify_tell,verify_user
+        select * from(
+        select * from(
+        SELECT a.*,ios.ins_state,ios.verify_tell,verify_user
         FROM
         (
         SELECT
@@ -176,13 +178,13 @@
         io.appointed,
         io.send_time,
         io.order_type,
+        io.work_shop_id,
         case when
-            io.type_source = 0
-            then io.sample_view
-            else io.sample end sample,
+        io.type_source = 0
+        then io.sample_view
+        else io.sample end sample,
         GROUP_CONCAT(DISTINCT isa.model SEPARATOR ' ') AS sample_model,
-        userName,
-        checkName,
+        T4.userName,
         ip.son_laboratory,
         io.ins_time,
         io.laboratory,
@@ -198,54 +200,37 @@
         LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id
         LEFT JOIN ins_report ira ON ira.ins_order_id = io.id
         LEFT JOIN ifs_inventory_quantity iiq ON iiq.id = io.ifs_inventory_id
-        LEFT JOIN (
-        SELECT ins_sample_id,GROUP_CONCAT( DISTINCT uu.name SEPARATOR ',') AS userName
-        FROM ins_sample_user u LEFT JOIN  user uu ON u.user_id = uu.id
-        WHERE u.state=0
-        <if test="sonLaboratory!= null and sonLaboratory != ''">
-           and son_laboratory=#{sonLaboratory}
-        </if>
-        GROUP BY ins_sample_id
-        ORDER BY ins_sample_id
-        ) isu ON isu.ins_sample_id = io.id
-        LEFT JOIN (
-        SELECT ins_sample_id,uu.name checkName
-        FROM ins_sample_user u LEFT JOIN  user uu ON u.user_id = uu.id
-        WHERE u.state=1
-        <if test="sonLaboratory!= null and sonLaboratory != ''">
-            and son_laboratory=#{sonLaboratory}
-        </if>
-        GROUP BY ins_sample_id
-        ORDER BY ins_sample_id
-        )isu2 ON isu2.ins_sample_id = io.id
         LEFT JOIN ins_product ip ON ip.ins_sample_id = isa.id
+        LEFT JOIN ins_sample_user isu ON isa.id = isu.user_id
+        LEFT JOIN user uu ON ip.check_user_id = uu.id
+        LEFT JOIN (
+        SELECT T1.ins_order_id,GROUP_CONCAT( DISTINCT T3.name SEPARATOR ', ' ) AS userName FROM ins_sample T1 LEFT JOIN
+        ins_product T2 ON T1.id = T2.ins_sample_id LEFT JOIN user T3 ON T2.check_user_id = T3.id GROUP BY
+        T1.ins_order_id
+        ) T4 ON T4.ins_order_id = io.id
         WHERE io.state = 1 and send_time is not null
-        <if test="isCheck != null">
-            <if test="userName !=null and userName!=''">
-                and checkName like CONCAT ('%', #{userName},'%')
+        -- 闈炴娴嬬鐞嗗憳
+        <if test="otherParam.testAdminFlag != null and !otherParam.testAdminFlag">
+            <if test="otherParam.checkUserFlag != null and otherParam.checkUserFlag">
+                AND (
+                isu.user_id = #{otherParam.userId} OR ip.check_user_id = #{otherParam.userId}
+                )
             </if>
         </if>
-        <if test="isCheck == null">
-            <if test="userName !=null and userName!=''">
-                and userName like CONCAT ('%', #{userName},'%')
+        -- 鏄娴嬬鐞嗗憳
+        <if test="otherParam.testAdminFlag != null and otherParam.testAdminFlag">
+            <if test="otherParam.viewMySelfFlag != null and otherParam.viewMySelfFlag">
+                AND (
+                isu.user_id = #{otherParam.userId} OR ip.check_user_id = #{otherParam.userId}
+                )
             </if>
         </if>
-        <if test="sonLaboratory!= null and sonLaboratory != ''">
-            and ip.son_laboratory = #{sonLaboratory}
-        </if>
-        GROUP BY
-        ip.son_laboratory,
-        io.id
+        GROUP BY io.id
         ) a
         LEFT JOIN ins_order_state ios ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory
-        ORDER BY
-        a.type DESC,
-        a.id
+        ORDER BY a.type DESC,a.id
         ) b
         where ins_state is not null
-        <if test="laboratory!=null and laboratory!=''">
-            and laboratory=#{laboratory}
-        </if>
         )A
         <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
             ${ew.customSqlSegment}
@@ -535,6 +520,7 @@
         select <include refid="getInsProducSql"/>
         from ins_product ip
                  left join ins_product_result ipr on ip.id = ipr.ins_product_id
+        left join user ur ON ip.check_user_id = ur.id
         where ins_sample_id = #{id}
           and state = 1
           and ip.son_laboratory = #{laboratory}

--
Gitblit v1.9.3