XiaoRuby
2023-09-05 b1ee044a6f0b6561fba149255432e0214c1884c3
inspect-server/src/main/resources/mapper/InspectUnacceptedMapper.xml
@@ -1,7 +1,48 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yuanchu.mom.mapper.InspectUnacceptedMapper">
    <!--根据原材料检验单id删除原材料不合格品-->
    <update id="updaRawIns">
        update mom_ocean.inspect_unaccepted
        set state=0
        where raw_inspect_id = #{id}
          and type = 0
    </update>
    <!--根据原材料检验单id批量删除原材料不合格品-->
    <update id="delAllRawIns">
        update mom_ocean.inspect_unaccepted
        set state=0
        where raw_inspect_id in (${ids})
          and type = 0
    </update>
    <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,
@@ -66,4 +107,42 @@
        </if>
        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
            WHERE r.state = 1
            <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>
            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
            WHERE f.`state` = 1
              AND u.id = f.user_id
            <if test="specificationModel != null and specificationModel != ''">
                AND f.`specifications_model` LIKE CONCAT('%', #{specificationModel}, '%')
            </if>
            <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`
        WHERE i.`state` = 1
            AND i.`type` = s.`classify`
            AND s.`id` = i.`raw_inspect_id`
        <if test="state != null">
            AND i.`deal_state` = #{state}
        </if>
        <if test="productCategories != null">
            AND s.`type` = #{productCategories}
        </if>
    </select>
</mapper>