From b92caa380bb6242ae11a3606ea908c7029aaeeb6 Mon Sep 17 00:00:00 2001
From: Fancy <Fancy.fx@outlook.com>
Date: 星期一, 06 一月 2025 09:57:53 +0800
Subject: [PATCH] Handler

---
 pms-parent/pms-global/src/main/resources/mapper/StaAssemblyWorkLastMapper.xml |   62 ++++++++++++++++++++++--------
 1 files changed, 45 insertions(+), 17 deletions(-)

diff --git a/pms-parent/pms-global/src/main/resources/mapper/StaAssemblyWorkLastMapper.xml b/pms-parent/pms-global/src/main/resources/mapper/StaAssemblyWorkLastMapper.xml
index 0b50a25..908518c 100644
--- a/pms-parent/pms-global/src/main/resources/mapper/StaAssemblyWorkLastMapper.xml
+++ b/pms-parent/pms-global/src/main/resources/mapper/StaAssemblyWorkLastMapper.xml
@@ -143,10 +143,10 @@
             <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,10 +198,10 @@
             <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">
@@ -265,10 +265,10 @@
             <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">
@@ -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>
@@ -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>
@@ -332,6 +332,34 @@
             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
@@ -362,10 +390,10 @@
             <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 and dt !=''">dt,</if>
+            <if test="dt != null">dt,</if>
             <if test="status != null">status,</if>
-            <if test="startTime != null and startTime !=''">start_time,</if>
-            <if test="endTime != null and endTime !=''">end_time,</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=",">
@@ -377,10 +405,10 @@
             <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 and dt !=''">#{dt,jdbcType=TIMESTAMP},</if>
+            <if test="dt != null">#{dt,jdbcType=TIMESTAMP},</if>
             <if test="status != null">#{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="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>
@@ -408,16 +436,16 @@
             <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">
                 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 !=''">

--
Gitblit v1.8.0