ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/java/com/ycl/task/VideoTask.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/resources/application-dev.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java
@@ -95,7 +95,7 @@ /** * 获取恢复异常设备 * @param time 时间 * @param monitor 时间 * @return 数据 */ Map<String, String> recoveryException(TMonitorVO monitor); ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java
@@ -372,16 +372,21 @@ */ @Override public Map<String, Object> home(HomeQuery monitorQuery) { System.out.println(monitorQuery + "~~~~~~~~~~~~~打印"); Map<String, Object> dataMap = new HashMap<>(); Map<String, Object> monthMap1 = new HashMap<>(); Map<String, Object> monthMap2 = new HashMap<>(); List<Map<String, Object>> home = baseMapper.home(monitorQuery); if (ObjectUtils.isNotEmpty(home)) { //拿到数据库 循环查询 System.out.println(home + "~~~~~~~~~~~~~打印"); for (Map<String, Object> map : home) { //得到map的 months键的值 num1键的值 组装为新对象 monthMap1.put(map.get("months").toString(), map.get("num1")); //得到map的 months键的值 num2键的值 组装为新对象 monthMap2.put(map.get("months").toString(), map.get("num2")); } //home 的下标0的 map的 name键的值 dataMap.put("name", home.get(0).get("name")); dataMap.put("state", monthMap1); dataMap.put("state2", monthMap2); ycl-server/src/main/java/com/ycl/task/VideoTask.java
@@ -64,8 +64,8 @@ //计算点位在线率和重点点位在线率和指挥图像在线率 Query query = new Query(); query.addCriteria(Criteria .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday))); List<VideoOnlineResult> results = mongoTemplate.find(query, VideoOnlineResult.class); .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday)));//<&== 昨天的开始时间 < 结束时间 List<VideoOnlineResult> results = mongoTemplate.find(query, VideoOnlineResult.class);// //优云上有车辆和人脸的设备数据,需要过滤出视频设备 List<String> videoIds = monitorMapper.getVideoIds(); if(!CollectionUtils.isEmpty(results)){ ycl-server/src/main/resources/application-dev.yml
@@ -42,7 +42,7 @@ # password: ycl@202466 url: jdbc:mysql://localhost:3306/zgyw?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&allowMultiQueries=true&allowPublicKeyRetrieval=true username: root password: 1234 password: 123456 type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
@@ -487,26 +487,44 @@ WHERE TIMESTAMPDIFF(DAY, p.recovery_time, NOW()) <= #{time} ]]> </select> <!-- 查询 t_yw_unit 中id 为? 并且 t_work_order--> <!-- <select id="home" resultType="java.util.Map">--> <!-- SELECT--> <!-- u.unit_name AS name,--> <!-- CONCAT(MONTH(w.create_time), '月') AS months,--> <!-- COUNT(w.id) AS num1,--> <!-- COUNT(w.id) - COUNT(m.id) AS num2--> <!-- FROM--> <!-- t_monitor m--> <!-- LEFT JOIN t_yw_point p ON m.serial_number = p.serial_number--> <!-- LEFT JOIN t_yw_unit u ON p.unit_id = u.id--> <!-- LEFT JOIN t_work_order w ON w.serial_number = p.serial_number--> <!-- WHERE u.id = #{unitId} AND MONTH(w.create_time) IS NOT NULL--> <!-- <if test="dateRange != null and dateRange.size > 0">--> <!-- AND DATE_FORMAT(w.create_time, '%Y-%m') BETWEEN DATE_FORMAT(#{dateRange[0]}, '%Y-%m') AND DATE_FORMAT(#{dateRange[1]}, '%Y-%m')--> <!-- </if>--> <!-- GROUP BY months--> <!-- ORDER BY months--> <!-- </select>--> <select id="home" resultType="java.util.Map"> SELECT select count(distinct w.serial_number) as num1, CASE WHEN( a.num -count(distinct w.serial_number)) <![CDATA[ < 0 THEN 0 ELSE (a.num -count(distinct w.serial_number)) END as num2 ]]>, u.unit_name AS name, CONCAT(MONTH(w.create_time), '月') AS months, COUNT(w.id) AS num1, COUNT(m.id) - COUNT(w.id) AS num2 FROM t_monitor m LEFT JOIN t_yw_point p ON m.serial_number = p.serial_number LEFT JOIN t_yw_unit u ON p.unit_id = u.id LEFT JOIN t_work_order w ON w.serial_number = p.serial_number WHERE u.id = #{unitId} AND MONTH(w.create_time) IS NOT NULL CONCAT(MONTH(w.create_time), '月') AS months from (select count(m.id) as num from t_monitor m where m.serial_number IN (SELECT p.serial_number from t_yw_unit u,t_yw_point p where p.unit_id = u.id and u.id = 21 AND p.examine_status = 1) ) as a join t_work_order w JOIN t_yw_unit u ON u.id = w.unit_id where w.unit_id=#{unitId} <if test="dateRange != null and dateRange.size > 0"> AND DATE_FORMAT(w.create_time, '%Y-%m') BETWEEN DATE_FORMAT(#{dateRange[0]}, '%Y-%m') AND DATE_FORMAT(#{dateRange[1]}, '%Y-%m') AND DATE_FORMAT(w.create_time, '%Y-%m') BETWEEN DATE_FORMAT(#{dateRange[0], '%Y-%m') AND DATE_FORMAT(#{dateRange[1], '%Y-%m') </if> AND w.deleted = 1 GROUP BY months ORDER BY months </select> <select id="monitorTotal" resultType="com.ycl.platform.domain.vo.screen.MonitorTotalVO"> SELECT 'video' as type,