Fancy
2025-01-04 0760c4667043820b39add1d0c30910e57f4dc753
pms-parent/pms-global/src/main/resources/mapper/StaAssemblyWorkLastMapper.xml
@@ -98,7 +98,7 @@
<!--        <include refid="Base_Column_List"/>-->
<!--        from plt_station where status =1-->
<!--        <trim prefix="and" suffixOverrides="and">-->
<!--            <if test="id != null and id !=''">-->
<!--            <if test="id != null">-->
<!--                id = #{id,jdbcType=BIGINT} and-->
<!--            </if>-->
<!--            <if test="code != null and code !=''">-->
@@ -107,10 +107,10 @@
<!--            <if test="name != null and name !=''">-->
<!--                name like concat('%', #{name}, '%') and-->
<!--            </if>-->
<!--            <if test="disabled != null and disabled !=''">-->
<!--            <if test="disabled != null">-->
<!--                disabled = #{disabled,jdbcType=TINYINT} and-->
<!--            </if>-->
<!--            <if test="lineId != null and lineId !=''">-->
<!--            <if test="lineId != null">-->
<!--                line_id = #{lineId,jdbcType=BIGINT} and-->
<!--            </if>-->
<!--        </trim>-->
@@ -122,31 +122,31 @@
        <include refid="Base_Column_List"/>
        from sta_assembly_work_last
        <where>
            <if test="userId != null and userId !=''">
            <if test="userId != null">
                and user_id = #{userId,jdbcType=BIGINT}
            </if>
            <if test="lineId != null and lineId !=''">
            <if test="lineId != null">
                and line_id = #{lineId,jdbcType=BIGINT}
            </if>
            <if test="stationId != null and stationId !=''">
            <if test="stationId != null">
                and station_id = #{stationId,jdbcType=BIGINT}
            </if>
            <if test="planId != null and planId !=''">
            <if test="planId != null">
                and plan_id = #{planId,jdbcType=BIGINT}
            </if>
            <if test="processId != null and processId !=''">
            <if test="processId != null">
                and process_id = #{processId,jdbcType=BIGINT}
            </if>
            <if test="nodeId != null and nodeId !=''">
            <if test="nodeId != null">
                and node_id = #{nodeId,jdbcType=BIGINT}
            </if>
            <if test="status != null and status !=''">
            <if test="status != null">
                and status = #{status,jdbcType=TINYINT}
            </if>
            <if test="startTime != null and startTime !=''">
            <if test="startTime != null">
                and start_time = #{startTime,jdbcType=TIMESTAMP}
            </if>
            <if test="endTime != null and endTime !=''">
            <if test="endTime != null">
                and end_time = #{endTime,jdbcType=TIMESTAMP}
            </if>
            <if test="assistants != null and assistants !=''">
@@ -198,31 +198,31 @@
            <if test="lineName != null and lineName != '' ">
                and ll.name like concat('%', #{lineName}, '%')
            </if>
            <if test="startTime != null and startTime !=''">
            <if test="startTime != null">
                and l.start_time <![CDATA[ > ]]> #{startTime}
            </if>
            <if test="endTime != null and endTime !=''">
            <if test="endTime != null">
                and l.start_time <![CDATA[ < ]]> #{endTime}
            </if>
            <if test="userId != null and userId !=''">
            <if test="userId != null">
                and l.user_id = #{userId,jdbcType=BIGINT}
            </if>
            <if test="lineId != null and lineId !=''">
            <if test="lineId != null">
                and l.line_id = #{lineId,jdbcType=BIGINT}
            </if>
            <if test="stationId != null and stationId !=''">
            <if test="stationId != null">
                and l.station_id = #{stationId,jdbcType=BIGINT}
            </if>
            <if test="planId != null and planId !=''">
            <if test="planId != null">
                and l.plan_id = #{planId,jdbcType=BIGINT}
            </if>
            <if test="processId != null and processId !=''">
            <if test="processId != null">
                and l.process_id = #{processId,jdbcType=BIGINT}
            </if>
            <if test="nodeId != null and nodeId !=''">
            <if test="nodeId != null">
                and l.node_id = #{nodeId,jdbcType=BIGINT}
            </if>
            <if test="status != null and status !=''">
            <if test="status != null">
                and l.status = #{status,jdbcType=TINYINT}
            </if>
            <if test="assistants != null and assistants !=''">
@@ -265,31 +265,31 @@
            <if test="lineName != null and lineName != '' ">
                and ll.name like concat('%', #{lineName}, '%')
            </if>
            <if test="startTime != null and startTime !=''">
            <if test="startTime != null">
                and l.start_time <![CDATA[ > ]]> #{startTime,jdbcType=TIMESTAMP}
            </if>
            <if test="endTime != null and endTime !=''">
            <if test="endTime != null">
                and l.start_time <![CDATA[ < ]]> #{endTime,jdbcType=TIMESTAMP}
            </if>
            <if test="userId != null and userId !=''">
            <if test="userId != null">
                and l.user_id = #{userId,jdbcType=BIGINT}
            </if>
            <if test="lineId != null and lineId !=''">
            <if test="lineId != null">
                and l.line_id = #{lineId,jdbcType=BIGINT}
            </if>
            <if test="stationId != null and stationId !=''">
            <if test="stationId != null">
                and l.station_id = #{stationId,jdbcType=BIGINT}
            </if>
            <if test="planId != null and planId !=''">
            <if test="planId != null">
                and l.plan_id = #{planId,jdbcType=BIGINT}
            </if>
            <if test="processId != null and processId !=''">
            <if test="processId != null">
                and l.process_id = #{processId,jdbcType=BIGINT}
            </if>
            <if test="nodeId != null and nodeId !=''">
            <if test="nodeId != null">
                and l.node_id = #{nodeId,jdbcType=BIGINT}
            </if>
            <if test="status != null and status !=''">
            <if test="status != null">
                and l.status = #{status,jdbcType=TINYINT}
            </if>
            <if test="assistants != null and assistants !=''">
@@ -304,7 +304,7 @@
        where user_id = #{userId,jdbcType=BIGINT}
        and station_id = #{stationId,jdbcType=BIGINT}
        <choose>
            <when test="planId != null and planId !=''">
            <when test="planId != null">
                and plan_id = #{planId,jdbcType=BIGINT}
            </when>
            <otherwise>
@@ -312,7 +312,7 @@
            </otherwise>
        </choose>
        <choose>
            <when test="processId != null and processId !=''">
            <when test="processId != null">
                and process_id = #{processId,jdbcType=BIGINT}
            </when>
            <otherwise>
@@ -320,7 +320,7 @@
            </otherwise>
        </choose>
        <choose>
            <when test="nodeId != null and nodeId !=''">
            <when test="nodeId != null">
                and node_id = #{nodeId,jdbcType=BIGINT}
            </when>
            <otherwise>
@@ -328,10 +328,38 @@
            </otherwise>
        </choose>
        and work_type = #{workType,jdbcType=TINYINT}
        <if test="id != null and id !=''">
        <if test="id != null">
            and id != #{id,jdbcType=BIGINT}
        </if>
    </select>
    <select id="queryWorkList" resultType="cn.hutool.json.JSONObject">
        WITH  a as ( SELECT pap.id as plan_id,pap.`name` as plan_name,
                            ppp.id as process_id,ppp.`name` as process_name,
                            ppn.id as node_id, ppn.content as node_name,
                            pp.`code` as pro_code , pp.`name` as pro_name,
                            pbn.batch_number as batch_number,     ppn.sort as sort
                     from  pr_assembly_plan pap, pr_production_process ppp,pr_production_node ppn,
                           plt_product pp,pr_batch_number pbn
                     WHERE pap.process_id = ppp.id and ppp.id = ppn.process_id
                       and pap.pro_id = pp.id and pap.batch_id = pbn.id
                     order by plan_id,process_id,sort)
        SELECT ps.station_name,ppl.line_name,sawl.user_name,sawl.assistants_name,sawl.plan_name ,sawl.process_name,sawl.node_name,sawl.dt,sawl.work_type FROM
            (SELECT id,`name` AS station_name, line_id  FROM plt_station WHERE deleted = 0 AND disabled = 0) ps
                LEFT JOIN  (SELECT id,`name` AS line_name FROM plt_production_line) ppl ON ps.line_id = ppl.id
                LEFT JOIN  (select w.station_id,b.`name` as user_name ,GROUP_CONCAT(us.name) as assistants_name, a.plan_name, a.process_name, a.node_name,w.dt,
                                   CASE w.work_type
                                       WHEN '1' THEN '组装'
                                       WHEN '2' THEN '测试'
                                       WHEN '3' THEN '品检'
                                       WHEN '4' THEN '维修'
                                       ELSE w.work_type END AS work_type
                            from sta_assembly_work_last w
                                     LEFT JOIN ba_user b ON w.user_id = b.id
                                     LEFT JOIN a ON w.plan_id = a.plan_id AND w.node_id = a.node_id
                                     LEFT JOIN ba_user us  ON FIND_IN_SET(us.id,w.assistants) GROUP BY w.id
            ) sawl ON ps.id = sawl.station_id
    </select>
    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
        delete
        from sta_assembly_work_last
@@ -354,70 +382,70 @@
            parameterType="com.dy.pmsGlobal.pojoSta.StaAssemblyWorkLast" useGeneratedKeys="true">
        insert into sta_assembly_work_last
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null and id !=''">id,</if>
            <if test="userId != null and userId !=''">user_id,</if>
            <if test="lineId != null and lineId !=''">line_id,</if>
            <if test="stationId != null and stationId !=''">station_id,</if>
            <if test="planId != null and planId !=''">plan_id,</if>
            <if test="processId!= null and processId !=''">process_id,</if>
            <if test="nodeId!= null and nodeId !=''">node_id,</if>
            <if test="workType!= null and workType !=''">work_Type,</if>
            <if test="dt != null and dt !=''">dt,</if>
            <if test="status != null and status !=''">status,</if>
            <if test="startTime != null and startTime !=''">start_time,</if>
            <if test="endTime != null and endTime !=''">end_time,</if>
            <if test="id != null">id,</if>
            <if test="userId != null">user_id,</if>
            <if test="lineId != null">line_id,</if>
            <if test="stationId != null">station_id,</if>
            <if test="planId != null">plan_id,</if>
            <if test="processId!= null">process_id,</if>
            <if test="nodeId!= null">node_id,</if>
            <if test="workType!= null">work_Type,</if>
            <if test="dt != null">dt,</if>
            <if test="status != null">status,</if>
            <if test="startTime != null">start_time,</if>
            <if test="endTime != null">end_time,</if>
            <if test="assistants != null and assistants !=''">assistants,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null and id !=''">#{id,jdbcType=BIGINT},</if>
            <if test="userId != null and userId !=''">#{userId,jdbcType=BIGINT},</if>
            <if test="lineId != null and lineId !=''">#{lineId,jdbcType=BIGINT},</if>
            <if test="stationId != null and stationId !=''">#{stationId,jdbcType=BIGINT},</if>
            <if test="planId != null and planId !=''">#{planId,jdbcType=BIGINT},</if>
            <if test="processId!= null and processId !=''">#{processId,jdbcType=BIGINT},</if>
            <if test="nodeId!= null and nodeId !=''">#{nodeId,jdbcType=BIGINT},</if>
            <if test="workType!= null and workType !=''">#{workType,jdbcType=TINYINT},</if>
            <if test="dt != null and dt !=''">#{dt,jdbcType=TIMESTAMP},</if>
            <if test="status != null and status !=''">#{status,jdbcType=TINYINT},</if>
            <if test="startTime != null and startTime !=''">#{startTime,jdbcType=TIMESTAMP},</if>
            <if test="endTime != null and endTime !=''">#{endTime,jdbcType=TIMESTAMP},</if>
            <if test="id != null">#{id,jdbcType=BIGINT},</if>
            <if test="userId != null">#{userId,jdbcType=BIGINT},</if>
            <if test="lineId != null">#{lineId,jdbcType=BIGINT},</if>
            <if test="stationId != null">#{stationId,jdbcType=BIGINT},</if>
            <if test="planId != null">#{planId,jdbcType=BIGINT},</if>
            <if test="processId!= null">#{processId,jdbcType=BIGINT},</if>
            <if test="nodeId!= null">#{nodeId,jdbcType=BIGINT},</if>
            <if test="workType!= null">#{workType,jdbcType=TINYINT},</if>
            <if test="dt != null">#{dt,jdbcType=TIMESTAMP},</if>
            <if test="status != null">#{status,jdbcType=TINYINT},</if>
            <if test="startTime != null">#{startTime,jdbcType=TIMESTAMP},</if>
            <if test="endTime != null">#{endTime,jdbcType=TIMESTAMP},</if>
            <if test="assistants != null and assistants !=''">#{assistants,jdbcType=VARCHAR},</if>
        </trim>
    </insert>
    <update id="updateByPrimaryKeySelective" parameterType="com.dy.pmsGlobal.pojoSta.StaAssemblyWorkLast">
        update sta_assembly_work_last
        <set>
            <if test="userId != null and userId !=''">
            <if test="userId != null">
                user_id = #{userId,jdbcType=BIGINT},
            </if>
            <if test="lineId != null and lineId !=''">
            <if test="lineId != null">
                line_id = #{lineId,jdbcType=BIGINT},
            </if>
            <if test="stationId != null and stationId !=''">
            <if test="stationId != null">
                station_id = #{stationId,jdbcType=BIGINT},
            </if>
            <if test="planId != null and planId !=''">
            <if test="planId != null">
                plan_id = #{planId,jdbcType=BIGINT},
            </if>
            <if test="processId!= null and processId !=''">
            <if test="processId!= null">
                process_id = #{processId,jdbcType=BIGINT},
            </if>
            <if test="nodeId!= null and nodeId !=''">
            <if test="nodeId!= null">
                node_id = #{nodeId,jdbcType=BIGINT},
            </if>
            <if test="workType!= null and workType !=''">
            <if test="workType!= null">
                work_type = #{workType,jdbcType=TINYINT},
            </if>
            <if test="dt != null and dt !=''">
            <if test="dt != null">
                dt = #{dt,jdbcType=TIMESTAMP},
            </if>
            <if test="status != null and status !=''">
            <if test="status != null">
                status = #{status,jdbcType=TINYINT},
            </if>
            <if test="startTime != null and startTime !=''">
            <if test="startTime != null">
                start_time = #{startTime,jdbcType=TIMESTAMP},
            </if>
            <if test="endTime != null and endTime !=''">
            <if test="endTime != null">
                end_time = #{endTime,jdbcType=TIMESTAMP},
            </if>
            <if test="assistants != null and assistants !=''">