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