bns_jjsp_service/securityControl-modules/securityControl-decision/target/classes/mapper/JjRiskManageDao.xml

149 lines
7.0 KiB
XML

<?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.sercurityControl.decision.mapper.JjRiskManageMapper">
<!--查询风险二三级等级告警数量-->
<select id="getRiskNum" resultType="com.sercurityControl.decision.domain.vo.RiskManageVo">
select count(case t.risk_level = "二级" when 1 then 0 end
) as twoRiskNum,
count(case t.risk_level = "三级" when 1 then 0 end
) as threeRiskNum
from jj_week_plan t
where t.end_date &gt;= #{workTime}
and t.start_date &lt;= #{workTime}
</select>
<!--查询今日风险二三级等级告警总数数量-->
<select id="getRiskSum" resultType="java.util.Map">
select count(case t.risk_level = "二级" when 1 then 0 end
) as twoRiskNum,
count(case t.risk_level = "三级" when 1 then 0 end
) as threeRiskNum
from jj_week_plan t
where TO_DAYS(t.end_date) &gt;= TO_DAYS(now())
and TO_DAYS(t.start_date) &lt;= TO_DAYS(now())
</select>
<!--分页查询-->
<select id="queryByPage" resultType="com.sercurityControl.decision.domain.vo.RiskListVo">
select
t.build_unit buildUnit,t.bid_name bidName,t.team_name teamName,t.work_content workContent,t.risk_level
riskLevel,concat(t.start_date,"~",t.end_date) AS workTime
from jj_week_plan t where t.risk_level in('二级','三级')
<if test="workTime!= null and workTime != ''">
and t.end_date &gt;= #{workTime} and t.start_date &lt;= #{workTime}
</if>
<if test="riskLevel!= null and riskLevel != ''">
and t.risk_level = #{riskLevel}
</if>
<if test="buildNo != null and buildNo != ''">
AND t.build_no = #{buildNo}
</if>
<if test="bidName != null and bidName != ''">
AND t.bid_name like concat('%', #{bidName}, '%')
</if>
</select>
<!--分页查询-->
<select id="queryNum" resultType="java.lang.Long">
SELECT sum(CASE
when tt.voltage in ('35kV', '220kV') and tt.num &lt; 4 then 1
when tt.voltage = '500kV' and tt.num &lt; 4 then 1
when tt.voltage = '1000kV' and tt.num &lt; 5 then 1
ELSE 0 end) as num
from (select t.voltage,
(select count(*)
from t_class_metting_people p
where p.class_id = t.class_id and p.people_type = '54') as num
from t_class_metting t
where TO_DAYS(t.work_day) = TO_DAYS(now())
and t.work_type in ('悬浮抱杆', '附着式抱杆', '座地抱杆', '吊车组塔')
GROUP BY t.work_manager_num,t.voltage,num
) tt
UNION all
SELECT sum(CASE
when tt.voltage in ('35kV', '220kV') and tt.num &lt; 4 then 1
when tt.voltage = '500kV' and tt.num &lt; 4 then 1
when tt.voltage = '1000kV' and tt.num &lt; 6 then 1
ELSE 0 end) as num
from (select t.voltage,
(select count(*)
from t_class_metting_people p
where p.class_id = t.class_id and p.people_type = '54') as num
from t_class_metting t
where TO_DAYS(t.work_day) = TO_DAYS(now())
and t.work_type in ('放线作业', '紧线作业', '附件安装')
GROUP BY t.work_manager_num,t.voltage,num
) tt
UNION all
SELECT sum(CASE
when tt.voltage in ('35kV', '220kV') and tt.num &lt; 4 then 1
when tt.voltage = '500kV' and tt.num &lt; 4 then 1
when tt.voltage = '1000kV' and tt.num &lt; 5 then 1
ELSE 0 end) as num
from (select t.voltage,
(select count(*)
from t_class_metting_people p
where p.class_id = t.class_id and p.people_type = '54') as num
from t_class_metting t
where DATEDIFF(t.work_day, NOW()) = -1
and t.work_type in ('悬浮抱杆', '附着式抱杆', '座地抱杆', '吊车组塔')
GROUP BY t.work_manager_num,t.voltage,num
) tt
UNION all
SELECT sum(CASE
when tt.voltage in ('35kV', '220kV') and tt.num &lt; 4 then 1
when tt.voltage = '500kV' and tt.num &lt; 4 then 1
when tt.voltage = '1000kV' and tt.num &lt; 6 then 1
ELSE 0 end) as num
from (select t.voltage,
(select count(*)
from t_class_metting_people p
where p.class_id = t.class_id and p.people_type = '54') as num
from t_class_metting t
where DATEDIFF(t.work_day, NOW()) = -1
and t.work_type in ('放线作业', '紧线作业', '附件安装')
GROUP BY t.work_manager_num,t.voltage,num
) tt
</select>
<!--分页查询组塔详情-->
<select id="queryTeamList" resultType="com.sercurityControl.decision.domain.vo.TeamPeopVo">
select * FROM
(
select t.team_name teamName,t.voltage,t.build_unit buildUnit,t.bid_name bidName,
CASE when t.voltage in ('35kV','220kV') then 4
when t.voltage = '500kV' then 4
when t.voltage = '1000kV' and t.work_type in ('悬浮抱杆','附着式抱杆','座地抱杆','吊车组塔') then 5
when t.voltage = '1000kV' and t.work_type in ('放线作业','紧线作业','附件安装') then 6
ELSE 0 end yqNum,DATE_FORMAT(t.work_day, '%Y-%m-%d') workTime,
(select count(*) from t_class_metting_people p where p.class_id =t.class_id and p.people_type ='54') as num
from t_class_metting t
where 1 =1
<if test="workTime!= null and workTime != ''">
and TO_DAYS(t.work_day) = TO_DAYS(#{workTime})
</if>
<if test="teamType == null or teamType == ''">
and t.work_type in ('悬浮抱杆','附着式抱杆','座地抱杆','吊车组塔','放线作业','紧线作业','附件安装')
</if>
<if test="teamType == 1">
and t.work_type in ('悬浮抱杆','附着式抱杆','座地抱杆','吊车组塔')
</if>
<if test="teamType == 2">
and t.work_type in ('放线作业','紧线作业','附件安装')
</if>
<if test="buildNo != null and buildNo != ''">
AND t.org = #{buildNo}
</if>
<if test="bidName != null and bidName != ''">
AND t.bid_name like concat('%', #{bidName}, '%')
</if>
GROUP BY t.work_manager_num,t.team_name ,t.voltage,t.build_unit ,t.bid_name ,num,workTime,t.class_id
)tt where tt.num &lt; tt.yqNum
order by tt.workTime desc
</select>
</mapper>