XiaoRuby
2023-09-11 41576aa609c839741260aee6e7880caf28147390
inspect-server/src/main/resources/mapper/InspectUnacceptedMapper.xml
@@ -3,67 +3,57 @@
<mapper namespace="com.yuanchu.mom.mapper.InspectUnacceptedMapper">
    <select id="selectUnRawInspectsList" resultType="java.util.Map">
        select ru.id,
        DATE_FORMAT(form_time, '%Y-%m-%d') '来料日期',
        reason,
        code,
        name,
        specifications,
        unit,
        number,
        DATE_FORMAT(ri.create_time, '%Y-%m-%d') '报检日期',
        user_name,
        DATE_FORMAT(ins_time, '%Y-%m-%d') '检验日期',
        deal_state,
        deal_reasult,
        DATE_FORMAT(deal_time, '%Y-%m-%d') '处理日期'
        from mom_ocean.raw_inspect ri inner join mom_ocean.inspect_unaccepted ru on ri.id = ru.raw_inspect_id
        <where>
            <if test="dealState!=null and dealState!=''">
                and deal_state=#{dealState}
            </if>
            <if test="formTime!=null and formTime!=''">
                and form_time=#{formTime}
            </if>
            and ru.state=1
        </where>
        order by ru.id desc
    </select>
    <!--不合格管理-->
    <select id="selectInsList" resultType="java.util.Map">
        SELECT ru.id,
        DATE_FORMAT(fi.create_time, '%Y-%m-%d') dateArrival,
        reason,
        material_code,
        project_name,
        ru.reason,
        u.`name`,
        specifications_model,
        unit,
        quantity,
        DATE_FORMAT(fi.create_time, '%Y-%m-%d') inspectionDate,
        u.name,
        deal_state,
        deal_reasult,
        DATE_FORMAT(deal_time, '%Y-%m-%d') processingDate
        FROM (mom_ocean.inspect_unaccepted ru,
        mom_ocean.`user` u)
        LEFT JOIN mom_ocean.finished_inspect fi ON fi.`id` = ru.`raw_inspect_id`
        where fi.id = ru.raw_inspect_id
        AND ru.type = 1
        ru.deal_state,
        ru.deal_reasult,
        DATE_FORMAT(fi.dateArrival, '%Y-%m-%d') dateArrival,
        fi.material_code,
        fi.project_name,
        fi.specifications_model,
        fi.unit,
        fi.quantity,
        DATE_FORMAT(fi.inspectionDate, '%Y-%m-%d') inspectionDate,
        DATE_FORMAT(fi.processingDate, '%Y-%m-%d') processingDate
        FROM mom_ocean.inspect_unaccepted ru, mom_ocean.`user` u, (
        SELECT p.id, DATE_FORMAT(p.`create_time`, '%Y-%m-%d') dateArrival, p.`material_code`, p.`material` project_name,
        p.`specifications_model`,
        p.`unit`, p.`quantity`,DATE_FORMAT(p.`create_time`, '%Y-%m-%d') inspectionDate, DATE_FORMAT(p.`update_time`,
        '%Y-%m-%d') processingDate, p.`user_id`, 2 AS
        classify
        FROM mom_ocean.process_inspect p
        WHERE p.`state` = 1
        UNION ALL
        SELECT fi.id, DATE_FORMAT(fi.create_time, '%Y-%m-%d')
        dateArrival,material_code,project_name,specifications_model,
        unit,quantity,DATE_FORMAT(fi.create_time, '%Y-%m-%d') inspectionDate,DATE_FORMAT(fi.update_time, '%Y-%m-%d')
        processingDate, fi.`user_id`, 1 AS classify
        FROM mom_ocean.finished_inspect fi
        WHERE fi.`state` = 1) fi
        WHERE fi.id = ru.raw_inspect_id
        AND ru.`type` = fi.`classify`
        AND ru.type != 0
        AND ru.state=1
        AND fi.`user_id` = u.`id`
        <if test="dealState!=null and dealState!=''">
            and deal_state=#{dealState}
        <if test="dealState!=null">
            and ru.deal_state = #{dealState}
        </if>
        <if test="formTime!=null and formTime!=''">
            and fi.create_time=#{formTime}
            and fi.dateArrival=#{formTime}
        </if>
        <if test="productCategories != null">
            and ru.`type` = #{productCategories}
        </if>
        order by ru.id desc
    </select>
    <!--原材料不合格品-->
    <select id="selectUnqualifiedRawMaterials" resultType="map">
        SELECT i.id,
               DATE_FORMAT(r.create_time, '%Y-%m-%d') dateArrival,
               DATE_FORMAT(r.form_time, '%Y-%m-%d') dateArrival,
               i.`reason`,
               r.`code`,
               r.`name`,
