Fancy
2025-01-06 854bbf5e0fa584ac2742656805fc465768fb56bb
pms-parent/pms-global/src/main/resources/mapper/StaAssemblyWorkLastMapper.xml
@@ -64,6 +64,9 @@
                    column="assistants"/>
    </resultMap>
<!--    <resultMap id="customResultMap" type="cn.hutool.json.JSONObject">-->
<!--        <result column="columnName" typeHandler="com.yourpackage.CustomJsonTypeHandler"/>-->
<!--    </resultMap>-->
    <sql id="Base_Column_List">
        id
        ,user_id,line_id,
@@ -304,7 +307,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>
@@ -320,7 +323,7 @@
            </otherwise>
        </choose>
        <choose>
            <when test="nodeId != null and nodeId !=''">
            <when test="nodeId != null">
                and node_id = #{nodeId,jdbcType=BIGINT}
            </when>
            <otherwise>
@@ -332,6 +335,38 @@
            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.order_name,pap.`name` as plan_name,pap.number,pap.input_number,pap.output_number,
                            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  (SELECT pl.*, po.`NAME` AS order_name FROM pr_assembly_plan pl  LEFT JOIN pr_order po ON pl.order_id = po.id) 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,IFNULL(ppl.line_name,'') AS line_name,IFNULL(sawl.user_name,'') AS user_name,IFNULL(sawl.assistants_name,'') AS assistants_name,
               IFNULL(sawl.order_name,'') AS order_name,IFNULL(sawl.pro_name,'') AS pro_name, IFNULL(sawl.plan_name,'') AS plan_name,
               IF(sawl.plan_name IS NULL,'',CONCAT(IFNULL(sawl.number,'0'),'/',IFNULL(sawl.input_number,'0'),'/',IFNULL(sawl.output_number,'0')))  AS plan_number,
               IFNULL(sawl.process_name,'') AS process_name,IFNULL(sawl.node_name,'') AS node_name,IFNULL(sawl.dt,'') AS 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.order_name, a.pro_name,a.plan_name,
                                   a.number,a.input_number,a.output_number,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 IFNULL(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