From 53da067c76ca7d4406b57c1a78565bd7b990868d Mon Sep 17 00:00:00 2001
From: 李林 <z1292839451@163.com>
Date: 星期五, 22 三月 2024 17:58:50 +0800
Subject: [PATCH] 功能大调整

---
 inspect-server/src/main/resources/mapper/InsSampleMapper.xml |  126 +++++++++++++++++++++++------------------
 1 files changed, 70 insertions(+), 56 deletions(-)

diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index ba5484b..6fd61d9 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -17,8 +17,6 @@
         <result property="sample" column="sample" jdbcType="VARCHAR"/>
         <result property="model" column="model" jdbcType="VARCHAR"/>
         <result property="isLeave" column="is_leave" jdbcType="INTEGER"/>
-        <result property="leaveNum" column="leave_num" jdbcType="INTEGER"/>
-        <result property="insProgress" column="ins_progress" jdbcType="VARCHAR"/>
         <result property="insState" column="ins_state" jdbcType="INTEGER"/>
         <result property="sendTime" column="send_time" jdbcType="TIMESTAMP"/>
         <result property="joinNum" column="join_num" jdbcType="INTEGER"/>
@@ -31,67 +29,83 @@
     </resultMap>
 
     <select id="findInsSampleAndOrder" resultType="com.yuanchu.mom.vo.InsOrderPlanVO">
-        SELECT DISTINCT
+        select * from(
+        SELECT
+        *
+        FROM
+        (
+        SELECT
+        io.id,
         io.entrust_code,
         io.type,
-        tempA.id,
-        tempA.sample,
-        tempA.sample_code,
-        tempA.send_time,
-        tempA.appointed,
-        tempA.ins_state,
-        tempA.ins_result,
-        tempA.user_id,
-        tempA.ins_order_id,
-        tempA.sample_user_id,
-        ipr.son_laboratory
-        FROM
-        (
-        SELECT
-        temp.*
-        FROM
-        (
-        SELECT
-        isa.id,
-        isa.sample,
-        isa.sample_code,
-        isa.send_time,
-        isa.appointed,
-        isa.ins_state,
-        isa.ins_result,
+        io.appointed,
+        io.send_time,
+        io.sample_type,
         isu.user_id,
-        isa.ins_order_id,
-        isu.id as sample_user_id
+        ip.son_laboratory,
+        io.ins_state,
+        io.ins_result
         FROM
-        ins_sample isa
-        LEFT JOIN ins_sample_user isu ON isa.id = isu.ins_sample_id
-        ) AS temp
+        ins_order io
+        LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id
+        LEFT JOIN ( SELECT * FROM ins_sample_user GROUP BY ins_sample_id, user_id ) isu ON isu.ins_sample_id = io.id
+        LEFT JOIN ins_product ip ON ip.ins_sample_id = isa.id
         WHERE
-        temp.user_id = #{ew.userId}
-        OR ( SELECT COUNT(*) FROM ins_sample_user WHERE ins_sample_id = temp.id ) = 0
-        ) AS tempA
-        LEFT JOIN ins_order io ON tempA.ins_order_id = io.id
-        LEFT JOIN ins_product ipr ON tempA.id = ipr.ins_sample_id
-        WHERE
-        io.state = #{ew.state}
-        AND ipr.state = 1
-        AND ipr.son_laboratory = #{ew.childrenLaboratory}
-        <if test="ew.insState!=null and ew.insState!=''">
-            AND tempA.ins_state = #{ew.insState}
+        io.state = 1
+        AND io.ins_state != 5
+        and send_time is not null
+        GROUP BY
+        ip.son_laboratory,
+        io.id
+        ) a
+        where a.user_id = #{userId} OR a.user_id is NULL
+        ORDER BY
+        a.user_id DESC,
+        a.type DESC,
+        a.id
+        ) b
+        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
+            ${ew.customSqlSegment}
         </if>
-        <if test="ew.sampleName!=null and ew.sampleName!=''">
-            AND tempA.sample like concat('%',#{ew.sampleName},'%')
-        </if>
-        <if test="ew.viewSelf==true">
-            AND tempA.sample_user_id is not null
-        </if>
-        ORDER BY io.type DESC,tempA.id
     </select>
 
     <select id="selectSampleProductListByOrderId" resultMap="sampleDto">
-        select isa.*,ip.id, inspection_item, inspection_item_classify, inspection_item_subclass, ip.factory, ip.laboratory, ip.sample_type, ip.sample, ip.model, son_laboratory, unit, price, man_hour, man_hour_group, inspection_item_type, inspection_value_type, device_group, checkout_number, section, value_type, method, man_day, bsm, ask, `last_value`, ip.ins_result, state, ins_sample_id, ip.create_user, ip.update_user, ip.create_time, ip.update_time, template_id
+        select isa.*,
+               ip.id,
+               inspection_item,
+               inspection_item_classify,
+               inspection_item_subclass,
+               ip.factory,
+               ip.laboratory,
+               ip.sample_type,
+               ip.sample,
+               ip.model,
+               son_laboratory,
+               ip.unit,
+               price,
+               man_hour,
+               man_hour_group,
+               inspection_item_type,
+               inspection_value_type,
+               device_group,
+               checkout_number,
+               section,
+               value_type,
+               method,
+               man_day,
+               bsm,
+               ask,
+               `last_value`,
+               ip.ins_result,
+               state,
+               ins_sample_id,
+               ip.create_user,
+               ip.update_user,
+               ip.create_time,
+               ip.update_time,
+               template_id
         from ins_sample isa
-        left join ins_product ip on isa.id = ip.ins_sample_id
+                 left join ins_product ip on isa.id = ip.ins_sample_id
         where ins_order_id = #{id}
     </select>
 
@@ -108,8 +122,6 @@
         <result property="sample" column="sample" jdbcType="VARCHAR"/>
         <result property="model" column="model" jdbcType="VARCHAR"/>
         <result property="isLeave" column="is_leave" jdbcType="INTEGER"/>
-        <result property="leaveNum" column="leave_num" jdbcType="INTEGER"/>
-        <result property="insProgress" column="ins_progress" jdbcType="VARCHAR"/>
         <result property="insState" column="ins_state" jdbcType="INTEGER"/>
         <result property="sendTime" column="send_time" jdbcType="TIMESTAMP"/>
         <result property="joinNum" column="join_num" jdbcType="INTEGER"/>
@@ -119,6 +131,8 @@
         <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
         <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
         <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+        <result property="standardMethodListId" column="standard_method_list_id"/>
+        <result property="unit" column="unit"/>
         <collection property="insProduct" resultMap="product"/>
     </resultMap>
 
@@ -133,7 +147,7 @@
         <result property="sample" column="ip.sample" jdbcType="VARCHAR"/>
         <result property="model" column="ip.model" jdbcType="VARCHAR"/>
         <result property="sonLaboratory" column="son_laboratory" jdbcType="VARCHAR"/>
-        <result property="unit" column="unit" jdbcType="VARCHAR"/>
+        <result property="unit" column="ip.unit" jdbcType="VARCHAR"/>
         <result property="price" column="price" jdbcType="DECIMAL"/>
         <result property="manHour" column="man_hour" jdbcType="DOUBLE"/>
         <result property="manHourGroup" column="man_hour_group" jdbcType="VARCHAR"/>

--
Gitblit v1.9.3