dev
luotaiqian 2026-08-05 11:32:54 +08:00
parent a2ceca5d90
commit 64d4625fd3
1 changed files with 41 additions and 0 deletions

View File

@ -2,6 +2,7 @@ package org.qinan.safetyeval.infrastructure.utils;
import cn.hutool.core.lang.Pair;
import cn.hutool.extra.spring.SpringUtil;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.experimental.UtilityClass;
import lombok.extern.slf4j.Slf4j;
@ -10,7 +11,9 @@ import org.qinan.safetyeval.client.co.OrgPersonnelCertCapabilityComplianceCheckC
import org.qinan.safetyeval.client.co.QualFilingComplianceCheckResultCO;
import org.qinan.safetyeval.client.dto.*;
import org.qinan.safetyeval.domain.constant.*;
import org.qinan.safetyeval.domain.entity.TitleCodeCo;
import org.qinan.safetyeval.domain.exception.BizException;
import org.qinan.safetyeval.infrastructure.dataobject.OrgPersonnelDO;
import org.qinan.safetyeval.infrastructure.mapper.OrgPersonnelCertMapper;
import org.qinan.safetyeval.infrastructure.mapper.OrgPersonnelMapper;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.IndustryProfessionalStandardsDO;
@ -52,6 +55,9 @@ public class ComplianceCheckUtil {
List<OrgPersonnelCertCapabilityComplianceCheckCO>
certCapabilityList = queryOrgPersonnelCertCapability(personnelList);
// 0.1 查询人员职称信息并回填到 personnelList
fillTitleCodeArr(personnelList);
// 1. 独立法人资格
results.add(checkMainQualification(filing));
@ -129,6 +135,41 @@ public class ComplianceCheckUtil {
return mapper.selectCapabilityByPersonnelIds(sourcePersonnelIds);
}
/**
* org_personnel title_code_arr
* <p>
* sourcePersonnelId org_personnel.id title_code_arr
* JSON {@link TitleCodeCo} personnelList
*
* @param personnelList
*/
private void fillTitleCodeArr(List<QualFilingPersonnelAddCmd> personnelList) {
if (CollectionUtils.isEmpty(personnelList)) {
return;
}
List<Long> sourcePersonnelIds = personnelList.stream()
.map(QualFilingPersonnelAddCmd::getSourcePersonnelId)
.filter(Objects::nonNull)
.distinct()
.collect(Collectors.toList());
if (sourcePersonnelIds.isEmpty()) {
return;
}
LambdaQueryWrapper<OrgPersonnelDO> wrapper = new LambdaQueryWrapper<OrgPersonnelDO>()
.select(OrgPersonnelDO::getId, OrgPersonnelDO::getTitleCodeArr)
.in(OrgPersonnelDO::getId, sourcePersonnelIds);
List<OrgPersonnelDO> orgPersonnelList = SpringUtil.getBean(OrgPersonnelMapper.class).selectList(wrapper);
Map<Long, String> titleCodeArrMap = orgPersonnelList.stream()
.filter(p -> p.getTitleCodeArr() != null)
.collect(Collectors.toMap(OrgPersonnelDO::getId, OrgPersonnelDO::getTitleCodeArr, (a, b) -> a));
for (QualFilingPersonnelAddCmd personnel : personnelList) {
String titleCodeArrJson = titleCodeArrMap.get(personnel.getSourcePersonnelId());
if (StringUtils.hasText(titleCodeArrJson)) {
personnel.setTitleCodeArr(JSONUtil.toList(titleCodeArrJson, TitleCodeCo.class));
}
}
}
/**
*
*/