From 4eab53b44135f6381a7f2011ac17066412297f43 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 11 十月 2024 11:15:35 +0800
Subject: [PATCH] 电路试验的站点报告1.0

---
 inspect-server/src/main/resources/mapper/InsSampleMapper.xml |  812 ++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 622 insertions(+), 190 deletions(-)

diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index 32195f8..f817aad 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -3,7 +3,6 @@
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.yuanchu.mom.mapper.InsSampleMapper">
-
     <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.InsSample">
         <id property="id" column="id" jdbcType="INTEGER"/>
         <result property="insResult" column="ins_result" jdbcType="INTEGER"/>
@@ -26,9 +25,10 @@
     </resultMap>
 
     <select id="findInsSampleAndOrder" resultType="com.yuanchu.mom.vo.InsOrderPlanVO">
-        select * from(
+        select * from(select * from(
         SELECT
-        a.*,ios.ins_state,ios.verify_tell,isu2.order_user_id,(ios.verify_user = #{userId}) verify_user
+        a.*,ios.ins_state,ios.verify_tell,verify_user,ios.id
+        orderStateId,ios.create_time,ios.sort,sort_time,version,ios.num-1 num1
         FROM
         (
         SELECT
@@ -38,30 +38,54 @@
         io.appointed,
         io.send_time,
         group_concat(distinct isa.sample,' ') sample,
-        isu.user_id,
+        userName,
+        checkName,
         ip.son_laboratory,
-        io.ins_time
+        io.ins_time,
+        io.laboratory
         FROM
         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 (
+        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
+        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 son_laboratory=#{sonLaboratory}
+        and u.state=1
+        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
-        WHERE
-        io.state = 1
-#         AND io.ins_state != 5
-        and send_time is not null
-        and (isu.user_id = #{userId} OR isu.user_id is NULL)
+        WHERE io.state = 1 and send_time is not null
+        <if test="userName !=null and userName!=''">
+            and ( (userName like CONCAT ('%', #{userName},'%') )
+            or (checkName like CONCAT ('%', #{userName},'%') ) )
+        </if>
+        and ip.son_laboratory=#{sonLaboratory}
         GROUP BY
         ip.son_laboratory,
         io.id
         ) a
         LEFT JOIN ins_order_state ios ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory
-        left join (SELECT td.user_id order_user_id, td.ins_sample_id FROM ins_sample_user td,(SELECT max(id) id FROM ins_sample_user GROUP BY ins_sample_id) md  where td.id = md.id and user_id = #{userId}) isu2 on isu2.ins_sample_id = a.id
         ORDER BY
-        a.user_id DESC,
+        ios.sort,
+        sort_time desc,
         a.type DESC,
-        a.id
+        ios.create_time
         ) b
+        where ins_state is not null
+        and son_laboratory=#{sonLaboratory}
+        <if test="laboratory!=null and laboratory!=''">
+            and laboratory=#{laboratory}
+        </if>
+        )A
         <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
             ${ew.customSqlSegment}
         </if>
@@ -70,7 +94,7 @@
     <select id="inspectionOrderDetailsTaskSwitching" resultType="com.yuanchu.mom.vo.InsOrderPlanTaskSwitchVo">
         select * from(
         SELECT
-        a.*,ios.ins_state,ios.verify_tell,isu2.order_user_id,(ios.verify_user = #{userId}) verify_user
+        a.*,ios.ins_state,ios.verify_tell,isu2.order_user_id,<!--(ios.verify_user = #{userId})--> verify_user
         FROM
         (
         SELECT
@@ -79,28 +103,55 @@
         io.type,
         io.appointed,
         io.send_time,
-        io.sample_type,
+        group_concat(distinct isa.sample,' ') sampleType,
         isu.user_id,
+        user.name userName,
         ip.son_laboratory,
-        io.ins_time
+        io.ins_time,
+        io.laboratory
         FROM
         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 ( <!--SELECT * FROM ins_sample_user GROUP BY ins_sample_id, user_id -->
+        SELECT *
+        FROM ins_sample_user u
+        WHERE son_laboratory=#{sonLaboratory} and (ins_sample_id, id) IN (
+        SELECT ins_sample_id, MAX(id)
+        FROM ins_sample_user
+        WHERE son_laboratory=#{sonLaboratory}
+        GROUP BY ins_sample_id
+        )
+        ORDER BY ins_sample_id, id
+        ) isu ON isu.ins_sample_id = io.id
         LEFT JOIN ins_product ip ON ip.ins_sample_id = isa.id
+        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
-        and (isu.user_id = #{userId} OR isu.user_id is NULL)
+        <if test="userId !=null and userId!=''">
+            and (isu.user_id = #{userId} OR isu.user_id is NULL )
+        </if>
+        OR isu.user_id is NULL
         GROUP BY
         ip.son_laboratory,
         io.id
         ) a
         LEFT JOIN ins_order_state ios ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory
-        left join (SELECT td.user_id order_user_id, td.ins_sample_id FROM ins_sample_user td,(SELECT max(id) id FROM ins_sample_user GROUP BY ins_sample_id) md  where td.id = md.id and user_id = #{userId}) isu2 on isu2.ins_sample_id = a.id
+        left join (SELECT td.user_id order_user_id, td.ins_sample_id FROM ins_sample_user td,(SELECT max(id) id FROM
+        ins_sample_user where son_laboratory=#{sonLaboratory} GROUP BY ins_sample_id) md where td.id = md.id
+        <if test="userId !=null and userId!=''">
+            and user_id = #{userId} OR user_id is NULL
+        </if>
+        OR user_id is NULL
+        ) isu2 on
+        isu2.ins_sample_id = a.id
+        where ins_state is not null
+        <if test="laboratory != null and laboratory != ''">
+            and a.laboratory=#{laboratory}
+        </if>
         ORDER BY
-        a.user_id DESC,
+        <!--a.user_id DESC,-->
         a.type DESC,
         a.id
         ) b
@@ -111,20 +162,20 @@
 
     <select id="selectSampleProductListByOrderId" resultMap="sampleDto">
         select isa.*,
-               ip.id ip_id,
+               ip.id          ip_id,
                inspection_item,
                inspection_item_en,
                inspection_item_class,
                inspection_item_class_en,
                inspection_item_subclass,
                inspection_item_subclass_en,
-               ip.factory ip_factory,
-               ip.laboratory ip_laboratory,
+               ip.factory     ip_factory,
+               ip.laboratory  ip_laboratory,
                ip.sample_type ip_sample_type,
-               ip.sample ip_sample,
-               ip.model ip_model,
+               ip.sample      ip_sample,
+               ip.model       ip_model,
                son_laboratory,
-               ip.unit ip_unit,
+               ip.unit        ip_unit,
                price,
                man_hour,
                man_hour_group,
@@ -138,8 +189,9 @@
                man_day,
                bsm,
                ask,
+               tell,
                `last_value`,
-               ip.ins_result ip_ins_result,
+               ip.ins_result  ip_ins_result,
                state,
                ins_sample_id,
                ip.create_user ip_create_user,
@@ -147,137 +199,44 @@
                ip.create_time ip_create_time,
                ip.update_time ip_update_time,
                template_id,
-               ipr.ins_value,
-               ipr.com_value,
-               ipr.equip_value,
-               ip.method_s
-        from ins_sample isa
-        left join ins_product ip on isa.id = ip.ins_sample_id
-        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
-    </select>
-    <select id="getInsOrderAndSample" resultMap="sampleDto">
-        select isa.*,
-               ip.id ip_id,
-               inspection_item,
-               inspection_item_en,
-               inspection_item_class,
-               inspection_item_class_en,
-               inspection_item_subclass,
-               inspection_item_subclass_en,
-               ip.factory ip_factory,
-               ip.laboratory ip_laboratory,
-               ip.sample_type ip_sample_type,
-               ip.sample ip_sample,
-               ip.model ip_model,
-               son_laboratory,
-               ip.unit 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 ip_ins_result,
-               state,
-               ins_sample_id,
-               ip.create_user ip_create_user,
-               ip.update_user ip_update_user,
-               ip.create_time ip_create_time,
-               ip.update_time ip_update_time,
-               template_id,
-               ipr.ins_value,
-               ipr.com_value,
-               ipr.equip_value,
-               ipr.equip_name,
-               ip.method_s,
-               ip.tell,
-               ip.dic
-        from ins_sample isa
-        left join ins_product ip on isa.id = ip.ins_sample_id
-        left join ins_product_result ipr on ip.id = ipr.ins_product_id
-        where ins_order_id = #{id}
-        and state = 1
-        and ip.son_laboratory = #{laboratory}
-        and ins_fiber_id is null
-        and ins_fibers_id is null
-    </select>
-    <select id="getSampleEn" resultType="java.lang.String">
-        select name_en from `center-lims`.product
-        where name = #{sample}
-    </select>
-    <select id="selectSampleProductListByOrderId2" resultMap="sampleDto">
-        select isa.*,
-               ip.id ip_id,
-               inspection_item,
-               inspection_item_en,
-               inspection_item_subclass,
-               inspection_item_subclass_en,
-               inspection_item_class,
-               inspection_item_class_en,
-               ip.factory ip_factory,
-               ip.laboratory ip_laboratory,
-               ip.sample_type ip_sample_type,
-               ip.sample ip_sample,
-               ip.model ip_model,
-               son_laboratory,
-               ip.unit 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 ip_ins_result,
-               state,
-               ins_sample_id,
-               ip.create_user ip_create_user,
-               ip.update_user ip_update_user,
-               ip.create_time ip_create_time,
-               ip.update_time ip_update_time,
-               template_id,
-               ipr.ins_value,
-               ipr.com_value,
-               ipr.equip_value,
                ip.method_s
         from ins_sample isa
                  left join ins_product ip on isa.id = ip.ins_sample_id
-                 left join ins_product_result ipr on ip.id = ipr.ins_product_id
-        where ins_order_id = #{id}
+        where isa.ins_order_id = #{id}
           and state = 1
+          and 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="getInsProduct1" resultMap="product">
-        select ip.id ip_id,
+    <select id="getInsOrderAndSample" resultMap="sampleDto">
+        select isa.*,
+               ios.num          num1,
+               ip.id            ip_id,
                inspection_item,
                inspection_item_en,
+               inspection_item_class,
+               inspection_item_class_en,
                inspection_item_subclass,
                inspection_item_subclass_en,
-               ip.factory ip_factory,
-               ip.laboratory ip_laboratory,
-               ip.sample_type ip_sample_type,
-               ip.sample ip_sample,
-               ip.model ip_model,
+               ip.factory       ip_factory,
+               ip.laboratory    ip_laboratory,
+               ip.sample_type   ip_sample_type,
+               ip.sample        ip_sample,
+               ip.model         ip_model,
                son_laboratory,
-               ip.unit ip_unit,
+               ip.unit          ip_unit,
                price,
                man_hour,
                man_hour_group,
@@ -292,44 +251,371 @@
                bsm,
                ask,
                `last_value`,
-               ip.ins_result ip_ins_result,
+               ip.ins_result    ip_ins_result,
                state,
                ins_sample_id,
-               ip.create_user ip_create_user,
-               ip.update_user ip_update_user,
-               ip.create_time ip_create_time,
-               ip.update_time ip_update_time,
+               ip.create_user   ip_create_user,
+               ip.update_user   ip_update_user,
+               ip.create_time   ip_create_time,
+               ip.update_time   ip_update_time,
                template_id,
                ipr.ins_value,
                ipr.com_value,
                ipr.equip_value,
                ipr.equip_name,
+               ipr2.frequency,
+               ipr2.often,
+               ipr2.port,
+               ipr2.angle,
+               ipr2.value,
+               ipr2.result,
+               ipr2.equip_value equipValue2,
+               ipr2.equip_name  equipName2,
+               ip.method_s,
+               ip.tell,
+               ip.dic,
+               ip.temperature,
+               ip.humidity
+        from ins_sample isa
+                 left join ins_order_state ios on isa.ins_order_id = ios.ins_order_id
+                 left join ins_product ip on isa.id = ip.ins_sample_id
+                 left join ins_product_result ipr on ip.id = ipr.ins_product_id
+                 left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
+        where isa.ins_order_id = #{id}
+          and state = 1
+          and ip.son_laboratory = #{laboratory}
+          and ios.laboratory = #{laboratory}
+          and (ipr2.num = ios.num or ipr2.num is null)
+          and (ipr.num = ios.num or ipr.num is null)
+    </select>
+    <select id="getInsOrderAndSample2" resultMap="sampleDto">
+        select isa.*,
+               ios.num          num1,
+               ip.id            ip_id,
+               inspection_item,
+               inspection_item_en,
+               inspection_item_class,
+               inspection_item_class_en,
+               inspection_item_subclass,
+               inspection_item_subclass_en,
+               ip.factory       ip_factory,
+               ip.laboratory    ip_laboratory,
+               ip.sample_type   ip_sample_type,
+               ip.sample        ip_sample,
+               ip.model         ip_model,
+               son_laboratory,
+               ip.unit          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    ip_ins_result,
+               state,
+               ins_sample_id,
+               ip.create_user   ip_create_user,
+               ip.update_user   ip_update_user,
+               ip.create_time   ip_create_time,
+               ip.update_time   ip_update_time,
+               template_id,
+               ipr.ins_value,
+               ipr.com_value,
+               ipr.equip_value,
+               ipr.equip_name,
+               ipr2.frequency,
+               ipr2.often,
+               ipr2.port,
+               ipr2.angle,
+               ipr2.value,
+               ipr2.result,
+               ipr2.equip_value equipValue2,
+               ipr2.equip_name  equipName2,
+               ip.method_s,
+               ip.tell,
+               ip.dic,
+               ip.temperature,
+               ip.humidity
+        from ins_sample isa
+                 left join ins_order_state ios on isa.ins_order_id = ios.ins_order_id
+                 left join ins_product ip on isa.id = ip.ins_sample_id
+                 left join ins_product_result ipr on ip.id = ipr.ins_product_id
+                 left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
+        where isa.ins_order_id = #{id}
+          and state = 1
+          and ip.son_laboratory = #{laboratory}
+          and ios.laboratory = #{laboratory}
+    </select>
+    <select id="getSampleEn" resultType="java.lang.String">
+        select name_en
+        from `center-lims`.product
+        where name = #{sample}
+        limit 1
+    </select>
+    <select id="selectSampleProductListByOrderId2" resultMap="sampleDto">
+        select isa.*,
+               ios.num          num1,
+               ip.id            ip_id,
+               inspection_item,
+               inspection_item_en,
+               inspection_item_subclass,
+               inspection_item_subclass_en,
+               inspection_item_class,
+               inspection_item_class_en,
+               ip.factory       ip_factory,
+               ip.laboratory    ip_laboratory,
+               ip.sample_type   ip_sample_type,
+               ip.sample        ip_sample,
+               ip.model         ip_model,
+               son_laboratory,
+               ip.unit          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,
+               tell,
+               `last_value`,
+               ip.ins_result    ip_ins_result,
+               state,
+               ins_sample_id,
+               ip.create_user   ip_create_user,
+               ip.update_user   ip_update_user,
+               ip.create_time   ip_create_time,
+               ip.update_time   ip_update_time,
+               template_id,
+               ipr.ins_value,
+               ipr.com_value,
+               ipr.equip_value,
+               ipr2.frequency,
+               ipr2.often,
+               ipr2.port,
+               ipr2.angle,
+               ipr2.value,
+               ipr2.result,
+               ipr2.equip_value equipValue2,
+               ipr2.equip_name  equipName2,
+               ip.method_s
+        from ins_sample isa
+                 left join ins_order_state ios on isa.ins_order_id = ios.ins_order_id
+                 left join ins_product ip on isa.id = ip.ins_sample_id
+                 left join ins_product_result ipr on ip.id = ipr.ins_product_id
+                 left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
+        where isa.ins_order_id = #{id}
+          and ip.standard_method_list_id is not null
+          and state = 1
+          and (ipr2.num = ios.num or ipr2.num is null)
+          and (ipr.num = ios.num or ipr.num is null)
+        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="selectSampleProductListByOrder2Id2" resultMap="sampleDto">
+        select isa.*,
+               ios.num          num1,
+               ip.id            ip_id,
+               inspection_item,
+               inspection_item_en,
+               inspection_item_subclass,
+               inspection_item_subclass_en,
+               inspection_item_class,
+               inspection_item_class_en,
+               ip.factory       ip_factory,
+               ip.laboratory    ip_laboratory,
+               ip.sample_type   ip_sample_type,
+               ip.sample        ip_sample,
+               ip.model         ip_model,
+               son_laboratory,
+               ip.unit          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,
+               tell,
+               `last_value`,
+               ip.ins_result    ip_ins_result,
+               state,
+               ins_sample_id,
+               ip.create_user   ip_create_user,
+               ip.update_user   ip_update_user,
+               ip.create_time   ip_create_time,
+               ip.update_time   ip_update_time,
+               template_id,
+               ipr.ins_value,
+               ipr.com_value,
+               ipr.equip_value,
+               ipr2.frequency,
+               ipr2.often,
+               ipr2.port,
+               ipr2.angle,
+               ipr2.value,
+               ipr2.result,
+               ipr2.equip_value equipValue2,
+               ipr2.equip_name  equipName2,
+               ip.method_s
+        from ins_sample isa
+                 left join ins_order_state ios on isa.ins_order_id = ios.ins_order_id
+                 left join ins_product ip on isa.id = ip.ins_sample_id
+                 left join ins_product_result ipr on ip.id = ipr.ins_product_id
+                 left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
+        where isa.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">
+        select isa.id,
+        sample_code,
+        motor_number,
+        isa.sample,
+        entrust_code,
+        is_leave,
+        isa.model,
+        isa.ins_state,
+        ip.id ip_id,
+        inspection_item,
+        inspection_item_subclass,
+        io.sample_type io_sample_type,
+        ip.sample ip_sample,
+        ip.model ip_model,
+        ip.state,
+        ins_sample_id
+        from ins_sample isa
+        left join ins_product ip on isa.id = ip.ins_sample_id
+        left join ins_order io on io.id = ins_order_id
+        where ip.state = 1
+        and ins_order_id in
+        <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">
+        select ip.id            ip_id,
+               inspection_item,
+               inspection_item_en,
+               inspection_item_class,
+               inspection_item_class_en,
+               inspection_item_subclass,
+               inspection_item_subclass_en,
+               ip.factory       ip_factory,
+               ip.laboratory    ip_laboratory,
+               ip.sample_type   ip_sample_type,
+               ip.sample        ip_sample,
+               ip.model         ip_model,
+               son_laboratory,
+               ip.unit          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    ip_ins_result,
+               state,
+               ins_sample_id,
+               ip.create_user   ip_create_user,
+               ip.update_user   ip_update_user,
+               ip.create_time   ip_create_time,
+               ip.update_time   ip_update_time,
+               template_id,
+               ipr.ins_value,
+               ipr.com_value,
+               ipr.equip_value,
+               ipr.equip_name,
+               ipr2.frequency,
+               ipr2.often,
+               ipr2.port,
+               ipr2.angle,
+               ipr2.value,
+               ipr2.result,
+               ipr2.equip_value equipValue2,
+               ipr2.equip_name  equipName2,
                ip.method_s,
                ip.tell,
                ip.dic
         from ins_product ip
-        left join ins_product_result ipr on ip.id = ipr.ins_product_id
+                 left join ins_sample isa on ip.ins_sample_id = isa.id
+                 left join ins_order_state ios on ios.ins_order_id = isa.ins_order_id
+                 left join ins_product_result ipr on ip.id = ipr.ins_product_id
+                 left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
         where ins_sample_id = #{id}
           and state = 1
           and ip.son_laboratory = #{laboratory}
-          and ins_fiber_id is null
-          and ins_fibers_id is null
+          and ip.standard_method_list_id is not null
+          and ios.laboratory = #{laboratory}
+          and (ipr2.num = ios.num or ipr2.num is null)
+          and (ipr.num = ios.num or ipr.num is null)
+        order by ipr.id, ipr2.id
     </select>
-    <select id="getInsProduct2" resultMap="product">
-        select ip.id ip_id,
+    <select id="getIns2Product1" resultMap="product">
+        select ip.id            ip_id,
                inspection_item,
                inspection_item_en,
                inspection_item_class,
                inspection_item_class_en,
                inspection_item_subclass,
                inspection_item_subclass_en,
-               ip.factory ip_factory,
-               ip.laboratory ip_laboratory,
-               ip.sample_type ip_sample_type,
-               ip.sample ip_sample,
-               ip.model ip_model,
+               ip.factory       ip_factory,
+               ip.laboratory    ip_laboratory,
+               ip.sample_type   ip_sample_type,
+               ip.sample        ip_sample,
+               ip.model         ip_model,
                son_laboratory,
-               ip.unit ip_unit,
+               ip.unit          ip_unit,
                price,
                man_hour,
                man_hour_group,
@@ -344,42 +630,56 @@
                bsm,
                ask,
                `last_value`,
-               ip.ins_result ip_ins_result,
+               ip.ins_result    ip_ins_result,
                state,
                ins_sample_id,
-               ip.create_user ip_create_user,
-               ip.update_user ip_update_user,
-               ip.create_time ip_create_time,
-               ip.update_time ip_update_time,
+               ip.create_user   ip_create_user,
+               ip.update_user   ip_update_user,
+               ip.create_time   ip_create_time,
+               ip.update_time   ip_update_time,
                template_id,
                ipr.ins_value,
                ipr.com_value,
                ipr.equip_value,
                ipr.equip_name,
+               ipr2.frequency,
+               ipr2.often,
+               ipr2.port,
+               ipr2.angle,
+               ipr2.value,
+               ipr2.result,
+               ipr2.equip_value equipValue2,
+               ipr2.equip_name  equipName2,
                ip.method_s,
                ip.tell,
                ip.dic
         from ins_product ip
-        left join ins_product_result ipr on ip.id = ipr.ins_product_id
-        where ins_fibers_id = #{id}
+                 left join ins_sample isa on ip.ins_sample_id = isa.id
+                 left join ins_order_state ios on ios.ins_order_id = isa.ins_order_id
+                 left join ins_product_result ipr on ip.id = ipr.ins_product_id
+                 left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
+        where ins_sample_id = #{id}
           and state = 1
-          and ins_fiber_id is null
+          and ip.son_laboratory = #{laboratory}
+          and ip.standard_method_list_id is not null
+          and ios.laboratory = #{laboratory}
+        order by ipr.id, ipr2.id
     </select>
-    <select id="getInsProduct3" resultMap="product">
-        select ip.id ip_id,
+    <select id="get2InsProduct1" resultMap="product">
+        select ip.id            ip_id,
                inspection_item,
                inspection_item_en,
                inspection_item_class,
                inspection_item_class_en,
                inspection_item_subclass,
                inspection_item_subclass_en,
-               ip.factory ip_factory,
-               ip.laboratory ip_laboratory,
-               ip.sample_type ip_sample_type,
-               ip.sample ip_sample,
-               ip.model ip_model,
+               ip.factory       ip_factory,
+               ip.laboratory    ip_laboratory,
+               ip.sample_type   ip_sample_type,
+               ip.sample        ip_sample,
+               ip.model         ip_model,
                son_laboratory,
-               ip.unit ip_unit,
+               ip.unit          ip_unit,
                price,
                man_hour,
                man_hour_group,
@@ -394,26 +694,44 @@
                bsm,
                ask,
                `last_value`,
-               ip.ins_result ip_ins_result,
+               ip.ins_result    ip_ins_result,
                state,
                ins_sample_id,
-               ip.create_user ip_create_user,
-               ip.update_user ip_update_user,
-               ip.create_time ip_create_time,
-               ip.update_time ip_update_time,
+               ip.create_user   ip_create_user,
+               ip.update_user   ip_update_user,
+               ip.create_time   ip_create_time,
+               ip.update_time   ip_update_time,
                template_id,
                ipr.ins_value,
                ipr.com_value,
                ipr.equip_value,
                ipr.equip_name,
+               ipr2.frequency,
+               ipr2.often,
+               ipr2.port,
+               ipr2.angle,
+               ipr2.value,
+               ipr2.result,
+               ipr2.equip_value equipValue2,
+               ipr2.equip_name  equipName2,
                ip.method_s,
                ip.tell,
                ip.dic
         from ins_product ip
-        left join ins_product_result ipr on ip.id = ipr.ins_product_id
-        where ins_fiber_id = #{id}
+                 left join ins_sample isa on ip.ins_sample_id = isa.id
+                 left join ins_order_state ios on ios.ins_order_id = isa.ins_order_id
+                 left join ins_product_result ipr on ip.id = ipr.ins_product_id
+                 left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
+        where ins_sample_id = #{id}
           and state = 1
-          and ins_fibers_id is null
+          and ip.son_laboratory = #{laboratory}
+          and ip.standard_method_list_id is not null
+          and ios.laboratory = #{laboratory}
+          and (ipr2.num = #{num} or ipr.num = #{num})
+        order by ipr.id, ipr2.id
+    </select>
+
+    <select id="getReportModel" resultType="java.util.Map">
     </select>
 
     <resultMap id="sampleDto" type="com.yuanchu.mom.dto.SampleProductDto">
@@ -423,6 +741,8 @@
         <result property="joinModel" column="join_model" jdbcType="VARCHAR"/>
         <result property="joinName" column="join_name" jdbcType="VARCHAR"/>
         <result property="sampleCode" column="sample_code" jdbcType="VARCHAR"/>
+        <result property="motorNumber" column="motor_number" jdbcType="VARCHAR"/>
+        <result property="testRequirements" column="test_requirements" jdbcType="VARCHAR"/>
         <result property="factory" column="factory" jdbcType="VARCHAR"/>
         <result property="laboratory" column="laboratory" jdbcType="VARCHAR"/>
         <result property="sampleType" column="sample_type" jdbcType="VARCHAR"/>
@@ -437,6 +757,7 @@
         <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
         <result property="standardMethodListId" column="standard_method_list_id"/>
         <result property="unit" column="unit"/>
+        <result property="num1" column="num1"/>
         <collection property="insProduct" resultMap="product"/>
     </resultMap>
 
@@ -468,6 +789,7 @@
         <result property="manDay" column="man_day" jdbcType="INTEGER"/>
         <result property="bsm" column="bsm" jdbcType="VARCHAR"/>
         <result property="ask" column="ask" jdbcType="VARCHAR"/>
+        <result property="tell" column="tell" jdbcType="VARCHAR"/>
         <result property="lastValue" column="last_value" jdbcType="VARCHAR"/>
         <result property="insResult" column="ip_ins_result" jdbcType="INTEGER"/>
         <result property="state" column="state" jdbcType="INTEGER"/>
@@ -480,7 +802,38 @@
         <result property="methodS" column="method_s"/>
         <result property="tell" column="tell"/>
         <result property="dic" column="dic"/>
+        <result property="temperature" column="temperature"/>
+        <result property="humidity" column="humidity"/>
         <collection property="insProductResult" resultMap="insProductResult"/>
+        <collection property="insProductResult2" resultMap="insProductResult2"/>
+    </resultMap>
+
+    <resultMap id="sampleDto3" type="com.yuanchu.mom.dto.SampleProductDto3">
+        <id property="id" column="id" jdbcType="INTEGER"/>
+        <result property="insResult" column="ins_result" jdbcType="INTEGER"/>
+        <result property="insOrderId" column="ins_order_id" jdbcType="INTEGER"/>
+        <result property="joinModel" column="join_model" jdbcType="VARCHAR"/>
+        <result property="joinName" column="join_name" jdbcType="VARCHAR"/>
+        <result property="ioSampleType" column="io_sample_type" jdbcType="VARCHAR"/>
+        <result property="code" column="entrust_code" jdbcType="VARCHAR"/>
+        <result property="isLeave" column="is_leave" jdbcType="VARCHAR"/>
+        <result property="sampleCode" column="sample_code" jdbcType="VARCHAR"/>
+        <result property="motorNumber" column="motor_number" jdbcType="VARCHAR"/>
+        <result property="factory" column="factory" jdbcType="VARCHAR"/>
+        <result property="laboratory" column="laboratory" jdbcType="VARCHAR"/>
+        <result property="sampleType" column="sample_type" jdbcType="VARCHAR"/>
+        <result property="sample" column="sample" jdbcType="VARCHAR"/>
+        <result property="model" column="model" jdbcType="VARCHAR"/>
+        <result property="insState" column="ins_state" jdbcType="INTEGER"/>
+        <result property="joinNum" column="join_num" jdbcType="INTEGER"/>
+        <result property="remark" column="remark" jdbcType="VARCHAR"/>
+        <result property="createUser" column="create_user" jdbcType="INTEGER"/>
+        <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>
 
     <resultMap id="insProductResult" type="com.yuanchu.mom.pojo.InsProductResult">
@@ -489,4 +842,83 @@
         <result property="equipValue" column="equip_value" jdbcType="VARCHAR"/>
         <result property="equipName" column="equip_name" jdbcType="VARBINARY"/>
     </resultMap>
+    <resultMap id="insProductResult2" type="com.yuanchu.mom.pojo.InsProductResult2">
+        <result column="frequency" property="frequency" jdbcType="VARCHAR"/>
+        <result column="often" property="often" jdbcType="VARCHAR"/>
+        <result column="port" property="port" jdbcType="VARCHAR"/>
+        <result column="angle" property="angle" jdbcType="VARCHAR"/>
+        <result column="value" property="value" jdbcType="VARCHAR"/>
+        <result column="result" property="result" jdbcType="INTEGER"/>
+        <result property="equipValue" column="equipValue2" jdbcType="VARCHAR"/>
+        <result property="equipName" column="equipName2" jdbcType="VARBINARY"/>
+    </resultMap>
+
+    <resultMap id="sampleVo" type="com.yuanchu.mom.vo.SampleVo">
+        <id property="id" column="id" jdbcType="INTEGER"/>
+        <result property="insResult" column="ins_result" jdbcType="INTEGER"/>
+        <result property="insOrderId" column="ins_order_id" jdbcType="INTEGER"/>
+        <result property="joinModel" column="join_model" jdbcType="VARCHAR"/>
+        <result property="joinName" column="join_name" jdbcType="VARCHAR"/>
+        <result property="sampleCode" column="sample_code" jdbcType="VARCHAR"/>
+        <result property="factory" column="factory" jdbcType="VARCHAR"/>
+        <result property="laboratory" column="laboratory" jdbcType="VARCHAR"/>
+        <result property="sampleType" column="sample_type" jdbcType="VARCHAR"/>
+        <result property="sample" column="sample" jdbcType="VARCHAR"/>
+        <result property="model" column="model" jdbcType="VARCHAR"/>
+        <result property="insState" column="ins_state" jdbcType="INTEGER"/>
+        <result property="joinNum" column="join_num" jdbcType="INTEGER"/>
+        <result property="remark" column="remark" jdbcType="VARCHAR"/>
+        <result property="createUser" column="create_user" jdbcType="INTEGER"/>
+        <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="methodName" column="methodName" jdbcType="VARCHAR"/>
+        <result property="unit" column="unit"/>
+    </resultMap>
+
+    <select id="getDetailById" resultMap="sampleVo">
+        select is2.*,
+               code methodName
+        from ins_sample is2
+                 inner join standard_method sm on standard_method_list_id = sm.id
+        where is2.id = #{sampleId}
+    </select>
+
+    <select id="selMethodById" resultType="java.lang.String">
+        select code
+        from standard_method
+        where id = (select standard_method_list_id from ins_sample where id = #{sampleId})
+    </select>
+    <select id="selectSampleList" resultType="java.util.Map">
+        select DISTINCT sample_code
+        from ins_sample
+                 left join ins_product ip on ins_sample.id = ip.ins_sample_id
+        where ins_order_id = #{orderId}
+          and ip.id is not null
+    </select>
+    <select id="selectSampleListByOrderId" resultType="com.yuanchu.mom.pojo.InsSample">
+        select DISTINCT ins_sample.*
+        from ins_sample
+                 left join ins_product ip on ins_sample.id = ip.ins_sample_id
+        where ins_order_id = #{orderId}
+          and ip.id is not null
+    </select>
+    <select id="selectInsSample" resultType="com.yuanchu.mom.pojo.InsSample">
+        select isa.*,entrust_code
+        from ins_sample isa
+        left join ins_order io on isa.ins_order_id = io.id
+        where ins_order_id in
+        <foreach collection="ids" open="(" close=")" item="id" separator=",">
+            #{id}
+        </foreach>
+    </select>
+    <select id="selectSample" resultType="com.yuanchu.mom.pojo.InsSample">
+        select distinct isa.*
+        from ins_sample isa
+                 left join ins_product ip on isa.id = ip.ins_sample_id
+        where son_laboratory = '鐢佃矾璇曢獙'
+        and state=1
+        and ins_order_id=#{insOrderId}
+    </select>
 </mapper>

--
Gitblit v1.9.3