车型库统计导出(法规符合性管理-设计任务确认,验证任务确认,设计符合性)

This commit is contained in:
zhn
2023-10-16 18:16:20 +08:00
parent c82c40fe18
commit 4addcdceb1
3 changed files with 400 additions and 102 deletions
@@ -19,6 +19,22 @@ public interface IProjectLibraryStatisticsService {
*/
Map<String, Object> getFGTaskToConfirmStatisticsGroupByTerritory(List<ProjectLawsInventoryEO> datas, Map<String, Object> params);
/**
* 法规符合性管理--设计
* @param datas
* @param params
* @return
*/
Map<String, Object> getFGTaskToConfirmStatisticsGroupByTerritoryDesign(List<ProjectLawsInventoryEO> datas, Map<String, Object> params);
/**
* 法规符合性管理--验证
* @param datas
* @param params
* @return
*/
Map<String, Object> getFGTaskToConfirmStatisticsGroupByTerritoryVerify(List<ProjectLawsInventoryEO> datas, Map<String, Object> params);
/**
* 获取设计符合性确认流程统计信息-根据责任领域分组
* @param datas
@@ -3000,33 +3000,58 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
* @param params
*/
private void exportRegulatoryManagement(HSSFWorkbook workbook,Map<String,Object> 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<ProjectLibraryBas
CellStyle cellStyleTitle = workbook.createCellStyle();
cellStyleTitle.setAlignment(HorizontalAlignment.CENTER);
for (int i = 0; i <= 15; i++){
for (int i = 0; i <= 26; i++){
sheet.setColumnWidth(i, 3500);
Cell firstRowCell = firstRow.createCell(i);
firstRowCell.setCellStyle(cellStyleTitle);
if(i == 1){
firstRowCell.setCellValue(firstTitleArr[0]);
}else if(i==6){
}else if(i==7){
firstRowCell.setCellValue(firstTitleArr[1]);
}else if(i==11){
}else if(i==13){
firstRowCell.setCellValue(firstTitleArr[2]);
}else if(i==20){
firstRowCell.setCellValue(firstTitleArr[3]);
}
Cell secondRowCell = secondRow.createCell(i);
@@ -3110,42 +3137,79 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
Row dataRow = sheet.createRow(dataIndex);
dataRow.createCell(0).setCellValue(key);
Map<String, Object> taskConfirmMap= this.projectLibraryStatisticsService.getFGTaskToConfirmStatisticsGroupByTerritory(pliEoList, params);
Map<String,Object> taskConfirmNotStartedMap = (Map<String, Object>) taskConfirmMap.get(TaskAffirmStatusEnum.NOT_STARTED.getValue());
double taskConfirmNotStartedAmount = (double) taskConfirmNotStartedMap.get("amount");
Map<String,Object> taskConfirmToConfirmMap = (Map<String, Object>) taskConfirmMap.get(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue());
double taskConfirmToConfirmAmount = (double) taskConfirmToConfirmMap.get("amount");
Map<String,Object> taskConfirmAcceptedMap = (Map<String, Object>) taskConfirmMap.get(TaskAffirmStatusEnum.ACCEPTED.getValue());
double taskConfirmAcceptedAmount = (double) taskConfirmAcceptedMap.get("amount");
Map<String,Object> taskConfirmRejectedMap = (Map<String, Object>) 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<String, Object> designTaskConfirmMap= this.projectLibraryStatisticsService.getFGTaskToConfirmStatisticsGroupByTerritoryDesign(pliEoList, params);
Map<String,Object> designTaskListToBeReleasedMap = (Map<String, Object>) designTaskConfirmMap.get(ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue());
double designTaskListToBeReleasedAmount = (double) designTaskListToBeReleasedMap.get("amount");
Map<String,Object> designTaskToBeInitiatedMap = (Map<String, Object>) designTaskConfirmMap.get(ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue());
double designTaskToBeInitiatedAmount = (double) designTaskToBeInitiatedMap.get("amount");
Map<String,Object> designTaskToBeConfirmedMap = (Map<String, Object>) designTaskConfirmMap.get(ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue());
double designTaskToBeConfirmedAmount = (double) designTaskToBeConfirmedMap.get("amount");
Map<String,Object> designAcceptedMap = (Map<String, Object>) designTaskConfirmMap.get(ComplianceFlowStatusEnum.DUTY_PERSON_ACCEPTED.getValue());
double designAcceptedAmount = (double) designAcceptedMap.get("amount");
Map<String,Object> designRejectedMap = (Map<String, Object>) 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<String, Object> verifyTaskConfirmMap= this.projectLibraryStatisticsService.getFGTaskToConfirmStatisticsGroupByTerritoryVerify(pliEoList, params);
Map<String,Object> verifyTaskListToBeReleasedMap = (Map<String, Object>) verifyTaskConfirmMap.get(ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue());
double verifyTaskListToBeReleasedAmount = (double) verifyTaskListToBeReleasedMap.get("amount");
Map<String,Object> verifyTaskToBeInitiatedMap = (Map<String, Object>) verifyTaskConfirmMap.get(ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue());
double verifyTaskToBeInitiatedAmount = (double) verifyTaskToBeInitiatedMap.get("amount");
Map<String,Object> verifyTaskToBeConfirmedMap = (Map<String, Object>) verifyTaskConfirmMap.get(ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue());
double verifyTaskToBeConfirmedAmount = (double) verifyTaskToBeConfirmedMap.get("amount");
Map<String,Object> verifyAcceptedMap = (Map<String, Object>) verifyTaskConfirmMap.get(ComplianceFlowStatusEnum.DUTY_PERSON_ACCEPTED.getValue());
double verifyAcceptedAmount = (double) verifyAcceptedMap.get("amount");
Map<String,Object> verifyRejectedMap = (Map<String, Object>) 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<String, Object> designMap = this.projectLibraryStatisticsService.getDesignComplianceStatisticeGroupByTerritory(pliEoList, params);
Map<String,Object> designNotStartedMap = (Map<String, Object>) designMap.get(TaskAffirmStatusEnum.NOT_STARTED.getValue());
double designNotStartedAmount = (double) designNotStartedMap.get("amount");
Map<String,Object> designToConfirmMap = (Map<String, Object>) designMap.get(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue());
double designToConfirmAmount = (double) designToConfirmMap.get("amount");
Map<String,Object> designComplianceMap = (Map<String, Object>) designMap.get(ComplianceFlowStatusEnum.CONFORMITY.getValue());
double designComplianceAmount = (double) designComplianceMap.get("amount");
Map<String,Object> designNonComplianceMap = (Map<String, Object>) 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<String,Object> taskToBeConfirmedMap = (Map<String, Object>) designMap.get(ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue());
double taskToBeConfirmedAmount = (double) taskToBeConfirmedMap.get("amount");
Map<String,Object> resultsToBeSubmittedMap = (Map<String, Object>) designMap.get(ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue());
double resultsToBeSubmittedAmount = (double) resultsToBeSubmittedMap.get("amount");
Map<String,Object> resultsToBeReviewedMap = (Map<String, Object>) designMap.get(ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue());
double resultsToBeReviewedAmount = (double) resultsToBeReviewedMap.get("amount");
Map<String,Object> complianceMap = (Map<String, Object>) designMap.get(ComplianceFlowStatusEnum.CONFORMITY.getValue());
double complianceAmount = (double) complianceMap.get("amount");
Map<String,Object> nonComplianceMap = (Map<String, Object>) designMap.get(ComplianceFlowStatusEnum.INCONFORMITY.getValue());
double nonComplianceAmount = (double) nonComplianceMap.get("amount");
Map<String,Object> toBeTrackedMap = (Map<String, Object>) 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<String, Object> verifyMap = this.projectLibraryStatisticsService.getVerifyComplianceStatisticeGroupByTerritory(pliEoList, params);
Map<String,Object> verifyNotStartedMap = (Map<String, Object>) verifyMap.get(TaskAffirmStatusEnum.NOT_STARTED.getValue());
double verifyNotStartedAmount = (double) verifyNotStartedMap.get("amount");
@@ -3171,41 +3235,52 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
* @param params
*/
private void exportCertificationManagement(HSSFWorkbook workbook,Map<String,Object> 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<ProjectLibraryBas
firstRowCell.setCellStyle(cellStyleTitle);
if(i == 1){
firstRowCell.setCellValue(firstTitleArr[0]);
}else if(i==6){
}else if(i==7){
firstRowCell.setCellValue(firstTitleArr[1]);
}else if(i==11){
}else if(i==13){
firstRowCell.setCellValue(firstTitleArr[2]);
}
// else if(i==19){
@@ -3363,12 +3438,12 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
*/
private void exportParameterCollecting(HSSFWorkbook workbook, Map<String, Object> 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);
@@ -139,48 +139,239 @@ public class ProjectLibraryStatisticsServiceImpl implements IProjectLibraryStati
}
return result;
}
@Override
public Map<String, Object> getFGTaskToConfirmStatisticsGroupByTerritoryDesign(List<ProjectLawsInventoryEO> datas, Map<String, Object> params) {
Map<String, Object> result = new HashMap<>();
if(CollectionUtils.isNotEmpty(datas)){
Map<String,Object> listToBeReleasedMap = new HashMap<>();//清单待发布
Map<String,Object> taskToBeInitiatedMap = new HashMap<>();//任务待发起
Map<String,Object> taskToBeConfirmedMap = new HashMap<>();//任务待确认
Map<String,Object> acceptedMap = new HashMap<>();//责任人接受
Map<String,Object> rejectedMap = new HashMap<>();//责任人拒绝
// 清单待发布
List<ProjectLawsInventoryEO> 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<ProjectLawsInventoryEO> 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<ProjectLawsInventoryEO> 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<ProjectLawsInventoryEO> 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<ProjectLawsInventoryEO> 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<String, Object> getFGTaskToConfirmStatisticsGroupByTerritoryVerify(List<ProjectLawsInventoryEO> datas, Map<String, Object> params) {
Map<String, Object> result = new HashMap<>();
if(CollectionUtils.isNotEmpty(datas)){
Map<String,Object> listToBeReleasedMap = new HashMap<>();//清单待发布
Map<String,Object> taskToBeInitiatedMap = new HashMap<>();//任务待发起
Map<String,Object> taskToBeConfirmedMap = new HashMap<>();//任务待确认
Map<String,Object> acceptedMap = new HashMap<>();//责任人接受
Map<String,Object> rejectedMap = new HashMap<>();//责任人拒绝
// 清单待发布
List<ProjectLawsInventoryEO> 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<ProjectLawsInventoryEO> 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<ProjectLawsInventoryEO> 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<ProjectLawsInventoryEO> 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<ProjectLawsInventoryEO> 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<String, Object> getDesignComplianceStatisticeGroupByTerritory(List<ProjectLawsInventoryEO> datas, Map<String, Object> params) {
Map<String, Object> result = new HashMap<>();
if(CollectionUtils.isNotEmpty(datas)){
Map<String,Object> notStartedMap = new HashMap<>();
Map<String,Object> toConfirmMap = new HashMap<>();
Map<String,Object> complianceMap = new HashMap<>();
Map<String,Object> nonComplianceMap = new HashMap<>();
Map<String,Object> taskToBeConfirmedMap = new HashMap<>();//任务待确认
Map<String,Object> resultsToBeSubmittedMap = new HashMap<>();//结果待提交
Map<String,Object> resultsToBeReviewedMap = new HashMap<>();//结果待审查
Map<String,Object> complianceMap = new HashMap<>();//符合
Map<String,Object> nonComplianceMap = new HashMap<>();//不符合
Map<String,Object> toBeTrackedMap = new HashMap<>();//待追踪
// 未发起
List<ProjectLawsInventoryEO> notStartedDesignPliEoList = datas.stream().filter(data -> {
// 任务待确认
List<ProjectLawsInventoryEO> 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<ProjectLawsInventoryEO> toConfirmDesignPliEoList = datas.stream().filter(data -> {
// 结果待提交
List<ProjectLawsInventoryEO> 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<ProjectLawsInventoryEO> 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<ProjectLawsInventoryEO> 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<ProjectLawsInventoryEO> 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;
}