<?xml version="1.0" encoding="UTF-8"?>
|
<!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.DjJdgzDismantTrackDao">
|
<delete id="deleteByName">
|
update dj_jdgz_dismant_track set is_delete=1 where name = #{name}
|
</delete>
|
|
<select id="getList" resultType="com.example.server.progressTrack.model.DjJdgzDismantTrack">
|
select *
|
from dj_jdgz_dismant_track
|
where LEVEL3_NETWORK_ID = ${level3Id}
|
and is_delete = 0
|
<if test="cabinId!=null">
|
and cabin_id = ${cabinId}
|
</if>
|
</select>
|
<select id="getdata" resultType="com.example.server.progressTrack.model.DjJdgzDismantTrack">
|
SELECT
|
a.*,
|
k.name as cabinName,
|
h.name as teamGroupName,
|
b.name as deptName,
|
c.`NAME` as level3NetworkName,
|
d.PROCESS_NAME AS level2NodeName,
|
f.PROCESS_NAME AS level1NodeName
|
FROM
|
dj_jdgz_dismant_track a
|
LEFT JOIN dj_jdgz_network_level3 c ON c.id = a.LEVEL3_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
|
LEFT JOIN dj_sys_teamgroup_class b ON b.id = c.dept_id
|
LEFT JOIN cabin k ON k.id = a.cabin_id
|
WHERE
|
a.IS_DELETE = 0
|
<if test="deptId!=null and deptId!=''">
|
AND c.dept_id = ${deptId}
|
</if>
|
<if test="teamGroupId!=null and teamGroupId!=''">
|
AND c.TEAMGROUP_ID = ${teamGroupId}
|
</if>
|
<if test="level3NetworkId!=null">
|
AND a.LEVEL3_NETWORK_ID = ${level3NetworkId}
|
</if>
|
|
<if test="status==1">
|
AND a.CURRENT_STATUS = 1
|
</if>
|
<if test="status==0">
|
and (a.CURRENT_STATUS IS null OR a.CURRENT_STATUS = 0)
|
</if>
|
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 k.IS_DELETE = 0
|
AND g.id = ${level1NetworkId}
|
ORDER BY
|
f.SORT,
|
d.SORT,
|
b.UPDATE_DATE
|
</select>
|
<select id="getStatist" resultType="com.example.server.progressTrack.Dto.StatistDismantDto">
|
select a.*,
|
sum(case when c.status=1 then 1 else 0 end) as sbcxsl
|
from (
|
select a.id,
|
case when a.pid=0 then a.NAME else ' '|| a.NAME end as name,
|
case when a.pid=0 then '' || a.id else ''|| a.pid || a.SORT end as sort,
|
count(DISTINCT b.LEVEL3_NETWORK_ID) as sbsl,
|
count(DISTINCT b.dismant_id) as zbjsl,
|
sum(case when b.status=1 then 1 else 0 end) as zbjcxsl,
|
sum( CASE WHEN dismant_time IS NULL THEN 0 ELSE 1 END ) AS dismantsl,
|
sum( CASE WHEN exit_time IS NULL THEN 0 ELSE 1 END ) AS exitsl,
|
sum( CASE WHEN return_weight_time IS NULL THEN 0 ELSE 1 END ) AS returnsl,
|
sum( CASE WHEN warehouse_time IS NULL THEN 0 ELSE 1 END ) AS warehousesl
|
from dj_sys_teamgroup_class a
|
left join (
|
select a.id as id2 ,a.pid as pid2 ,c.LEVEL3_NETWORK_ID,
|
c.id as dismant_id,c.status,
|
c.dismant_time,
|
c.exit_time,
|
c.return_weight_time,
|
c.warehouse_time
|
from dj_sys_teamgroup_class a,dj_jdgz_network_level3 b,dj_jdgz_dismant_track c
|
where a.IS_DELETE= 0 and b.IS_DELETE = 0 and c.is_delete = 0
|
and a.AREA = 'hld'
|
and b.TEAMGROUP_ID = a.id
|
and c.LEVEL3_NETWORK_ID = b.id
|
and b.LEVEL1_NETWORK_ID = ${level1Id}
|
) b on a.id=b.id2 or a.id = b.pid2
|
where a.AREA = 'hld' and a.IS_DELETE = 0
|
group by a.id,a.NAME
|
) a
|
left join (
|
select a.id as id2 ,a.pid as pid2,
|
case when EXISTS(select 1 from dj_jdgz_dismant_track c where c.LEVEL3_NETWORK_ID=b.id
|
and (status=0 or status is null) and is_delete = 0) or not
|
EXISTS(select 1 from dj_jdgz_dismant_track c where c.LEVEL3_NETWORK_ID=b.id
|
and status=1 and is_delete = 0)then 0 else 1 end as status
|
from dj_sys_teamgroup_class a ,dj_jdgz_network_level3 b
|
where a.IS_DELETE= 0 and b.IS_DELETE = 0
|
and a.AREA = 'hld'
|
and b.TEAMGROUP_ID = a.id
|
and b.LEVEL1_NETWORK_ID = ${level1Id}
|
) c on a.id=c.id2 or a.id = c.pid2
|
group by a.id,a.NAME
|
order by sort
|
</select>
|
</mapper>
|