From 92705ac08a97ddc4904795f024723aab69e1abd8 Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期六, 05 四月 2025 21:47:59 +0800 Subject: [PATCH] 修改 --- src/main/resources/mapper/progressTrack/DjJdgzTrackRecordDao.xml | 236 ++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 193 insertions(+), 43 deletions(-) diff --git a/src/main/resources/mapper/progressTrack/DjJdgzTrackRecordDao.xml b/src/main/resources/mapper/progressTrack/DjJdgzTrackRecordDao.xml index eaf2c29..ed4e022 100644 --- a/src/main/resources/mapper/progressTrack/DjJdgzTrackRecordDao.xml +++ b/src/main/resources/mapper/progressTrack/DjJdgzTrackRecordDao.xml @@ -2,6 +2,20 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.server.progressTrack.dao.DjJdgzTrackRecordDao"> + <update id="retract"> + UPDATE dj_jdgz_track_record + SET CURRENT_STATUS = 0 + WHERE LEVEL3_NETWORK_ID = ( + SELECT LEVEL3_NETWORK_ID + FROM dj_jdgz_track_record + WHERE id = ${id} + ) + AND create_date >= ( + SELECT create_date + FROM dj_jdgz_track_record + WHERE id = ${id} + ); + </update> <select id="getList" resultType="com.example.server.progressTrack.model.DjJdgzTrackRecord"> SELECT @@ -18,6 +32,11 @@ b.LEVEL3_NODE_ID ELSE a.id END AS level3NodeId, c.id as level3NetworkId, + c.teamgroup_name, + c.dept_id, + c.cabin_id, + c.iseal_cabin, + c.type, c.`NAME` as level3NetworkName, a.PROCESS_NAME AS level3NodeName, a.REQUIRED_COMPLETION_TIME, @@ -55,9 +74,6 @@ WHERE a.IS_DELETE = 0 and a.network_id != 10000 - <if test="userId!=null"> - AND a.TEAMGROUP_ID in (select teamgroup from sys_user where is_delete=0 and user_id=#{userId}) - </if> <if test="status==1"> AND b.CURRENT_STATUS = 1 </if> @@ -70,6 +86,24 @@ AND f.IS_DELETE = 0 AND g.IS_DELETE = 0 AND g.id = ${level1NetworkId} + <if test="deptId!=null"> + and c.dept_id = ${deptId} + </if> + <if test="isealCabin!=null"> + and c.iseal_cabin = ${isealCabin} + </if> + <if test="teamId!=null"> + and c.TEAMGROUP_ID = ${teamId} + </if> + <if test="cabinId!=null"> + and c.cabin_id = ${cabinId} + </if> + <if test="type!=null and type!=''"> + and c.type = #{type} + </if> + <if test="name!=null and name!=''"> + and c.name LIKE '%${name}%' + </if> <if test="status==0"> GROUP BY c.id @@ -83,10 +117,10 @@ </select> <select id="getHistory" resultType="com.example.server.progressTrack.model.DjJdgzTrackRecord"> select GENERAL_REPAIR_UNIT || ',' || GENERAL_REPAIR_UNIT_DIRECTOR || ',' || - GENERAL_REPAIR_UNIT_CONTACT AS generalRepair, - REPAIR_UNIT || ',' || REPAIR_UNIT_DIRECTOR || ',' || REPAIR_UNIT_CONTACT AS `repair`, - track_person || ',' || track_person_contact AS trackPerson, - tracked_person || ',' || tracked_person_contact AS trackedPerson, + GENERAL_REPAIR_UNIT_CONTACT AS generalRepair, + REPAIR_UNIT || ',' || REPAIR_UNIT_DIRECTOR || ',' || REPAIR_UNIT_CONTACT AS `repair`, + track_person || ',' || track_person_unit || ',' || track_person_contact AS trackPerson, + tracked_person || ',' || tracked_person_unit || ',' || tracked_person_contact AS trackedPerson, track_method, track_location, CURRENT_STATUS, @@ -103,37 +137,38 @@ <select id="getReport" resultType="com.example.server.progressTrack.Dto.StatistReportsDto"> select d.*, e.name as teamGroupName from ( - select TEAMGROUP_ID, - count(1) as allNum, - sum(case when status = 'zcjxz' or status = 'lq' then 1 else 0 end) as jxzNum, - sum(case when status = 'lq' then 1 else 0 end) as lqNum, - sum(case when status = 'yq' then 1 else 0 end) as yqNum, - sum(case when status = 'zcwc' then 1 else 0 end) as zcwcNum, - sum(case when status = 'cqwc' then 1 else 0 end) as cqwcNum - from ( - select b.TEAMGROUP_ID, - CASE - WHEN b.CURRENT_STATUS = 1 - AND b.REQUIRED_COMPLETION_TIME > b.ACTUAL_COMPLETION THEN - 'cqwc' - WHEN b.CURRENT_STATUS = 1 THEN - 'zcwc' - WHEN b.REQUIRED_COMPLETION_TIME < (SELECT datetime('now')) THEN 'yq' - WHEN b.REQUIRED_COMPLETION_TIME < (SELECT date('now', '-' || c.advent_day || ' days')) THEN 'lq' - ELSE 'zcjxz' - END AS status - from dj_jdgz_network_level3 a, - dj_jdgz_network_level3_list b, - dj_jdgz_network_level1 c - where a.IS_DELETE = 0 - and a.LEVEL1_NETWORK_ID = ${level1NetworkId} - and a.LEVEL1_NETWORK_ID = c.id - and b.IS_DELETE = 0 - and b.NETWORK_ID = a.id - ) c - group by TEAMGROUP_ID - ) d, - dj_sys_teamgroup_class e + select TEAMGROUP_ID, + count(1) as allNum, + sum(case when status = 'zcjxz' or status = 'lq' then 1 else 0 end) as jxzNum, + sum(case when status = 'lq' then 1 else 0 end) as lqNum, + sum(case when status = 'yq' then 1 else 0 end) as yqNum, + sum(case when status = 'zcwc' then 1 else 0 end) as zcwcNum, + sum(case when status = 'cqwc' then 1 else 0 end) as cqwcNum + from ( + select a.TEAMGROUP_ID, + CASE + WHEN b.CURRENT_STATUS = 1 + AND b.REQUIRED_COMPLETION_TIME > b.ACTUAL_COMPLETION THEN + 'cqwc' + WHEN b.CURRENT_STATUS = 1 THEN + 'zcwc' + WHEN b.REQUIRED_COMPLETION_TIME < (SELECT datetime('now')) THEN 'yq' + WHEN b.REQUIRED_COMPLETION_TIME < + (SELECT date('now', '-' || c.advent_day || ' days')) THEN 'lq' + ELSE 'zcjxz' + END AS status + from dj_jdgz_network_level3 a, + dj_jdgz_network_level3_list b, + dj_jdgz_network_level1 c + where a.IS_DELETE = 0 + and a.LEVEL1_NETWORK_ID = ${level1NetworkId} + and a.LEVEL1_NETWORK_ID = c.id + and b.IS_DELETE = 0 + and b.NETWORK_ID = a.id + ) c + group by TEAMGROUP_ID + ) d, + dj_sys_teamgroup_class e where d.TEAMGROUP_ID = e.id </select> <select id="prompt" resultType="com.example.server.progressTrack.model.DjJdgzTrackRecord"> @@ -144,7 +179,7 @@ e.PROCESS_NAME AS level1NodeName, f.project_name, g.week_no, - h.name as teamGroupName + b.TEAMGROUP_NAME FROM `dj_jdgz_network_level3_list` a LEFT JOIN dj_jdgz_network_level3 b ON b.id = a.NETWORK_ID @@ -169,7 +204,7 @@ dj_jdgz_track_record where is_delete = 0 ) and a.is_delete = 0 <if test="userId!=null"> - AND a.TEAMGROUP_ID in (select teamgroup from sys_user where is_delete=0 and user_id=#{userId}) + AND a.TEAMGROUP_ID in (select teamgroup from sys_user where is_delete=0 and id=#{userId}) </if> AND b.IS_DELETE = 0 AND c.IS_DELETE = 0 @@ -189,8 +224,8 @@ b.GENERAL_REPAIR_UNIT|| ',' || b.GENERAL_REPAIR_UNIT_DIRECTOR|| ',' || b.GENERAL_REPAIR_UNIT_CONTACT AS generalRepair, b.REPAIR_UNIT|| ',' || b.REPAIR_UNIT_DIRECTOR|| ',' || b.REPAIR_UNIT_CONTACT AS `repair`, - b.track_person|| ',' || b.track_person_contact AS trackPerson, - b.tracked_person|| ',' || b.tracked_person_contact AS trackedPerson, + b.track_person|| ',' || b.track_person_unit || ',' || b.track_person_contact AS trackPerson, + b.tracked_person|| ',' || b.tracked_person_unit || ',' || b.tracked_person_contact AS trackedPerson, b.track_method, b.track_location, b.track_location, @@ -208,7 +243,7 @@ LEFT JOIN dj_jdgz_network_level2 e ON e.id = d.NETWORK_ID LEFT JOIN dj_jdgz_network_level1_list f ON f.id = e.LEVEL1_NODE_ID LEFT JOIN dj_jdgz_network_level1 g ON g.id = c.LEVEL1_NETWORK_ID - LEFT JOIN dj_sys_teamgroup_class h ON h.id = a.TEAMGROUP_ID + LEFT JOIN dj_sys_teamgroup_class h ON h.id = c.TEAMGROUP_ID WHERE a.IS_DELETE = 0 and a.network_id != 10000 @@ -342,5 +377,120 @@ from dj_jdgz_track_record where LEVEL3_NODE_ID = ${level3NodeId} </select> + <select id="getListByImport" resultType="com.example.server.progressTrack.model.DjJdgzTrackRecord"> + SELECT + c.id, + c.`NAME` as level3NetworkName, + CASE + WHEN + b.GENERAL_REPAIR_UNIT IS NOT NULL THEN b.GENERAL_REPAIR_UNIT else + c.GENERAL_REPAIR_UNIT + END as GENERAL_REPAIR_UNIT, + CASE + WHEN + b.GENERAL_REPAIR_UNIT_DIRECTOR IS NOT NULL THEN b.GENERAL_REPAIR_UNIT_DIRECTOR else + c.GENERAL_REPAIR_UNIT_DIRECTOR + END as GENERAL_REPAIR_UNIT_DIRECTOR, + CASE + WHEN + b.GENERAL_REPAIR_UNIT_CONTACT IS NOT NULL THEN + b.GENERAL_REPAIR_UNIT_CONTACT else + c.GENERAL_REPAIR_UNIT_CONTACT + END as GENERAL_REPAIR_UNIT_CONTACT, + CASE + WHEN + b.REPAIR_UNIT IS NOT NULL THEN b.REPAIR_UNIT else + c.REPAIR_UNIT + END as REPAIR_UNIT, + CASE + WHEN + b.REPAIR_UNIT_DIRECTOR IS NOT NULL THEN b.REPAIR_UNIT_DIRECTOR else + c.REPAIR_UNIT_DIRECTOR + END as REPAIR_UNIT_DIRECTOR, + CASE + WHEN + b.REPAIR_UNIT_CONTACT IS NOT NULL THEN + b.REPAIR_UNIT_CONTACT else + c.REPAIR_UNIT_CONTACT + END as REPAIR_UNIT_CONTACT, + b.track_person, + b.track_person_unit, + b.track_person_contact, + b.tracked_person, + b.tracked_person_unit, + b.tracked_person_contact + FROM + dj_jdgz_network_level3_list a + LEFT JOIN ( + SELECT * + FROM dj_jdgz_track_record + WHERE (LEVEL3_NODE_ID, update_date) IN ( + SELECT LEVEL3_NODE_ID, MAX(update_date) + FROM dj_jdgz_track_record + GROUP BY LEVEL3_NODE_ID + ) + ) b ON b.LEVEL3_NODE_ID = a.id + LEFT JOIN dj_jdgz_network_level3 c ON c.id = a.NETWORK_ID + LEFT JOIN dj_jdgz_network_level2_list d ON d.id = c.LEVEL2_NODE_ID + LEFT JOIN dj_jdgz_network_level2 e ON e.id = d.NETWORK_ID + LEFT JOIN dj_jdgz_network_level1_list f ON f.id = e.LEVEL1_NODE_ID + LEFT JOIN dj_jdgz_network_level1 g ON g.id = c.LEVEL1_NETWORK_ID + WHERE + a.IS_DELETE = 0 + and a.network_id != 10000 + <if test="selectedIds!=null and selectedIds!=''"> + AND c.TEAMGROUP_ID in (${selectedIds}) + </if> + and (b.CURRENT_STATUS IS null OR b.CURRENT_STATUS = 0) + AND c.IS_DELETE = 0 + AND d.IS_DELETE = 0 + AND e.IS_DELETE = 0 + AND f.IS_DELETE = 0 + AND g.IS_DELETE = 0 + AND g.id = ${level1Id} + <if test="level2Id!=null"> + AND e.id = ${level2Id} + </if> + <if test="level2NodeId!=null"> + AND d.id = ${level2NodeId} + </if> + GROUP BY + c.id + ORDER BY + a.REQUIRED_COMPLETION_TIME + </select> + <select id="getReportRecord" resultType="com.example.server.progressTrack.Dto.ReportRecordDto"> + select a.NAME,b.PROCESS_NAME + from dj_jdgz_network_level3 a, + dj_jdgz_network_level3_list b, + dj_jdgz_network_level1 c + where a.IS_DELETE = 0 + and a.LEVEL1_NETWORK_ID = ${level1NetworkId} + and a.TEAMGROUP_ID = ${teamgroupId} + and a.LEVEL1_NETWORK_ID = c.id + and b.IS_DELETE = 0 + and b.NETWORK_ID = a.id + and c.IS_DELETE = 0 + <if test="column==2"> + and (b.CURRENT_STATUS = 0 or b.CURRENT_STATUS is null) + and b.REQUIRED_COMPLETION_TIME >= ( SELECT date( 'now', '-' || c.advent_day || ' days' ) ) + </if> + <if test="column==3"> + and (b.CURRENT_STATUS = 0 or b.CURRENT_STATUS is null) + and b.REQUIRED_COMPLETION_TIME < ( SELECT date( 'now', '-' || c.advent_day || ' days' ) ) + </if> + <if test="column==4"> + and (b.CURRENT_STATUS = 0 or b.CURRENT_STATUS is null) + and b.REQUIRED_COMPLETION_TIME < ( SELECT datetime( 'now' ) ) + </if> + <if test="column==5"> + and b.CURRENT_STATUS = 1 + AND b.REQUIRED_COMPLETION_TIME <= b.ACTUAL_COMPLETION + </if> + <if test="column==6"> + and b.CURRENT_STATUS = 1 + AND b.REQUIRED_COMPLETION_TIME > b.ACTUAL_COMPLETION + </if> + </select> </mapper> -- Gitblit v1.9.1