巡检分析 巡检设备概况 详情
正在显示
4 个修改的文件
包含
139 行增加
和
29 行删除
... | @@ -251,7 +251,7 @@ public class InspectionAnalysisController { | ... | @@ -251,7 +251,7 @@ public class InspectionAnalysisController { |
251 | @GetMapping("/getInspectionEquipOverview") | 251 | @GetMapping("/getInspectionEquipOverview") |
252 | public Result<InspectionEquipOverviewVO> getInspectionEquipOverview(String startDate, String endDate){ | 252 | public Result<InspectionEquipOverviewVO> getInspectionEquipOverview(String startDate, String endDate){ |
253 | Result<InspectionEquipOverviewVO> result = new Result<>(); | 253 | Result<InspectionEquipOverviewVO> result = new Result<>(); |
254 | InspectionEquipOverviewVO inspectionEquipOverviewVO = inspectionAnalysisService.getInspectionEquipOverviewNew(startDate,endDate); | 254 | InspectionEquipOverviewVO inspectionEquipOverviewVO = inspectionAnalysisService.getInspectionEquipOverview(startDate,endDate); |
255 | result.setSuccess(true); | 255 | result.setSuccess(true); |
256 | result.setResult(inspectionEquipOverviewVO); | 256 | result.setResult(inspectionEquipOverviewVO); |
257 | return result; | 257 | return result; |
... | @@ -259,15 +259,15 @@ public class InspectionAnalysisController { | ... | @@ -259,15 +259,15 @@ public class InspectionAnalysisController { |
259 | 259 | ||
260 | @ApiOperation(value = "巡检分析-巡检设备概况-详情", notes = "巡检分析-巡检设备概况-详情") | 260 | @ApiOperation(value = "巡检分析-巡检设备概况-详情", notes = "巡检分析-巡检设备概况-详情") |
261 | @GetMapping("/getInspectionEquipOverviewDetail") | 261 | @GetMapping("/getInspectionEquipOverviewDetail") |
262 | public Result<List<InspectionEquipIndicatorsDetailVO>> getInspectionEquipOverviewDetail(String departId,String startDate, String endDate){ | 262 | public Result<List<InspectionEquipOverviewVO>> getInspectionEquipOverviewDetail(String departId,String startDate, String endDate){ |
263 | Result<List<InspectionEquipIndicatorsDetailVO>> result = new Result<>(); | 263 | Result<List<InspectionEquipOverviewVO>> result = new Result<>(); |
264 | String departIds = departId; | 264 | String departIds = departId; |
265 | if(StringUtils.isEmpty(departId)){ | 265 | if(StringUtils.isEmpty(departId)){ |
266 | departIds = BaseContextHandler.getDeparts(); | 266 | departIds = BaseContextHandler.getDeparts(); |
267 | }else{ | 267 | }else{ |
268 | departIds = sysDepartService.getChildDepartId(departId); | 268 | departIds = sysDepartService.getChildDepartId(departId); |
269 | } | 269 | } |
270 | List<InspectionEquipIndicatorsDetailVO> dataList = inspectionAnalysisService.getInspectionEquipOverviewDetail(departIds,startDate,endDate); | 270 | List<InspectionEquipOverviewVO> dataList = inspectionAnalysisService.getInspectionEquipOverviewDetail(departIds,startDate,endDate); |
271 | result.setSuccess(true); | 271 | result.setSuccess(true); |
272 | result.setResult(dataList); | 272 | result.setResult(dataList); |
273 | return result; | 273 | return result; | ... | ... |
... | @@ -79,7 +79,7 @@ public interface IInspectionAnalysisService { | ... | @@ -79,7 +79,7 @@ public interface IInspectionAnalysisService { |
79 | * @param endDate | 79 | * @param endDate |
80 | * @return | 80 | * @return |
81 | */ | 81 | */ |
82 | List<InspectionEquipIndicatorsDetailVO> getInspectionEquipOverviewDetail(String departIds, String startDate, String endDate); | 82 | List<InspectionEquipOverviewVO> getInspectionEquipOverviewDetail(String departIds, String startDate, String endDate); |
83 | 83 | ||
84 | /*** | 84 | /*** |
85 | * 巡检分析-巡检任务异常项趋势 | 85 | * 巡检分析-巡检任务异常项趋势 | ... | ... |
... | @@ -548,8 +548,8 @@ public class InspectionAnalysisServiceImpl implements IInspectionAnalysisService | ... | @@ -548,8 +548,8 @@ public class InspectionAnalysisServiceImpl implements IInspectionAnalysisService |
548 | List<String> tempInspectionTaskIdList = entry0.getValue(); | 548 | List<String> tempInspectionTaskIdList = entry0.getValue(); |
549 | completableFutureList.add(CompletableFuture.supplyAsync(() -> { | 549 | completableFutureList.add(CompletableFuture.supplyAsync(() -> { |
550 | InspectionTaskIndicatorsVO vo = new InspectionTaskIndicatorsVO(); | 550 | InspectionTaskIndicatorsVO vo = new InspectionTaskIndicatorsVO(); |
551 | vo.setDepartName(StringUtils.isEmpty(departId) ? departId : sysDepartDictMap.get(departId)); | ||
552 | //初始化数据 | 551 | //初始化数据 |
552 | vo.setDepartName(StringUtils.isEmpty(departId) ? departId : sysDepartDictMap.get(departId)); | ||
553 | vo.setCompletionRate("0"); | 553 | vo.setCompletionRate("0"); |
554 | vo.setUnCompletionRate("0"); | 554 | vo.setUnCompletionRate("0"); |
555 | vo.setAbnormalRate("0"); | 555 | vo.setAbnormalRate("0"); |
... | @@ -1268,31 +1268,139 @@ public class InspectionAnalysisServiceImpl implements IInspectionAnalysisService | ... | @@ -1268,31 +1268,139 @@ public class InspectionAnalysisServiceImpl implements IInspectionAnalysisService |
1268 | * @param endDate | 1268 | * @param endDate |
1269 | * @return | 1269 | * @return |
1270 | */ | 1270 | */ |
1271 | public List<InspectionEquipIndicatorsDetailVO> getInspectionEquipOverviewDetail(String departIds, String startDate, String endDate){ | 1271 | public List<InspectionEquipOverviewVO> getInspectionEquipOverviewDetail(String departIds, String startDate, String endDate){ |
1272 | // return inspectionAnalysisMapper.getInspectionEquipIndicatorsDetail( departIds, startDate, endDate); | 1272 | List<InspectionEquipOverviewVO> voList = new ArrayList<>(); |
1273 | //return null; | 1273 | //查询时间内已巡检任务信息 |
1274 | String sql = "select d.depart_name, d.id 'departId' , ifnull(kkk.total_count,0) 'totalInspectionEquipCount' , ifnull(kkk.yj_count,0) 'checkedInspectionEquipCount' ,ifnull(kkk.yc_count,0) 'abnormalInspectionEquipCount' ,(ifnull(kkk.yj_count,0) - ifnull(kkk.yc_count,0) ) 'normalInspectionEquipCount' , " + | 1274 | QueryWrapper<InspectionTask> inspectionTaskQueryWrapper = new QueryWrapper(); |
1275 | " (ifnull(kkk.total_count,0) - ifnull(kkk.yj_count,0) ) 'notCheckedInspectionEquipCount' " + | 1275 | if (StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate)) { |
1276 | " from sys_depart d "; | 1276 | inspectionTaskQueryWrapper.ge("inspection_cycle_start_date", startDate + " 00:00:00"); |
1277 | sql +=" left join ( select ei.depart_id ,count( eee.equip_info_id) 'total_count' ,ifnull( SUM( CASE WHEN fff.equip_info_id > '0' THEN 1 ELSE 0 END ),0) as 'yj_count',ifnull( SUM( CASE WHEN ggg.equip_info_id > '0' THEN 1 ELSE 0 END ),0) as 'yc_count'"; | 1277 | inspectionTaskQueryWrapper.le("inspection_cycle_start_date", endDate + " 23:59:59"); |
1278 | sql +=" from ( " + getInspectionEquipIdsSql(departIds, startDate, endDate) +") eee "; | ||
1279 | sql += " left join ( "+ getCheckedInspectionEquipIds(departIds ,startDate, endDate,null)+" ) fff on fff.equip_info_id = eee.equip_info_id"; | ||
1280 | sql += " left join ( "+ getCheckedInspectionEquipIds(departIds ,startDate, endDate,"0")+" ) ggg on ggg.equip_info_id = eee.equip_info_id "; | ||
1281 | sql += " left join equipment_info ei on eee.equip_info_id = ei.id "; | ||
1282 | sql +=" group by ei.depart_id "; | ||
1283 | sql +=" ) kkk on d.id = kkk.depart_id "; | ||
1284 | |||
1285 | sql +=" where d.depart_type = 1 "; | ||
1286 | if(StringUtils.isNotEmpty(departIds)){ | ||
1287 | sql +=" and d.id in ("+JSUtils.quoteEach(departIds,",")+") "; | ||
1288 | } | 1278 | } |
1289 | sql += " order by kkk.total_count desc "; | 1279 | inspectionTaskQueryWrapper.in("task_state", "2","3"); |
1290 | List<InspectionEquipIndicatorsDetailVO> dataList =getJdbcTemplate().query(sql,new BeanPropertyRowMapper<InspectionEquipIndicatorsDetailVO>(InspectionEquipIndicatorsDetailVO.class)); | 1280 | List<InspectionTask> inspectionTaskList = inspectionTaskService.list(inspectionTaskQueryWrapper); |
1291 | 1281 | // 巡检任务按照departId分组 | |
1292 | return dataList; | 1282 | Map<String, List<String>> departId2inspectionTaskIdMap = new LinkedHashMap<>(); |
1293 | 1283 | for (InspectionTask inspectionTask : inspectionTaskList) { | |
1294 | 1284 | String departId = inspectionTask.getDepartId(); | |
1285 | List<String> inspectionTaskIdList = departId2inspectionTaskIdMap.computeIfAbsent(departId, k -> new ArrayList<>()); | ||
1286 | inspectionTaskIdList.add(inspectionTask.getId()); | ||
1287 | } | ||
1288 | List<CompletableFuture> completableFutureList = new ArrayList<>(); | ||
1289 | // 翻译 | ||
1290 | Map<String, String> sysDepartDictMap = businessService.dictMap("sys_depart", null); | ||
1291 | for (Map.Entry<String, List<String>> entry0: departId2inspectionTaskIdMap.entrySet()) { | ||
1292 | String departId = entry0.getKey(); | ||
1293 | List<String> tempInspectionTaskIdList = entry0.getValue(); | ||
1294 | completableFutureList.add(CompletableFuture.supplyAsync(() -> { | ||
1295 | InspectionEquipOverviewVO inspectionEquipOverviewVO = new InspectionEquipOverviewVO(); | ||
1296 | //设置初始化数据 | ||
1297 | inspectionEquipOverviewVO.setDepartName(StringUtils.isEmpty(departId) ? departId : sysDepartDictMap.get(departId)); | ||
1298 | inspectionEquipOverviewVO.setTotalInspectionEquipCount(0); | ||
1299 | inspectionEquipOverviewVO.setCheckedInspectionEquipCount(0); | ||
1300 | inspectionEquipOverviewVO.setNotCheckedInspectionEquipCount(0); | ||
1301 | inspectionEquipOverviewVO.setNormalInspectionEquipCount(0); | ||
1302 | inspectionEquipOverviewVO.setAbnormalInspectionEquipCount(0); | ||
1303 | inspectionEquipOverviewVO.setProcessedAbnormalRate("0"); | ||
1304 | if (tempInspectionTaskIdList.size() > 0) { | ||
1305 | //查询应检设备数量 | ||
1306 | QueryWrapper<InspectionTaskPointFillGroup> inspectionTaskPointFillGroupQueryWrapper = new QueryWrapper<>(); | ||
1307 | inspectionTaskPointFillGroupQueryWrapper.in("inspection_task_id", tempInspectionTaskIdList); | ||
1308 | inspectionTaskPointFillGroupQueryWrapper.select("equip_info_id equipInfoId,inspection_point_fill_group_id inspectionPointFillGroupId,inspection_fill_group_id inspectionFillGroupId,inspection_task_id inspectionTaskId"); | ||
1309 | inspectionTaskPointFillGroupQueryWrapper.groupBy("equip_info_id,inspection_point_fill_group_id,inspection_fill_group_id,inspection_task_id"); | ||
1310 | inspectionTaskPointFillGroupQueryWrapper.isNotNull("equip_info_id"); | ||
1311 | inspectionTaskPointFillGroupQueryWrapper.ne("equip_info_id", ""); | ||
1312 | List<Map<String, Object>> equipInfoIdList = inspectionTaskPointFillGroupService.listMaps(inspectionTaskPointFillGroupQueryWrapper); | ||
1313 | //应检设备数量 | ||
1314 | Integer totalInspectionEquipCount = equipInfoIdList.stream().map(m -> ConvertUtils.getString(m.get("equipInfoId"))).collect(Collectors.toSet()).size(); | ||
1315 | //查询已巡检设备数量 | ||
1316 | List<String> inspectionPointFillGroupIdList = equipInfoIdList.stream().map(m -> ConvertUtils.getString(m.get("inspectionPointFillGroupId"))).collect(Collectors.toList()); | ||
1317 | List<String> inspectionFillGroupIdList = equipInfoIdList.stream().map(m -> ConvertUtils.getString(m.get("inspectionFillGroupId"))).collect(Collectors.toList()); | ||
1318 | int checkedInspectionEquipCount = 0; | ||
1319 | int notCheckedInspectionEquipCount = 0; | ||
1320 | int abnormalInspectionEquipCount = 0; | ||
1321 | if (inspectionPointFillGroupIdList.size() > 0) { | ||
1322 | QueryWrapper<InspectionTaskFillContent> inspectionTaskFillContentQueryWrapper = new QueryWrapper<>(); | ||
1323 | inspectionTaskFillContentQueryWrapper.in("isfc.inspection_task_id", tempInspectionTaskIdList); | ||
1324 | inspectionTaskFillContentQueryWrapper.in("isfc.inspection_point_fill_group_id", inspectionPointFillGroupIdList); | ||
1325 | inspectionTaskFillContentQueryWrapper.in("isfc.inspection_fill_group_id",inspectionFillGroupIdList); | ||
1326 | inspectionTaskFillContentQueryWrapper.isNotNull("itpfg.equip_info_id"); | ||
1327 | inspectionTaskFillContentQueryWrapper.ne("itpfg.equip_info_id", ""); | ||
1328 | inspectionTaskFillContentQueryWrapper.groupBy("itpfg.equip_info_id"); | ||
1329 | inspectionTaskFillContentQueryWrapper.isNotNull("isfc.fill_content"); | ||
1330 | inspectionTaskFillContentQueryWrapper.ne("isfc.fill_content", ""); | ||
1331 | List<Map<String, Object>> inspectionTaskFillContentList = inspectionTaskFillContentService.getList(inspectionTaskFillContentQueryWrapper); | ||
1332 | //已检设备数量 | ||
1333 | checkedInspectionEquipCount = inspectionTaskFillContentList.size(); | ||
1334 | //未检设备数量 | ||
1335 | notCheckedInspectionEquipCount = totalInspectionEquipCount - checkedInspectionEquipCount; | ||
1336 | //查询异常填报设备数量 | ||
1337 | inspectionTaskFillContentQueryWrapper.eq("choice_state", "0"); | ||
1338 | abnormalInspectionEquipCount = inspectionTaskFillContentService.getList(inspectionTaskFillContentQueryWrapper).size(); | ||
1339 | } | ||
1340 | //查询问题上报id集合 | ||
1341 | QueryWrapper<InspectionTaskProblemReport> inspectionTaskProblemReportQueryWrapper = new QueryWrapper<>(); | ||
1342 | inspectionTaskProblemReportQueryWrapper.in("inspection_task_id", tempInspectionTaskIdList); | ||
1343 | List<InspectionTaskProblemReport> inspectionTaskProblemReportList = inspectionTaskProblemReportService.list(inspectionTaskProblemReportQueryWrapper); | ||
1344 | List<String> problemReportIdList = inspectionTaskProblemReportList.stream().map(InspectionTaskProblemReport::getProblemReportPlanId).collect(Collectors.toList()); | ||
1345 | List<ProblemReportPlan> problemReportPlanList = new ArrayList<>(); | ||
1346 | if (problemReportIdList.size() > 0) { | ||
1347 | QueryWrapper<ProblemReportPlan> problemReportPlanQueryWrapper = new QueryWrapper<>(); | ||
1348 | problemReportPlanQueryWrapper.in("id", problemReportIdList); | ||
1349 | problemReportPlanList = problemReportPlanService.list(problemReportPlanQueryWrapper); | ||
1350 | } | ||
1351 | //存放问题上报的实例ID | ||
1352 | Set<String> processInstanceIdList = problemReportPlanList.stream().map(ProblemReportPlan::getProcessInstanceId).collect(Collectors.toSet()); | ||
1353 | Map<String, Map<String, String>> processStateMap = new HashMap<>(); | ||
1354 | if (processInstanceIdList.size() > 0) { | ||
1355 | processStateMap = flowBusinessService.getProcessState(processInstanceIdList); | ||
1356 | } | ||
1357 | Map<String, List<String>> processInstanceStateMap = new HashMap<>(); | ||
1358 | List<String> tempProcessInstanceIdList; | ||
1359 | for (Map.Entry<String, Map<String, String>> entry : processStateMap.entrySet()) { | ||
1360 | tempProcessInstanceIdList = new ArrayList<>(); | ||
1361 | String processInstanceId = entry.getKey(); | ||
1362 | String state = entry.getValue().get("state"); | ||
1363 | if (processInstanceStateMap.get(state) != null) { | ||
1364 | tempProcessInstanceIdList = processInstanceStateMap.get(state); | ||
1365 | } | ||
1366 | tempProcessInstanceIdList.add(processInstanceId); | ||
1367 | processInstanceStateMap.put(state, tempProcessInstanceIdList); | ||
1368 | } | ||
1369 | //异常项数量(问题上报) | ||
1370 | Integer abnormalItemsCount = problemReportPlanList.size(); | ||
1371 | //已处理异常项数量(问题上报) | ||
1372 | Integer processedAbnormalItemsCount = 0; | ||
1373 | if (processInstanceStateMap != null && processInstanceStateMap.get(FlowEngineConstant.STATUS_FINISHED) != null) { | ||
1374 | processedAbnormalItemsCount = processInstanceStateMap.get(FlowEngineConstant.STATUS_FINISHED).size(); | ||
1375 | } | ||
1376 | //异常项处理率 | ||
1377 | String processedAbnormalRate = "0"; | ||
1378 | if (abnormalItemsCount != 0) { | ||
1379 | processedAbnormalRate = numberFormat.format(processedAbnormalItemsCount / (double) abnormalItemsCount * 100); | ||
1380 | } | ||
1381 | inspectionEquipOverviewVO.setTotalInspectionEquipCount(totalInspectionEquipCount); | ||
1382 | inspectionEquipOverviewVO.setCheckedInspectionEquipCount(checkedInspectionEquipCount); | ||
1383 | inspectionEquipOverviewVO.setNotCheckedInspectionEquipCount(notCheckedInspectionEquipCount); | ||
1384 | inspectionEquipOverviewVO.setNormalInspectionEquipCount(checkedInspectionEquipCount - abnormalInspectionEquipCount); | ||
1385 | inspectionEquipOverviewVO.setAbnormalInspectionEquipCount(abnormalInspectionEquipCount); | ||
1386 | inspectionEquipOverviewVO.setProcessedAbnormalRate(processedAbnormalRate); | ||
1387 | } | ||
1388 | return inspectionEquipOverviewVO; | ||
1389 | }, (Executor) SpringContextUtils.getBean("taskExecutor2"))); | ||
1390 | } | ||
1391 | // 等待所有子线程处理完毕 | ||
1392 | CompletableFuture.allOf(completableFutureList.toArray(new CompletableFuture[0])).join(); | ||
1393 | for (CompletableFuture completableFuture : completableFutureList) { | ||
1394 | try { | ||
1395 | InspectionEquipOverviewVO vo = (InspectionEquipOverviewVO) completableFuture.get(); | ||
1396 | voList.add(vo); | ||
1397 | } catch (Exception e) { | ||
1398 | e.printStackTrace(); | ||
1399 | } | ||
1400 | } | ||
1401 | return voList; | ||
1295 | } | 1402 | } |
1403 | |||
1296 | @Override | 1404 | @Override |
1297 | public List<InspectionAbnormalItemsTrendVO> getInspectionAbnormalItemsTrend(String startDate, String endDate) { | 1405 | public List<InspectionAbnormalItemsTrendVO> getInspectionAbnormalItemsTrend(String startDate, String endDate) { |
1298 | List<InspectionAbnormalItemsTrendVO> inspectionAbnormalItemsTrendVOList = new ArrayList<>(); | 1406 | List<InspectionAbnormalItemsTrendVO> inspectionAbnormalItemsTrendVOList = new ArrayList<>(); | ... | ... |
... | @@ -29,4 +29,6 @@ public class InspectionEquipOverviewVO { | ... | @@ -29,4 +29,6 @@ public class InspectionEquipOverviewVO { |
29 | private Integer abnormalInspectionEquipCount; | 29 | private Integer abnormalInspectionEquipCount; |
30 | @ApiModelProperty(value = "异常项处理率") | 30 | @ApiModelProperty(value = "异常项处理率") |
31 | private String processedAbnormalRate; | 31 | private String processedAbnormalRate; |
32 | |||
33 | private String departName; | ||
32 | } | 34 | } | ... | ... |
-
请 注册 或 登录 后发表评论