| | |
| | | |
| | | <select id="selectTMonitorList" resultType="com.ycl.platform.domain.vo.TMonitorVO"> |
| | | select m.id, m.serial_number, name, site_type, mac_addr, ip, camera_fun_type, longitude, latitude, |
| | | camera_capture_area, on_state, civil_code, d.dept_id, d.dept_name, d.area, p.province_tag, |
| | | IF(COUNT(w.id) OVER() > 0, '是', '否') AS error, u.unit_name from t_monitor m |
| | | camera_capture_area, p.online as onState, civil_code, d.dept_id, d.dept_name, d.area, p.province_tag, |
| | | IF(COUNT(w.id) OVER() > 0, '是', '否') AS error, u.unit_name,p.recovery_time,p.reason,p.start_time,p.end_time,w.work_order_no from t_monitor m |
| | | left join t_yw_point p on m.serial_number = p.serial_number and p.deleted = 0 |
| | | left join sys_dept d on p.dept_id = d.dept_id and d.del_flag = 0 |
| | | left join t_work_order w on m.serial_number = w.serial_number and w.deleted = 0 |
| | | left join ( |
| | | WITH cte AS ( |
| | | SELECT *,row_number() OVER(PARTITION BY serial_number ORDER BY create_time DESC) rn FROM t_work_order |
| | | WHERE deleted = 0 |
| | | ) SELECT * FROM cte WHERE rn=1 |
| | | ) w on m.serial_number = w.serial_number and w.deleted = 0 |
| | | left join t_yw_unit u on p.unit_id = u.id and u.deleted = 0 |
| | | <where> |
| | | <if test="serialNumber != null and serialNumber != ''">and m.serial_number = #{serialNumber}</if> |
| | | <if test="name != null and name != ''">and name like concat('%', #{name}, '%')</if> |
| | | <if test="name != null and name != ''"> |
| | | and (name like concat('%', #{name}, '%') |
| | | or m.serial_number like concat('%', #{name}, '%') |
| | | or u.unit_name like concat('%', #{name}, '%')) |
| | | </if> |
| | | <if test="provinceTag != null ">and p.province_tag = #{provinceTag}</if> |
| | | <if test="siteType != null ">and site_type = #{siteType}</if> |
| | | <if test="macAddr != null and macAddr != ''">and mac_addr = #{macAddr}</if> |
| | | <if test="ip != null and ip != ''">and ip = #{ip}</if> |
| | |
| | | <if test="cameraCaptureArea != null and cameraCaptureArea != ''">and camera_capture_area = |
| | | #{cameraCaptureArea} |
| | | </if> |
| | | <if test="onState != null ">and on_state = #{onState}</if> |
| | | <if test="time !=null and time !=''">and TIMESTAMPDIFF(DAY, p.recovery_time, NOW()) <![CDATA[<=]]> #{time}</if> |
| | | <if test="onState != null ">and p.online = #{onState}</if> |
| | | <if test="civilCode != null and civilCode != ''">and civil_code = #{civilCode}</if> |
| | | <if test="integratedDevice != null ">and integrated_device = #{integratedDevice}</if> |
| | | <if test="cameraBrand != null ">and camera_brand = #{cameraBrand}</if> |
| | |
| | | <if test="cameraDept != null and cameraDept != ''">and camera_dept = #{cameraDept}</if> |
| | | <if test="hybm != null and hybm != ''">and hybm = #{hybm}</if> |
| | | <if test="lxbm != null ">and lxbm = #{lxbm}</if> |
| | | <if test="recovery != null ">and p.recovery = #{recovery}</if> |
| | | <!-- <if test="recovery != null ">and p.recovery = #{recovery}</if>--> |
| | | ${params.dataScope} |
| | | </where> |
| | | ${params.dataScope} |
| | | </select> |
| | | |
| | | <select id="selectMonitorVOList" resultType="com.ycl.platform.domain.vo.TMonitorVO"> |
| | |
| | | left join sys_dept d on p.dept_id = d.dept_id |
| | | </select> |
| | | |
| | | <select id="selectMonitorResult" resultType="com.ycl.platform.domain.result.SYS.TMonitorResult"> |
| | | select m.id, m.serial_number as no,d.dept_id,p.province_tag,p.important_tag,p.important_command_image_tag,p.dept_tag,p.online |
| | | from t_monitor m |
| | | left join t_yw_point p on m.serial_number = p.serial_number |
| | | left join sys_dept d on p.dept_id = d.dept_id |
| | | <where> |
| | | <if test="cameraFunType!=null"> |
| | | m.camera_fun_type like concat('%',#{cameraFunType},'%') |
| | | </if> |
| | | </where> |
| | | </select> |
| | | <select id="selectTMonitorById" parameterType="Long" resultType="com.ycl.platform.domain.vo.TMonitorVO"> |
| | | <include refid="selectTMonitorVo"/> |
| | | where id = #{id} |
| | |
| | | |
| | | <select id="getVideoCount" resultType="java.util.Map"> |
| | | SELECT count(*) AS totalPosts, |
| | | IFNULL(SUM(IF(on_state = 1, 1, 0)), 0) AS totalMembers, |
| | | IFNULL(SUM(IF(on_state = 2, 1, 0)), 0) AS postsPercentage, |
| | | IFNULL(ROUND(SUM(IF(on_state = 1, 1, 0)) / count(*) * 100, 2), 0) as viewsPercentage |
| | | FROM t_monitor m |
| | | IFNULL(SUM(IF(p.online = 1, 1, 0)), 0) AS totalMembers, |
| | | IFNULL(SUM(IF(p.online = 0, 1, 0)), 0) AS postsPercentage, |
| | | IFNULL(ROUND(SUM(IF(p.online, 1, 0)) / count(*) * 100, 2), 0) as viewsPercentage FROM t_monitor m |
| | | left join t_yw_point p on m.serial_number = p.serial_number |
| | | left join sys_dept d on p.dept_id = d.dept_id and d.del_flag = 0 |
| | | <where> |
| | | camera_fun_type like concat('%', #{cameraFunType}, '%') |
| | | <if test="provinceTag!=null"> |
| | | and p.province_tag = #{provinceTag} |
| | | </if> |
| | | ${params.dataScope} |
| | | </where> |
| | | </select> |
| | | |
| | | <select id="recoveryException" resultType="java.util.Map"> |
| | | <![CDATA[ |
| | | SELECT count(*) AS totalPosts, |
| | | IFNULL(SUM(IF(on_state = 1, 1, 0)), 0) AS totalMembers, |
| | | IFNULL(SUM(IF(on_state = 2, 1, 0)), 0) AS postsPercentage, |
| | | IFNULL(ROUND(SUM(IF(on_state = 1, 1, 0)) / count(*) * 100, 2), 0) as viewsPercentage |
| | | IFNULL(SUM(IF(p.online = 1, 1, 0)), 0) AS totalMembers, |
| | | IFNULL(SUM(IF(p.online = 0, 1, 0)), 0) AS postsPercentage, |
| | | IFNULL(ROUND(SUM(IF(p.online = 1, 1, 0)) / count(*) * 100, 2), 0) as viewsPercentage |
| | | FROM t_monitor t |
| | | LEFT JOIN t_yw_point p ON t.serial_number = p.serial_number |
| | | WHERE p.recovery = 1 |
| | | OR TIMESTAMPDIFF(DAY, p.recovery_time, NOW()) <= #{time} |
| | | ]]> |
| | | LEFT JOIN t_yw_point p ON t.serial_number = p.serial_number |
| | | left join sys_dept d on p.dept_id = d.dept_id and d.del_flag = 0 |
| | | <where> |
| | | <!-- (p.recovery = 1 OR TIMESTAMPDIFF(DAY, p.recovery_time, NOW()) <![CDATA[<=]]> #{time}) --> |
| | | <if test="provinceTag!=null"> |
| | | and p.province_tag = #{provinceTag} |
| | | </if> |
| | | ${params.dataScope} |
| | | </where> |
| | | </select> |
| | | |
| | | <select id="selectRecoveryMonitor" resultType="com.ycl.platform.domain.vo.TMonitorVO"> |
| | |
| | | serial_number in <foreach collection="gbList" open="(" separator="," close=")" item="no">#{no}</foreach> |
| | | </select> |
| | | |
| | | <select id="getDistinctIP" resultType="string"> |
| | | <select id="getDistinctIP" resultType="com.ycl.platform.domain.entity.TMonitor"> |
| | | SELECT |
| | | DISTINCT ip |
| | | DISTINCT ip, serial_number |
| | | FROM |
| | | t_monitor |
| | | </select> |
| | | |
| | | <update id="updateOnline"> |
| | | update t_yw_ponit set online = #{online.online}, update_time = #{online.updateTime} WHERE EXISTS ( |
| | | SELECT 1 FROM t_monitor WHERE ip = #{online.ip} AND t_monitor.serial_number = t_yw_point.serial_number |
| | | ); |
| | | <foreach collection="onlineList" item="online" separator=";"> |
| | | UPDATE |
| | | t_yw_point |
| | | SET |
| | | online = #{online.online}, |
| | | update_time = #{online.updateTime} |
| | | WHERE |
| | | EXISTS (SELECT 1 FROM t_monitor WHERE ip = #{online.ip} AND t_monitor.serial_number = t_yw_point.serial_number) |
| | | </foreach> |
| | | </update> |
| | | </mapper> |