@@ -76,12 +66,12 @@
               r.`supplier`,
               i.`deal_state`,
               i.`deal_reasult`
        FROM inspect_unaccepted i
                 LEFT JOIN raw_inspect r ON i.`raw_inspect_id` = r.`id`
        FROM mom_ocean.inspect_unaccepted i
                 LEFT JOIN mom_ocean.raw_inspect r ON i.`raw_inspect_id` = r.`id`
        WHERE i.`state` = 1
          AND i.`type` = 0
        <if test="formTime != null and formTime != ''">
            AND r.create_time = #{formTime}
            AND r.form_time = #{formTime}
        </if>
        <if test="productName != null and productName != ''">
            AND r.name LIKE CONCAT('%', #{productName}, '%')
@@ -95,23 +85,27 @@
        ORDER BY i.`id` DESC
    </select>
    <!--不合格处置-->
    <select id="selectDisposal" resultType="map">
        SELECT i.`id`, s.`type`, s.name productName, s.`specifications`, s.number, i.`tell` description,
               o.`tell` opinions, s.user_name, DATE_FORMAT(i.`create_time`, '%Y-%m-%d') `date`, i.`deal_state`
        FROM (inspect_unaccepted i,
             (
            SELECT 2 AS `type`, r.`name`, r.`specifications`, r.`number`, r.`id`, r.`user_name`, 0 AS classify
            FROM raw_inspect r
        i.`tell` opinions, s.user_name, DATE_FORMAT(i.`create_time`, '%Y-%m-%d') `date`, i.`deal_state`
        FROM mom_ocean.inspect_unaccepted i
        LEFT JOIN
        (
            -- 原材料
            SELECT 0 AS `type`, r.`name`, r.`specifications`, r.`number`, r.`id`, r.`user_name`
            FROM mom_ocean.raw_inspect r
            WHERE r.state = 1
            <if test="specificationModel != null and specificationModel != ''">
                AND r.`specifications` LIKE CONCAT('%', #{specificationModel}, '%')
            <if test="specificationModel != null and specificationModel != ''">AND r.`specifications` LIKE CONCAT('%',
                #{specificationModel}, '%')
            </if>
            <if test="productName != null and productName != ''">
                AND r.`name` LIKE CONCAT('%', #{productName}, '%')
            <if test="
            productName != null and productName != ''">AND r.`name` LIKE CONCAT('%', #{productName}, '%')
            </if>
            UNION ALL
            SELECT f.`type`, f.`project_name` `name`, f.`specifications_model` specifications, f.`quantity` number, f.`id`, u.name user_name, 1 AS classify
            FROM finished_inspect f, `user` u
            -- 成品
            SELECT 1 AS `type`, f.`project_name` `name`, f.`specifications_model` specifications, f.`quantity` `number`, f.`id`, u.name user_name
            FROM mom_ocean.finished_inspect f, mom_ocean.`user` u
            WHERE f.`state` = 1
              AND u.id = f.user_id
            <if test="specificationModel != null and specificationModel != ''">
@@ -120,16 +114,27 @@
            <if test="productName != null and productName != ''">
                AND f.`project_name` LIKE CONCAT('%', #{productName}, '%')
            </if>
        ) AS s)
                 LEFT JOIN opinion o ON i.`id` = o.`raw_unaccepted_id`
            UNION ALL
            -- 半成品
            SELECT 2 AS `type`, p.`material` `name`, p.`specifications_model` specifications, p.`quantity` `number`, p.`id`, u.name user_name
            FROM mom_ocean.process_inspect p, mom_ocean.`user` u
            WHERE p.state = 1
                AND u.id = p.user_id
            <if test="specificationModel != null and specificationModel != ''">
                AND p.`specifications_model` LIKE CONCAT('%', #{specificationModel}, '%')
            </if>
            <if test="productName != null and productName != ''">
                AND p.`material` LIKE CONCAT('%', #{productName}, '%')
            </if>
         )AS s ON s.`id` = i.`raw_inspect_id` AND s.`type` = i.type
        WHERE i.`state` = 1
            AND i.`type` = s.`classify`
            AND s.`id` = i.`raw_inspect_id`
          AND i.`deal_reasult` = 0
        <if test="state != null">
            AND i.`deal_state` = #{state}
        </if>
        <if test="productCategories != null">
            AND s.`type` = #{productCategories}
        </if>
        ORDER BY i.`update_time` DESC
    </select>
</mapper>