dev-tmp1
luotaiqian 2026-08-11 11:13:31 +08:00
parent cfcc47bc84
commit dd5014c00f
7 changed files with 58 additions and 11 deletions

View File

@ -184,8 +184,11 @@ public class OrgPersonnelExecutor implements OrgPersonnelApi {
existing == null ? null : existing.getPostId(), result.getPostId())) { existing == null ? null : existing.getPostId(), result.getPostId())) {
syncPersonGbsRoleByPost(result); syncPersonGbsRoleByPost(result);
} }
// 保存证书信息先按人员ID+类型删除,再新增
savePersonnelCerts(cmd, cmd.getId());
OrgPersonnelCO co = orgPersonnelConvertor.toCO(result); OrgPersonnelCO co = orgPersonnelConvertor.toCO(result);
enrich(co); enrich(co);
fillCerts(co, cmd.getId());
return SingleResponse.success(co); return SingleResponse.success(co);
} }
@ -344,18 +347,34 @@ public class OrgPersonnelExecutor implements OrgPersonnelApi {
if (orgPersonnelCertDomainService == null) { if (orgPersonnelCertDomainService == null) {
return; return;
} }
if (cmd.getRegisteredSafetyEngineerCert() != null) { addCert(personnelId, cmd.getRegisteredSafetyEngineerCert(), CertTypeCodeEnum.REGISTERED_SAFETY_ENGINEER.getCode());
OrgPersonnelCertEntity certEntity = orgPersonnelCertConvertor.addCmdToEntity(cmd.getRegisteredSafetyEngineerCert()); addCert(personnelId, cmd.getEvaluatorCert(), CertTypeCodeEnum.EVALUATOR.getCode());
certEntity.setPersonnelId(personnelId);
certEntity.setCertTypeCode(CertTypeCodeEnum.REGISTERED_SAFETY_ENGINEER.getCode());
orgPersonnelCertDomainService.add(certEntity);
} }
if (cmd.getEvaluatorCert() != null) {
OrgPersonnelCertEntity certEntity = orgPersonnelCertConvertor.addCmdToEntity(cmd.getEvaluatorCert()); /**
certEntity.setPersonnelId(personnelId); * ID+
certEntity.setCertTypeCode(CertTypeCodeEnum.EVALUATOR.getCode()); */
orgPersonnelCertDomainService.add(certEntity); private void savePersonnelCerts(OrgPersonnelModifyCmd cmd, Long personnelId) {
if (orgPersonnelCertDomainService == null) {
return;
} }
orgPersonnelCertDomainService.deleteByPersonnelIdAndCertType(personnelId, CertTypeCodeEnum.REGISTERED_SAFETY_ENGINEER.getCode());
orgPersonnelCertDomainService.deleteByPersonnelIdAndCertType(personnelId, CertTypeCodeEnum.EVALUATOR.getCode());
addCert(personnelId, cmd.getRegisteredSafetyEngineerCert(), CertTypeCodeEnum.REGISTERED_SAFETY_ENGINEER.getCode());
addCert(personnelId, cmd.getEvaluatorCert(), CertTypeCodeEnum.EVALUATOR.getCode());
}
/**
*
*/
private void addCert(Long personnelId, OrgPersonnelCertAddCmd certCmd, String certTypeCode) {
if (certCmd == null) {
return;
}
OrgPersonnelCertEntity certEntity = orgPersonnelCertConvertor.addCmdToEntity(certCmd);
certEntity.setPersonnelId(personnelId);
certEntity.setCertTypeCode(certTypeCode);
orgPersonnelCertDomainService.add(certEntity);
} }
/** /**

View File

@ -73,6 +73,9 @@ public class QualFilingPersonnelInfoCO {
@ApiModelProperty(value = "能力codeList") @ApiModelProperty(value = "能力codeList")
private List<PersonnelCertFilingPageCO> personnelCertFilingPageCOList; private List<PersonnelCertFilingPageCO> personnelCertFilingPageCOList;
@ApiModelProperty(value = "发表著作")
private String publications;
@ApiModelProperty(value = "能力认定") @ApiModelProperty(value = "能力认定")
private List<CapabilityAssessmentDTO> capabilityAssessment; private List<CapabilityAssessmentDTO> capabilityAssessment;
} }

View File

@ -134,6 +134,12 @@ public class OrgPersonnelModifyCmd {
@ApiModelProperty(value = "申报专业能力证明材料地址") @ApiModelProperty(value = "申报专业能力证明材料地址")
private String proofMaterialUrl; private String proofMaterialUrl;
@ApiModelProperty(value = "注安证书信息")
private OrgPersonnelCertAddCmd registeredSafetyEngineerCert;
@ApiModelProperty(value = "评价师证书信息")
private OrgPersonnelCertAddCmd evaluatorCert;
@ApiModelProperty(value = "能力认定") @ApiModelProperty(value = "能力认定")
private List<CapabilityAssessmentDTO> capabilityAssessment; private List<CapabilityAssessmentDTO> capabilityAssessment;

View File

@ -27,5 +27,10 @@ public interface OrgPersonnelCertGateway {
void delete(Long id); void delete(Long id);
/**
* ID
*/
void deleteByPersonnelIdAndCertType(Long personnelId, String certTypeCode);
PageResult<OrgPersonnelCertEntity> page(OrgPersonnelCertQuery query); PageResult<OrgPersonnelCertEntity> page(OrgPersonnelCertQuery query);
} }

