| | |
| | | import com.ycl.platform.domain.query.DataCenterQuery; |
| | | import com.ycl.platform.domain.query.HomeQuery; |
| | | import com.ycl.platform.domain.result.BaseResult; |
| | | import com.ycl.platform.domain.result.HK.FaceDeviceInspectionResult; |
| | | import com.ycl.platform.domain.result.HK.FaceDeviceSamplingResult; |
| | | import com.ycl.platform.domain.result.HK.VehicleDeviceInspectionResult; |
| | | import com.ycl.platform.domain.result.HK.VehicleDeviceSamplingResult; |
| | | import com.ycl.platform.domain.result.HK.*; |
| | | import com.ycl.platform.domain.result.SYS.TMonitorResult; |
| | | import com.ycl.platform.domain.result.UY.MonitorQualifyResult; |
| | | import com.ycl.platform.domain.result.UY.OsdCheckResult; |
| | |
| | | for (TMonitorVO monitor : monitors) { |
| | | if (!CollectionUtils.isEmpty(voList)) { |
| | | for (WorkOrderVO workOrderVO : voList) { |
| | | if (monitor.getWorkOrderNo().equals(workOrderVO.getWorkOrderNo())) { |
| | | if (monitor.getWorkOrderNo()!=null && monitor.getWorkOrderNo().equals(workOrderVO.getWorkOrderNo())) { |
| | | monitor.setUnitContact(workOrderVO.getUnitContact()); |
| | | monitor.setUnitContactPhone(workOrderVO.getUnitContactPhone()); |
| | | monitor.setYwPeopleName(workOrderVO.getYwPeopleName()); |
| | |
| | | } |
| | | // 车辆监控设备 |
| | | if (Objects.equals(tMonitor.getCameraFunType(), "2")) { |
| | | //属性一致率、大图、url |
| | | //属性一致率、大图 |
| | | List<VehicleDeviceSamplingResult> sampleResults = mongoTemplate.find(query, VehicleDeviceSamplingResult.class); |
| | | List<PicAccessResult> picAccessResults = mongoTemplate.find(query, PicAccessResult.class); |
| | | //抓拍量、时钟、上传 |
| | | List<VehicleDeviceInspectionResult> inspectResults = mongoTemplate.find(query, VehicleDeviceInspectionResult.class); |
| | | for (TMonitorVO monitor : monitors) { |
| | | monitor.setMongoCreateTime(now); |
| | | //一机一档 |
| | | setOneFile(monitorQualifyResults, monitor); |
| | | //属性一致率、大图、url |
| | | //url |
| | | if (!CollectionUtils.isEmpty(sampleResults)) { |
| | | for (PicAccessResult picAccessResult : picAccessResults) { |
| | | if (monitor.getSerialNumber().equals(picAccessResult.getNo())) { |
| | | BigDecimal bigDecimal = PicAccessResult.calUrl(picAccessResult); |
| | | monitor.setUrlPercent(bigDecimal); |
| | | } |
| | | } |
| | | } |
| | | //属性一致率、大图 |
| | | if (!CollectionUtils.isEmpty(sampleResults)) { |
| | | for (VehicleDeviceSamplingResult sampleResult : sampleResults) { |
| | | if (monitor.getSerialNumber().equals(sampleResult.getNo())) { |
| | | if (sampleResult.getBigUseful() != null) { |
| | | monitor.setBigUsefulPercent(sampleResult.getBigUseful().getBigUsefulPercent()); |
| | | monitor.setUrlPercent(VehicleDeviceSamplingResult.BigUsefulness.calUrl(sampleResult.getBigUseful())); |
| | | } |
| | | if (sampleResult.getVehDiff() != null) { |
| | | monitor.setImportantConPercent(sampleResult.getVehDiff().getImportantConPercent()); |
| | |
| | | monitor.setMongoCreateTime(now); |
| | | //一机一档 |
| | | setOneFile(monitorQualifyResults, monitor); |
| | | //人脸合格、大图、url访问异常 |
| | | //人脸合格、大图 |
| | | if (!CollectionUtils.isEmpty(sampleResults)) { |
| | | for (FaceDeviceSamplingResult sampleResult : sampleResults) { |
| | | if (monitor.getSerialNumber().equals(sampleResult.getNo())) { |
| | | if (sampleResult.getBigUseful() != null) { |
| | | monitor.setBigUsefulPercent(sampleResult.getBigUseful().getBigUsefulPercent()); |
| | | monitor.setUrlPercent(FaceDeviceSamplingResult.BigUsefulness.calUrl(sampleResult.getBigUseful())); |
| | | } |
| | | if (sampleResult.getFaceEligibility() != null) |
| | | monitor.setFacePercent(sampleResult.getFaceEligibility().getFaceEligPercent()); |
| | |
| | | List<TMonitorResult> onlines = onlineList.stream().filter(tMonitorResult -> tMonitorResult.getMongoCreateTime().minusDays(1).equals(parseTime)).collect(Collectors.toList()); |
| | | if (!CollectionUtils.isEmpty(onlines)) { |
| | | videoExp.setTotal(onlines.size()); |
| | | videoExp.setOnline(Integer.valueOf(onlines.stream() |
| | | .filter(TMonitorResult::getPingOnline) |
| | | .count() + "")); |
| | | long count = onlines.stream() |
| | | .filter(item -> ApiConstants.UY_OnlineSite_Online.equals(item.getOnline())) |
| | | .count(); |
| | | videoExp.setOnline(Integer.valueOf(count+"")); |
| | | videoExp.setOffline(videoExp.getTotal() - videoExp.getOnline()); |
| | | } |
| | | //设置存储情况 |
| | |
| | | new Document("$group", new Document("_id", "$mongoCreateTime") |
| | | .append("onlineCount", new Document("$sum", |
| | | new Document("$cond", Arrays.asList( |
| | | new Document("$eq", Arrays.asList("$online", Boolean.TRUE)), |
| | | new Document("$eq", Arrays.asList("$online",ApiConstants.UY_OnlineSite_Online)), |
| | | 1, |
| | | 0 |
| | | )) |
| | |
| | | new Document("$group", new Document("_id", "$mongoCreateTime") |
| | | .append("onlineCount", new Document("$sum", |
| | | new Document("$cond", Arrays.asList( |
| | | new Document("$eq", Arrays.asList("$online", Boolean.TRUE)), |
| | | new Document("$eq", Arrays.asList("$online",ApiConstants.UY_OnlineSite_Online)), |
| | | 1, |
| | | 0 |
| | | )) |
| | |
| | | new Document("$group", new Document("_id", "$mongoCreateTime") |
| | | .append("onlineCount", new Document("$sum", |
| | | new Document("$cond", Arrays.asList( |
| | | new Document("$eq", Arrays.asList("$online", Boolean.TRUE)), |
| | | new Document("$eq", Arrays.asList("$online", ApiConstants.UY_OnlineSite_Online)), |
| | | 1, |
| | | 0 |
| | | )) |
| | |
| | | for (TMonitorResult monitorResult : onlineResult) { |
| | | int dayOfMonth = monitorResult.getMongoCreateTime().getDayOfMonth(); |
| | | String online = ""; |
| | | online += monitorResult.getPingOnline() ? "在线" : "离线"; |
| | | if(ApiConstants.UY_OnlineSite_Online.equals(monitorResult.getOnline())){ |
| | | online +="在线"; |
| | | }else if(ApiConstants.UY_OnlineSite_Offline.equals(monitorResult.getOnline())){ |
| | | online +="离线"; |
| | | }else { |
| | | online +="未知"; |
| | | } |
| | | //反射赋值,字段统一定义为day+1,2,3... |
| | | Field field = videoDailyExp.getClass().getDeclaredField("day" + dayOfMonth); |
| | | field.setAccessible(true); |