fix bug
parent
591884f6ec
commit
8471799126
|
|
@ -1,6 +1,7 @@
|
|||
package org.qinan.safetyeval.client.co;
|
||||
|
||||
import lombok.Data;
|
||||
import org.qinan.safetyeval.domain.constant.CertLevelEnum;
|
||||
|
||||
/**
|
||||
* 人员证书专业能力查询结果
|
||||
|
|
@ -29,4 +30,18 @@ public class OrgPersonnelCertCapabilityComplianceCheckCO {
|
|||
* 行业专业标准ID
|
||||
*/
|
||||
private Long industryProfessionalStandardsId;
|
||||
|
||||
/**
|
||||
* 行业
|
||||
*/
|
||||
private String operationCategoryCode;
|
||||
/**
|
||||
* 证书类型
|
||||
*/
|
||||
private String certTypeCode;
|
||||
|
||||
/**
|
||||
* 证书登录
|
||||
*/
|
||||
private String certLevel;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -175,16 +175,20 @@ public class ComplianceCheckUtil {
|
|||
QualFilingComplianceCheckEnum.STATUS_FAIL, "无人员数据");
|
||||
}
|
||||
int total = personnelList.size();
|
||||
long engineerCount = personnelList.stream()
|
||||
.filter(p -> p.getRegisterEngineerFlag() != null && p.getRegisterEngineerFlag() == 1)
|
||||
.count();
|
||||
long seniorTitleCount = personnelList.stream()
|
||||
Set<Long> engineerSet = personnelCertCoList.stream()
|
||||
.filter(p -> CertTypeCodeEnum.REGISTERED_SAFETY_ENGINEER
|
||||
.getCode().equals(p.getCertTypeCode()) && !CertLevelEnum.JUNIOR.getCode().equals(p.getCertLevel()))
|
||||
.map(OrgPersonnelCertCapabilityComplianceCheckCO::getPersonnelId)
|
||||
.collect(Collectors.toSet());
|
||||
Set<Long> seniorTitleSet = personnelList.stream()
|
||||
.filter(p -> p.getTitleCodeArr() != null && p.getTitleCodeArr().stream()
|
||||
.anyMatch(t -> QualificationLevelEnum.SENIOR.getCode().equals(t.getTitleCode())))
|
||||
.count();
|
||||
long engineerRate = engineerCount * 100 / total;
|
||||
long seniorTitleRate = seniorTitleCount * 100 / total;
|
||||
long sumRate = engineerRate + seniorTitleRate;
|
||||
.map(QualFilingPersonnelAddCmd::getSourcePersonnelId)
|
||||
.collect(Collectors.toSet());
|
||||
long engineerRate = engineerSet.size() * 100L / total;
|
||||
long seniorTitleRate = seniorTitleSet.size() * 100L / total;
|
||||
engineerSet.addAll(seniorTitleSet);
|
||||
long sumRate = engineerSet.size() * 100L / total;
|
||||
boolean pass = engineerRate >= QualFilingComplianceCheckEnum.PERSONNEL_RATE
|
||||
&& seniorTitleRate >= QualFilingComplianceCheckEnum.PERSONNEL_RATE
|
||||
&& sumRate >= 60;
|
||||
|
|
|
|||
|
|
@ -47,7 +47,10 @@
|
|||
SELECT personnel_id,
|
||||
business_scope,
|
||||
ips.professional_capability_code,
|
||||
industry_professional_standards_id
|
||||
industry_professional_standards_id,
|
||||
orc.operation_category_code,
|
||||
orc.cert_type_code,
|
||||
orc.cert_level
|
||||
FROM org_personnel_cert orc
|
||||
join industry_professional_standards ips on orc.industry_professional_standards_id = ips.id
|
||||
WHERE ips.delete_enum = 'false'
|
||||
|
|
|
|||
Loading…
Reference in New Issue