107 lines
5.4 KiB
XML
107 lines
5.4 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.MonitorMapper">
|
|
<select id="getOnlineTop" resultType="com.sercurityControl.decision.domain.Pie">
|
|
select sum(TIMESTAMPDIFF(minute,tu.up_time,IFNULL(tu.down_time,concat(tu.create_day,' 23:59:00')))) as value ,td.puid as name
|
|
from t_device td
|
|
inner join t_device_updown tu on td.puid = tu.puid
|
|
group by td.puid
|
|
order by value desc
|
|
limit 10
|
|
</select>
|
|
|
|
<select id="getLookTop" resultType="com.sercurityControl.decision.domain.Pie">
|
|
select count(ts.id) as value,td.puid as name
|
|
from t_class_metting_super ts
|
|
inner join t_class_metting tm on tm.class_id = ts.class_id
|
|
inner join t_device td on td.puid = tm.puid
|
|
where td.state = '1'
|
|
group by td.puid
|
|
order by value
|
|
limit 10
|
|
</select>
|
|
|
|
<select id="getCoverBuild" resultType="com.sercurityControl.decision.domain.Pie">
|
|
select org.city_name as VALUE ,IFNULL(a.num,0) as name
|
|
from sys_org org
|
|
left join (
|
|
select count(td.id) as num,tm.org
|
|
from t_class_metting tm
|
|
inner join t_device td on td.puid = tm.puid
|
|
where td.state = '1'
|
|
group by tm.org
|
|
) a on org.org_id = a.org
|
|
order by org.org_id desc
|
|
</select>
|
|
|
|
<select id="getCoverRisk" resultType="com.sercurityControl.decision.domain.Pie">
|
|
select round(ifnull(a.num,0) * 100 / sum.num ,0) as value ,sum.job_risk_fc_level_num as name
|
|
from
|
|
(select count(ti.id) as num ,ti.job_risk_fc_level_num
|
|
from t_class_metting tm
|
|
inner join t_ticket_info ti on tm.ticket_id = ti.id
|
|
inner join t_device td on td.puid = tm.puid
|
|
where ti.job_risk_fc_level_num in ('2级','3级','4级','5级')
|
|
group by ti.job_risk_fc_level_num
|
|
) sum
|
|
left join
|
|
(select count(distinct td.id) as num ,ti.job_risk_fc_level_num
|
|
from t_class_metting tm
|
|
inner join t_ticket_info ti on tm.ticket_id = ti.id
|
|
inner join t_device td on td.puid = tm.puid and td.state = '1'
|
|
where ti.job_risk_fc_level_num in ('2级','3级','4级','5级')
|
|
group by ti.job_risk_fc_level_num) a on a.job_risk_fc_level_num = sum.job_risk_fc_level_num
|
|
order by sum.job_risk_fc_level_num
|
|
</select>
|
|
|
|
<select id="getQjNum" resultType="java.lang.Integer">
|
|
select count(id)
|
|
from t_device
|
|
<where>
|
|
<choose>
|
|
<when test="flag == '1'.toString()"> and state = '1' and qj_xh > '30'</when>
|
|
<when test="flag == '2'.toString()"> and state = '0'</when>
|
|
<otherwise>and state = '1' and qj_xh < '30'</otherwise>
|
|
</choose>
|
|
</where>
|
|
</select>
|
|
|
|
<select id="getLocation" resultType="com.sercurityControl.decision.domain.MonitorMap$LonLat">
|
|
select distinct lon,lat ,ti.job_risk_fc_level_num as risk_grade
|
|
from t_class_metting tm
|
|
inner join t_ticket_info ti on tm.ticket_id = ti.id
|
|
where MONTH(work_day) = MONTH(CURRENT_DATE) and ti.job_risk_fc_level_num in ('2级','3级','4级','5级')
|
|
order by ti.job_risk_fc_level_num
|
|
</select>
|
|
|
|
<select id="getDetailList" resultType="com.sercurityControl.decision.domain.MonitorDetail">
|
|
select distinct bid_name as project_name,build_unit as build_org_name,ti.job_risk_fc_level_num as risk_grade,
|
|
team_name,any_value(work_manager) as work_manager,any_value(work_manager_phone) as work_manager_phone,
|
|
any_value(tm.lon) as lon,any_value(tm.lat) as lat,tm.puid,
|
|
sum(TIMESTAMPDIFF(minute,tu.up_time,IFNULL(tu.down_time,concat(tu.create_day,' 23:59:00')))) as run_time,
|
|
case
|
|
when td.state = '0' then '1'
|
|
when td.state = '1' and td.qj_xh < '30' then '2'
|
|
else '0'
|
|
end as gjType,count(ts.id) as look_count
|
|
from t_class_metting tm
|
|
inner join t_device_updown tu on tm.puid = tu.puid
|
|
inner join t_ticket_info ti on ti.id = tm.ticket_id
|
|
inner join t_device td on tm.puid = td.puid
|
|
left join t_class_metting_super ts on ts.class_id = tm.class_id
|
|
where work_manager != 'null' and work_manager_phone != 'null' and MONTH(work_day) = MONTH(CURRENT_DATE)
|
|
<choose>
|
|
<when test="gjType == '0'.toString()">and td.state = '1' and (td.qj_xh > '30' or td.qj_xh is null)</when>
|
|
<when test="gjType == '1'.toString()"> and td.state = '0'</when>
|
|
<when test="gjType == '2'.toString()"> and td.state = '1' and td.qj_xh < '30'</when>
|
|
</choose>
|
|
<if test="buildOrgNo != null and buildOrgNo != ''"> and tm.org = #{buildOrgNo}</if>
|
|
<if test="riskGrade != null and riskGrade != ''"> and ti.job_risk_fc_level_num = #{riskGrade}</if>
|
|
<if test="projectName != null and projectName != ''"> and tm.bid_name like concat('%',#{projectName},'%')</if>
|
|
<if test="teamName != null and teamName != ''"> and tm.team_name like concat('%',#{teamName},'%')</if>
|
|
<if test="workManager != null and workManager != ''"> and tm.work_manager like concat('%',#{workManager},'%')</if>
|
|
group by bid_name,build_unit,ti.job_risk_fc_level_num,team_name,tm.puid,td.state,td.qj_xh
|
|
</select>
|
|
</mapper>
|
|
|