<?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.DjJdgzNetworkLevel3Dao">
|
<delete id="deleteLevel3">
|
update dj_jdgz_network_level3
|
set is_delete=1
|
where id = ${id};
|
</delete>
|
<delete id="deleteLevel3List">
|
update dj_jdgz_network_level3_list
|
set is_delete=1
|
where network_id = ${id};
|
</delete>
|
<delete id="deleteByTeamGroup">
|
update dj_jdgz_network_level3_list
|
set is_delete=1
|
where network_id in (select id from dj_jdgz_network_level3 where NAME = #{name})
|
and TEAMGROUP_ID = ${teamGroupId};
|
update dj_jdgz_network_level3
|
set is_delete=1
|
where NAME = ${name};
|
</delete>
|
|
<select id="getList" resultType="com.example.server.progressTrack.model.DjJdgzNetworkLevel3">
|
SELECT
|
a.*,
|
b.PROCESS_NAME AS level1NodeName,
|
c.project_name,
|
d.PROCESS_NAME AS level2NodeName
|
FROM `dj_jdgz_network_level3` a
|
LEFT JOIN dj_jdgz_network_level1 c on c.ID = a.LEVEL1_NETWORK_ID
|
LEFT JOIN dj_jdgz_network_level1_list b on b.NETWORK_ID = c.ID
|
LEFT JOIN dj_jdgz_network_level2_list d on d.ID = a.LEVEL2_NODE_ID
|
where
|
a.is_delete = 0
|
and b.is_delete = 0
|
and c.is_delete = 0
|
and d.is_delete = 0
|
<if test="shipId!=null">
|
and c.ship_id = ${shipId}
|
</if>
|
<if test="deptId!=null">
|
and a.dept_id = ${deptId}
|
</if>
|
<if test="teamId!=null">
|
and a.TEAMGROUP_ID = ${teamId}
|
</if>
|
<if test="cabinId!=null">
|
and ',' || a.cabin_id || ',' LIKE '%,${cabinId},%';
|
</if>
|
<if test="isealCabin!=10000 and isealCabin!=null">
|
and a.iseal_cabin = ${isealCabin}
|
</if>
|
<if test="isLt!=10000 and isLt!=null">
|
and a.islt = ${isLt}
|
</if>
|
<if test="type!=null and type!=''">
|
and a.type = '${type}'
|
</if>
|
<if test="name!=null and name!=''">
|
and a.name LIKE '%${name}%'
|
</if>
|
group by a.id
|
</select>
|
|
<select id="getNodeStatusData" resultType="com.example.server.progressTrack.Dto.NetworkNodeStatusDto">
|
select ID, REQUIRED_COMPLETION_TIME, ACTUAL_COMPLETION, CURRENT_STATUS
|
from dj_jdgz_network_level3_list
|
where IS_DELETE = 0
|
and NETWORK_ID = #{id};
|
</select>
|
<select id="getByNodeId" resultType="com.example.server.progressTrack.model.DjJdgzNetworkLevel3">
|
select *
|
from dj_jdgz_network_level3
|
where is_delete = 0
|
and LEVEL2_NODE_ID = ${id}
|
</select>
|
<select id="getListByLevel1"
|
resultType="com.example.client.dto.JComboBoxItem">
|
select *
|
from dj_jdgz_network_level3
|
where is_delete = 0
|
and LEVEL1_network_id = ${level1NetworkId}
|
</select>
|
<select id="getListByExport" resultType="com.example.client.dto.JComboBoxItem">
|
SELECT
|
a.*
|
FROM `dj_jdgz_network_level3` a
|
where
|
a.is_delete = 0
|
<if test="projectId!=null">
|
and a.LEVEL1_network_id = ${projectId}
|
</if>
|
<if test="deptId!=null">
|
and a.dept_id = ${deptId}
|
</if>
|
<if test="teamId!=null">
|
and a.TEAMGROUP_ID = ${teamId}
|
</if>
|
</select>
|
<select id="getNodeList" resultType="com.example.server.progressTrack.Dto.TableNodeDto">
|
SELECT
|
c.name,
|
b.NETWORK_ID,
|
b.process_name,
|
c.islt,
|
c.iseal_cabin,
|
b.ID, b.REQUIRED_COMPLETION_TIME, b.ACTUAL_COMPLETION, b.CURRENT_STATUS
|
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 b.is_delete = 0
|
and c.is_delete = 0
|
and d.is_delete = 0
|
<if test="shipId!=null">
|
and d.ship_id = ${shipId}
|
</if>
|
<if test="deptId!=null">
|
and c.dept_id = ${deptId}
|
</if>
|
<if test="teamId!=null">
|
and c.TEAMGROUP_ID = ${teamId}
|
</if>
|
<if test="cabinId!=null">
|
and c.cabin_id = ${cabinId}
|
</if>
|
<if test="isCabin!=10000 and isCabin!=null">
|
and c.iseal_cabin = ${isCabin}
|
</if>
|
<if test="islt!=10000 and islt!=null">
|
and c.islt = ${islt}
|
</if>
|
<if test="type!=null and type!=''">
|
and c.type = '${type}'
|
</if>
|
<if test="name!=null and name!=''">
|
and c.name LIKE '%${name}%'
|
</if>
|
ORDER BY NETWORK_ID
|
</select>
|
<select id="getStatist" resultType="com.example.server.progressTrack.Dto.StatistProductDto">
|
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 CASE WHEN fvp.process_name = '设备拆卸出舱' THEN b.id END) AS cxsl,
|
COUNT(DISTINCT CASE WHEN fvp.process_name = '设备分交' THEN b.id END) AS fjsl,
|
COUNT(DISTINCT CASE WHEN fvp.process_name = '拆检鉴定' THEN b.id END) AS jdsl,
|
COUNT(DISTINCT CASE WHEN fvp.process_name = '设备返厂' THEN b.id END) AS fcsl,
|
COUNT(DISTINCT CASE WHEN fvp.process_name = '回装' THEN b.id END) AS hzsl,
|
COUNT(DISTINCT CASE WHEN fvp.process_name = '拆卸出舱' THEN b.id END) AS ccsl,
|
COUNT(DISTINCT CASE WHEN fvp.process_name = '入库' THEN b.id END) AS rksl,
|
COUNT(DISTINCT CASE WHEN fvp.process_name = '存放位置' THEN b.id END) AS cfsl,
|
COUNT(DISTINCT CASE WHEN fvp.process_name = '移交T队' THEN b.id END) AS yjsl,
|
COUNT(DISTINCT CASE WHEN fvp.process_name = '设备到厂' THEN b.id END) AS dcsl,
|
COUNT(DISTINCT CASE WHEN fvp.process_name = '设备安装' THEN b.id END) AS azsl,
|
COUNT(DISTINCT CASE WHEN all_complete.network_id IS NOT NULL THEN b.id END) AS wcsl
|
FROM
|
dj_sys_teamgroup_class a
|
left JOIN
|
dj_jdgz_network_level3 b ON a.id = b.TEAMGROUP_ID OR a.id = b.DEPT_ID
|
LEFT JOIN dj_jdgz_network_level1 d on d.ID = b.LEVEL1_NETWORK_ID
|
LEFT JOIN (
|
SELECT
|
network_id,
|
process_name
|
FROM (
|
SELECT
|
c.network_id,
|
c.process_name,
|
c.CURRENT_STATUS,
|
ROW_NUMBER() OVER (
|
PARTITION BY c.network_id
|
ORDER BY c.sort
|
) AS rn
|
FROM
|
dj_jdgz_network_level3_list c
|
WHERE
|
(c.CURRENT_STATUS = 0 OR c.CURRENT_STATUS IS NULL) and c.is_delete = 0
|
) AS ranked_processes
|
WHERE
|
ranked_processes.rn = 1
|
) AS fvp ON b.id = fvp.network_id
|
LEFT JOIN (
|
SELECT
|
network_id
|
FROM
|
dj_jdgz_network_level3_list
|
LEFT JOIN dj_jdgz_network_level3 ON dj_jdgz_network_level3_list.network_id = dj_jdgz_network_level3.id
|
where dj_jdgz_network_level3_list.is_delete = 0
|
and dj_jdgz_network_level3.is_delete = 0
|
and dj_jdgz_network_level3.type = '${type}'
|
GROUP BY
|
network_id
|
HAVING
|
COUNT(CASE WHEN CURRENT_STATUS = 1 THEN 1 END) = COUNT(*)
|
) AS all_complete ON b.id = all_complete.network_id
|
WHERE
|
a.AREA = 'hld' AND a.IS_DELETE = 0 and d.ship_id = ${level1Id} and d.is_delete =0 and b.is_delete =0
|
GROUP BY
|
a.id, a.name
|
ORDER BY
|
sort;
|
</select>
|
<select id="getRemark" resultType="java.lang.String">
|
SELECT
|
b.remark
|
FROM
|
dj_jdgz_track_record b
|
LEFT JOIN dj_jdgz_network_level3 a ON b.LEVEL3_NETWORK_ID = a.ID
|
WHERE
|
a.is_delete = 0
|
AND b.is_delete = 0
|
AND a.id = ${networkId}
|
AND a.type = '${type}'
|
AND b.remark IS NOT NULL
|
ORDER BY
|
ABS((julianday('now') - julianday(b.CREATE_DATE)) * 86400) desc,
|
ABS((julianday('now') - julianday(b.UPDATE_DATE)) * 86400) desc
|
|
LIMIT 1;
|
</select>
|
|
|
</mapper>
|