From bf5b01b14dc7bfc214e646425a62f5593890d7e3 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期六, 08 十一月 2025 22:05:37 +0800
Subject: [PATCH] 清洗数据库日期错误,并且导入日期通用化处理
---
src/main/resources/mapper/progressTrack/DjJdgzTrackRecordDao.xml | 214 +++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 172 insertions(+), 42 deletions(-)
diff --git a/src/main/resources/mapper/progressTrack/DjJdgzTrackRecordDao.xml b/src/main/resources/mapper/progressTrack/DjJdgzTrackRecordDao.xml
index 641ddf3..5f49518 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
@@ -21,6 +35,8 @@
c.teamgroup_name,
c.dept_id,
c.cabin_id,
+ c.iseal_cabin,
+ c.islt,
c.type,
c.`NAME` as level3NetworkName,
a.PROCESS_NAME AS level3NodeName,
@@ -59,9 +75,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>
@@ -73,7 +86,27 @@
AND e.IS_DELETE = 0
AND f.IS_DELETE = 0
AND g.IS_DELETE = 0
+ <if test="level1NetworkId!=null">
AND g.id = ${level1NetworkId}
+ </if>
+ <if test="deptId!=null">
+ and c.dept_id = ${deptId}
+ </if>
+ <if test="isealCabin!=10000 and 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 || ',' LIKE '%,${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
@@ -87,10 +120,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,
@@ -106,38 +139,38 @@
</select>
<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 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'
+ 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 c.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', '-' || d.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,
+ FROM dj_jdgz_track_record a
+ LEFT JOIN dj_jdgz_network_level3_list b
+ on b.ID = a.LEVEL3_NODE_ID
+ LEFT JOIN dj_jdgz_network_level3 c on c.ID = b.NETWORK_ID
+ LEFT JOIN dj_jdgz_network_level1 d on d.ID = c.LEVEL1_NETWORK_ID
+ where c.IS_DELETE = 0
+ and c.LEVEL1_NETWORK_ID = ${level1NetworkId}
+ and c.LEVEL1_NETWORK_ID = d.id
+ and b.IS_DELETE = 0
+ and a.IS_DELETE = 0
+ and d.IS_DELETE = 0
+ and b.NETWORK_ID = c.id) c
+ group by TEAMGROUP_ID ) d,
dj_sys_teamgroup_class e
where d.TEAMGROUP_ID = e.id
</select>
@@ -174,7 +207,16 @@
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>
+ <if test="deptId!=null">
+ AND b.DEPT_ID = ${deptId}
+ </if>
+ <if test="teamId!=null">
+ AND b.TEAMGROUP_ID = ${teamId}
+ </if>
+ <if test="name!=null">
+ AND b.name LIKE '%${name}%'
</if>
AND b.IS_DELETE = 0
AND c.IS_DELETE = 0
@@ -194,8 +236,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,
@@ -213,12 +255,12 @@
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
<if test="teamgroupId!=null and teamgroupId!=''">
- AND a.TEAMGROUP_ID in (${teamgroupId})
+ AND h.ID in (${teamgroupId})
</if>
<if test="istq!=1 and istq!=null">
AND a.REQUIRED_COMPLETION_TIME < b.estimated_completion_time
@@ -429,5 +471,93 @@
ORDER BY
a.REQUIRED_COMPLETION_TIME
</select>
+ <select id="getReportRecord" resultType="com.example.server.progressTrack.Dto.ReportRecordDto">
+ select c.NAME,b.PROCESS_NAME
+ FROM dj_jdgz_track_record a
+ LEFT JOIN dj_jdgz_network_level3_list b on b.ID = a.LEVEL3_NODE_ID
+ LEFT JOIN dj_jdgz_network_level3 c on c.ID = b.NETWORK_ID
+ LEFT JOIN dj_jdgz_network_level1 d on d.ID = c.LEVEL1_NETWORK_ID
+ where a.IS_DELETE = 0
+ and c.LEVEL1_NETWORK_ID = ${level1NetworkId}
+ and c.TEAMGROUP_ID = ${teamgroupId}
+ and c.LEVEL1_NETWORK_ID = d.id
+ and b.IS_DELETE = 0
+ and b.NETWORK_ID = c.id
+ and c.IS_DELETE = 0
+ and d.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', '-' || d.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', '-' || d.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>
+ <select id="getIsExit" resultType="java.lang.Long">
+ SELECT id
+ FROM dj_jdgz_track_record
+ WHERE LEVEL3_NETWORK_ID = ${level3NetworkId}
+ AND process_name = #{processName}
+ AND is_delete = 0
+ <if test="weekNo!=null">
+ and week_no = ${weekNo}
+ </if>
+ limit 1
+ </select>
+ <select id="getName" resultType="com.example.server.progressTrack.model.DjJdgzTrackRecord">
+ SELECT
+ PROCESS_NAME
+ FROM
+ dj_jdgz_track_record
+ WHERE
+ is_delete = 0
+ AND LEVEL3_NETWORK_ID = ${level3NetworkId}
+ GROUP BY
+ PROCESS_NAME
+ ORDER BY
+ CREATE_DATE ,UPDATE_DATE
+ </select>
+ <select id="isExistTrackRecord" resultType="com.example.server.progressTrack.model.DjJdgzNetworkLevel3List">
+ select a.*,b.id as trackRecordId
+ from dj_jdgz_network_level3_list a
+ left join dj_jdgz_track_record b on b.is_delete = 0 and a.id = b.LEVEL3_NODE_ID
+ where a.is_delete = 0
+ and a.network_id = ${level3NetworkId}
+ and a.sort > ${sort}
+ order by a.sort
+ limit 1
+ </select>
+ <select id="getRecordById" 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_unit || ',' || track_person_contact AS trackPerson,
+ tracked_person || ',' || tracked_person_unit || ',' || tracked_person_contact AS trackedPerson,
+ track_method,
+ track_location,
+ CURRENT_STATUS,
+ has_delay_risk,
+ estimated_completion_time,
+ problem,
+ followup_plan,
+ remark,
+ process_name
+ from dj_jdgz_track_record
+ where level3_network_id = ${id}
+ and is_delete = 0
+ </select>
</mapper>
--
Gitblit v1.9.1