zss
2024-09-06 7bae2c55ff2d9c94d30df77ad2dfbc66bb703209
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,sort_time,version
        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,10 @@
        ) a
        LEFT JOIN ins_order_state ios ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory
        ORDER BY
        ios.sort,
        sort_time desc,
        a.type DESC,
        a.id
        ios.create_time
        ) b
        where ins_state is not null
        and son_laboratory=#{sonLaboratory}
@@ -191,7 +126,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 +146,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,-->
@@ -226,56 +161,72 @@
    <select id="selectSampleProductListByOrderId" 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,
               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,
               ip.method_s
        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,
        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_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 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 ins_order_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 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 )
        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.*,
@@ -319,6 +270,14 @@
               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,
@@ -327,6 +286,7 @@
        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_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
        where ins_order_id = #{id}
          and state = 1
          and ip.son_laboratory = #{laboratory}
@@ -379,13 +339,31 @@
               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_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 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">
@@ -406,13 +384,18 @@
        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
        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">
@@ -456,11 +439,20 @@
               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_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
        where ins_sample_id = #{id}
          and state = 1
          and ip.son_laboratory = #{laboratory}
@@ -468,161 +460,7 @@
          and ins_fibers_id is null
          and standard_method_list_id is not null
    </select>
    <select id="getInsProduct2" 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,
               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}
          and state = 1
          and ins_fiber_id is null
          and standard_method_list_id is not null
    </select>
    <select id="getInsProduct3" 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,
               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}
          and state = 1
          and ins_fibers_id is null
          and standard_method_list_id is not null
    </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>
@@ -633,6 +471,7 @@
        <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="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"/>
@@ -695,6 +534,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">
@@ -730,6 +570,16 @@
        <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"/>