liding
2 天以前 3fdea1ab6ab545de0a25573318ecd838de3be576
inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -61,6 +61,7 @@
        <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="isBinding" column="ip_is_binding" 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"/>
@@ -69,6 +70,7 @@
        <result property="createTime" column="ip_create_time" jdbcType="TIMESTAMP"/>
        <result property="updateTime" column="ip_update_time" jdbcType="TIMESTAMP"/>
        <result property="templateId" column="template_id" jdbcType="INTEGER"/>
        <result property="templateRowIndex" column="template_row_index" jdbcType="INTEGER"/>
        <result property="methodS" column="method_s"/>
        <result property="tell" column="tell"/>
        <result property="dic" column="dic"/>
@@ -141,15 +143,17 @@
               man_day,
               bsm,
               ask,
               `last_value`,
               ip.ins_result  ip_ins_result,
               state,
                `last_value`,
                ip.ins_result  ip_ins_result,
                ip.is_binding  ip_is_binding,
                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,
               template_row_index,
               ipr.ins_value,
               ipr.com_value,
               ipr.equip_value,
@@ -162,11 +166,36 @@
               ip.structure_item_parameter_id
    </sql>
    <!--
        直绑模板订单不依赖 ins_product。通过订单模板快照和单样品标准结构识别,
        列表、任务切换及详情统一使用固定任务实验室“新聚”。
    -->
    <sql id="directTemplateOrderJoin">
        LEFT JOIN (
            SELECT DISTINCT iost.ins_order_id
            FROM ins_order_standard_template iost
            INNER JOIN ins_order dto ON dto.id = iost.ins_order_id
            INNER JOIN ins_sample dts ON dts.ins_order_id = dto.id
            WHERE dts.standard_method_list_id IS NULL
              AND (dts.factory IS NULL OR TRIM(dts.factory) = '')
              AND (dts.sample_type IS NULL OR TRIM(dts.sample_type) = '')
              AND (dts.model IS NULL OR TRIM(dts.model) = '')
              AND (dto.factory IS NULL OR TRIM(dto.factory) = '')
              AND (dto.sample_type IS NULL OR TRIM(dto.sample_type) = '')
        ) direct_template ON direct_template.ins_order_id = io.id
    </sql>
    <select id="findInsSampleAndOrder" resultType="com.ruoyi.inspect.vo.InsOrderPlanVO">
        select * from(select * from(
        SELECT
        a.*,ios.ins_state,ios.verify_tell,verify_user
        a.*,
        CASE
            WHEN ios.ins_state IS NULL AND a.direct_template = 1 THEN 0
            ELSE ios.ins_state
        END AS ins_state,
        ios.verify_tell,
        verify_user
        FROM
        (
        SELECT
@@ -183,7 +212,11 @@
        GROUP_CONCAT(DISTINCT isa.model SEPARATOR ' ') AS sample_model,
        userName,
        checkName,
        ip.son_laboratory,
        CASE
            WHEN direct_template.ins_order_id IS NOT NULL THEN '新聚'
            ELSE ip.son_laboratory
        END AS son_laboratory,
        CASE WHEN direct_template.ins_order_id IS NOT NULL THEN 1 ELSE 0 END AS direct_template,
        io.ins_time,
        io.laboratory,
        io.type_source,
@@ -192,12 +225,15 @@
        ira.url,
        ira.url_s,
        ira.temp_url_pdf,
        iiq.is_copper
        iiq.is_copper,
        iiq.is_split_order,
        iiq.material_prop AS material_prop
        FROM
        ins_order io
        LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id
        LEFT JOIN ins_report ira ON ira.ins_order_id = io.id
        LEFT JOIN ifs_inventory_quantity iiq ON iiq.id = io.ifs_inventory_id
        <include refid="directTemplateOrderJoin"/>
        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
@@ -231,10 +267,16 @@
            </if>
        </if>
        <if test="sonLaboratory!= null and sonLaboratory != ''">
            and ip.son_laboratory = #{sonLaboratory}
            and CASE
                    WHEN direct_template.ins_order_id IS NOT NULL THEN '新聚'
                    ELSE ip.son_laboratory
                END = #{sonLaboratory}
        </if>
        GROUP BY
        ip.son_laboratory,
        CASE
            WHEN direct_template.ins_order_id IS NOT NULL THEN '新聚'
            ELSE ip.son_laboratory
        END,
        io.id
        ) a
        LEFT JOIN ins_order_state ios ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory
@@ -242,7 +284,7 @@
        a.type DESC,
        a.id
        ) b
        where ins_state is not null
        where (ins_state is not null or direct_template = 1)
        <if test="laboratory!=null and laboratory!=''">
            and laboratory=#{laboratory}
        </if>
@@ -250,14 +292,19 @@
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
        </if>
        ORDER BY send_time asc
        ORDER BY send_time desc
    </select>
    <select id="inspectionOrderDetailsTaskSwitching" resultType="com.ruoyi.inspect.vo.InsOrderPlanTaskSwitchVo">
        select * from(
        SELECT
        a.*,ios.ins_state,ios.verify_tell,isu2.order_user_id,<!--(ios.verify_user = #{userId})--> verify_user
        a.*,
        CASE
            WHEN ios.ins_state IS NULL AND a.direct_template = 1 THEN 0
            ELSE ios.ins_state
        END AS ins_state,
        ios.verify_tell,isu2.order_user_id,<!--(ios.verify_user = #{userId})--> verify_user
        FROM
        (
        SELECT
@@ -269,12 +316,17 @@
        group_concat(distinct isa.sample,' ') sampleType,
        isu.user_id,
        user.name userName,
        ip.son_laboratory,
        CASE
            WHEN direct_template.ins_order_id IS NOT NULL THEN '新聚'
            ELSE ip.son_laboratory
        END AS son_laboratory,
        CASE WHEN direct_template.ins_order_id IS NOT NULL THEN 1 ELSE 0 END AS direct_template,
        io.ins_time,
        io.laboratory
        FROM
        ins_order io
        LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id
        <include refid="directTemplateOrderJoin"/>
        LEFT JOIN ( <!--SELECT * FROM ins_sample_user GROUP BY ins_sample_id, user_id -->
        SELECT *
        FROM ins_sample_user u
@@ -297,7 +349,10 @@
        </if>
        OR isu.user_id is NULL
        GROUP BY
        ip.son_laboratory,
        CASE
            WHEN direct_template.ins_order_id IS NOT NULL THEN '新聚'
            ELSE ip.son_laboratory
        END,
        io.id
        ) a
        LEFT JOIN ins_order_state ios ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory
@@ -309,7 +364,7 @@
        OR user_id is NULL
        ) isu2 on
        isu2.ins_sample_id = a.id
        where ins_state is not null
        where (ins_state is not null or direct_template = 1)
        <if test="laboratory != null and laboratory != ''">
            and a.laboratory=#{laboratory}
        </if>
@@ -355,6 +410,7 @@
               tell,
               `last_value`,
               ip.ins_result  ip_ins_result,
               ip.is_binding  ip_is_binding,
               state,
               ins_sample_id,
               ip.create_user ip_create_user,
@@ -397,7 +453,7 @@
               ip.sample_type ip_sample_type,
               ip.sample      ip_sample,
               ip.model       ip_model,
               son_laboratory,
               ip.son_laboratory,
               ip.unit        ip_unit,
               price,
               man_hour,
@@ -414,6 +470,7 @@
               ask,
               `last_value`,
               ip.ins_result  ip_ins_result,
               ip.is_binding  ip_is_binding,
               state,
               ins_sample_id,
               ip.create_user ip_create_user,
@@ -434,8 +491,18 @@
                 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 (
              (ip.state = 1 and ip.son_laboratory = #{laboratory})
              or (
                  ip.id is null
                  and #{laboratory} = '新聚'
                  and exists (
                      select 1
                      from ins_order_standard_template iost
                      where iost.ins_order_id = isa.ins_order_id
                  )
              )
          )
    </select>
    <select id="getSampleEn" resultType="java.lang.String">
        select name_en
@@ -504,6 +571,7 @@
               tell,
               `last_value`,
               ip.ins_result  ip_ins_result,
               ip.is_binding  ip_is_binding,
               state,
               ins_sample_id,
               ip.create_user ip_create_user,
@@ -516,12 +584,13 @@
               ipr.equip_value,
               ip.method_s,
               ip.radius,
               ip.structure_item_parameter_id,
               isa.special_standard_method
        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 ip.standard_method_list_id is not null
          and (ip.standard_method_list_id is not null or ip.template_row_index is not null)
          and state = 1
          and ip.is_binding != 1
        order by ip.sort asc,
@@ -542,7 +611,7 @@
          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 (standard_method_list_id is not null or template_row_index is not null)
        /* 电缆配置标识 */
        <if test="cableTag == null or cableTag == ''">
            and ip.cable_tag is null
@@ -569,7 +638,7 @@
        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 (standard_method_list_id is not null or template_row_index is not null)
        and ip.raw_material_tag = #{rawMaterialTag}
        order by sort asc
    </select>