inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -23,12 +23,28 @@
        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
    </resultMap>
    <select id="findInsSampleAndOrder" resultType="com.yuanchu.mom.vo.InsOrderPlanVO">
        <!--select * from(select * from(
        select * from(
        select * from(
        SELECT
        a.*,ios.ins_state,ios.verify_tell,isu2.order_user_id,verify_user
        a.*,
        ios.ins_state,
        ios.is_out,
        ios.laboratory son_laboratory,
        ios.verify_tell,
        verify_user,
        ios.id orderStateId,
        ios.create_time,
        (SELECT ins_time FROM ins_order_state WHERE ins_order_id = a.id AND laboratory = son_laboratory and
        ins_order_state.ins_sample_id=a.sampleId ORDER BY ins_time DESC LIMIT 1) AS ins_time ,
        iou.submit_time ,
        ios.sort,
        sort_time,
        version,
        ios.num-1 num1
        FROM
        ins_order_state ios
        LEFT JOIN
        (
        SELECT
        io.id,
@@ -36,84 +52,26 @@
        io.type,
        io.appointed,
        io.send_time,
        group_concat(distinct isa.sample,' ') sample,
        isu.user_id,
        user.name userName,
        ip.son_laboratory,
        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 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 send_time is not 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 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
        ORDER BY
        a.type DESC,
        a.id
        ) b
        where ins_state is not null-->
        select * from(select * from(
        SELECT
        a.*,ios.ins_state,ios.verify_tell,verify_user
        FROM
        (
        SELECT
        io.id,
        io.entrust_code,
        io.type,
        io.appointed,
        io.send_time,
        group_concat(distinct isa.sample,' ') sample,
        isa.id sampleId,
        isa.sample sample,
        isa.sample_code sampleCode,
        userName,
        userNameId,
        checkName,
        ip.son_laboratory,
        io.ins_time,
        io.laboratory
        io.laboratory,
        io.state
        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
        ,GROUP_CONCAT( DISTINCT uu.id SEPARATOR ',') AS userNameId
        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
        ) isu ON isu.ins_sample_id = isa.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
@@ -121,28 +79,25 @@
        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
        )isu2 ON isu2.ins_sample_id = isa.id
        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
        ON ios.ins_order_id = a.id AND ios.laboratory = #{sonLaboratory} and ios.ins_sample_id=a.sampleId
        LEFT JOIN ins_order_user iou ON ios.id = iou.ins_order_state_id and ios.num=iou.num
        ORDER BY
        ios.sort,
        sort_time desc,
        a.type DESC,
        a.id
        ios.create_time
        ) b
        where ins_state is not null
        and (is_out is null or is_out !=1)
        and son_laboratory=#{sonLaboratory}
        and state =1
        <if test="laboratory!=null and laboratory!=''">
            and laboratory=#{laboratory}
        </if>
@@ -155,8 +110,10 @@
    <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,verify_user,ios.laboratory son_laboratory
        FROM
        ins_order_state ios
        LEFT JOIN
        (
        SELECT
        io.id,
@@ -164,16 +121,18 @@
        io.type,
        io.appointed,
        io.send_time,
        group_concat(distinct isa.sample,' ') sampleType,
        isa.id sampleId,
        isa.sample sampleType,
        isa.sample_code sampleCode,
        isu.user_id,
        user.name userName,
        ip.son_laboratory,
        io.ins_time,
        io.laboratory
        io.laboratory,
        io.state
        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 -->
        LEFT JOIN (
        SELECT *
        FROM ins_sample_user u
        WHERE son_laboratory=#{sonLaboratory} and (ins_sample_id, id) IN (
@@ -183,36 +142,29 @@
        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
        ) isu ON isu.ins_sample_id = isa.id
        LEFT JOIN user ON isu.user_id = user.id
        WHERE
        io.state = 1
        # 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 )
        </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
        ON ios.ins_order_id = a.id AND ios.laboratory = #{sonLaboratory} and a.sampleId=ios.ins_sample_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
        isu2.ins_sample_id = a.sampleId
        where ins_state is not null
        <if test="laboratory != null and laboratory!=''">
            and laboratory=#{laboratory}
        </if>
        and state=1
        ORDER BY
        <!--a.user_id DESC,-->
        a.type DESC,
        a.id
        ) b
@@ -230,6 +182,7 @@
               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,
@@ -260,36 +213,35 @@
               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.id = #{id}
          and state = 1
          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 )
          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)
    </select>
    <select id="getInsOrderAndSample" resultMap="sampleDto">
        select isa.*,
               ip.id          ip_id,
               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,
@@ -304,31 +256,119 @@
               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,
               ios.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,
               ipr.before_check,
               ipr.before_note,
               ipr.after_check,
               ipr.after_note,
               ipr.test_result,
               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.id = ios.ins_sample_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
        where ins_order_id = #{id}
                 left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
        where isa.id = #{sampleId}
          and state = 1
          and ip.son_laboratory = #{laboratory}
          and ins_fiber_id is null
          and ins_fibers_id is 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)
    </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,
               ios.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,
               ipr.before_check,
               ipr.before_note,
               ipr.after_check,
               ipr.after_note,
               ipr.test_result,
               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.id = ios.ins_sample_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.id = #{sampleId}
          and state = 1
          and ip.son_laboratory = #{laboratory}
          and ios.laboratory = #{laboratory}
          and (ipr2.num is null or ipr.num is null)
    </select>
    <select id="getSampleEn" resultType="java.lang.String">
        select name_en
@@ -338,6 +378,7 @@
    </select>
    <select id="selectSampleProductListByOrderId2" resultMap="sampleDto">
        select isa.*,
               ios.num        num1,
               ip.id          ip_id,
               inspection_item,
               inspection_item_en,
@@ -369,27 +410,73 @@
               `last_value`,
               ip.ins_result  ip_ins_result,
               state,
               ins_sample_id,
               ip.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_order_state ios on isa.id = ios.ins_sample_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
        where ins_order_id = #{id}
        where isa.ins_order_id = #{id}
          and ip.standard_method_list_id is not null
          and state = 1
    </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,
               ip.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,
               ip.method_s
        from ins_sample isa
                 left join ins_order_state ios on isa.id = ios.ins_sample_id
                 left join ins_product ip on isa.id = ip.ins_sample_id
        where isa.ins_order_id = #{id}
          and ip.standard_method_list_id is not null
          and state = 1
    </select>
    <select id="selectSampleProductListByOrderId3" resultMap="sampleDto3">
        select isa.id,
        sample_code,
        motor_number,
        isa.sample,
        entrust_code,
        is_leave,
@@ -402,11 +489,13 @@
        ip.sample ip_sample,
        ip.model ip_model,
        ip.state,
        io.issue_time,
        u.name issueName,
        ins_sample_id
        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
        left join ins_order io on io.id = ins_order_id
        left join user u on io.issue_user = u.id
        where ip.state = 1
        and ins_order_id in
        <foreach collection="ids" open="(" close=")" item="id" separator=",">
@@ -415,20 +504,20 @@
    </select>
    <select id="getInsProduct1" resultMap="product">
        select ip.id          ip_id,
        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,
@@ -443,45 +532,63 @@
               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,
               ios.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,
               ipr.before_check,
               ipr.before_note,
               ipr.after_check,
               ipr.after_note,
               ipr.test_result,
               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_sample isa on ip.ins_sample_id = isa.id
                 left join ins_order_state ios on ios.ins_sample_id = isa.id
                 left join ins_product_result ipr on ip.id = ipr.ins_product_id
        where ins_sample_id = #{id}
                 left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
        where ios.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 standard_method_list_id is not 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 ip.id, 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,
@@ -496,43 +603,61 @@
               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,
               ios.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,
               ipr.before_check,
               ipr.before_note,
               ipr.after_check,
               ipr.after_note,
               ipr.test_result,
               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_sample isa on ip.ins_sample_id = isa.id
                 left join ins_order_state ios on ios.ins_sample_id = isa.id
                 left join ins_product_result ipr on ip.id = ipr.ins_product_id
        where ins_fibers_id = #{id}
                 left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
        where ios.ins_sample_id = #{id}
          and state = 1
          and ins_fiber_id is null
          and standard_method_list_id is not null
          and ip.son_laboratory = #{laboratory}
          and ip.standard_method_list_id is not null
          and ios.laboratory = #{laboratory}
        order by ip.id, 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,
@@ -547,81 +672,48 @@
               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,
               ios.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,
               ipr.before_check,
               ipr.before_note,
               ipr.after_check,
               ipr.after_note,
               ipr.test_result,
               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_sample isa on ip.ins_sample_id = isa.id
                 left join ins_order_state ios on ios.ins_sample_id = isa.id
                 left join ins_product_result ipr on ip.id = ipr.ins_product_id
        where ins_fiber_id = #{id}
                 left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
        where ios.ins_sample_id = #{id}
          and state = 1
          and ins_fibers_id is null
          and standard_method_list_id is not 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 ip.id, ipr.id, ipr2.id
    </select>
    <select id="getInsProduct4" 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.ins_bush_id,
               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_product ip
                 left join ins_product_result ipr on ip.id = ipr.ins_product_id
        where ins_bush_id = #{id}
          and state = 1
          and ins_fibers_id is null
          and standard_method_list_id is not null
    </select>
    <select id="getReportModel" resultType="java.util.Map">
    </select>
@@ -632,6 +724,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"/>
@@ -646,6 +740,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>
@@ -681,7 +776,6 @@
        <result property="lastValue" column="last_value" jdbcType="VARCHAR"/>
        <result property="insResult" column="ip_ins_result" jdbcType="INTEGER"/>
        <result property="state" column="state" jdbcType="INTEGER"/>
        <result property="insBushId" column="ins_bush_id" jdbcType="INTEGER"/>
        <result property="insSampleId" column="ins_sample_id" jdbcType="INTEGER"/>
        <result property="createUser" column="ip_create_user" jdbcType="INTEGER"/>
        <result property="updateUser" column="ip_update_user" jdbcType="INTEGER"/>
@@ -694,6 +788,7 @@
        <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">
@@ -706,6 +801,7 @@
        <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"/>
@@ -714,6 +810,8 @@
        <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="issueTime" column="issue_time"/>
        <result property="issueName" column="issueName"/>
        <result property="createUser" column="create_user" jdbcType="INTEGER"/>
        <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
@@ -727,7 +825,22 @@
        <result property="insValue" column="ins_value" jdbcType="VARCHAR"/>
        <result property="comValue" column="com_value" jdbcType="VARCHAR"/>
        <result property="equipValue" column="equip_value" jdbcType="VARCHAR"/>
        <result property="beforeCheck" column="before_check" jdbcType="VARCHAR"/>
        <result property="beforeNote" column="before_note" jdbcType="VARCHAR"/>
        <result property="afterCheck" column="after_check" jdbcType="VARCHAR"/>
        <result property="afterNote" column="after_note" jdbcType="VARCHAR"/>
        <result property="testResult" column="test_result" 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">
@@ -767,4 +880,36 @@
        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.*,
        case when entrust_code is null then out_entrust_code else entrust_code end as 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>