From 8bf55e1ac0ac6eb6c97a025f0c03b78e208f668e Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 26 八月 2024 17:26:58 +0800
Subject: [PATCH] 复核确认+插队+认领判断是否在库

---
 inspect-server/src/main/resources/mapper/InsSampleMapper.xml |  100 +++++++++++++-------------------------------------
 1 files changed, 26 insertions(+), 74 deletions(-)

diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index 6b49f8c..dd9c6f8 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -25,75 +25,9 @@
     </resultMap>
 
     <select id="findInsSampleAndOrder" resultType="com.yuanchu.mom.vo.InsOrderPlanVO">
-        <!--SELECT  *
-        FROM (
-        SELECT  *
-        FROM (
-        SELECT
-        io.id,
-        io.entrust_code,
-        io.type,
-        io.appointed,
-        io.send_time,
-        GROUP_CONCAT(DISTINCT isa.sample SEPARATOR ' ') AS sample,
-        isu.userName,
-        isu2.checkName,
-        ip.son_laboratory,
-        io.ins_time,
-        io.laboratory,
-        ios.ins_state,
-        ios.verify_tell,
-        ios.verify_user
-        FROM
-        ins_order io
-        LEFT JOIN ins_sample isa ON isa.ins_order_id = io.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
-        son_laboratory = #{sonLaboratory} AND u.state = 0
-        GROUP BY
-        ins_sample_id
-        ) isu ON isu.ins_sample_id = io.id
-        LEFT JOIN (
-        SELECT
-        ins_sample_id,
-        uu.name AS checkName
-        FROM
-        ins_sample_user u
-        LEFT JOIN user uu ON u.user_id = uu.id
-        WHERE
-        son_laboratory = #{sonLaboratory} AND u.state = 1
-        GROUP 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_order_state ios ON ios.ins_order_id = io.id AND ios.laboratory = ip.son_laboratory
-        WHERE
-        io.state = 1
-        AND io.send_time IS NOT NULL
-        AND (ip.son_laboratory = #{sonLaboratory} OR isu.userName IS NULL OR isu2.checkName IS NULL)
-        <if test="userName != null and userName != ''">
-            AND (isu.userName LIKE CONCAT('%', #{userName}, '%') OR isu2.checkName LIKE CONCAT('%', #{userName}, '%'))
-        </if>
-        GROUP BY
-        io.id, ip.son_laboratory
-        ORDER BY
-        io.type DESC, io.id
-        ) a
-        WHERE
-        a.ins_state IS NOT NULL
-        <if test="laboratory != null and laboratory != ''">
-            AND a.laboratory = #{laboratory}
-        </if>
-        ) b-->
         select * from(select * from(
         SELECT
-        a.*,ios.ins_state,ios.verify_tell,verify_user
+        a.*,ios.ins_state,ios.verify_tell,verify_user,ios.id orderStateId,ios.create_time,ios.sort
         FROM
         (
         SELECT
@@ -119,7 +53,6 @@
         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
@@ -141,8 +74,9 @@
         ) a
         LEFT JOIN ins_order_state ios ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory
         ORDER BY
+        ios.sort,
         a.type DESC,
-        a.id
+        ios.create_time
         ) b
         where ins_state is not null
         and son_laboratory=#{sonLaboratory}
@@ -191,7 +125,7 @@
         LEFT JOIN user ON isu.user_id = user.id
         WHERE
         io.state = 1
-        # AND io.ins_state != 5
+--         # AND io.ins_state != 5
         and send_time is not null
         <if test="userId !=null and userId!=''">
             and (isu.user_id = #{userId} OR isu.user_id is NULL )
@@ -211,8 +145,8 @@
         ) isu2 on
         isu2.ins_sample_id = a.id
         where ins_state is not null
-        <if test="laboratory != null and laboratory!=''">
-            and laboratory=#{laboratory}
+        <if test="laboratory != null and laboratory != ''">
+            and a.laboratory=#{laboratory}
         </if>
         ORDER BY
         <!--a.user_id DESC,-->
@@ -272,10 +206,16 @@
                  left join ins_product_result ipr on ip.id = ipr.ins_product_id
         where ins_order_id = #{id}
           and state = 1
-          and ins_fiber_id is null
-          and ins_fibers_id is null
+--           and ins_fiber_id is null
+--           and ins_fibers_id is null
           and <!--isa.sample_code NOT REGEXP '/'-->
             isa.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 )
+        order by case when man_hour_group is NULL then 1
+        when man_hour_group ='' then 1  else 0 end,
+        CASE
+        WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- 濡傛灉浠ユ暟瀛楀紑澶达紝鍒欐寜鐓ф暟瀛楀ぇ灏忔帓搴�
+        WHEN man_hour_group REGEXP '[0-9]+' THEN CAST(SUBSTRING(man_hour_group, 2)AS UNSIGNED) END -- 鎻愬彇瀛楁瘝鍚庨潰鐨勬暟瀛楅儴鍒�
+        ,id asc
     </select>
     <select id="getInsOrderAndSample" resultMap="sampleDto">
         select isa.*,
@@ -386,6 +326,12 @@
         where ins_order_id = #{id}
           and ip.standard_method_list_id is not null
           and state = 1
+        order by case when man_hour_group is NULL then 1
+                      when man_hour_group ='' then 1  else 0 end,
+                 CASE
+                     WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- 濡傛灉浠ユ暟瀛楀紑澶达紝鍒欐寜鐓ф暟瀛楀ぇ灏忔帓搴�
+                     WHEN man_hour_group REGEXP '[0-9]+' THEN CAST(SUBSTRING(man_hour_group, 2)AS UNSIGNED) END -- 鎻愬彇瀛楁瘝鍚庨潰鐨勬暟瀛楅儴鍒�
+                ,id asc
     </select>
 
     <select id="selectSampleProductListByOrderId3" resultMap="sampleDto3">
@@ -413,6 +359,12 @@
         <foreach collection="ids" open="(" close=")" item="id" separator=",">
             #{id}
         </foreach>
+        order by case when man_hour_group is NULL then 1
+        when man_hour_group ='' then 1  else 0 end,
+        CASE
+        WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- 濡傛灉浠ユ暟瀛楀紑澶达紝鍒欐寜鐓ф暟瀛楀ぇ灏忔帓搴�
+        WHEN man_hour_group REGEXP '[0-9]+' THEN CAST(SUBSTRING(man_hour_group, 2)AS UNSIGNED) END -- 鎻愬彇瀛楁瘝鍚庨潰鐨勬暟瀛楅儴鍒�
+        ,id asc
     </select>
 
     <select id="getInsProduct1" resultMap="product">

--
Gitblit v1.9.3