| | |
| | | .where("mongoCreateTime").gte(DateUtils.getDayStart(date)).lt(DateUtils.getDayEnd(date))); |
| | | List<TMonitorResult> tMonitorResults = mongoTemplate.find(query, TMonitorResult.class); |
| | | for (TMonitorResult result : tMonitorResults) { |
| | | if(result.getOnline()){ |
| | | if(result.getPingOnline()){ |
| | | onlineStatusMap.put(result.getNo(), Online); |
| | | }else { |
| | | onlineStatusMap.put(result.getNo(), Offline); |
| | |
| | | } |
| | | String errorType = workOrder.getErrorType(); |
| | | //存储故障 录像或图片访问异常 |
| | | if (ErrorType.VIDEO_NONE.getValue().equals(errorType) || ErrorType.PIC_URLABNORMAL.getValue().equals(errorType)) { |
| | | if (!CollectionUtils.isEmpty(storeRuleMap)) { |
| | | storeRuleMap.forEach((contractId, rules) -> { |
| | | Integer unitId = rules.get(0).getUnitId(); |
| | | //找到对应的规则 |
| | | if (workOrder.getUnitId().equals(unitId)) { |
| | | //工单下发时间 |
| | | Date createTime = workOrder.getDistributeTime(); |
| | | Date auditTime = workOrder.getAuditTime(); |
| | | double diffTime = (double) (auditTime.getTime() - createTime.getTime()) / (1000 * 60 * 60); |
| | | //选择时间范围内的规则 |
| | | for (CalculateRuleVO rule : rules) { |
| | | if (checkRange(rule.getMin(), rule.getMax(), new BigDecimal(diffTime))) { |
| | | double deductScore = rule.getCalcFraction() * Math.ceil(diffTime); |
| | | ContractScore contractScore = getContractScore(rule, deductScore, Math.round(diffTime * 100) / 100 + "", Remark + "工单编号为:" + workOrder.getWorkOrderNo() + "处理超时,扣除" + deductScore + "分"); |
| | | contractScoreList.add(contractScore); |
| | | workOrderList.add(workOrder.getWorkOrderNo()); |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | // if (ErrorType.VIDEO_NONE.getValue().equals(errorType) || ErrorType.PIC_URLABNORMAL.getValue().equals(errorType)) { |
| | | // if (!CollectionUtils.isEmpty(storeRuleMap)) { |
| | | // storeRuleMap.forEach((contractId, rules) -> { |
| | | // Integer unitId = rules.get(0).getUnitId(); |
| | | // //找到对应的规则 |
| | | // if (workOrder.getUnitId().equals(unitId)) { |
| | | // //工单下发时间 |
| | | // Date createTime = workOrder.getDistributeTime(); |
| | | // Date auditTime = workOrder.getAuditTime(); |
| | | // double diffTime = (double) (auditTime.getTime() - createTime.getTime()) / (1000 * 60 * 60); |
| | | // //选择时间范围内的规则 |
| | | // for (CalculateRuleVO rule : rules) { |
| | | // if (checkRange(rule.getMin(), rule.getMax(), new BigDecimal(diffTime))) { |
| | | // double deductScore = rule.getCalcFraction() * Math.ceil(diffTime); |
| | | // ContractScore contractScore = getContractScore(rule, deductScore, Math.round(diffTime * 100) / 100 + "", Remark + "工单编号为:" + workOrder.getWorkOrderNo() + "处理超时,扣除" + deductScore + "分"); |
| | | // contractScoreList.add(contractScore); |
| | | // workOrderList.add(workOrder.getWorkOrderNo()); |
| | | // } |
| | | // } |
| | | // } |
| | | // }); |
| | | // } |
| | | // } |
| | | //前端感知源治理工作(时钟同步规则、OSD规则、一机一档规则) |
| | | if (ErrorType.MONITOR_UNQUALIFY.getValue().equals(errorType) || ErrorType.OSD_ERROR.getValue().equals(errorType) || ErrorType.CLOCK_SKEW.getValue().equals(errorType)) { |
| | | if (ErrorType.POINT_INFO_ERROR.getValue().equals(errorType) || ErrorType.OSD_ERROR.getValue().equals(errorType) || ErrorType.CLOCK_SKEW.getValue().equals(errorType)) { |
| | | if (!CollectionUtils.isEmpty(monitorRuleMap)) { |
| | | monitorRuleMap.forEach((contractId, rules) -> { |
| | | Integer unitId = rules.get(0).getUnitId(); |