项目库,认证清单相关统计开发。

This commit is contained in:
wangzhijiang
2023-04-25 16:09:08 +08:00
parent ba24f656dd
commit 46669840de
3 changed files with 377 additions and 13 deletions
@@ -253,4 +253,39 @@ public interface IProjectCertificationInventoryEOService extends IService<Projec
void certificationInventoryEOListSortByEndTimeAsc(List<ProjectCertificationInventoryEO> projectCertificationInventoryEOList);
void certificationInventoryEOListSortByInventoryVerifyEndTimeAsc(List<ProjectCertificationInventoryEO> projectCertificationInventoryEOList);
void certificationInventoryEOListSortByTaskConfirmEndTimeAsc(List<ProjectCertificationInventoryEO> projectCertificationInventoryEOList);
/**
* 获取任务确认统计信息
* @param pciEoList
* @return
*/
List<Map<String, Object>> getTaskToConfirmStatistics(List<ProjectCertificationInventoryEO> pciEoList);
/**
* 获取Pre-Homo统计信息
* @param pciEoList
* @return
*/
List<Map<String, Object>> getPrehomoStatistice(List<ProjectCertificationInventoryEO> pciEoList);
/**
* 获取认证进度统计信息 全部
* @param pciEoList
* @return
*/
List<Map<String, Object>> getAllCertificationProgressStatistics(List<ProjectCertificationInventoryEO> pciEoList);
/**
* 获取认证进度统计信息 整车
* @param pciEoList
* @return
*/
List<Map<String, Object>> getCarCertificationProgressStatistics(List<ProjectCertificationInventoryEO> pciEoList);
/**
* 获取认证进度统计信息 零部件
* @param pciEoList
* @return
*/
List<Map<String, Object>> getPartCertificationProgressStatistics(List<ProjectCertificationInventoryEO> pciEoList);
}
@@ -2540,6 +2540,316 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
});
}
@Override
public List<Map<String, Object>> getTaskToConfirmStatistics(List<ProjectCertificationInventoryEO> pciEoList) {
List<Map<String,Object>> result = new ArrayList<>();
int notStartedCount = 0;
int toConfirmCount = 0;
int acceptedCount = 0;
int rejectedCount = 0;
if(CollectionUtils.isNotEmpty(pciEoList)){
// 未发起
notStartedCount = (int) pciEoList.stream().filter(pciEo -> {
boolean flag = (
StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue())
|| StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.CERTIFICATION_RETURNED.getValue())
|| StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())
);
return flag;
}).count();
// 待确认
toConfirmCount = (int) pciEoList.stream().filter(pciEo -> {
boolean flag = (
StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue())
);
return flag;
}).count();
// 接受
acceptedCount = (int) pciEoList.stream().filter(pciEo -> {
boolean flag = (
StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue())
|| StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue())
|| StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.REVIEW_AND_PASS.getValue())
|| StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue())
);
return flag;
}).count();
// 拒绝
rejectedCount = (int) pciEoList.stream().filter(pciEo -> {
boolean flag = (
StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.REFUSAL_OF_RESPONSIBLE_PERSON.getValue())
);
return flag;
}).count();
}
Map<String,Object> notStartedMap = new HashMap<>();
Map<String,Object> toConfirmMap = new HashMap<>();
Map<String,Object> acceptedMap = new HashMap<>();
Map<String,Object> rejectedMap = new HashMap<>();
notStartedMap.put("taskAffirmStatus",TaskAffirmStatusEnum.NOT_STARTED.getValue());
notStartedMap.put("taskAffirmStatusCount",notStartedCount);
toConfirmMap.put("taskAffirmStatus",TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue());
toConfirmMap.put("taskAffirmStatusCount",toConfirmCount);
acceptedMap.put("taskAffirmStatus",TaskAffirmStatusEnum.ACCEPTED.getValue());
acceptedMap.put("taskAffirmStatusCount",acceptedCount);
rejectedMap.put("taskAffirmStatus",TaskAffirmStatusEnum.REJECTED.getValue());
rejectedMap.put("taskAffirmStatusCount",rejectedCount);
result.add(notStartedMap);
result.add(toConfirmMap);
result.add(acceptedMap);
result.add(rejectedMap);
return result;
}
@Override
public List<Map<String, Object>> getPrehomoStatistice(List<ProjectCertificationInventoryEO> pciEoList) {
List<Map<String,Object>> result = new ArrayList<>();
int notStartedCount = 0;
int toConfirmCount = 0;
int acceptedCount = 0;
int rejectedCount = 0;
if(CollectionUtils.isNotEmpty(pciEoList)){
// 未发起
notStartedCount = (int) pciEoList.stream().filter(pciEo -> {
boolean flag = (
StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue())
|| StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.CERTIFICATION_RETURNED.getValue())
|| StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())
|| StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue())
|| StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.REFUSAL_OF_RESPONSIBLE_PERSON.getValue())
);
return flag;
}).count();
// 待确认
toConfirmCount = (int) pciEoList.stream().filter(pciEo -> {
boolean flag = (
StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue())
|| StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue())
);
return flag;
}).count();
// 审查通过
acceptedCount = (int) pciEoList.stream().filter(pciEo -> {
boolean flag = (
StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.REVIEW_AND_PASS.getValue())
);
return flag;
}).count();
// 审查退回
rejectedCount = (int) pciEoList.stream().filter(pciEo -> {
boolean flag = (
StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue())
);
return flag;
}).count();
}
Map<String,Object> notStartedMap = new HashMap<>();
Map<String,Object> toConfirmMap = new HashMap<>();
Map<String,Object> acceptedMap = new HashMap<>();
Map<String,Object> rejectedMap = new HashMap<>();
notStartedMap.put("taskAffirmStatus",TaskAffirmStatusEnum.NOT_STARTED.getValue());
notStartedMap.put("taskAffirmStatusCount",notStartedCount);
toConfirmMap.put("taskAffirmStatus",TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue());
toConfirmMap.put("taskAffirmStatusCount",toConfirmCount);
acceptedMap.put("taskAffirmStatus",CertificationInventoryFlowStatusEnum.REVIEW_AND_PASS.getValue());
acceptedMap.put("taskAffirmStatusCount",acceptedCount);
rejectedMap.put("taskAffirmStatus",CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue());
rejectedMap.put("taskAffirmStatusCount",rejectedCount);
result.add(notStartedMap);
result.add(toConfirmMap);
result.add(acceptedMap);
result.add(rejectedMap);
return result;
}
@Override
public List<Map<String, Object>> getAllCertificationProgressStatistics(List<ProjectCertificationInventoryEO> pciEoList) {
List<Map<String,Object>> result = new ArrayList<>();
int notStartedCount = 0;
int inProgressCount = 0;
int testPassedCount = 0;
int testFailedCount = 0;
if(CollectionUtils.isNotEmpty(pciEoList)){
// 未开始
notStartedCount = (int) pciEoList.stream().filter(pciEo -> {
boolean flag = (
StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.NOT_START.getValue())
);
return flag;
}).count();
// 进行中
inProgressCount = (int) pciEoList.stream().filter(pciEo -> {
boolean flag = (
StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.IN_PROGRESS.getValue())
|| StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.COMPONENT_REPORT_NOT_SUBMITTED.getValue())
);
return flag;
}).count();
// 实验通过
testPassedCount = (int) pciEoList.stream().filter(pciEo -> {
boolean flag = (
StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.TEST_PASSED.getValue())
|| StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.COMPONENT_REPORT_SUBMITTED.getValue())
|| StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.COMPONENT_REPORT_HAS_BEEN_STORED.getValue())
);
return flag;
}).count();
// 实验失败
testFailedCount = (int) pciEoList.stream().filter(pciEo -> {
boolean flag = (
StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.TEST_FAILED.getValue())
);
return flag;
}).count();
}
Map<String,Object> notStartedMap = new HashMap<>();
Map<String,Object> inProgressMap = new HashMap<>();
Map<String,Object> testPassedMap = new HashMap<>();
Map<String,Object> testFailedMap = new HashMap<>();
notStartedMap.put("certificationProgress",CertificationProgressEnum.NOT_START.getValue());
notStartedMap.put("certificationProgressCount",notStartedCount);
inProgressMap.put("certificationProgress",CertificationProgressEnum.IN_PROGRESS.getValue());
inProgressMap.put("certificationProgressCount",inProgressCount);
testPassedMap.put("certificationProgress",CertificationProgressEnum.TEST_PASSED.getValue());
testPassedMap.put("certificationProgressCount",testPassedCount);
testFailedMap.put("certificationProgress",CertificationProgressEnum.TEST_FAILED.getValue());
testFailedMap.put("certificationProgressCount",testFailedCount);
result.add(notStartedMap);
result.add(inProgressMap);
result.add(testPassedMap);
result.add(testFailedMap);
return result;
}
@Override
public List<Map<String, Object>> getCarCertificationProgressStatistics(List<ProjectCertificationInventoryEO> pciEoList) {
List<Map<String,Object>> result = new ArrayList<>();
int notStartedCount = 0;
int inProgressCount = 0;
int testPassedCount = 0;
int testFailedCount = 0;
if(CollectionUtils.isNotEmpty(pciEoList)){
// 未开始
notStartedCount = (int) pciEoList.stream().filter(pciEo -> {
boolean flag = (
StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.NOT_START.getValue())
);
return flag;
}).count();
// 进行中
inProgressCount = (int) pciEoList.stream().filter(pciEo -> {
boolean flag = (
StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.IN_PROGRESS.getValue())
);
return flag;
}).count();
// 实验通过
testPassedCount = (int) pciEoList.stream().filter(pciEo -> {
boolean flag = (
StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.TEST_PASSED.getValue())
);
return flag;
}).count();
// 实验失败
testFailedCount = (int) pciEoList.stream().filter(pciEo -> {
boolean flag = (
StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.TEST_FAILED.getValue())
);
return flag;
}).count();
}
Map<String,Object> notStartedMap = new HashMap<>();
Map<String,Object> inProgressMap = new HashMap<>();
Map<String,Object> testPassedMap = new HashMap<>();
Map<String,Object> testFailedMap = new HashMap<>();
notStartedMap.put("certificationProgress",CertificationProgressEnum.NOT_START.getValue());
notStartedMap.put("certificationProgressCount",notStartedCount);
inProgressMap.put("certificationProgress",CertificationProgressEnum.IN_PROGRESS.getValue());
inProgressMap.put("certificationProgressCount",inProgressCount);
testPassedMap.put("certificationProgress",CertificationProgressEnum.TEST_PASSED.getValue());
testPassedMap.put("certificationProgressCount",testPassedCount);
testFailedMap.put("certificationProgress",CertificationProgressEnum.TEST_FAILED.getValue());
testFailedMap.put("certificationProgressCount",testFailedCount);
result.add(notStartedMap);
result.add(inProgressMap);
result.add(testPassedMap);
result.add(testFailedMap);
return result;
}
@Override
public List<Map<String, Object>> getPartCertificationProgressStatistics(List<ProjectCertificationInventoryEO> pciEoList) {
List<Map<String,Object>> result = new ArrayList<>();
int notSubmitCount = 0;
int reportSubmitCount = 0;
int storedCount = 0;
if(CollectionUtils.isNotEmpty(pciEoList)){
// 部件报告未提交
notSubmitCount = (int) pciEoList.stream().filter(pciEo -> {
boolean flag = (
StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.NOT_START.getValue())
);
return flag;
}).count();
// 部件报告已提交
reportSubmitCount = (int) pciEoList.stream().filter(pciEo -> {
boolean flag = (
StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.IN_PROGRESS.getValue())
);
return flag;
}).count();
// 部件报告已入库
storedCount = (int) pciEoList.stream().filter(pciEo -> {
boolean flag = (
StringUtils.equals(pciEo.getCertificationProgress(),CertificationProgressEnum.TEST_PASSED.getValue())
);
return flag;
}).count();
}
Map<String,Object> notSubmitMap = new HashMap<>();
Map<String,Object> reportSubmitMap = new HashMap<>();
Map<String,Object> storedMap = new HashMap<>();
notSubmitMap.put("certificationProgress",CertificationProgressEnum.COMPONENT_REPORT_NOT_SUBMITTED.getValue());
notSubmitMap.put("certificationProgressCount",notSubmitCount);
reportSubmitMap.put("certificationProgress",CertificationProgressEnum.COMPONENT_REPORT_SUBMITTED.getValue());
reportSubmitMap.put("certificationProgressCount",reportSubmitCount);
storedMap.put("certificationProgress",CertificationProgressEnum.COMPONENT_REPORT_HAS_BEEN_STORED.getValue());
storedMap.put("certificationProgressCount",storedCount);
result.add(notSubmitMap);
result.add(reportSubmitMap);
result.add(storedMap);
return result;
}
@Override
public Result<?> saveBatch(JSONObject json) {
Date now = new Date();
@@ -1493,16 +1493,16 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
Map<String,Object> verifyComplianceMap = new HashMap<>();
//认证进度
Map<String,Object> certificationProgressMap = new HashMap<>();
// 认证任务确认
Map<String,Object> rzTaskToConfirmMap = new HashMap<>();
//清单确认统计
List<Map<String,Object>> listingToConfirmMapList = this.projectLawsInventoryEOMapper.getlistingToConfirmStatistics(id);
/*List<Map<String,Object>> listingToConfirmMapList = this.projectLawsInventoryEOMapper.getlistingToConfirmStatistics(id);
listingToConfirmMap.put("listingToConfirmMapList",listingToConfirmMapList);
result.put("listingToConfirmMap",listingToConfirmMap);
result.put("listingToConfirmMap",listingToConfirmMap);*/
QueryWrapper<ProjectLawsInventoryEO> lawsInventoryEOQueryWrapper = new QueryWrapper<>();
lawsInventoryEOQueryWrapper.lambda().in(ProjectLawsInventoryEO::getProjectLibraryId,Arrays.asList(id.split(",")));
//lawsInventoryEOQueryWrapper.lambda().eq(ProjectLawsInventoryEO::getInventoryAffirmStatus, InventoryAffirmStatusEnum.ACCEPTED.getValue());
//lawsInventoryEOQueryWrapper.lambda().eq(ProjectLawsInventoryEO::getTaskAffirmStatus, TaskAffirmStatusEnum.ACCEPTED.getValue());
List<ProjectLawsInventoryEO> projectLawsInventoryEOList = projectLawsInventoryEOMapper.selectList(lawsInventoryEOQueryWrapper);
if(CollectionUtils.isNotEmpty(projectLawsInventoryEOList)){
List<String> projectLawsInventoryIdList = projectLawsInventoryEOList.stream().distinct().map(ProjectLawsInventoryEO::getId).collect(Collectors.toList());
@@ -1513,7 +1513,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
result.put("taskToConfirmMap",taskToConfirmMap);
//当前项目状态统计 获取一个 最差的结果 统计的数据 就是studio看到的数据。
List<Map<String,Object>> currentProjectStatusMapList = new ArrayList<>();
/*List<Map<String,Object>> currentProjectStatusMapList = new ArrayList<>();
CurrentProjectStatusEnum[] values = CurrentProjectStatusEnum.values();
for (CurrentProjectStatusEnum value : values) {
Map<String,Object> map = new HashMap<>();
@@ -1536,25 +1536,20 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
currentProjectStatusMap.put("currentProjectStatusMapList",currentProjectStatusMapList);
currentProjectStatusMap.put("currentProjectStatusTotal",currentProjectStatusTotal);
result.put("currentProjectStatusMap",currentProjectStatusMap);
result.put("currentProjectStatusMap",currentProjectStatusMap);*/
//设计符合性
List<Map<String,Object>> designComplianceMapList = this.projectLawsInventoryEOService.getDesignComplianceStatistice(projectLawsInventoryEOList);
designComplianceMap.put("designComplianceMapList",designComplianceMapList);
result.put("designComplianceMap",designComplianceMap);
//prehomo确认
/*List<Map<String,Object>> prehomoMapList = this.projectTaskInventoryEOMapper.getPrehomoStatistice(projectLawsInventoryIdList);
prehomoMap.put("prehomoMapList",prehomoMapList);
result.put("prehomoMap",prehomoMap);*/
//验证符合性
List<Map<String,Object>> verifyComplianceMapList = this.projectLawsInventoryEOService.getVerifyComplianceStatistice(projectLawsInventoryEOList);
verifyComplianceMap.put("verifyComplianceMapList",verifyComplianceMapList);
result.put("verifyComplianceMap",verifyComplianceMap);
//认证进度统计
int certificationProgressTotal;
/*int certificationProgressTotal;
List<Map<String,Object>> certificationProgressMapList = this.projectTaskInventoryEOMapper.getCertificationProgressStatistics(projectLawsInventoryIdList);
certificationProgressTotal = certificationProgressMapList.stream().filter(
certificationProgress -> Integer.parseInt(certificationProgress.get("certificationProgressCount").toString()) != 0
@@ -1581,6 +1576,30 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
certificationProgressMap.put("certificationProgressTotal",certificationProgressTotal);
certificationProgressMap.put("certificationProgressMapList",certificationProgressMapList);
result.put("certificationProgressMap",certificationProgressMap);*/
}
QueryWrapper<ProjectCertificationInventoryEO> pciQueryWrap = new QueryWrapper<>();
pciQueryWrap.lambda().in(ProjectCertificationInventoryEO::getProjectLibraryId,Arrays.asList(id.split(",")));
List<ProjectCertificationInventoryEO> pciEoList = this.projectCertificationInventoryEOService.list(pciQueryWrap);
if(CollectionUtils.isNotEmpty(pciEoList)){
// 认证清单-任务确认统计
List<Map<String,Object>> rzTaskToConfirmMapList = this.projectCertificationInventoryEOService.getTaskToConfirmStatistics(pciEoList);
rzTaskToConfirmMap.put("rzTaskToConfirmMapList",rzTaskToConfirmMapList);
result.put("rzTaskToConfirmMap",rzTaskToConfirmMap);
// Pre-Homo 统计
List<Map<String,Object>> prehomoMapList = this.projectCertificationInventoryEOService.getPrehomoStatistice(pciEoList);
prehomoMap.put("prehomoMapList",prehomoMapList);
result.put("prehomoMap",prehomoMap);
// 认证进度 统计
List<Map<String,Object>> allMapList = this.projectCertificationInventoryEOService.getAllCertificationProgressStatistics(pciEoList);
List<Map<String,Object>> carMapList = this.projectCertificationInventoryEOService.getCarCertificationProgressStatistics(pciEoList);
List<Map<String,Object>> partMapList = this.projectCertificationInventoryEOService.getPartCertificationProgressStatistics(pciEoList);
certificationProgressMap.put("allMapList",allMapList);// 全部
certificationProgressMap.put("carMapList",carMapList);// 整车
certificationProgressMap.put("partMapList",partMapList);// 零部件
result.put("certificationProgressMap",certificationProgressMap);
}
@@ -1989,7 +2008,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
wrapper.in(ProjectLibraryBase::getId,id).or().in(ProjectLibraryBase::getParentId,id);
List<ProjectLibraryBase> list = this.list(wrapper);
if(list.size() != 0){
Collections.sort(list);
// Collections.sort(list);
}
return list;
}