dev
parent
3b83a3f948
commit
7bad891f04
|
|
@ -3,6 +3,7 @@ package org.qinan.safetyeval.infrastructure.mapper;
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.qinan.safetyeval.client.co.OrgPersonnelCertCapabilityComplianceCheckCO;
|
||||
import org.qinan.safetyeval.client.co.OrgPersonnelCertDetailCO;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.OrgPersonnelCertDO;
|
||||
|
||||
|
|
@ -17,7 +18,8 @@ public interface OrgPersonnelCertMapper extends BaseMapper<OrgPersonnelCertDO> {
|
|||
* @param personnelIds 人员id列表
|
||||
* @return 证书专业能力列表
|
||||
*/
|
||||
List<org.qinan.safetyeval.client.co.OrgPersonnelCertCapabilityComplianceCheckCO> selectCapabilityByPersonnelIds(@Param("personnelIds") List<Long> personnelIds);
|
||||
List<OrgPersonnelCertCapabilityComplianceCheckCO> selectCapabilityByPersonnelIds(
|
||||
@Param("personnelIds") List<Long> personnelIds);
|
||||
|
||||
/**
|
||||
* 根据主键ID查询人员证书详情(关联industry_professional_standards获取专业能力名称)
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package org.qinan.safetyeval.infrastructure.mapper;
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.qinan.safetyeval.client.co.IndustryProfessionalPersonCo;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.OrgPersonnelDO;
|
||||
import org.qinan.safetyeval.infrastructure.persistence.domainobject.OrgPersonnelLeaderCountDO;
|
||||
|
||||
|
|
@ -18,4 +19,12 @@ public interface OrgPersonnelMapper extends BaseMapper<OrgPersonnelDO> {
|
|||
* @return 负责人标志位统计结果
|
||||
*/
|
||||
OrgPersonnelLeaderCountDO countLeaderFlags(@Param("ids") List<Long> ids);
|
||||
|
||||
/**
|
||||
* 根据人员id列表查询专业能力code(关联 basic_discipline_major)
|
||||
*
|
||||
* @param ids 人员id列表(org_personnel.id)
|
||||
* @return 人员专业能力信息列表
|
||||
*/
|
||||
List<IndustryProfessionalPersonCo> selectProfessionalCapabilityByPersonnelIds(@Param("ids") List<Long> ids);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ import org.qinan.safetyeval.client.co.QualFilingComplianceCheckResultCO;
|
|||
import org.qinan.safetyeval.client.dto.*;
|
||||
import org.qinan.safetyeval.domain.constant.*;
|
||||
import org.qinan.safetyeval.domain.exception.BizException;
|
||||
import org.qinan.safetyeval.infrastructure.convertor.QualFilingPersonnelCoConvertor;
|
||||
import org.qinan.safetyeval.infrastructure.mapper.OrgPersonnelCertMapper;
|
||||
import org.qinan.safetyeval.infrastructure.mapper.OrgPersonnelMapper;
|
||||
import org.qinan.safetyeval.infrastructure.persistence.domainobject.IndustryProfessionalStandardsDO;
|
||||
|
|
@ -99,7 +98,8 @@ public class ComplianceCheckUtil {
|
|||
* @param personnelList 备案人员列表
|
||||
* @return 人员证书专业能力信息列表
|
||||
*/
|
||||
private List<OrgPersonnelCertCapabilityComplianceCheckCO> queryOrgPersonnelCertCapability(List<QualFilingPersonnelAddCmd> personnelList) {
|
||||
private List<OrgPersonnelCertCapabilityComplianceCheckCO> queryOrgPersonnelCertCapability(
|
||||
List<QualFilingPersonnelAddCmd> personnelList) {
|
||||
if (CollectionUtils.isEmpty(personnelList)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
|
@ -167,8 +167,9 @@ public class ComplianceCheckUtil {
|
|||
/**
|
||||
* 人员比例:中级注安师 >= 30%,高级职称 >= 30%,合计 >= 60%
|
||||
*/
|
||||
private QualFilingComplianceCheckResultCO checkPersonnelRatio(List<String> businessScope
|
||||
, List<QualFilingPersonnelAddCmd> personnelList, List<OrgPersonnelCertCapabilityComplianceCheckCO> personnelCertCoList, boolean throwException) {
|
||||
private QualFilingComplianceCheckResultCO checkPersonnelRatio(
|
||||
List<String> businessScope, List<QualFilingPersonnelAddCmd> personnelList
|
||||
, List<OrgPersonnelCertCapabilityComplianceCheckCO> personnelCertCoList, boolean throwException) {
|
||||
if (personnelList == null || personnelList.isEmpty()) {
|
||||
return buildResult(QualFilingComplianceCheckEnum.PERSONNEL_RATIO,
|
||||
QualFilingComplianceCheckEnum.STATUS_FAIL, "无人员数据");
|
||||
|
|
@ -188,9 +189,13 @@ public class ComplianceCheckUtil {
|
|||
&& sumRate >= 60;
|
||||
String currentValue = "注册安全工程师 " + engineerRate + "%,高级职称 " + seniorTitleRate + "%,合计 " + sumRate + "%";
|
||||
|
||||
|
||||
List<IndustryProfessionalPersonCo> personnelCoList = SpringUtil.getBean(QualFilingPersonnelCoConvertor.class)
|
||||
.convertCmdsToCos(personnelList);
|
||||
// 根据人员id查询专业能力code并设置到CO中
|
||||
List<Long> sourcePersonnelIds = personnelList.stream()
|
||||
.map(QualFilingPersonnelAddCmd::getSourcePersonnelId)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
List<IndustryProfessionalPersonCo> personnelCoList = SpringUtil.getBean(OrgPersonnelMapper.class)
|
||||
.selectProfessionalCapabilityByPersonnelIds(sourcePersonnelIds);
|
||||
Pair<Boolean, String> booleanStringPair = industryProfessionalStandardsValid(
|
||||
businessScope, personnelCoList, personnelCertCoList);
|
||||
boolean personPassed = Boolean.TRUE.equals(booleanStringPair.getKey());
|
||||
|
|
|
|||
|
|
@ -46,10 +46,11 @@
|
|||
resultType="org.qinan.safetyeval.client.co.OrgPersonnelCertCapabilityComplianceCheckCO">
|
||||
SELECT personnel_id,
|
||||
business_scope,
|
||||
professional_capability_code,
|
||||
ips.professional_capability_code,
|
||||
industry_professional_standards_id
|
||||
FROM org_personnel_cert
|
||||
WHERE delete_enum = 'false'
|
||||
FROM org_personnel_cert orc
|
||||
join industry_professional_standards ips on orc.industry_professional_standards_id = ips.id
|
||||
WHERE ips.delete_enum = 'false'
|
||||
AND personnel_id IN
|
||||
<foreach collection="personnelIds" item="personnelId" open="(" separator="," close=")">
|
||||
#{personnelId}
|
||||
|
|
|
|||
|
|
@ -54,4 +54,16 @@
|
|||
</foreach>
|
||||
</select>
|
||||
|
||||
<!-- 根据人员id列表查询专业能力code(关联 basic_discipline_major) -->
|
||||
<select id="selectProfessionalCapabilityByPersonnelIds" resultType="org.qinan.safetyeval.client.co.IndustryProfessionalPersonCo">
|
||||
SELECT p.id AS source_personnel_id, bdm.professional_capability_code, bdm.industry_code
|
||||
FROM org_personnel p
|
||||
JOIN basic_discipline_major bdm ON p.basic_discipline_major_id = bdm.id
|
||||
WHERE p.delete_enum = 'false'
|
||||
AND p.id IN
|
||||
<foreach collection="ids" item="id" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue