diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ReportController.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ReportController.java index 34defed8..4966d41c 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ReportController.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ReportController.java @@ -554,6 +554,20 @@ public class ReportController { } } + /** + * 工时统计-车间维度看板 + * @param + * @return + */ + @GetMapping("/financialWorkHoursBoard") + public R financialWorkHoursBoard(@RequestParam(required = false) Map paramMap){ + try { + return R.ok(reportService.financialWorkHoursBoard(paramMap)); + } catch (Exception e) { + return R.failed(e.getMessage()); + } + } + /** * * 客户维度已完工工时报表 diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/ReportService.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/ReportService.java index 51e44f5b..86ae2e4b 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/ReportService.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/ReportService.java @@ -292,4 +292,11 @@ public interface ReportService { * @return */ List> timeStatisticsWorkshopReport(Map paramMap); + + /** + * 工时统计-车间维度看板 + * @param paramMap + * @return + */ + Map financialWorkHoursBoard(Map paramMap); } diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java index ec516686..14d737a9 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java @@ -1523,6 +1523,49 @@ public class ReportServiceImpl implements ReportService { return reportMapper.timeStatisticsWorkshopReport(paramMap); } + /** + * 工时统计-车间维度看板 + * @param paramMap + * @return + */ + @Override + public Map financialWorkHoursBoard(Map paramMap) { + HashMap result = new HashMap<>(); + List> mapList = reportMapper.timeStatisticsWorkshopReport(paramMap); + Map>> workCenterList = + mapList.stream().collect(Collectors.groupingBy(e -> e.get("WORK_CENTER_DESCRIPTION"))); + ArrayList workCenterDescList = new ArrayList<>(); + workCenterDescList.add("workCenter"); + ArrayList workHoursList = new ArrayList<>(); + workHoursList.add("加工工时"); + ArrayList ZTFWorkHoursList = new ArrayList<>(); + ZTFWorkHoursList.add("临时修复工时"); + ArrayList totalHoursList = new ArrayList<>(); + totalHoursList.add("总工时"); + for (String workCenter : workCenterList.keySet()) { + workCenterDescList.add(workCenter); + List>workCenterMapList = workCenterList.get(workCenter); + Float workHours = 0.00f; + Float ZTFWorkHours = 0.00f; + Float totalHours = 0.00f; + for (Map map : workCenterMapList) { + workHours += Float.valueOf(String.valueOf(map.get("WORK_HOURS"))); + ZTFWorkHours += Float.valueOf(String.valueOf(map.get("ZTF_WORK_HOURS"))); + totalHours += Float.valueOf(String.valueOf(map.get("TOTAL_HOURS"))); + } + workHoursList.add(workHours); + ZTFWorkHoursList.add(ZTFWorkHours); + totalHoursList.add(totalHours); + } + ArrayList resultList = new ArrayList<>(); + resultList.add(workCenterDescList); + resultList.add(workHoursList); + resultList.add(ZTFWorkHoursList); + resultList.add(totalHoursList); + result.put("resultList",resultList); + return result; + } + /** * 工时统计报表 * @param paramMap diff --git a/anomaly/src/main/resources/mapper/ReportMapper.xml b/anomaly/src/main/resources/mapper/ReportMapper.xml index fc0ec486..f3ee7ed9 100644 --- a/anomaly/src/main/resources/mapper/ReportMapper.xml +++ b/anomaly/src/main/resources/mapper/ReportMapper.xml @@ -2958,4 +2958,5 @@ SELECT zab.CREATED_DATE_TIME, ORDER BY NEWIP.Z_YEAR, NEWIP.Z_MONTH, NEWIP.WORK_CENTER_DESCRIPTION,NEWIP.COST_CENTER + \ No newline at end of file