| | |
| | | import com.ycl.platform.domain.entity.YwPoint; |
| | | import com.ycl.platform.domain.result.HK.PicAccessResult; |
| | | import com.ycl.platform.domain.result.HK.SnapshotDataMonitorResult; |
| | | import com.ycl.platform.domain.result.SYS.TMonitorResult; |
| | | import com.ycl.platform.domain.result.UY.RecordMetaDSumResult; |
| | | import com.ycl.platform.domain.result.UY.VideoOnlineResult; |
| | | import com.ycl.platform.domain.vo.CalculateRuleVO; |
| | |
| | | ) |
| | | )); |
| | | Map<String, Integer> onlineStatusMap = new HashMap<>(); |
| | | //TODO 在线率修改,查mongo获取设备在线情况 |
| | | Date date = DateUtils.getDay(2024, 7, 13); |
| | | Date date = new Date(); |
| | | //车辆、人脸 |
| | | Query query = new Query(); |
| | | query.addCriteria(Criteria |
| | | .where("mongoCreateTime").gte(DateUtils.getDayStart(date)).lt(DateUtils.getDayEnd(date))); |
| | | List<SnapshotDataMonitorResult> results = mongoTemplate.find(query, SnapshotDataMonitorResult.class); |
| | | for (SnapshotDataMonitorResult result : results) { |
| | | if (ApiConstants.HK_SnapCount_ResultType_Null != result.getResultType()) { |
| | | onlineStatusMap.put(result.getExternalIndexCode(), Online); |
| | | } else { |
| | | onlineStatusMap.put(result.getExternalIndexCode(), Offline); |
| | | List<TMonitorResult> tMonitorResults = mongoTemplate.find(query, TMonitorResult.class); |
| | | for (TMonitorResult result : tMonitorResults) { |
| | | if(result.getOnline()){ |
| | | onlineStatusMap.put(result.getNo(), Online); |
| | | }else { |
| | | onlineStatusMap.put(result.getNo(), Offline); |
| | | } |
| | | } |
| | | //视频 |
| | | Query videoQuery = new Query(Criteria |
| | | .where("mongoCreateTime").gte(DateUtils.getDayStart(date)).lt(DateUtils.getDayEnd(date))); |
| | | List<VideoOnlineResult> videoOnlineResults = mongoTemplate.find(videoQuery, VideoOnlineResult.class); |
| | | for (VideoOnlineResult videoOnlineResult : videoOnlineResults) { |
| | | onlineStatusMap.put(videoOnlineResult.getDeviceId(), videoOnlineResult.getStatus()); |
| | | } |
| | | |
| | | //查询报备列表 |
| | | List<String> reportNumbers = reportMapper.selectNumberList(AuditStatus_Pass, DateUtils.getDate()); |
| | | //计算每个公司的点位在线率 |
| | |
| | | |
| | | //月底计算在线率分数 |
| | | public void calculateOnlineScore() { |
| | | //TODO:检查表 |
| | | log.info("开始计算合同点位在线率分数"); |
| | | //如果是月底,需要统计平均在线率然后进行积分扣除 |
| | | // String now = DateUtils.getDate(); |
| | |
| | | queryWrapper.in("serial_number", serialNumbers); |
| | | //获取公司所运维的设备集合,key为unitId value为设备国标码集合 |
| | | Map<Long, List<String>> unitMonitorMap = ywPointMapper.selectList(queryWrapper).stream() |
| | | .filter(ywPoint -> ywPoint.getUnitId()!=null).collect(Collectors.groupingBy(YwPoint::getUnitId, |
| | | .filter(ywPoint -> ywPoint.getUnitId() != null).collect(Collectors.groupingBy(YwPoint::getUnitId, |
| | | Collectors.mapping( |
| | | YwPoint::getSerialNumber, |
| | | Collectors.toList()))); |
| | |
| | | queryWrapper.in("serial_number", serialNumbers); |
| | | //获取公司所运维的设备集合,key为unitId value为设备国标码集合 |
| | | Map<Long, List<String>> unitMonitorMap = ywPointMapper.selectList(queryWrapper).stream() |
| | | .filter(ywPoint -> ywPoint.getUnitId()!=null).collect(Collectors.groupingBy(YwPoint::getUnitId, |
| | | .filter(ywPoint -> ywPoint.getUnitId() != null).collect(Collectors.groupingBy(YwPoint::getUnitId, |
| | | Collectors.mapping( |
| | | YwPoint::getSerialNumber, |
| | | Collectors.toList()))); |