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