车型库统计导出

This commit is contained in:
zhn
2023-10-17 11:21:11 +08:00
parent 3a536ff69e
commit c9926f7e72
2 changed files with 230 additions and 161 deletions
@@ -76,7 +76,6 @@ import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
import com.jero.modules.system.util.StringUtils;
import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO;
import com.jero.modules.todoCenter.enums.TodoCenterStatusEnum;
import com.jero.modules.todoCenter.service.IProcessInfoDetailEOService;
import com.jero.modules.top.entity.TopProjectEO;
import com.jero.modules.top.service.ITopProjectEOService;
@@ -3185,48 +3184,56 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
//设计符合性
Map<String, Object> designMap = this.projectLibraryStatisticsService.getDesignComplianceStatisticeGroupByTerritory(pliEoList, params);
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");
Map<String,Object> taskToBeConfirmedMapDesign = (Map<String, Object>) designMap.get(ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue());
double taskToBeConfirmedAmountDesign = (double) taskToBeConfirmedMapDesign.get("amount");
Map<String,Object> resultsToBeSubmittedMapDesign = (Map<String, Object>) designMap.get(ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue());
double resultsToBeSubmittedAmountDesign = (double) resultsToBeSubmittedMapDesign.get("amount");
Map<String,Object> resultsToBeReviewedMapDesign = (Map<String, Object>) designMap.get(ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue());
double resultsToBeReviewedAmountDesign = (double) resultsToBeReviewedMapDesign.get("amount");
Map<String,Object> complianceMapDesign = (Map<String, Object>) designMap.get(ComplianceFlowStatusEnum.CONFORMITY.getValue());
double complianceAmountDesign = (double) complianceMapDesign.get("amount");
Map<String,Object> nonComplianceMapDesign = (Map<String, Object>) designMap.get(ComplianceFlowStatusEnum.INCONFORMITY.getValue());
double nonComplianceAmountDesign = (double) nonComplianceMapDesign.get("amount");
Map<String,Object> toBeTrackedMapDesign = (Map<String, Object>) designMap.get(ComplianceFlowStatusEnum.TO_TRACK.getValue());
double toBeTrackedAmountDesign = (double) toBeTrackedMapDesign.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;
dataRow.createCell(13).setCellValue(taskToBeConfirmedAmountDesign);
dataRow.createCell(14).setCellValue(resultsToBeSubmittedAmountDesign);
dataRow.createCell(15).setCellValue(resultsToBeReviewedAmountDesign);
dataRow.createCell(16).setCellValue(complianceAmountDesign);
dataRow.createCell(17).setCellValue(nonComplianceAmountDesign);
dataRow.createCell(18).setCellValue(toBeTrackedAmountDesign);
double designCount = taskToBeConfirmedAmountDesign + resultsToBeSubmittedAmountDesign + resultsToBeReviewedAmountDesign + nonComplianceAmountDesign + nonComplianceAmountDesign + toBeTrackedAmountDesign;
double designPercentage = (complianceAmountDesign / 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");
Map<String,Object> verifyToConfirmMap = (Map<String, Object>) verifyMap.get(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue());
double verifyToConfirmAmount = (double) verifyToConfirmMap.get("amount");
Map<String,Object> verifyComplianceMap = (Map<String, Object>) verifyMap.get(ComplianceFlowStatusEnum.CONFORMITY.getValue());
double verifyComplianceAmount = (double) verifyComplianceMap.get("amount");
Map<String,Object> verifyNonComplianceMap = (Map<String, Object>) verifyMap.get(ComplianceFlowStatusEnum.INCONFORMITY.getValue());
double verifyNonComplianceAmount = (double) verifyNonComplianceMap.get("amount");
dataRow.createCell(11).setCellValue(verifyNotStartedAmount);
dataRow.createCell(12).setCellValue(verifyToConfirmAmount);
dataRow.createCell(13).setCellValue(verifyComplianceAmount);
dataRow.createCell(14).setCellValue(verifyNonComplianceAmount);
double verifyCount = verifyNotStartedAmount + verifyToConfirmAmount + verifyComplianceAmount + verifyNonComplianceAmount;
double verifyPercentage = (verifyComplianceAmount / verifyCount) * 100;
Map<String,Object> taskToBeConfirmedMapVerify = (Map<String, Object>) verifyMap.get(ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue());
double taskToBeConfirmedAmountVerify = (double) taskToBeConfirmedMapVerify.get("amount");
Map<String,Object> resultsToBeSubmittedMapVerify = (Map<String, Object>) verifyMap.get(ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue());
double resultsToBeSubmittedAmountVerify = (double) resultsToBeSubmittedMapVerify.get("amount");
Map<String,Object> resultsToBeReviewedMapVerify = (Map<String, Object>) verifyMap.get(ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue());
double resultsToBeReviewedAmountVerify = (double) resultsToBeReviewedMapVerify.get("amount");
Map<String,Object> complianceMapVerify = (Map<String, Object>) verifyMap.get(ComplianceFlowStatusEnum.CONFORMITY.getValue());
double complianceAmountVerify = (double) complianceMapVerify.get("amount");
Map<String,Object> nonComplianceMapVerify = (Map<String, Object>) verifyMap.get(ComplianceFlowStatusEnum.INCONFORMITY.getValue());
double nonComplianceAmountVerify = (double) nonComplianceMapVerify.get("amount");
Map<String,Object> toBeTrackedMapVerify = (Map<String, Object>) verifyMap.get(ComplianceFlowStatusEnum.TO_TRACK.getValue());
double toBeTrackedAmountVerify = (double) toBeTrackedMapVerify.get("amount");
dataRow.createCell(20).setCellValue(taskToBeConfirmedAmountVerify);
dataRow.createCell(21).setCellValue(resultsToBeSubmittedAmountVerify);
dataRow.createCell(22).setCellValue(resultsToBeReviewedAmountVerify);
dataRow.createCell(23).setCellValue(complianceAmountVerify);
dataRow.createCell(24).setCellValue(nonComplianceAmountVerify);
dataRow.createCell(25).setCellValue(toBeTrackedAmountVerify);
double verifyCount = taskToBeConfirmedAmountVerify + resultsToBeSubmittedAmountVerify + resultsToBeReviewedAmountVerify
+ complianceAmountVerify + nonComplianceAmountVerify + toBeTrackedAmountVerify;
double verifyPercentage = (complianceAmountVerify / verifyCount) * 100;
String verifyPercentageStr = (verifyPercentage != 0 && (verifyCount !=0 )) ? df.format(verifyPercentage) : "0";
dataRow.createCell(15).setCellValue(verifyPercentageStr + percentSign);
dataRow.createCell(26).setCellValue(verifyPercentageStr + percentSign);
}
/**
@@ -3293,7 +3300,7 @@ 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 <= 17; i++){
sheet.setColumnWidth(i, 3500);
Cell firstRowCell = firstRow.createCell(i);
firstRowCell.setCellStyle(cellStyleTitle);
@@ -3375,41 +3382,52 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
dataRow.createCell(0).setCellValue(key);
Map<String, Object> taskConfirmMap = this.projectLibraryStatisticsService.getRZTaskToConfirmStatisticsGroupByTerritory(pciEoList, 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;
Map<String,Object> taskListToBeReleasedMap = (Map<String, Object>) taskConfirmMap.get(CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue());
double taskListToBeReleasedAmount = (double) taskListToBeReleasedMap.get("amount");
Map<String,Object> taskToBeInitiatedMap = (Map<String, Object>) taskConfirmMap.get(CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue());
double taskToBeInitiatedAmount = (double) taskToBeInitiatedMap.get("amount");
Map<String,Object> taskToBeConfirmedMap = (Map<String, Object>) taskConfirmMap.get(CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue());
double taskToBeConfirmedAmount = (double) taskToBeConfirmedMap.get("amount");
Map<String,Object> taskAcceptedMap = (Map<String, Object>) taskConfirmMap.get(CertificationInventoryFlowStatusEnum.ACCEPTED_OF_RESPONSIBLE_PERSON.getValue());
double taskAcceptedAmount = (double) taskAcceptedMap.get("amount");
Map<String,Object> taskRejectedMap = (Map<String, Object>) taskConfirmMap.get(CertificationInventoryFlowStatusEnum.REFUSAL_OF_RESPONSIBLE_PERSON.getValue());
double taskRejectedAmount = (double) taskRejectedMap.get("amount");
dataRow.createCell(1).setCellValue(taskListToBeReleasedAmount);
dataRow.createCell(2).setCellValue(taskToBeInitiatedAmount);
dataRow.createCell(3).setCellValue(taskToBeConfirmedAmount);
dataRow.createCell(4).setCellValue(taskAcceptedAmount);
dataRow.createCell(5).setCellValue(taskRejectedAmount);
double taskConfirmCount = taskListToBeReleasedAmount + taskToBeInitiatedAmount + taskToBeConfirmedAmount +taskAcceptedAmount+ taskRejectedAmount;
double taskConfirmPercentage = (taskAcceptedAmount / taskConfirmCount) * 100;
String taskConfirmPercentageStr = (taskConfirmPercentage != 0 && (taskConfirmCount !=0 )) ? df.format(taskConfirmPercentage) : "0";
dataRow.createCell(5).setCellValue(taskConfirmPercentageStr + percentSign);
dataRow.createCell(6).setCellValue(taskConfirmPercentageStr + percentSign);
Map<String, Object> prehomoMap = this.projectLibraryStatisticsService.getPrehomoStatisticeGroupByTerritory(pciEoList, params);
Map<String, Object> prehomoNotStartedMap = (Map<String, Object>) prehomoMap.get(TaskAffirmStatusEnum.NOT_STARTED.getValue());
double prehomoNotStartedAmount = (double) prehomoNotStartedMap.get("amount");
Map<String, Object> prehomoToConfirmMap = (Map<String, Object>) prehomoMap.get(TodoCenterStatusEnum.TO_SUBMIT.getValue());
// Map<String, Object> prehomoToConfirmMap = (Map<String, Object>) prehomoMap.get(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue());
double prehomoToConfirmAmount = (double) prehomoToConfirmMap.get("amount");
Map<String, Object> prehomoAcceptedMap = (Map<String, Object>) prehomoMap.get(CertificationInventoryFlowStatusEnum.REVIEW_AND_PASS.getValue());
double prehomoAcceptedAmount = (double) prehomoAcceptedMap.get("amount");
Map<String, Object> prehomoRejectedMap = (Map<String, Object>) prehomoMap.get(CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue());
double prehomoRejectedAmount = (double) prehomoRejectedMap.get("amount");
dataRow.createCell(6).setCellValue(prehomoNotStartedAmount);
dataRow.createCell(7).setCellValue(prehomoToConfirmAmount);
dataRow.createCell(8).setCellValue(prehomoAcceptedAmount);
dataRow.createCell(9).setCellValue(prehomoRejectedAmount);
double prehomoCount = prehomoNotStartedAmount + prehomoToConfirmAmount + prehomoAcceptedAmount + prehomoRejectedAmount;
double prehomoPercentage = (prehomoAcceptedAmount / prehomoCount) * 100;
Map<String, Object> prehomoTaskToBeConfirmedMap = (Map<String, Object>) prehomoMap.get(CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue());
double prehomoTaskToBeConfirmedAmount = (double) prehomoTaskToBeConfirmedMap.get("amount");
Map<String, Object> prehomoResultsToBeSubmittedMap = (Map<String, Object>) prehomoMap.get(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue());
double prehomoResultsToBeSubmittedAmount = (double) prehomoResultsToBeSubmittedMap.get("amount");
Map<String, Object> prehomoResultsToBeReviewedMap = (Map<String, Object>) prehomoMap.get(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue());
double prehomoResultsToBeReviewedAmount = (double) prehomoResultsToBeReviewedMap.get("amount");
Map<String, Object> prehomoReviewAndPassMap = (Map<String, Object>) prehomoMap.get(CertificationInventoryFlowStatusEnum.REVIEW_AND_PASS.getValue());
double prehomoReviewAndPassAmount = (double) prehomoReviewAndPassMap.get("amount");
Map<String, Object> prehomoReviewAndReturnMap = (Map<String, Object>) prehomoMap.get(CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue());
double prehomoReviewAndReturnAmount = (double) prehomoReviewAndReturnMap.get("amount");
dataRow.createCell(7).setCellValue(prehomoTaskToBeConfirmedAmount);
dataRow.createCell(8).setCellValue(prehomoResultsToBeSubmittedAmount);
dataRow.createCell(9).setCellValue(prehomoResultsToBeReviewedAmount);
dataRow.createCell(10).setCellValue(prehomoReviewAndPassAmount);
dataRow.createCell(11).setCellValue(prehomoReviewAndReturnAmount);
double prehomoCount = prehomoTaskToBeConfirmedAmount + prehomoResultsToBeSubmittedAmount + prehomoResultsToBeReviewedAmount
+ prehomoReviewAndPassAmount + prehomoReviewAndReturnAmount;
double prehomoPercentage = (prehomoReviewAndPassAmount / prehomoCount) * 100;
String prehomoPercentageStr = (prehomoPercentage != 0 && (prehomoCount !=0 )) ? df.format(prehomoPercentage) : "0";
dataRow.createCell(10).setCellValue(prehomoPercentageStr + percentSign);
dataRow.createCell(12).setCellValue(prehomoPercentageStr + percentSign);
Map<String, Object> certificationProgressMap = this.projectLibraryStatisticsService.getPartCertificationProgressStatisticsGroupByTerritoryTemp(pciEoList, params);
Map<String, Object> certificationProgressNotStartMap = (Map<String, Object>)certificationProgressMap.get(CertificationProgressEnum.NOT_START.getValue());
@@ -3420,15 +3438,15 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
double certificationProgressTestPassedAmount = (double) certificationProgressTestPassedMap.get("amount");
Map<String, Object> certificationProgressTestFailedMap = (Map<String, Object>)certificationProgressMap.get(CertificationProgressEnum.TEST_FAILED.getValue());
double certificationProgressTestFailedAmount = (double) certificationProgressTestFailedMap.get("amount");
dataRow.createCell(11).setCellValue(certificationProgressNotStartAmount);
dataRow.createCell(12).setCellValue(certificationProgressInProgressAmount);
dataRow.createCell(13).setCellValue(certificationProgressTestPassedAmount);
dataRow.createCell(14).setCellValue(certificationProgressTestFailedAmount);
dataRow.createCell(13).setCellValue(certificationProgressNotStartAmount);
dataRow.createCell(14).setCellValue(certificationProgressInProgressAmount);
dataRow.createCell(15).setCellValue(certificationProgressTestPassedAmount);
dataRow.createCell(16).setCellValue(certificationProgressTestFailedAmount);
double certificationProgressCount = certificationProgressNotStartAmount + certificationProgressInProgressAmount
+ certificationProgressTestPassedAmount + certificationProgressTestFailedAmount;
double certificationProgressPercentage = (certificationProgressTestPassedAmount / certificationProgressCount) * 100;
String certificationProgressPercentageStr = (certificationProgressPercentage != 0 && (certificationProgressCount !=0 )) ? df.format(certificationProgressPercentage) : "0";
dataRow.createCell(15).setCellValue(certificationProgressPercentageStr + percentSign);
dataRow.createCell(17).setCellValue(certificationProgressPercentageStr + percentSign);
}
/**
@@ -12,7 +12,6 @@ import com.jero.modules.project.enums.TaskAffirmStatusEnum;
import com.jero.modules.project.service.IProjectCertificationInventoryEOService;
import com.jero.modules.project.service.IProjectLawsInventoryEOService;
import com.jero.modules.project.service.IProjectLibraryStatisticsService;
import com.jero.modules.todoCenter.enums.TodoCenterStatusEnum;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -428,42 +427,54 @@ public class ProjectLibraryStatisticsServiceImpl implements IProjectLibraryStati
public Map<String, Object> getVerifyComplianceStatisticeGroupByTerritory(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<>();
// 未发起
List<ProjectLawsInventoryEO> notStartedVerifyPliEoList = datas.stream().filter(data -> {
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> taskToBeConfirmedPliEoList = datas.stream().filter(data -> {
boolean flag = (
StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue())
|| StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())
|| StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.REGULATORY_ENGINEER_RETURNS.getValue())
|| StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue())
// || StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue())
|| StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue())
);
return flag;
}).collect(Collectors.toList());
double notStartedComplianceFlowCount = (double) notStartedVerifyPliEoList.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> toConfirmVerifyPliEoList = datas.stream().filter(data -> {
// 结果待提交
List<ProjectLawsInventoryEO> resultsToBeSubmittedPliEoList = 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.TASK_TO_BE_CONFIRMED.getValue())
// || StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue())
);
return flag;
}).collect(Collectors.toList());
double toConfirmComplianceFlowCount = (double) toConfirmVerifyPliEoList.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.getVerifyFlowStatus(),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> complianceVerifyPliEoList = datas.stream().filter(data -> {
@@ -482,7 +493,6 @@ public class ProjectLibraryStatisticsServiceImpl implements IProjectLibraryStati
List<ProjectLawsInventoryEO> nonComplianceVerifyPliEoList = datas.stream().filter(data -> {
boolean flag = (
StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.INCONFORMITY.getValue())
|| StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue())
);
return flag;
}).collect(Collectors.toList());
@@ -492,10 +502,25 @@ 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.getVerifyFlowStatus(),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;
}
@@ -504,40 +529,53 @@ public class ProjectLibraryStatisticsServiceImpl implements IProjectLibraryStati
public Map<String, Object> getRZTaskToConfirmStatisticsGroupByTerritory(List<ProjectCertificationInventoryEO> 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> acceptedMap = new HashMap<>();
Map<String,Object> rejectedMap = new HashMap<>();
// 未发起
List<ProjectCertificationInventoryEO> notStartedPciEoList = datas.stream().filter(data -> {
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<ProjectCertificationInventoryEO> listToBeReleasedPciEoList = datas.stream().filter(data -> {
boolean flag = (
StringUtils.equals(data.getFlowStatus(), CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue())
|| StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.CERTIFICATION_RETURNED.getValue())
|| StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())
);
return flag;
}).collect(Collectors.toList());
double notStartedCount = (double) notStartedPciEoList.size();
double notStartedPercentage = (notStartedCount / (datas.size())) * 100;
String notStartedPercentageStr = notStartedPercentage != 0 ? df.format(notStartedPercentage) : "0";
notStartedMap.put("amount",notStartedCount);
notStartedMap.put("percentage",notStartedPercentageStr + percentSign);
double listToBeReleasedCount = (double) listToBeReleasedPciEoList.size();
double listToBeReleasedPercentage = (listToBeReleasedCount / (datas.size())) * 100;
String listToBeReleasedPercentageStr = listToBeReleasedPercentage != 0 ? df.format(listToBeReleasedPercentage) : "0";
listToBeReleasedMap.put("amount",listToBeReleasedCount);
listToBeReleasedMap.put("percentage",listToBeReleasedPercentageStr + percentSign);
// 待确认
List<ProjectCertificationInventoryEO> toConfirmPciEoList = datas.stream().filter(data -> {
// 任务待发起
List<ProjectCertificationInventoryEO> taskToBeInitiatedPciEoList = datas.stream().filter(data -> {
boolean flag = (
StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())
);
return flag;
}).collect(Collectors.toList());
double taskToBeInitiatedCount = (double) taskToBeInitiatedPciEoList.size();
double taskToBeInitiatedPercentage = (taskToBeInitiatedCount / (datas.size())) * 100;
String taskToBeInitiatedPercentageStr = taskToBeInitiatedPercentage != 0 ? df.format(taskToBeInitiatedPercentage) : "0";
taskToBeInitiatedMap.put("amount",taskToBeInitiatedCount);
taskToBeInitiatedMap.put("percentage",taskToBeInitiatedPercentageStr + percentSign);
//任务待确认
List<ProjectCertificationInventoryEO> taskToBeConfirmedPciEoList = datas.stream().filter(data -> {
boolean flag = (
StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue())
);
return flag;
}).collect(Collectors.toList());
double toConfirmCount = (double) toConfirmPciEoList.size();
double toConfirmPercentage = (toConfirmCount / (datas.size())) * 100;
String toConfirmPercentageStr = toConfirmPercentage != 0 ? df.format(toConfirmPercentage) : "0";
toConfirmMap.put("amount",toConfirmCount);
toConfirmMap.put("percentage",toConfirmPercentageStr + percentSign);
double taskToBeConfirmedCount = (double) taskToBeConfirmedPciEoList.size();
double taskToBeConfirmedPercentage = (taskToBeConfirmedCount / (datas.size())) * 100;
String taskToBeConfirmedPercentageStr = taskToBeConfirmedPercentage != 0 ? df.format(taskToBeConfirmedPercentage) : "0";
taskToBeConfirmedMap.put("amount",taskToBeConfirmedCount);
taskToBeConfirmedMap.put("percentage",taskToBeConfirmedPercentageStr + percentSign);
// 接受
// 责任人接受
List<ProjectCertificationInventoryEO> acceptedPciEoList = datas.stream().filter(data -> {
boolean flag = (
StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue())
@@ -553,7 +591,7 @@ public class ProjectLibraryStatisticsServiceImpl implements IProjectLibraryStati
acceptedMap.put("amount",acceptedCount);
acceptedMap.put("percentage",acceptedPercentageStr + percentSign);
// 拒绝
// 责任人拒绝
List<ProjectCertificationInventoryEO> rejectedPciEoList = datas.stream().filter(data -> {
boolean flag = (
StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.REFUSAL_OF_RESPONSIBLE_PERSON.getValue())
@@ -566,11 +604,11 @@ public class ProjectLibraryStatisticsServiceImpl implements IProjectLibraryStati
rejectedMap.put("amount",rejectedCount);
rejectedMap.put("percentage",rejectedPercentageStr + percentSign);
result.put(TaskAffirmStatusEnum.NOT_STARTED.getValue(),notStartedMap);
result.put(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue(),toConfirmMap);
// result.put(TodoCenterStatusEnum.TO_SUBMIT.getValue(),acceptedMap);
result.put(TaskAffirmStatusEnum.ACCEPTED.getValue(),acceptedMap);
result.put(TaskAffirmStatusEnum.REJECTED.getValue(),rejectedMap);
result.put(CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue(),listToBeReleasedMap);//清单待发布
result.put(CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue(),taskToBeInitiatedMap);//任务待发起
result.put(CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue(),taskToBeConfirmedMap);//任务待确认
result.put(CertificationInventoryFlowStatusEnum.ACCEPTED_OF_RESPONSIBLE_PERSON.getValue(),acceptedMap);//责任人接受
result.put(CertificationInventoryFlowStatusEnum.REFUSAL_OF_RESPONSIBLE_PERSON.getValue(),rejectedMap); //责任人拒绝
}
return result;
}
@@ -581,13 +619,14 @@ public class ProjectLibraryStatisticsServiceImpl implements IProjectLibraryStati
if(CollectionUtils.isNotEmpty(datas)){
DecimalFormat df = new DecimalFormat("#.00");
Map<String,Object> notStartedMap = new HashMap<>();
Map<String,Object> toConfirmMap = new HashMap<>();
Map<String,Object> acceptedMap = new HashMap<>();
Map<String,Object> rejectedMap = new HashMap<>();
Map<String,Object> taskToBeConfirmedMap = new HashMap<>();//任务待确认
Map<String,Object> resultsToBeSubmittedMap = new HashMap<>();//结果待提交
Map<String,Object> resultsToBeReviewedMap = new HashMap<>();//结果待审查
Map<String,Object> reviewAndPassMap = new HashMap<>();//审查通过
Map<String,Object> reviewAndReturnMap = new HashMap<>();//审查退回
// 未发起
List<ProjectCertificationInventoryEO> notStartedPciEoList = datas.stream().filter(data -> {
// 任务待确认
List<ProjectCertificationInventoryEO> taskToBeConfirmedPciEoList = datas.stream().filter(data -> {
boolean flag = (
StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue())
|| StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.CERTIFICATION_RETURNED.getValue())
@@ -598,57 +637,69 @@ public class ProjectLibraryStatisticsServiceImpl implements IProjectLibraryStati
return flag;
}).collect(Collectors.toList());
double notStartedCount = (double) notStartedPciEoList.size();
double notStartedPercentage = (notStartedCount / (datas.size())) * 100;
String notStartedPercentageStr = notStartedPercentage != 0 ? df.format(notStartedPercentage) : "0";
notStartedMap.put("amount",notStartedCount);
notStartedMap.put("percentage",notStartedPercentageStr + percentSign);
double taskToBeConfirmedCount = (double) taskToBeConfirmedPciEoList.size();
double taskToBeConfirmedPercentage = (taskToBeConfirmedCount / (datas.size())) * 100;
String taskToBeConfirmedPercentageStr = taskToBeConfirmedPercentage != 0 ? df.format(taskToBeConfirmedPercentage) : "0";
taskToBeConfirmedMap.put("amount",taskToBeConfirmedCount);
taskToBeConfirmedMap.put("percentage",taskToBeConfirmedPercentageStr + percentSign);
// 待提交
List<ProjectCertificationInventoryEO> toConfirmPciEoList = datas.stream().filter(data -> {
// 结果待提交
List<ProjectCertificationInventoryEO> resultsToBeSubmittedPciEoList = datas.stream().filter(data -> {
boolean flag = (
StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue())
|| StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue())
);
return flag;
}).collect(Collectors.toList());
double toConfirmCount = (double) toConfirmPciEoList.size();
double toConfirmPercentage = (toConfirmCount / (datas.size())) * 100;
String toConfirmPercentageStr = toConfirmPercentage != 0 ? df.format(toConfirmPercentage) : "0";
toConfirmMap.put("amount",toConfirmCount);
toConfirmMap.put("percentage",toConfirmPercentageStr + percentSign);
double resultsToBeSubmittedCount = (double) resultsToBeSubmittedPciEoList.size();
double resultsToBeSubmittedPercentage = (resultsToBeSubmittedCount / (datas.size())) * 100;
String resultsToBeSubmittedPercentageStr = resultsToBeSubmittedPercentage != 0 ? df.format(resultsToBeSubmittedPercentage) : "0";
resultsToBeSubmittedMap.put("amount",resultsToBeSubmittedCount);
resultsToBeSubmittedMap.put("percentage",resultsToBeSubmittedPercentageStr + percentSign);
// 结果待审查
List<ProjectCertificationInventoryEO> resultsToBeReviewedPciEoList = datas.stream().filter(data -> {
boolean flag = (
StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue())
);
return flag;
}).collect(Collectors.toList());
double resultsToBeReviewedCount = (double) resultsToBeReviewedPciEoList.size();
double resultsToBeReviewedPercentage = (resultsToBeReviewedCount / (datas.size())) * 100;
String resultsToBeReviewedPercentageStr = resultsToBeReviewedPercentage != 0 ? df.format(resultsToBeReviewedPercentage) : "0";
resultsToBeReviewedMap.put("amount",resultsToBeReviewedCount);
resultsToBeReviewedMap.put("percentage",resultsToBeReviewedPercentageStr + percentSign);
// 审查通过
List<ProjectCertificationInventoryEO> acceptedPciEoList = datas.stream().filter(data -> {
List<ProjectCertificationInventoryEO> reviewAndPassPciEoList = datas.stream().filter(data -> {
boolean flag = (
StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.REVIEW_AND_PASS.getValue())
);
return flag;
}).collect(Collectors.toList());
double acceptedCount = (double) acceptedPciEoList.size();
double acceptedPercentage = (acceptedCount / (datas.size())) * 100;
String acceptedPercentageStr = acceptedPercentage != 0 ? df.format(acceptedPercentage) : "0";
acceptedMap.put("amount",acceptedCount);
acceptedMap.put("percentage",acceptedPercentageStr + percentSign);
double reviewAndPassCount = (double) reviewAndPassPciEoList.size();
double reviewAndPassPercentage = (reviewAndPassCount / (datas.size())) * 100;
String reviewAndPassPercentageStr = reviewAndPassPercentage != 0 ? df.format(reviewAndPassPercentage) : "0";
reviewAndPassMap.put("amount",reviewAndPassCount);
reviewAndPassMap.put("percentage",reviewAndPassPercentageStr + percentSign);
// 审查退回
List<ProjectCertificationInventoryEO> rejectedPciEoList = datas.stream().filter(data -> {
List<ProjectCertificationInventoryEO> reviewAndReturnPciEoList = datas.stream().filter(data -> {
boolean flag = (
StringUtils.equals(data.getFlowStatus(),CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue())
);
return flag;
}).collect(Collectors.toList());
double rejectedCount = (double) rejectedPciEoList.size();
double rejectedPercentage = (rejectedCount / (datas.size())) * 100;
String rejectedPercentageStr = rejectedPercentage != 0 ? df.format(rejectedPercentage) : "0";
rejectedMap.put("amount",rejectedCount);
rejectedMap.put("percentage",rejectedPercentageStr + percentSign);
double reviewAndReturnCount = (double) reviewAndReturnPciEoList.size();
double reviewAndReturnPercentage = (reviewAndReturnCount / (datas.size())) * 100;
String reviewAndReturnPercentageStr = reviewAndReturnPercentage != 0 ? df.format(reviewAndReturnPercentage) : "0";
reviewAndReturnMap.put("amount",reviewAndReturnCount);
reviewAndReturnMap.put("percentage",reviewAndReturnPercentageStr + percentSign);
result.put(TaskAffirmStatusEnum.NOT_STARTED.getValue(),notStartedMap);
// result.put(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue(),toConfirmMap);
result.put(TodoCenterStatusEnum.TO_SUBMIT.getValue(),toConfirmMap);
result.put(CertificationInventoryFlowStatusEnum.REVIEW_AND_PASS.getValue(),acceptedMap);
result.put(CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue(),rejectedMap);
result.put(CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue(),taskToBeConfirmedMap);
result.put(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue(),resultsToBeSubmittedMap);
result.put(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue(),resultsToBeReviewedMap);
result.put(CertificationInventoryFlowStatusEnum.REVIEW_AND_PASS.getValue(),reviewAndPassMap);
result.put(CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue(),reviewAndReturnMap);
}
return result;
}