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}
);
SELECT
b.id,
b.week_no,
b.estimated_completion_time,
b.current_status,
b.remark,
g.id as level1NetworkId,
GROUP_CONCAT(h.name) AS fileName,
CASE
WHEN
b.LEVEL3_NODE_ID IS NOT NULL THEN
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,
d.PROCESS_NAME AS level2NodeName,
f.PROCESS_NAME AS level1NodeName,
g.project_name,
CASE
WHEN
b.GENERAL_REPAIR_UNIT IS NOT NULL THEN b.GENERAL_REPAIR_UNIT || ',' || b.GENERAL_REPAIR_UNIT_DIRECTOR || ',' ||
b.GENERAL_REPAIR_UNIT_CONTACT else
c.GENERAL_REPAIR_UNIT ||','|| c.GENERAL_REPAIR_UNIT_DIRECTOR ||','|| c.GENERAL_REPAIR_UNIT_CONTACT
END AS generalRepair,
CASE
WHEN
b.REPAIR_UNIT IS NOT NULL THEN b.REPAIR_UNIT|| ',' || b.REPAIR_UNIT_DIRECTOR|| ',' || b.REPAIR_UNIT_CONTACT else
c.REPAIR_UNIT|| ',' || c.REPAIR_UNIT_DIRECTOR|| ',' || c.REPAIR_UNIT_CONTACT
END AS `repair`
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
LEFT JOIN dj_sys_oss h ON h.busi_id = b.id AND h.is_delete = 0
WHERE
a.IS_DELETE = 0
and a.network_id != 10000
AND b.CURRENT_STATUS = 1
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 = ${level1NetworkId}
and c.dept_id = ${deptId}
and c.iseal_cabin = ${isealCabin}
and c.TEAMGROUP_ID = ${teamId}
and c.cabin_id = ${cabinId}
and c.type = #{type}
and c.name LIKE '%${name}%'
GROUP BY
c.id
GROUP BY
b.LEVEL3_NODE_ID
ORDER BY
a.REQUIRED_COMPLETION_TIME
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
from dj_jdgz_track_record
where LEVEL3_NODE_ID = ${level3NodeId}
and is_delete = 0
order by estimated_completion_time desc
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'
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
b.`NAME` as level3NetworkName,
a.PROCESS_NAME AS level3NodeName,
c.PROCESS_NAME AS level2NodeName,
e.PROCESS_NAME AS level1NodeName,
f.project_name,
g.week_no,
b.TEAMGROUP_NAME
FROM
`dj_jdgz_network_level3_list` a
LEFT JOIN dj_jdgz_network_level3 b ON b.id = a.NETWORK_ID
LEFT JOIN dj_jdgz_network_level2_list c ON c.id = b.LEVEL2_NODE_ID
LEFT JOIN dj_jdgz_network_level2 d ON d.id = c.NETWORK_ID
LEFT JOIN dj_jdgz_network_level1_list e ON e.id = d.LEVEL1_NODE_ID
LEFT JOIN dj_jdgz_network_level1 f ON f.id = ${level1NetworkId}
LEFT JOIN dj_jdgz_track_record g ON g.LEVEL3_NODE_ID = a.id
LEFT JOIN dj_sys_teamgroup_class h ON h.id = a.TEAMGROUP_ID
WHERE
a.NETWORK_ID IN ( SELECT id FROM dj_jdgz_network_level3 WHERE LEVEL1_NETWORK_ID = ${level1NetworkId} and
is_delete = 0 )
AND a.id not IN (
SELECT
LEVEL3_NODE_ID
FROM
dj_jdgz_track_record where (week_no = ${weekNo} OR CURRENT_STATUS = 1) and is_delete = 0 )
and a.id IN (
SELECT
LEVEL3_NODE_ID
FROM
dj_jdgz_track_record where is_delete = 0 )
and a.is_delete = 0
AND a.TEAMGROUP_ID in (select teamgroup from sys_user where is_delete=0 and id=#{userId})
AND b.IS_DELETE = 0
AND c.IS_DELETE = 0
AND d.IS_DELETE = 0
AND e.IS_DELETE = 0
AND f.IS_DELETE = 0
SELECT
b.current_status,
h.name as teamGroupName,
b.remark,
c.`NAME` as level3NetworkName,
a.PROCESS_NAME AS level3NodeName,
d.PROCESS_NAME AS level2NodeName,
f.PROCESS_NAME AS level1NodeName,
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_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,
b.has_delay_risk,
b.estimated_completion_time,
b.problem,
b.followup_plan,
b.remark,
b.update_date
FROM
dj_jdgz_track_record b
LEFT JOIN dj_jdgz_network_level3_list a ON a.id = b.LEVEL3_NODE_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
LEFT JOIN dj_sys_teamgroup_class h ON h.id = c.TEAMGROUP_ID
WHERE
a.IS_DELETE = 0
and a.network_id != 10000
AND a.TEAMGROUP_ID in (${teamgroupId})
AND a.REQUIRED_COMPLETION_TIME < b.estimated_completion_time
AND a.REQUIRED_COMPLETION_TIME >= b.estimated_completion_time
AND a.NETWORK_ID = ${level3NetworkId}
AND a.ID = ${level3NodeId}
AND b.UPDATE_DATE >= #{beginDate}
AND b.UPDATE_DATE <= #{endDate}
AND b.CURRENT_STATUS = 1
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 = ${level1NetworkId}
ORDER BY
f.SORT,d.SORT,a.PROCESS_NAME,a.SORT, b.UPDATE_DATE
SELECT
t.PROCESS_NAME AS level3NodeName,
h.`NAME`as level3NetworkName,
l.PROCESS_NAME AS level1NodeName,
j.PROCESS_NAME AS level2NodeName,
t.REQUIRED_COMPLETION_TIME,
CASE
WHEN
t.tqcs > 0 THEN
'是' ELSE '否'
END AS istq,
t.tqcs,
t.maxtime,
julianday(t.maxtime) - julianday( t.REQUIRED_COMPLETION_TIME) AS maxDay,
t.zxtime,
julianday( t.zxtime) - julianday( t.REQUIRED_COMPLETION_TIME) AS zxDay
FROM(SELECT
a.id,
a.NETWORK_ID,
a.PROCESS_NAME,
a.REQUIRED_COMPLETION_TIME,
a.SORT,
a.TEAMGROUP_ID,
b.UPDATE_DATE,
b.CURRENT_STATUS,
(select count(distinct estimated_completion_time) FROM dj_jdgz_track_record s where s.LEVEL3_NODE_ID = a.id and
a.REQUIRED_COMPLETION_TIME < s.estimated_completion_time) as tqcs,
(select max(estimated_completion_time) FROM dj_jdgz_track_record s where s.LEVEL3_NODE_ID = a.id and
a.REQUIRED_COMPLETION_TIME < s.estimated_completion_time) as maxtime,
(select estimated_completion_time FROM dj_jdgz_track_record s where s.LEVEL3_NODE_ID = a.id and
a.REQUIRED_COMPLETION_TIME < s.estimated_completion_time order by estimated_completion_time desc limit 1) as
zxtime
FROM
dj_jdgz_track_record b
JOIN dj_jdgz_network_level3_list a ON a.id = b.LEVEL3_NODE_ID
JOIN dj_jdgz_network_level3 c ON c.id = a.NETWORK_ID
JOIN dj_jdgz_network_level2_list d ON d.id = c.LEVEL2_NODE_ID
JOIN dj_jdgz_network_level2 e ON e.id = d.NETWORK_ID
JOIN dj_jdgz_network_level1_list f ON f.id = e.LEVEL1_NODE_ID
JOIN dj_jdgz_network_level1 g ON g.id = c.LEVEL1_NETWORK_ID
WHERE
a.IS_DELETE = 0
and a.network_id != 10000
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
group by a.id) t
JOIN dj_jdgz_network_level3 h on h.id = t.NETWORK_ID
JOIN dj_jdgz_network_level2_list j on j.id = h.LEVEL2_NODE_ID
JOIN dj_jdgz_network_level2 k on k.id = j.NETWORK_ID
JOIN dj_jdgz_network_level1_list l on l.id = k.LEVEL1_NODE_ID
where h.IS_DELETE = 0
AND k.IS_DELETE = 0
AND j.IS_DELETE = 0
AND l.IS_DELETE = 0
AND t.TEAMGROUP_ID in (${teamgroupId})
AND t.tqcs > 0
AND t.tqcs = 0
AND t.NETWORK_ID = ${level3NetworkId}
AND t.ID = ${level3NodeId}
AND t.UPDATE_DATE >= #{beginDate}
AND t.UPDATE_DATE <= #{endDate}
AND t.CURRENT_STATUS = 1
and (t.CURRENT_STATUS IS null OR t.CURRENT_STATUS = 0)
ORDER BY
l.SORT,j.SORT,t.PROCESS_NAME,t.SORT
select count(CURRENT_STATUS)
from dj_jdgz_track_record
where LEVEL3_NODE_ID = ${level3NodeId}
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
AND c.TEAMGROUP_ID in (${selectedIds})
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}
AND e.id = ${level2Id}
AND d.id = ${level2NodeId}
GROUP BY
c.id
ORDER BY
a.REQUIRED_COMPLETION_TIME
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
and (b.CURRENT_STATUS = 0 or b.CURRENT_STATUS is null)
and b.REQUIRED_COMPLETION_TIME >= ( SELECT date( 'now', '-' || c.advent_day || ' days' ) )
and (b.CURRENT_STATUS = 0 or b.CURRENT_STATUS is null)
and b.REQUIRED_COMPLETION_TIME < ( SELECT date( 'now', '-' || c.advent_day || ' days' ) )
and (b.CURRENT_STATUS = 0 or b.CURRENT_STATUS is null)
and b.REQUIRED_COMPLETION_TIME < ( SELECT datetime( 'now' ) )
and b.CURRENT_STATUS = 1
AND b.REQUIRED_COMPLETION_TIME <= b.ACTUAL_COMPLETION
and b.CURRENT_STATUS = 1
AND b.REQUIRED_COMPLETION_TIME > b.ACTUAL_COMPLETION