From f14bfd47670e57d1d28d006464cb8ba576c8a49c Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期四, 22 五月 2025 10:26:08 +0800 Subject: [PATCH] 基于测试服务器修改配置文件 --- pms-parent/pms-global/src/main/resources/mapper/StaAssemblyWorkLastMapper.xml | 43 ++++++++++++++++++++++++++++++++++++------- 1 files changed, 36 insertions(+), 7 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 908518c..2e4be54 100644 --- a/pms-parent/pms-global/src/main/resources/mapper/StaAssemblyWorkLastMapper.xml +++ b/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, @@ -332,33 +335,59 @@ 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, + <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 pr_assembly_plan pap, pr_production_process ppp,pr_production_node ppn, - plt_product pp,pr_batch_number pbn + 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,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 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.plan_name, a.process_name, a.node_name,w.dt, + 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 w.work_type END AS work_type + 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> + <select id="queryAttendUser" resultType="cn.hutool.json.JSONObject"> + WITH total AS ( + SELECT DISTINCT user_id,dt AS login_time FROM sta_assembly_work_last + union + SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(a.assistants, ',', b.help_topic_id + 1 ), ',', - 1 ) AS user_id ,login_time + FROM + (SELECT assistants ,dt AS login_time FROM sta_assembly_work_last) a + JOIN mysql.help_topic AS b ON b.help_topic_id <![CDATA[ < ]]> ( LENGTH( a.assistants ) - LENGTH( REPLACE ( a.assistants, ',', '' ) ) + 1 ) + union + SELECT DISTINCT user_id ,end_time AS login_time FROM sta_assembly_work_history WHERE end_time BETWEEN #{startTime,jdbcType=TIMESTAMP} AND #{endTime,jdbcType=TIMESTAMP} + union + SELECT DISTINCT SUBSTRING_INDEX(SUBSTRING_INDEX(c.assistants, ',', d.help_topic_id + 1 ), ',', - 1 ) AS user_id ,login_time + FROM + (SELECT assistants,end_time AS login_time FROM sta_assembly_work_history WHERE end_time BETWEEN #{startTime,jdbcType=TIMESTAMP} AND #{endTime,jdbcType=TIMESTAMP}) c + JOIN mysql.help_topic AS d ON d.help_topic_id <![CDATA[ < ]]> ( LENGTH( c.assistants ) - LENGTH( REPLACE ( c.assistants, ',', '' ) ) + 1 )) + SELECT MAX(CASE record.title WHEN 'require_attend' THEN record.count_user ELSE 0 END) require_attend, + MAX(CASE record.title WHEN 'actual_attend' THEN record.count_user ELSE 0 END) actual_attend + FROM + (SELECT COUNT(DISTINCT user_id) AS count_user,'require_attend' AS title FROM total WHERE user_id !='' + UNION + SELECT COUNT(DISTINCT user_id) AS count_user,'actual_attend' AS title FROM total WHERE user_id !='' AND login_time <![CDATA[ > ]]> #{todayDt,jdbcType=TIMESTAMP}) record + </select> <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> delete -- Gitblit v1.8.0