diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ProjectDetailsStatisticsCollectManifestController.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ProjectDetailsStatisticsCollectManifestController.java index 6ba8d18ae..7b2d2a1c9 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ProjectDetailsStatisticsCollectManifestController.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ProjectDetailsStatisticsCollectManifestController.java @@ -44,7 +44,7 @@ public class ProjectDetailsStatisticsCollectManifestController { @GetMapping(value = "/getProjectDetailsStatisticsCollectManifestData") public Result getProjectDetailsStatisticsCollectManifestData(@RequestParam(name="paramsManifestId",required=true) String paramsManifestId, @RequestParam(name="cut",required=true) String cut) { - List> data = paramsManifestEOService.getStatisticsForProjectDetails(paramsManifestId, cut); + Map data = paramsManifestEOService.getStatisticsForProjectDetails(paramsManifestId, cut); return Result.OK(data); } } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsManifestEOService.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsManifestEOService.java index 905f65650..ea5d647c5 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsManifestEOService.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsManifestEOService.java @@ -86,5 +86,5 @@ public interface IParamsManifestEOService extends IService { List> labelListForProjectDetails(String projectId); - List> getStatisticsForProjectDetails(String paramsManifestId, String cut); + Map getStatisticsForProjectDetails(String paramsManifestId, String cut); } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java index 99df45140..85a5f5ed7 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java @@ -15,7 +15,6 @@ import com.jero.modules.cert.collect.entity.ParamsConfigEO; import com.jero.modules.cert.collect.entity.ParamsManifestEO; import com.jero.modules.cert.collect.enums.CollectManifestChangeFlagEnum; import com.jero.modules.cert.collect.enums.CollectManifestStateEnum; -import com.jero.modules.cert.collect.enums.CollectManifestStatisticsStateEnum; import com.jero.modules.cert.collect.enums.ManifestStateEnum; import com.jero.modules.cert.collect.mapper.ParamsCollectManifestEOMapper; import com.jero.modules.cert.collect.mapper.ParamsConfigEOMapper; @@ -637,10 +636,17 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl> getStatisticsForProjectDetails(String paramsManifestId, String cut) { + public Map getStatisticsForProjectDetails(String paramsManifestId, String cut) { // 查询所有责任领域 List dutyTerritoryDictList = sysDictMapper.queryDictItemsByCode("duty_territory"); + Map result = new LinkedHashMap<>(); + List dutyTerritoryNameList = new LinkedList<>(); + List> notStartList = new LinkedList<>(); + List> collectingList = new LinkedList<>(); + List> submitList = new LinkedList<>(); + List> syncReportList = new LinkedList<>(); + // 统计清单参数 ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO(); paramsCollectManifestEO.setParamsManifestId(paramsManifestId); @@ -648,68 +654,62 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl 0) { - List> result = new LinkedList<>(); - dutyTerritoryDictList.forEach(item->{ - // 计算数量 - double notStartNumber = listAll.stream().filter(e -> (CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.get("state")) - || CollectManifestStateEnum.SDT_BACK.getValue().equals(e.get("state")) - || CollectManifestStateEnum.CHANGE.getValue().equals(e.get("state"))) && item.getValue().equals(e.get("duty_territory"))) - .count(); // 未开始的参数项 数量 + dutyTerritoryDictList.forEach(item->{ - double collectingNumber = listAll.stream().filter(e -> (CollectManifestStateEnum.WAIT_SDT.getValue().equals(e.get("state")) - || CollectManifestStateEnum.WAIT_FILL.getValue().equals(e.get("state")) - || CollectManifestStateEnum.DRE_BACK.getValue().equals(e.get("state")) - || CollectManifestStateEnum.CERT_BACK.getValue().equals(e.get("state"))) && item.getValue().equals(e.get("duty_territory"))) - .count(); // 收集中的参数项 数量 + if (CutEnum.EN.getValue().equals(cut)) { + dutyTerritoryNameList.add(item.getTextEn()); - double submitNumber = listAll.stream().filter(e -> CollectManifestStateEnum.SUBMIT.getValue().equals(e.get("state")) && item.getValue().equals(e.get("duty_territory"))) - .count(); // 已提交的参数项 数量 + } else { + dutyTerritoryNameList.add(item.getText()); - double syncReportNumber = listAll.stream().filter(e -> CollectManifestStateEnum.SYNC_REPORT.getValue().equals(e.get("state")) && item.getValue().equals(e.get("duty_territory"))) - .count(); // 已同步上报库的参数项 数量 + } - // 计算百分比 - String notStartPercent = getRatio(notStartNumber, total); // 未开始的参数项 百分比 - String collectingPercent = getRatio(collectingNumber, total); // 收集中的参数项 百分比 - String submitPercent = getRatio(submitNumber, total); // 已提交的参数项 百分比 - String syncReportPercent = getRatio(syncReportNumber, total); // 已同步上报库的参数项 百分比 + // 计算数量 + double notStartNumber = listAll.stream().filter(e -> (CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.get("state")) + || CollectManifestStateEnum.SDT_BACK.getValue().equals(e.get("state")) + || CollectManifestStateEnum.CHANGE.getValue().equals(e.get("state"))) && item.getValue().equals(e.get("duty_territory"))) + .count(); // 未开始的参数项 数量 + double collectingNumber = listAll.stream().filter(e -> (CollectManifestStateEnum.WAIT_SDT.getValue().equals(e.get("state")) + || CollectManifestStateEnum.WAIT_FILL.getValue().equals(e.get("state")) + || CollectManifestStateEnum.DRE_BACK.getValue().equals(e.get("state")) + || CollectManifestStateEnum.CERT_BACK.getValue().equals(e.get("state"))) && item.getValue().equals(e.get("duty_territory"))) + .count(); // 收集中的参数项 数量 - Map map = new HashMap<>(); - // 组装数据 返回前端 - List> data = new LinkedList<>(); - getData(data, cut, CollectManifestStatisticsStateEnum.NOT_START, notStartNumber, notStartPercent); - getData(data, cut, CollectManifestStatisticsStateEnum.COLLECTING, collectingNumber, collectingPercent); - getData(data, cut, CollectManifestStatisticsStateEnum.SUBMIT, submitNumber, submitPercent); - getData(data, cut, CollectManifestStatisticsStateEnum.SYNC_REPORT, syncReportNumber, syncReportPercent); + double submitNumber = listAll.stream().filter(e -> CollectManifestStateEnum.SUBMIT.getValue().equals(e.get("state")) && item.getValue().equals(e.get("duty_territory"))) + .count(); // 已提交的参数项 数量 - if (CutEnum.EN.getValue().equals(cut)) { - map.put(item.getTextEn(), data); - } else { - map.put(item.getText(), data); - } + double syncReportNumber = listAll.stream().filter(e -> CollectManifestStateEnum.SYNC_REPORT.getValue().equals(e.get("state")) && item.getValue().equals(e.get("duty_territory"))) + .count(); // 已同步上报库的参数项 数量 - result.add(map); - }); - return result; - } + // 计算百分比 + String notStartPercent = getRatio(notStartNumber, total); // 未开始的参数项 百分比 + String collectingPercent = getRatio(collectingNumber, total); // 收集中的参数项 百分比 + String submitPercent = getRatio(submitNumber, total); // 已提交的参数项 百分比 + String syncReportPercent = getRatio(syncReportNumber, total); // 已同步上报库的参数项 百分比 - return null; + // 组装数据 返回前端 + getData(notStartList, notStartNumber, notStartPercent); + getData(collectingList, collectingNumber, collectingPercent); + getData(submitList, submitNumber, submitPercent); + getData(syncReportList, syncReportNumber, syncReportPercent); + + }); + + result.put("dutyTerritory", dutyTerritoryNameList); + result.put("notStart", notStartList); + result.put("collecting", collectingList); + result.put("submit", submitList); + result.put("syncReport", syncReportList); + + return result; } - private void getData(List> data, String cut, CollectManifestStatisticsStateEnum statisticsStateEnum, double quantity, String percentage) { - - Map notStartMap = new HashMap<>(); - if (CutEnum.EN.getValue().equals(cut)) { - notStartMap.put("name", statisticsStateEnum.getEnName()); - } else { - notStartMap.put("name", statisticsStateEnum.getName()); - } - notStartMap.put("type", statisticsStateEnum.getValue()); - notStartMap.put("quantity", quantity); - notStartMap.put("percentage", percentage); - data.add(notStartMap); + private void getData(List> data, double quantity, String percentage) { + Map map = new HashMap<>(); + map.put("quantity", quantity); + map.put("percentage", percentage); + data.add(map); } /** @@ -720,7 +720,7 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl