value
2024-05-23 05c569f74a1c94b84145abe34f2b2385d68fdec6
inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -57,10 +57,10 @@
    </resultMap>
    <resultMap id="SampleDefectsChildrenMap" type="com.yuanchu.mom.vo.SampleDefectsChildrenVo">
        <result column="entrust_code" property="entrust_code" />
        <result column="inspection_item" property="inspection_item" />
        <result column="entrust_code" property="entrust_code"/>
        <result column="inspection_item" property="inspection_item"/>
        <result column="name" property="name"/>
        <result column="create_time" property="create_time" />
        <result column="create_time" property="create_time"/>
    </resultMap>
    <select id="selectInsOrderParameter" resultType="com.yuanchu.mom.pojo.InsOrder">
        select *
@@ -93,13 +93,20 @@
        SELECT
        io.*,
        ir.id report_id,
        concat(ROUND((select count(*) from ins_sample isa2
        where ins_state = 5 and isa2.ins_order_id = io.id) / (select count(*) from ins_sample isa2
        where isa2.ins_order_id = io.id) * 100, 2), '%') insProgress
        ir.url,
        ir.url_s,
        (select count(*) from ins_sample isa2
        where isa2.ins_order_id = io.id) sample_num,
        concat(ROUND((select count(*) from ins_order_state ios
        where ins_state = 5 and ios.ins_order_id = io.id) / (select count(*) from ins_order_state ios2
        where ios2.ins_order_id = io.id) * 100, 2), '%') insProgress,
        group_concat(distinct isa.sample_code,' ') sample_code,
        group_concat(distinct isa.sample,' ') sample_name,
        group_concat(distinct isa.model,' ') sample_model
        FROM
        ins_order io
        LEFT JOIN ins_sample isa ON io.id = isa.ins_order_id
        LEFT JOIN ( SELECT id, ins_order_id, is_ratify FROM ins_report WHERE is_ratify = 1 ) ir ON io.id =
        LEFT JOIN ( SELECT id, ins_order_id, is_ratify, url,url_s FROM ins_report WHERE is_ratify = 1 ) ir ON io.id =
        ir.ins_order_id
        GROUP BY
        io.id
@@ -147,17 +154,21 @@
        ins_order i
        LEFT JOIN ins_sample isa ON isa.ins_order_id = i.id
        LEFT JOIN `user` u ON u.id = i.user_id
        LEFT JOIN (select SUM(b.price) price, sum(b.man_hour) cost,b.ins_sample_id,GROUP_CONCAT(b.inspection_item SEPARATOR ',')
        inspection_item from (select * from ins_product where state = 1 GROUP BY ins_sample_id,man_hour_group) b GROUP
        LEFT JOIN (select SUM(b.price) price, sum(b.man_hour) cost,b.ins_sample_id,GROUP_CONCAT(b.inspection_item2
        SEPARATOR ',')
        inspection_item from (select *,GROUP_CONCAT(inspection_item
        SEPARATOR ',') inspection_item2  from ins_product where state = 1 GROUP BY ins_sample_id,man_hour_group) b GROUP
        BY b.ins_sample_id) c ON c.ins_sample_id = isa.id
        where (i.state = 1 or i.state = 3 or i.state = 4)
        ) a
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
        </if>
    </select>
    <select id="selectDeviceList" resultType="java.util.Map">
        select device_name,specification_model,factory_no,date_format(latest_traceability, '%Y-%m-%d') latest_traceability from device
        where device_name in
        select device_name,specification_model,management_number,DATE_ADD(date_format(last_calibration_date, '%Y-%m-%d'),INTERVAL calibration_date month) latest_traceability
        from device
        where device.management_number in
        <foreach collection="names" index="index" open="(" separator="," close=")" item="val">
            #{val}
        </foreach>
@@ -192,9 +203,11 @@
        left JOIN ins_sample sam on io.id=sam.ins_order_id
        LEFT JOIN ins_product ip on ip.ins_sample_id=sam.id
        LEFT JOIN
        (SELECT create_time,create_user,ins_product_id FROM (select * FROM ins_product_user  ORDER BY ins_product_user.create_time DESC) a GROUP BY a.ins_product_id) b
        (SELECT create_time,create_user,ins_product_id FROM
        (select * FROM ins_product_user ORDER BY ins_product_user.create_time DESC) a
        GROUP BY a.ins_product_id) b
        on b.ins_product_id=ip.id
        left JOIN  `user` u on u.id=b.create_user
        left JOIN `user` u on u.id=b.create_user
        WHERE (ip.ins_result=0 OR ip.state=0)
        <if test="inspectionItems != null and inspectionItems != ''">
            and inspection_item like concat('%', #{inspectionItems}, '%')
@@ -212,16 +225,25 @@
        left JOIN ins_sample sam on io.id=sam.ins_order_id
        LEFT JOIN ins_product ip on ip.ins_sample_id=sam.id
        LEFT JOIN
        (SELECT create_time,create_user,ins_product_id FROM (select * FROM ins_product_user  ORDER BY ins_product_user.create_time DESC) a GROUP BY a.ins_product_id) b
        (SELECT create_time,create_user,ins_product_id FROM (select * FROM ins_product_user ORDER BY
        ins_product_user.create_time DESC) a GROUP BY a.ins_product_id) b
        on b.ins_product_id=ip.id
        left JOIN  `user` u on u.id=b.create_user
         where (ip.ins_result=0 OR ip.state=0)
        left JOIN `user` u on u.id=b.create_user
        where (ip.ins_result=0 OR ip.state=0)
        <if test="inspectionItems != null and inspectionItems != ''">
            and  inspection_item like concat('%', #{inspectionItems}, '%')
            and inspection_item like concat('%', #{inspectionItems}, '%')
        </if>
        <if test="orderNumber != null and orderNumber != ''">
            and io.entrust_code like concat('%', #{orderNumber}, '%')
        </if>
             ) temp
        ) temp
    </select>
    <select id="getEnumLabelByValue" resultType="java.lang.String">
        select label from `center-lims`.enums
        where value = #{value}
    </select>
    <select id="getStandardMethodCode" resultType="java.lang.String">
        select code from `center-lims`.standard_method
        where id = #{id}
    </select>
</mapper>