chenrui
2025-04-10 c296b7d0c412429d29ad24bd34aa9def65045085
inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -78,6 +78,7 @@
        <result property="radius" column="radius"/>
        <result property="cableTag" column="cable_tag"/>
        <result property="structureItemParameterId" column="structure_item_parameter_id"/>
        <result property="checkUserId" column="check_user_id"/>
        <collection property="insProductResult" resultMap="insProductResult"/>
    </resultMap>
@@ -87,6 +88,8 @@
        <result property="comValue" column="com_value" jdbcType="VARCHAR"/>
        <result property="equipValue" column="equip_value" jdbcType="VARCHAR"/>
        <result property="equipName" column="equip_name" jdbcType="VARBINARY"/>
        <result property="testStartTime" column="test_start_time" jdbcType="VARBINARY"/>
        <result property="testEndTime" column="test_end_time" jdbcType="VARBINARY"/>
    </resultMap>
    <resultMap id="sampleVo" type="com.ruoyi.inspect.vo.SampleVo">
@@ -159,73 +162,80 @@
               ip.dic,
               ip.sort,
               ip.cable_tag,
               ip.structure_item_parameter_id
               ip.structure_item_parameter_id,
               ip.check_user_id,
               ip.radius,
               ipr.test_start_time,
               ipr.test_end_time
    </sql>
    <select id="findInsSampleAndOrder" resultType="com.ruoyi.inspect.vo.InsOrderPlanVO">
        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,
                        io.order_type,
                        case when
                            io.type_source = 0
                            then io.sample_view
                            else io.sample end sample,
                        GROUP_CONCAT(DISTINCT isa.model SEPARATOR ' ') AS sample_model,
                        T4.userName,
                        ip.son_laboratory,
                        io.ins_time,
                        io.laboratory,
                        io.type_source,
                        io.ifs_inventory_id,
                        ira.id ins_report_id,
                        ira.url,
                        ira.url_s,
                        ira.temp_url_pdf,
                        iiq.is_copper
                    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
                    LEFT JOIN ins_product ip ON ip.ins_sample_id = isa.id
                    LEFT JOIN ins_sample_user isu ON isa.id = isu.user_id
                    LEFT JOIN user uu ON ip.check_user_id = uu.id
                    LEFT JOIN (
                        SELECT T1.ins_order_id,GROUP_CONCAT( DISTINCT T3.name SEPARATOR ', ' ) AS userName FROM ins_sample T1 LEFT JOIN ins_product T2 ON T1.id = T2.ins_sample_id LEFT JOIN user T3 ON T2.check_user_id = T3.id GROUP BY T1.ins_order_id
                    ) T4 ON T4.ins_order_id = io.id
                    WHERE io.state = 1 and send_time is not null
                    --  非检测管理员
                    <if test="otherParam.testAdminFlag != null and !otherParam.testAdminFlag">
                        <if test="otherParam.checkUserFlag != null and otherParam.checkUserFlag">
                            AND (
                                isu.user_id = #{otherParam.userId} OR ip.check_user_id = #{otherParam.userId}
                            )
                        </if>
                    </if>
                    --  是检测管理员
                    <if test="otherParam.testAdminFlag != null and otherParam.testAdminFlag">
                        <if test="otherParam.viewMySelfFlag != null and otherParam.viewMySelfFlag">
                            AND (
                                isu.user_id = #{otherParam.userId} OR ip.check_user_id = #{otherParam.userId}
                            )
                        </if>
                    </if>
                    GROUP BY io.id
                ) a
                LEFT JOIN ins_order_state ios ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory
                ORDER BY a.type DESC,a.id
                ) b
            where ins_state is not null
        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,
        io.order_type,
        io.work_shop_id,
        case when
        io.type_source = 0
        then io.sample_view
        else io.sample end sample,
        GROUP_CONCAT(DISTINCT isa.model SEPARATOR ' ') AS sample_model,
        T4.userName,
        ip.son_laboratory,
        io.ins_time,
        io.laboratory,
        io.type_source,
        io.ifs_inventory_id,
        ira.id ins_report_id,
        ira.url,
        ira.url_s,
        ira.temp_url_pdf,
        iiq.is_copper
        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
        LEFT JOIN ins_product ip ON ip.ins_sample_id = isa.id
        LEFT JOIN ins_sample_user isu ON isa.id = isu.user_id
        LEFT JOIN user uu ON ip.check_user_id = uu.id
        LEFT JOIN (
        SELECT T1.ins_order_id,GROUP_CONCAT( DISTINCT T3.name SEPARATOR ', ' ) AS userName FROM ins_sample T1 LEFT JOIN
        ins_product T2 ON T1.id = T2.ins_sample_id LEFT JOIN user T3 ON T2.check_user_id = T3.id GROUP BY
        T1.ins_order_id
        ) T4 ON T4.ins_order_id = io.id
        WHERE io.state = 1 and send_time is not null
        -- 非检测管理员
        <if test="otherParam.testAdminFlag != null and !otherParam.testAdminFlag">
            <if test="otherParam.checkUserFlag != null and otherParam.checkUserFlag">
                AND (
                isu.user_id = #{otherParam.userId} OR ip.check_user_id = #{otherParam.userId}
                )
            </if>
        </if>
        -- 是检测管理员
        <if test="otherParam.testAdminFlag != null and otherParam.testAdminFlag">
            <if test="otherParam.viewMySelfFlag != null and otherParam.viewMySelfFlag">
                AND (
                isu.user_id = #{otherParam.userId} OR ip.check_user_id = #{otherParam.userId}
                )
            </if>
        </if>
        GROUP BY io.id
        ) a
        LEFT JOIN ins_order_state ios ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory
        ORDER BY a.type DESC,a.id
        ) b
        where ins_state is not null
        )A
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
@@ -515,6 +525,7 @@
        select <include refid="getInsProducSql"/>
        from ins_product ip
                 left join ins_product_result ipr on ip.id = ipr.ins_product_id
        left join user ur ON ip.check_user_id = ur.id
        where ins_sample_id = #{id}
          and state = 1
          and ip.son_laboratory = #{laboratory}