View File

@ -55,6 +55,13 @@ public class OrgPersonnelCertDomainService {
orgPersonnelCertGateway.delete(id); orgPersonnelCertGateway.delete(id);
} }
/**
* ID
*/
public void deleteByPersonnelIdAndCertType(Long personnelId, String certTypeCode) {
orgPersonnelCertGateway.deleteByPersonnelIdAndCertType(personnelId, certTypeCode);
}
public PageResult<OrgPersonnelCertEntity> page(OrgPersonnelCertQuery query) { public PageResult<OrgPersonnelCertEntity> page(OrgPersonnelCertQuery query) {
return orgPersonnelCertGateway.page(query); return orgPersonnelCertGateway.page(query);
} }

View File

@ -95,6 +95,13 @@ public class OrgPersonnelCertGatewayImpl implements OrgPersonnelCertGateway {
orgPersonnelCertMapper.deleteById(id); orgPersonnelCertMapper.deleteById(id);
} }
@Override
public void deleteByPersonnelIdAndCertType(Long personnelId, String certTypeCode) {
orgPersonnelCertMapper.delete(new LambdaQueryWrapper<OrgPersonnelCertDO>()
.eq(OrgPersonnelCertDO::getPersonnelId, personnelId)
.eq(OrgPersonnelCertDO::getCertTypeCode, certTypeCode));
}
@Override @Override
public PageResult<OrgPersonnelCertEntity> page(OrgPersonnelCertQuery query) { public PageResult<OrgPersonnelCertEntity> page(OrgPersonnelCertQuery query) {
LambdaQueryWrapper<OrgPersonnelCertDO> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<OrgPersonnelCertDO> wrapper = new LambdaQueryWrapper<>();

View File

@ -90,7 +90,7 @@
<select id="filingPage" resultMap="FilingPersonnelInfoMap"> <select id="filingPage" resultMap="FilingPersonnelInfoMap">
SELECT p.id source_personnel_id, p.id, p.user_name personName, d.dept_name, po.position_name, p.post_id, p.gender_code, p.gender_name SELECT p.id source_personnel_id, p.id, p.user_name personName, d.dept_name, po.position_name, p.post_id, p.gender_code, p.gender_name
, p.birth_date, p.register_engineer_flag, p.technical_director_flag, p.process_control_leader_flag , p.birth_date, p.register_engineer_flag, p.technical_director_flag, p.process_control_leader_flag
, p.evaluator_cert_no, p.join_work_date, p.capability_assessment, p.personnel_position_type, p.title_code_arr , p.evaluator_cert_no, p.join_work_date, p.capability_assessment, p.personnel_position_type, p.title_code_arr, p.publications
FROM org_personnel p FROM org_personnel p
left join org_department d on p.dept_id = d.id and d.delete_enum = 'false' left join org_department d on p.dept_id = d.id and d.delete_enum = 'false'
left join org_position po on po.id = p.post_id and po.delete_enum = 'false' left join org_position po on po.id = p.post_id and po.delete_enum = 'false'