diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryStatisticsService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryStatisticsService.java index 4046b8f59..4e733781a 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryStatisticsService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryStatisticsService.java @@ -19,6 +19,22 @@ public interface IProjectLibraryStatisticsService { */ Map getFGTaskToConfirmStatisticsGroupByTerritory(List datas, Map params); + /** + * 法规符合性管理--设计 + * @param datas + * @param params + * @return + */ + Map getFGTaskToConfirmStatisticsGroupByTerritoryDesign(List datas, Map params); + + /** + * 法规符合性管理--验证 + * @param datas + * @param params + * @return + */ + Map getFGTaskToConfirmStatisticsGroupByTerritoryVerify(List datas, Map params); + /** * 获取设计符合性确认流程统计信息-根据责任领域分组 * @param datas diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java index 2d16cd234..5d2d61519 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java @@ -3000,33 +3000,58 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl params) { +// String cut = (String) params.get("cut"); +// String sheetName = "法规符合性管理"; +// String firstTitle = "法规任务确认," + +// "设计符合性确认," + +// "验证符合性确认"; +// String secondTitle = "责任领域(一级)," + +// "未发起,待确认,接受,拒绝,完成度," + +// "未发起,待确认,符合,不符合,完成度," + +// "未发起,待确认,符合,不符合,完成度"; +// if(StringUtils.equals(cut,CutEnum.EN.getValue())){ +// sheetName = "Regulatory compliance management"; +// firstTitle = "Regulatory task confirmation," + +// "Design Conformity Verification," + +// "Verification Conformity Confirmation"; +// secondTitle = "Area of responsibility (level 1)," + +// "Not launched,To be confirmed,Accept,Refuse,Degree of completion," + +// "Not launched,To be confirmed,Meet,Not meet,Degree of completion," + +// "Not launched,To be confirmed,Meet,Not meet,Degree of completion"; +// } String cut = (String) params.get("cut"); String sheetName = "法规符合性管理"; - String firstTitle = "法规任务确认," + - "设计符合性确认," + - "验证符合性确认"; + String firstTitle = "设计任务确认," + + "验证任务确认," + + "设计符合性," + + "验证符合性"; String secondTitle = "责任领域(一级)," + - "未发起,待确认,接受,拒绝,完成度," + - "未发起,待确认,符合,不符合,完成度," + - "未发起,待确认,符合,不符合,完成度"; + "清单待发布,任务待发起,任务待确认,责任人接受,责任人拒绝,完成度," + + "清单待发布,任务待发起,任务待确认,责任人接受,责任人拒绝,完成度," + + "任务待确认,结果待提交,结果待审查,符合,不符合,待追踪,完成度," + + "任务待确认,结果待提交,结果待审查,符合,不符合,待追踪,完成度"; if(StringUtils.equals(cut,CutEnum.EN.getValue())){ sheetName = "Regulatory compliance management"; - firstTitle = "Regulatory task confirmation," + - "Design Conformity Verification," + - "Verification Conformity Confirmation"; + firstTitle = "Design Task Confirmation," + + "Verification Task Confirmation," + + "Design Compliance," + + "Verify Compliance"; secondTitle = "Area of responsibility (level 1)," + - "Not launched,To be confirmed,Accept,Refuse,Degree of completion," + - "Not launched,To be confirmed,Meet,Not meet,Degree of completion," + - "Not launched,To be confirmed,Meet,Not meet,Degree of completion"; + "List To Be Released,Task To Be Initiated,Task To Be Confirmed,Accepted By The Responsible Person,Rejected By The Responsible Person,Degree Of Completion," + + "List To Be Released,Task To Be Initiated,Task To Be Confirmed,Accepted By The Responsible Person,Rejected By The Responsible Person,Degree Of Completion," + + "Task To Be Confirmed,Results To Be Submitted,Results To Be Reviewed,Compliance,Non-compliance,To Be Tracked,Degree Of Completion," + + "Task To Be Confirmed,Results To Be Submitted,Results To Be Reviewed,Compliance,Non-compliance,To Be Tracked,Degree Of Completion"; } HSSFSheet sheet = workbook.createSheet(sheetName); //合并单元格 起始行,结束行,起始列,结束列 - CellRangeAddress region1 = new CellRangeAddress(0, 0, 1, 5); + CellRangeAddress region1 = new CellRangeAddress(0, 0, 1, 6); sheet.addMergedRegion(region1); - CellRangeAddress region2 = new CellRangeAddress(0, 0, 6, 10); + CellRangeAddress region2 = new CellRangeAddress(0, 0, 7, 12); sheet.addMergedRegion(region2); - CellRangeAddress region3 = new CellRangeAddress(0, 0, 11, 15); + CellRangeAddress region3 = new CellRangeAddress(0, 0, 13, 19); sheet.addMergedRegion(region3); + CellRangeAddress region4 = new CellRangeAddress(0, 0, 20, 26); + sheet.addMergedRegion(region4); String[] firstTitleArr = firstTitle.split(","); String[] secondTitleArr = secondTitle.split(","); @@ -3035,16 +3060,18 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl taskConfirmMap= this.projectLibraryStatisticsService.getFGTaskToConfirmStatisticsGroupByTerritory(pliEoList, params); - Map taskConfirmNotStartedMap = (Map) taskConfirmMap.get(TaskAffirmStatusEnum.NOT_STARTED.getValue()); - double taskConfirmNotStartedAmount = (double) taskConfirmNotStartedMap.get("amount"); - Map taskConfirmToConfirmMap = (Map) taskConfirmMap.get(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue()); - double taskConfirmToConfirmAmount = (double) taskConfirmToConfirmMap.get("amount"); - Map taskConfirmAcceptedMap = (Map) taskConfirmMap.get(TaskAffirmStatusEnum.ACCEPTED.getValue()); - double taskConfirmAcceptedAmount = (double) taskConfirmAcceptedMap.get("amount"); - Map taskConfirmRejectedMap = (Map) taskConfirmMap.get(TaskAffirmStatusEnum.REJECTED.getValue()); - double taskConfirmRejectedAmount = (double) taskConfirmRejectedMap.get("amount"); - dataRow.createCell(1).setCellValue(taskConfirmNotStartedAmount); - dataRow.createCell(2).setCellValue(taskConfirmToConfirmAmount); - dataRow.createCell(3).setCellValue(taskConfirmAcceptedAmount); - dataRow.createCell(4).setCellValue(taskConfirmRejectedAmount); - double taskConfirmCount = taskConfirmNotStartedAmount + taskConfirmToConfirmAmount + taskConfirmAcceptedAmount + taskConfirmRejectedAmount; - double taskConfirmPercentage = (taskConfirmAcceptedAmount / taskConfirmCount) * 100; - String taskConfirmPercentageStr = (taskConfirmPercentage != 0 && (taskConfirmCount !=0 )) ? df.format(taskConfirmPercentage) : "0"; - dataRow.createCell(5).setCellValue(taskConfirmPercentageStr + percentSign); + //设计任务确认 + Map designTaskConfirmMap= this.projectLibraryStatisticsService.getFGTaskToConfirmStatisticsGroupByTerritoryDesign(pliEoList, params); + Map designTaskListToBeReleasedMap = (Map) designTaskConfirmMap.get(ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()); + double designTaskListToBeReleasedAmount = (double) designTaskListToBeReleasedMap.get("amount"); + Map designTaskToBeInitiatedMap = (Map) designTaskConfirmMap.get(ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()); + double designTaskToBeInitiatedAmount = (double) designTaskToBeInitiatedMap.get("amount"); + Map designTaskToBeConfirmedMap = (Map) designTaskConfirmMap.get(ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()); + double designTaskToBeConfirmedAmount = (double) designTaskToBeConfirmedMap.get("amount"); + Map designAcceptedMap = (Map) designTaskConfirmMap.get(ComplianceFlowStatusEnum.DUTY_PERSON_ACCEPTED.getValue()); + double designAcceptedAmount = (double) designAcceptedMap.get("amount"); + Map designRejectedMap = (Map) designTaskConfirmMap.get(ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue()); + double designRejectedAmount = (double) designRejectedMap.get("amount"); + dataRow.createCell(1).setCellValue(designTaskListToBeReleasedAmount); + dataRow.createCell(2).setCellValue(designTaskToBeInitiatedAmount); + dataRow.createCell(3).setCellValue(designTaskToBeConfirmedAmount); + dataRow.createCell(4).setCellValue(designAcceptedAmount); + dataRow.createCell(5).setCellValue(designRejectedAmount); + double designTaskConfirmCount = designTaskListToBeReleasedAmount + designTaskToBeInitiatedAmount + designTaskToBeConfirmedAmount + designAcceptedAmount + designRejectedAmount; + double designTaskConfirmPercentage = (designAcceptedAmount / designTaskConfirmCount) * 100; + String designTaskConfirmPercentageStr = (designTaskConfirmPercentage != 0 && (designTaskConfirmCount !=0 )) ? df.format(designTaskConfirmPercentage) : "0"; + dataRow.createCell(6).setCellValue(designTaskConfirmPercentageStr + percentSign); + + //验证任务确认 + Map verifyTaskConfirmMap= this.projectLibraryStatisticsService.getFGTaskToConfirmStatisticsGroupByTerritoryVerify(pliEoList, params); + Map verifyTaskListToBeReleasedMap = (Map) verifyTaskConfirmMap.get(ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()); + double verifyTaskListToBeReleasedAmount = (double) verifyTaskListToBeReleasedMap.get("amount"); + Map verifyTaskToBeInitiatedMap = (Map) verifyTaskConfirmMap.get(ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()); + double verifyTaskToBeInitiatedAmount = (double) verifyTaskToBeInitiatedMap.get("amount"); + Map verifyTaskToBeConfirmedMap = (Map) verifyTaskConfirmMap.get(ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()); + double verifyTaskToBeConfirmedAmount = (double) verifyTaskToBeConfirmedMap.get("amount"); + Map verifyAcceptedMap = (Map) verifyTaskConfirmMap.get(ComplianceFlowStatusEnum.DUTY_PERSON_ACCEPTED.getValue()); + double verifyAcceptedAmount = (double) verifyAcceptedMap.get("amount"); + Map verifyRejectedMap = (Map) verifyTaskConfirmMap.get(ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue()); + double verifyRejectedAmount = (double) verifyRejectedMap.get("amount"); + + dataRow.createCell(7).setCellValue(verifyTaskListToBeReleasedAmount); + dataRow.createCell(8).setCellValue(verifyTaskToBeInitiatedAmount); + dataRow.createCell(9).setCellValue(verifyTaskToBeConfirmedAmount); + dataRow.createCell(10).setCellValue(verifyAcceptedAmount); + dataRow.createCell(11).setCellValue(verifyRejectedAmount); + double verifyTaskConfirmCount = verifyTaskListToBeReleasedAmount + verifyTaskToBeInitiatedAmount + verifyTaskToBeConfirmedAmount + verifyAcceptedAmount + verifyRejectedAmount; + double verifyTaskConfirmPercentage = (verifyAcceptedAmount / verifyTaskConfirmCount) * 100; + String verifyTaskConfirmPercentageStr = (verifyTaskConfirmPercentage != 0 && (verifyTaskConfirmCount !=0 )) ? df.format(verifyTaskConfirmPercentage) : "0"; + dataRow.createCell(12).setCellValue(verifyTaskConfirmPercentageStr + percentSign); + + //设计符合性 Map designMap = this.projectLibraryStatisticsService.getDesignComplianceStatisticeGroupByTerritory(pliEoList, params); - Map designNotStartedMap = (Map) designMap.get(TaskAffirmStatusEnum.NOT_STARTED.getValue()); - double designNotStartedAmount = (double) designNotStartedMap.get("amount"); - Map designToConfirmMap = (Map) designMap.get(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue()); - double designToConfirmAmount = (double) designToConfirmMap.get("amount"); - Map designComplianceMap = (Map) designMap.get(ComplianceFlowStatusEnum.CONFORMITY.getValue()); - double designComplianceAmount = (double) designComplianceMap.get("amount"); - Map designNonComplianceMap = (Map) designMap.get(ComplianceFlowStatusEnum.INCONFORMITY.getValue()); - double designNonComplianceAmount = (double) designNonComplianceMap.get("amount"); - dataRow.createCell(6).setCellValue(designNotStartedAmount); - dataRow.createCell(7).setCellValue(designToConfirmAmount); - dataRow.createCell(8).setCellValue(designComplianceAmount); - dataRow.createCell(9).setCellValue(designNonComplianceAmount); - double designCount = designNotStartedAmount + designToConfirmAmount + designComplianceAmount + designNonComplianceAmount; - double designPercentage = (designComplianceAmount / designCount) * 100; - String designPercentageStr = (designPercentage != 0 && (designCount !=0 )) ? df.format(designPercentage) : "0"; - dataRow.createCell(10).setCellValue(designPercentageStr + percentSign); + Map taskToBeConfirmedMap = (Map) designMap.get(ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()); + double taskToBeConfirmedAmount = (double) taskToBeConfirmedMap.get("amount"); + Map resultsToBeSubmittedMap = (Map) designMap.get(ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()); + double resultsToBeSubmittedAmount = (double) resultsToBeSubmittedMap.get("amount"); + Map resultsToBeReviewedMap = (Map) designMap.get(ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()); + double resultsToBeReviewedAmount = (double) resultsToBeReviewedMap.get("amount"); + Map complianceMap = (Map) designMap.get(ComplianceFlowStatusEnum.CONFORMITY.getValue()); + double complianceAmount = (double) complianceMap.get("amount"); + Map nonComplianceMap = (Map) designMap.get(ComplianceFlowStatusEnum.INCONFORMITY.getValue()); + double nonComplianceAmount = (double) nonComplianceMap.get("amount"); + Map toBeTrackedMap = (Map) designMap.get(ComplianceFlowStatusEnum.TO_TRACK.getValue()); + double toBeTrackedAmount = (double) toBeTrackedMap.get("amount"); + dataRow.createCell(13).setCellValue(taskToBeConfirmedAmount); + dataRow.createCell(14).setCellValue(resultsToBeSubmittedAmount); + dataRow.createCell(15).setCellValue(resultsToBeReviewedAmount); + dataRow.createCell(16).setCellValue(complianceAmount); + dataRow.createCell(17).setCellValue(nonComplianceAmount); + dataRow.createCell(18).setCellValue(toBeTrackedAmount); + double designCount = taskToBeConfirmedAmount + resultsToBeSubmittedAmount + resultsToBeReviewedAmount + complianceAmount + nonComplianceAmount + toBeTrackedAmount; + double designPercentage = (complianceAmount / designCount) * 100; + String designPercentageStr = (designPercentage != 0 && (designCount !=0 )) ? df.format(designPercentage) : "0"; + dataRow.createCell(19).setCellValue(designPercentageStr + percentSign); + + //验证符合性(明天从此位置开始改) Map verifyMap = this.projectLibraryStatisticsService.getVerifyComplianceStatisticeGroupByTerritory(pliEoList, params); Map verifyNotStartedMap = (Map) verifyMap.get(TaskAffirmStatusEnum.NOT_STARTED.getValue()); double verifyNotStartedAmount = (double) verifyNotStartedMap.get("amount"); @@ -3171,41 +3235,52 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl params){ +// String cut = (String) params.get("cut"); +// String sheetName = "认证活动管理"; +// String firstTitle = "认证任务确认," + +// "Pre-Homo," + +// "认证进度"; +// String secondTitle = "责任领域(一级)," + +// "未发起,待确认,接受,拒绝,完成度," + +// "未发起,待提交,审查通过,审查退回,完成度," + +// "未开始,进行中,实验通过,实验失败,完成度"; +// if(StringUtils.equals(cut,CutEnum.EN.getValue())){ +// sheetName = "Certification Activity Management"; +// firstTitle = "Authentication task confirmation," + +// "Pre-Homo," + +// "Certification progress"; +// secondTitle = "Area of responsibility (level 1)," + +// "Not launched,To be confirmed,Accept,Refuse,Degree of completion," + +// "Not launched,To submit,Review of the adoption,Review return,Degree of completion," + +// "Not started,In progress,Experiment passed,Experiment failed,Degree of completion"; +// } String cut = (String) params.get("cut"); String sheetName = "认证活动管理"; String firstTitle = "认证任务确认," + - "Pre-Homo," + + "Pre-Homo流程," + "认证进度"; String secondTitle = "责任领域(一级)," + - "未发起,待确认,接受,拒绝,完成度," + - "未发起,待提交,审查通过,审查退回,完成度," + + "清单待发布,任务待发起,任务待确认,责任人接受,责任人拒绝,完成度," + + "任务待确认,结果待提交,结果待审查,审查通过,审查退回,完成度," + "未开始,进行中,实验通过,实验失败,完成度"; -// String secondTitle = "责任领域(一级)," + -// "未发起,待确认,接受,拒绝,完成度," + -// "未发起,待确认,审查通过,审查退回,完成度," + -// "未开始,进行中,实验通过,实验失败,部件报告未上传,部件报告已上传,部件报告已入库,完成度"; if(StringUtils.equals(cut,CutEnum.EN.getValue())){ sheetName = "Certification Activity Management"; - firstTitle = "Authentication task confirmation," + - "Pre-Homo," + - "Certification progress"; + firstTitle = "Authentication Task Confirmation," + + "Pre-Homo Process," + + "Certification Progress"; secondTitle = "Area of responsibility (level 1)," + - "Not launched,To be confirmed,Accept,Refuse,Degree of completion," + - "Not launched,To submit,Review of the adoption,Review return,Degree of completion," + - "Not started,In progress,Experiment passed,Experiment failed,Degree of completion"; -// secondTitle = "Area of responsibility (level 1)," + -// "Not launched,To be confirmed,Accept,Refuse,Degree of completion," + -// "Not launched,To be confirmed,Review of the adoption,Review return,Degree of completion," + -// "Not started,In progress,Experiment passed,Experiment failed,Parts report not uploaded,Parts report uploaded,Parts report in stock,Degree of completion"; + "List To Be Released,Task To Be Initiated,Task To Be Confirmed,Accepted Of Responsible Person,Refusal Of Responsible Person,Degree Of Completion," + + "Task To Be Confirmed,Results To Be Submitted,Results To Be Reviewed,Review And Pass,Review And Return,Degree Of Completion," + + "Not Started,In Progress,Experiment Passed,Experiment Failed,Degree Of Completion"; } HSSFSheet sheet = workbook.createSheet(sheetName); //合并单元格 起始行,结束行,起始列,结束列 - CellRangeAddress region1 = new CellRangeAddress(0, 0, 1, 5); + CellRangeAddress region1 = new CellRangeAddress(0, 0, 1, 6); sheet.addMergedRegion(region1); - CellRangeAddress region2 = new CellRangeAddress(0, 0, 6, 10); + CellRangeAddress region2 = new CellRangeAddress(0, 0, 7, 12); sheet.addMergedRegion(region2); - CellRangeAddress region3 = new CellRangeAddress(0, 0, 11, 15); + CellRangeAddress region3 = new CellRangeAddress(0, 0, 13, 17); // CellRangeAddress region3 = new CellRangeAddress(0, 0, 11, 18); sheet.addMergedRegion(region3); // CellRangeAddress region4 = new CellRangeAddress(0, 0, 19, 23); @@ -3224,9 +3299,9 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl params) { String cut = (String) params.get("cut"); - String sheetName = "认证参数收集"; - String firstTitle = "认证参数收集"; - String secondTitle = "责任领域(一级),未开始,收集中,已提交,已同步至上报库,完成度"; + String sheetName = "参数收集进度"; + String firstTitle = "参数收集进度"; + String secondTitle = "责任领域(一级),未发起,收集中,已提交,已同步至上报库,完成度"; if(StringUtils.equals(cut,CutEnum.EN.getValue())){ - sheetName = "Authentication parameter collection"; - firstTitle = "Authentication parameter collection"; + sheetName = "Parameter Collection Progress"; + firstTitle = "Parameter Collection Progress"; secondTitle = "Area of responsibility (level 1),Not started,Collecting,Has submitted,Synced to the report library,Degree of completion"; } HSSFSheet sheet = workbook.createSheet(sheetName); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryStatisticsServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryStatisticsServiceImpl.java index 7f87f897c..2766a6aca 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryStatisticsServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryStatisticsServiceImpl.java @@ -139,48 +139,239 @@ public class ProjectLibraryStatisticsServiceImpl implements IProjectLibraryStati } return result; } + @Override + public Map getFGTaskToConfirmStatisticsGroupByTerritoryDesign(List datas, Map params) { + Map result = new HashMap<>(); + if(CollectionUtils.isNotEmpty(datas)){ + + Map listToBeReleasedMap = new HashMap<>();//清单待发布 + Map taskToBeInitiatedMap = new HashMap<>();//任务待发起 + Map taskToBeConfirmedMap = new HashMap<>();//任务待确认 + Map acceptedMap = new HashMap<>();//责任人接受 + Map rejectedMap = new HashMap<>();//责任人拒绝 + + // 清单待发布 + List listToBeReleasedPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) + || StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.REGULATORY_ENGINEER_RETURNS.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double listToBeReleasedFlowCount = (double) listToBeReleasedPliEoList.size(); + double listToBeReleasedPercentage = (listToBeReleasedFlowCount / (datas.size())) * 100; + String listToBeReleasedPercentageStr = listToBeReleasedPercentage != 0 ? df.format(listToBeReleasedPercentage) : "0"; + listToBeReleasedMap.put("amount",listToBeReleasedFlowCount); + listToBeReleasedMap.put("percentage",listToBeReleasedPercentageStr + percentSign); + + // 任务待发起 + List taskToBeInitiatedPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double taskToBeInitiatedFlowCount = (double) taskToBeInitiatedPliEoList.size(); + double taskToBeInitiatedPercentage = (taskToBeInitiatedFlowCount / (datas.size())) * 100; + String taskToBeInitiatedPercentageStr = taskToBeInitiatedPercentage != 0 ? df.format(taskToBeInitiatedPercentage) : "0"; + taskToBeInitiatedMap.put("amount",taskToBeInitiatedFlowCount); + taskToBeInitiatedMap.put("percentage",taskToBeInitiatedPercentageStr + percentSign); + + // 任务待确认 + List taskToBeConfirmedPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double taskToBeConfirmedFlowCount = (double) taskToBeConfirmedPliEoList.size(); + double taskToBeConfirmedPercentage = (taskToBeConfirmedFlowCount / (datas.size())) * 100; + String taskToBeConfirmedPercentageStr = taskToBeConfirmedPercentage != 0 ? df.format(taskToBeConfirmedPercentage) : "0"; + taskToBeConfirmedMap.put("amount",taskToBeConfirmedFlowCount); + taskToBeConfirmedMap.put("percentage",taskToBeConfirmedPercentageStr + percentSign); + + // 责任人接受 + List acceptedDesignPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()) + || StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()) + || StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.CONFORMITY.getValue()) + || StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.INCONFORMITY.getValue()) + || StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double acceptedComplianceFlowCount = (double) acceptedDesignPliEoList.size(); + double acceptedPercentage = (acceptedComplianceFlowCount / (datas.size())) * 100; + String acceptedPercentageStr = acceptedPercentage != 0 ? df.format(acceptedPercentage) : "0"; + acceptedMap.put("amount",acceptedComplianceFlowCount); + acceptedMap.put("percentage",acceptedPercentageStr + percentSign); + + // 责任人拒绝 + List rejectedDesignPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double rejectedComplianceFlowCount = (double) rejectedDesignPliEoList.size(); + double rejectedPercentage = (rejectedComplianceFlowCount / (datas.size())) * 100; + String rejectedPercentageStr = rejectedPercentage != 0 ? df.format(rejectedPercentage) : "0"; + rejectedMap.put("amount",rejectedComplianceFlowCount); + rejectedMap.put("percentage",rejectedPercentageStr + percentSign); + + result.put(ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue(),listToBeReleasedMap); + result.put(ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue(),taskToBeInitiatedMap); + result.put(ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue(),taskToBeConfirmedMap); + result.put(ComplianceFlowStatusEnum.DUTY_PERSON_ACCEPTED.getValue(),acceptedMap); + result.put(ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue(),rejectedMap); + } + return result; + } + @Override + public Map getFGTaskToConfirmStatisticsGroupByTerritoryVerify(List datas, Map params) { + Map result = new HashMap<>(); + if(CollectionUtils.isNotEmpty(datas)){ + + Map listToBeReleasedMap = new HashMap<>();//清单待发布 + Map taskToBeInitiatedMap = new HashMap<>();//任务待发起 + Map taskToBeConfirmedMap = new HashMap<>();//任务待确认 + Map acceptedMap = new HashMap<>();//责任人接受 + Map rejectedMap = new HashMap<>();//责任人拒绝 + + // 清单待发布 + List listToBeReleasedPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) + || StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.REGULATORY_ENGINEER_RETURNS.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double listToBeReleasedFlowCount = (double) listToBeReleasedPliEoList.size(); + double listToBeReleasedPercentage = (listToBeReleasedFlowCount / (datas.size())) * 100; + String listToBeReleasedPercentageStr = listToBeReleasedPercentage != 0 ? df.format(listToBeReleasedPercentage) : "0"; + listToBeReleasedMap.put("amount",listToBeReleasedFlowCount); + listToBeReleasedMap.put("percentage",listToBeReleasedPercentageStr + percentSign); + + // 任务待发起 + List taskToBeInitiatedPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double taskToBeInitiatedFlowCount = (double) taskToBeInitiatedPliEoList.size(); + double taskToBeInitiatedPercentage = (taskToBeInitiatedFlowCount / (datas.size())) * 100; + String taskToBeInitiatedPercentageStr = taskToBeInitiatedPercentage != 0 ? df.format(taskToBeInitiatedPercentage) : "0"; + taskToBeInitiatedMap.put("amount",taskToBeInitiatedFlowCount); + taskToBeInitiatedMap.put("percentage",taskToBeInitiatedPercentageStr + percentSign); + + // 任务待确认 + List taskToBeConfirmedPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double taskToBeConfirmedFlowCount = (double) taskToBeConfirmedPliEoList.size(); + double taskToBeConfirmedPercentage = (taskToBeConfirmedFlowCount / (datas.size())) * 100; + String taskToBeConfirmedPercentageStr = taskToBeConfirmedPercentage != 0 ? df.format(taskToBeConfirmedPercentage) : "0"; + taskToBeConfirmedMap.put("amount",taskToBeConfirmedFlowCount); + taskToBeConfirmedMap.put("percentage",taskToBeConfirmedPercentageStr + percentSign); + + // 责任人接受 + List acceptedVerifyPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()) + || StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()) + || StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.CONFORMITY.getValue()) + || StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.INCONFORMITY.getValue()) + || StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double acceptedComplianceFlowCount = (double) acceptedVerifyPliEoList.size(); + double acceptedPercentage = (acceptedComplianceFlowCount / (datas.size())) * 100; + String acceptedPercentageStr = acceptedPercentage != 0 ? df.format(acceptedPercentage) : "0"; + acceptedMap.put("amount",acceptedComplianceFlowCount); + acceptedMap.put("percentage",acceptedPercentageStr + percentSign); + + // 责任人拒绝 + List rejectedVerifyPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double rejectedComplianceFlowCount = (double) + rejectedVerifyPliEoList.size(); + double rejectedPercentage = (rejectedComplianceFlowCount / (datas.size())) * 100; + String rejectedPercentageStr = rejectedPercentage != 0 ? df.format(rejectedPercentage) : "0"; + rejectedMap.put("amount",rejectedComplianceFlowCount); + rejectedMap.put("percentage",rejectedPercentageStr + percentSign); + + result.put(ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue(),listToBeReleasedMap); + result.put(ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue(),taskToBeInitiatedMap); + result.put(ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue(),taskToBeConfirmedMap); + result.put(ComplianceFlowStatusEnum.DUTY_PERSON_ACCEPTED.getValue(),acceptedMap); + result.put(ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue(),rejectedMap); + } + return result; + } @Override public Map getDesignComplianceStatisticeGroupByTerritory(List datas, Map params) { Map result = new HashMap<>(); if(CollectionUtils.isNotEmpty(datas)){ - Map notStartedMap = new HashMap<>(); - Map toConfirmMap = new HashMap<>(); - Map complianceMap = new HashMap<>(); - Map nonComplianceMap = new HashMap<>(); + Map taskToBeConfirmedMap = new HashMap<>();//任务待确认 + Map resultsToBeSubmittedMap = new HashMap<>();//结果待提交 + Map resultsToBeReviewedMap = new HashMap<>();//结果待审查 + Map complianceMap = new HashMap<>();//符合 + Map nonComplianceMap = new HashMap<>();//不符合 + Map toBeTrackedMap = new HashMap<>();//待追踪 - // 未发起 - List notStartedDesignPliEoList = datas.stream().filter(data -> { + + // 任务待确认 + List taskToBeConfirmedPliEoList = datas.stream().filter(data -> { boolean flag = ( StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) || StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) || StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.REGULATORY_ENGINEER_RETURNS.getValue()) || StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue()) -// || StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) + || StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) ); return flag; }).collect(Collectors.toList()); - double notStartedComplianceFlowCount = (double) notStartedDesignPliEoList.size(); - double notStartedPercentage = (notStartedComplianceFlowCount / (datas.size())) * 100; - String notStartedPercentageStr = notStartedPercentage != 0 ? df.format(notStartedPercentage) : "0"; - notStartedMap.put("amount",notStartedComplianceFlowCount); - notStartedMap.put("percentage",notStartedPercentageStr + percentSign); + double taskToBeConfirmedFlowCount = (double) taskToBeConfirmedPliEoList.size(); + double taskToBeConfirmedPercentage = (taskToBeConfirmedFlowCount / (datas.size())) * 100; + String taskToBeConfirmedPercentageStr = taskToBeConfirmedPercentage != 0 ? df.format(taskToBeConfirmedPercentage) : "0"; + taskToBeConfirmedMap.put("amount",taskToBeConfirmedFlowCount); + taskToBeConfirmedMap.put("percentage",taskToBeConfirmedPercentageStr + percentSign); - // 待确认 - List toConfirmDesignPliEoList = datas.stream().filter(data -> { + // 结果待提交 + List resultsToBeSubmittedPliEoList = datas.stream().filter(data -> { boolean flag = ( StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()) - || StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()) - || StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) -// || StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue()) ); return flag; }).collect(Collectors.toList()); - double toConfirmComplianceFlowCount = (double) toConfirmDesignPliEoList.size(); - double toConfirmPercentage = (toConfirmComplianceFlowCount / (datas.size())) * 100; - String toConfirmPercentageStr = toConfirmPercentage != 0 ? df.format(toConfirmPercentage) : "0"; - toConfirmMap.put("amount",toConfirmComplianceFlowCount); - toConfirmMap.put("percentage",toConfirmPercentageStr + percentSign); + double resultsToBeSubmittedFlowCount = (double) resultsToBeSubmittedPliEoList.size(); + double resultsToBeSubmittedPercentage = (resultsToBeSubmittedFlowCount / (datas.size())) * 100; + String resultsToBeSubmittedPercentageStr = resultsToBeSubmittedPercentage != 0 ? df.format(resultsToBeSubmittedPercentage) : "0"; + resultsToBeSubmittedMap.put("amount",resultsToBeSubmittedFlowCount); + resultsToBeSubmittedMap.put("percentage",resultsToBeSubmittedPercentageStr + percentSign); + + // 结果待审查 + List resultsToBeReviewedPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double resultsToBeReviewedFlowCount = (double) resultsToBeReviewedPliEoList.size(); + double resultsToBeReviewedPercentage = (resultsToBeReviewedFlowCount / (datas.size())) * 100; + String resultsToBeReviewedPercentageStr = resultsToBeReviewedPercentage != 0 ? df.format(resultsToBeReviewedPercentage) : "0"; + resultsToBeReviewedMap.put("amount",resultsToBeReviewedFlowCount); + resultsToBeReviewedMap.put("percentage",resultsToBeReviewedPercentageStr + percentSign); // 符合 List complianceDesignPliEoList = datas.stream().filter(data -> { @@ -209,10 +400,26 @@ public class ProjectLibraryStatisticsServiceImpl implements IProjectLibraryStati nonComplianceMap.put("amount",nonComplianceComplianceFlowCount); nonComplianceMap.put("percentage",nonCompliancePercentageStr + percentSign); - result.put(TaskAffirmStatusEnum.NOT_STARTED.getValue(),notStartedMap); - result.put(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue(),toConfirmMap); + // 待追踪 + List toBeTrackedPliEoList = datas.stream().filter(data -> { + boolean flag = ( + StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.INCONFORMITY.getValue()) + || StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + double toBeTrackedFlowCount = (double) toBeTrackedPliEoList.size(); + double toBeTrackedPercentage = (toBeTrackedFlowCount / (datas.size())) * 100; + String toBeTrackedPercentageStr = toBeTrackedPercentage != 0 ? df.format(toBeTrackedPercentage) : "0"; + toBeTrackedMap.put("amount",toBeTrackedFlowCount); + toBeTrackedMap.put("percentage",toBeTrackedPercentageStr + percentSign); + + result.put(ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue(),taskToBeConfirmedMap); + result.put(ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue(),resultsToBeSubmittedMap); + result.put(ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue(),resultsToBeReviewedMap); result.put(ComplianceFlowStatusEnum.CONFORMITY.getValue(),complianceMap); result.put(ComplianceFlowStatusEnum.INCONFORMITY.getValue(),nonComplianceMap); + result.put(ComplianceFlowStatusEnum.TO_TRACK.getValue(),toBeTrackedMap); } return result; }