jl-jjsp-service/securityControl-modules/securityControl-proteam/target/classes/mapper/dutyTask/BallStatusStatisticsMapper.xml

149 lines
6.5 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.proteam.dutyTask.mapper.BallStatusStatisticMapper">
<!--球机开机情况统计-->
<select id="getBallKjList"
resultType="com.sercurityControl.proteam.dutyTask.domain.BallStatusStatisticEntity">
SELECT so.org_id AS `orgId`, so.city_name AS `orgName` ,IFNULL(a.num,0) AS classNum
FROM sys_org so
LEFT JOIN (
SELECT tcm.build_unit_code org ,COUNT(tcm.build_unit_code) AS num
FROM jj_class_meetting tcm
WHERE tcm.current_constr_date = CURRENT_DATE AND tcm.delete_flag = '0'
GROUP BY tcm.build_unit_code
)a ON a.org = so.org_id
ORDER BY num DESC
</select>
<!--球机总数、今日开机数-->
<select id="getBallNum" resultType="java.lang.Integer">
<if test="type == 1">
SELECT COUNT(*) AS num
FROM jj_class_meetting tcm
left join jj_ball jb on jb.id=tcm.camera_id2 and jb.delete_flag=0
INNER JOIN t_device td ON td.t_code = jb.camera_no AND td.is_flag = '0'
WHERE tcm.current_constr_date = CURRENT_DATE AND tcm.delete_flag = '0' AND tcm.build_unit_code = #{orgId}
</if>
<if test="type == 2">
SELECT COUNT(*)
FROM jj_class_meetting tcm
left join jj_ball jb on jb.id=tcm.camera_id2 and jb.delete_flag=0
INNER JOIN t_device td ON td.t_code = jb.camera_no AND td.is_flag = '0'
INNER JOIN (
SELECT puid,COUNT(DISTINCT puid) FROM
t_device_updown tdu
WHERE tdu.create_day = CURRENT_DATE
GROUP BY puid
)a ON td.puid = a.puid
WHERE tcm.current_constr_date = CURRENT_DATE AND tcm.delete_flag = '0' AND tcm.build_unit_code = #{orgId}
</if>
</select>
<!--球机未开机详情-->
<select id="getBallOffLineList"
resultType="com.sercurityControl.proteam.dutyTask.domain.BallStatusDetailEntity">
SELECT
so.city_name AS orgName,
tcm.ticket_no AS ticketNo,
tcm.bidding_section_name AS proName,
tcm.re_assessment_risk_level AS riskLevel,
jcmi.work_manage AS workManager,
jcmi.work_manage_phone AS workManagerPhone
FROM jj_class_meetting tcm
left join jj_class_metting_info jcmi on tcm.id=jcmi.class_id
LEFT JOIN sys_org so ON tcm.build_unit_code = so.org_id
left join jj_ball jb on jb.id=tcm.camera_id2 and jb.delete_flag=0
INNER JOIN t_device td ON td.t_code = jb.camera_no AND td.is_flag = '0'
LEFT JOIN (
SELECT puid,COUNT(puid) AS num
FROM t_device_updown tdu
WHERE tdu.create_day = CURRENT_DATE
GROUP BY puid
)a ON a.puid = td.puid
WHERE tcm.current_constr_date = CURRENT_DATE AND tcm.delete_flag = '0' AND a.num IS NULL
<if test="keyWord!=null and keyWord!=''">
AND (
INSTR(tcm.ticket_no,#{keyWord}) > 0 OR
INSTR(tcm.bidding_section_name,#{keyWord}) > 0 OR
INSTR(jcmi.work_manage,#{keyWord}) > 0
)
</if>
<if test="orgId!=null and orgId!=''">
AND tcm.build_unit_code = #{orgId}
</if>
<if test="riskLevel!=null and riskLevel!=''">
AND tcm.re_assessment_risk_level IN (
<foreach collection="riskLevelList" item="item" separator=",">
#{item}
</foreach>
)
</if>
ORDER BY tcm.re_assessment_risk_level
</select>
<!--球机在线时长情况统计-->
<select id="getBallHgList"
resultType="com.sercurityControl.proteam.dutyTask.domain.BallOnlineStatisticEntity">
SELECT so.org_id AS `orgId`, so.city_name AS `orgName` FROM sys_org so
</select>
<!--根据地市获取站班会(绑定球机)-->
<select id="getClassByOrg" resultType="java.util.Map">
SELECT
jcm.id AS classId,
td.puid,
DATE_FORMAT(jcm.current_constr_date,'%Y-%m-%d') AS workDay,
DATE_FORMAT(jcm.work_start_time,'%Y-%m-%d %H:%i:%s') AS startTime,
jcm.current_construction_status AS sgStatus
FROM jj_class_meetting jcm
left join jj_ball jb on jb.id=jcm.camera_id2 and jb.delete_flag=0
INNER JOIN t_device td ON td.t_code = jb.camera_no AND td.is_flag = '0'
WHERE jcm.current_constr_date = CURRENT_DATE AND jcm.delete_flag = '0'
AND jcm.build_unit_code = #{orgId}
</select>
<!--球机在线时长不合格详情-->
<select id="getBallBhgDetailList"
resultType="com.sercurityControl.proteam.dutyTask.domain.BallOnlineDetailEntity">
SELECT
so.org_id AS orgId,
so.city_name AS orgName,
tcm.ticket_no AS ticketNo,
tcm.bidding_section_name AS proName,
tcm.re_assessment_risk_level AS riskLevel,
jcmi.work_manage AS workManager,
jcmi.work_manage_phone AS workManagerPhone,
tcm.id AS classId,
td.puid AS puid,
tcm.work_start_time AS startTime,
tcm.current_construction_status AS sgStatus,
tcm.current_constr_date AS workDay
FROM jj_class_meetting tcm
left join jj_class_metting_info jcmi on tcm.id=jcmi.class_id
LEFT JOIN sys_org so ON tcm.build_unit_code = so.org_id
left join jj_ball jb on jb.id=tcm.camera_id2 and jb.delete_flag=0
INNER JOIN t_device td ON td.t_code = jb.camera_no AND td.is_flag = '0'
WHERE tcm.current_constr_date = CURRENT_DATE AND tcm.delete_flag = '0'
<if test="id!=null and id!=''">
AND tcm.id IN (
<foreach collection="classIdList" item="item" separator=",">
#{item}
</foreach>
)
</if>
<if test="keyWord!=null and keyWord!=''">
AND (
INSTR(tcm.ticket_no,#{keyWord}) > 0 OR
INSTR(tcm.bidding_section_name,#{keyWord}) > 0 OR
INSTR(jcmi.work_manage,#{keyWord}) > 0
)
</if>
<if test="orgId!=null and orgId!=''">
AND tcm.build_unit_code = #{orgId}
</if>
<if test="riskLevel!=null and riskLevel!=''">
AND tcm.re_assessment_risk_level IN (
<foreach collection="riskLevelList" item="item" separator=",">
#{item}
</foreach>
)
</if>
ORDER BY tcm.re_assessment_risk_level
</select>
</mapper>