person
parent
b79790de7d
commit
8318de725b
|
|
@ -27,7 +27,7 @@ import java.util.List;
|
||||||
* @author safety-eval
|
* @author safety-eval
|
||||||
*/
|
*/
|
||||||
@Mapper(componentModel = "spring")
|
@Mapper(componentModel = "spring")
|
||||||
public interface QualFilingCmdConvertor {
|
public interface QualFilingAddCmdConvertor {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 备案基本信息Cmd转CO
|
* 备案基本信息Cmd转CO
|
||||||
|
|
@ -26,6 +26,9 @@ import org.qinan.safetyeval.infrastructure.adapter.ThreadLocalUserInfoAdapter;
|
||||||
import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter;
|
import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter;
|
||||||
import org.qinan.safetyeval.infrastructure.dataobject.QualFilingChangeCountDO;
|
import org.qinan.safetyeval.infrastructure.dataobject.QualFilingChangeCountDO;
|
||||||
import org.qinan.safetyeval.infrastructure.mapper.QualFilingChangeMapper;
|
import org.qinan.safetyeval.infrastructure.mapper.QualFilingChangeMapper;
|
||||||
|
import org.qinan.safetyeval.infrastructure.mapper.QualFilingPersonnelCertMapper;
|
||||||
|
import org.qinan.safetyeval.infrastructure.persistence.mapper.QualFilingPersonnelChangeMapper;
|
||||||
|
import org.qinan.safetyeval.infrastructure.utils.CommonUtil;
|
||||||
import org.qinan.safetyeval.infrastructure.utils.ComplianceCheckUtil;
|
import org.qinan.safetyeval.infrastructure.utils.ComplianceCheckUtil;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
|
@ -33,6 +36,7 @@ import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
@ -50,6 +54,10 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private QualFilingChangeMapper qualFilingChangeMapper;
|
private QualFilingChangeMapper qualFilingChangeMapper;
|
||||||
|
@Resource
|
||||||
|
private QualFilingPersonnelChangeMapper qualFilingPersonnelChangeMapper;
|
||||||
|
@Resource
|
||||||
|
private QualFilingPersonnelCertMapper qualFilingPersonnelCertMapper;
|
||||||
|
|
||||||
@Lazy
|
@Lazy
|
||||||
@Autowired(required = false)
|
@Autowired(required = false)
|
||||||
|
|
@ -438,9 +446,10 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 人员清单
|
// 人员清单
|
||||||
List<QualFilingPersonnelChangeE> personnelChangeEs = qualFilingPersonnelChangeGateway.listByFilingId(changeFilingId);
|
List<QualFilingPersonnelChangeInfoCO> personnelList = qualFilingPersonnelChangeMapper.getFillingChangePersonInfo(changeFilingId);
|
||||||
if (!CollectionUtils.isEmpty(personnelChangeEs)) {
|
if (!CollectionUtils.isEmpty(personnelList)) {
|
||||||
detail.setPersonnelList(qualFilingPersonnelChangeCmdConvertor.convertChangeEListToCOList(personnelChangeEs));
|
setProfessionalCapabilityCodeList(personnelList);
|
||||||
|
detail.setPersonnelList(personnelList);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 人员证书清单
|
// 人员证书清单
|
||||||
|
|
@ -452,6 +461,39 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
|
||||||
return SingleResponse.success(detail);
|
return SingleResponse.success(detail);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 为变更人员列表补充专业能力codeList
|
||||||
|
*
|
||||||
|
* @param personnelList personnelList
|
||||||
|
*/
|
||||||
|
private void setProfessionalCapabilityCodeList(List<QualFilingPersonnelChangeInfoCO> personnelList) {
|
||||||
|
if (CollectionUtils.isEmpty(personnelList)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
List<Long> personnelIdList = personnelList.stream()
|
||||||
|
.map(QualFilingPersonnelChangeInfoCO::getSourcePersonnelId)
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
if (CollectionUtils.isEmpty(personnelIdList)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
List<PersonnelProfessionalCapabilityCO> capabilityList =
|
||||||
|
qualFilingPersonnelCertMapper.getProfessionalCapabilityCodeList(personnelIdList);
|
||||||
|
Map<Long, List<String>> capabilityMap = capabilityList.stream()
|
||||||
|
.filter(item -> StringUtils.hasText(item.getProfessionalCapabilityCodeList()))
|
||||||
|
.collect(Collectors.toMap(
|
||||||
|
PersonnelProfessionalCapabilityCO::getPersonnelId,
|
||||||
|
item -> Arrays.asList(item.getProfessionalCapabilityCodeList()
|
||||||
|
.split(CommonUtil.COMMA)),
|
||||||
|
(a, b) -> a));
|
||||||
|
for (QualFilingPersonnelChangeInfoCO personnel : personnelList) {
|
||||||
|
List<String> codes = capabilityMap.get(personnel.getSourcePersonnelId());
|
||||||
|
if (codes != null) {
|
||||||
|
personnel.setProfessionalCapabilityCodeList(codes);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将变更聚合Cmd转换为备案聚合Cmd,用于合规性校验
|
* 将变更聚合Cmd转换为备案聚合Cmd,用于合规性校验
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,7 @@ public class QualFilingExecutor implements QualFilingApi {
|
||||||
@Resource
|
@Resource
|
||||||
private QualFilingComplianceCmdConvertor qualFilingComplianceCmdConvertor;
|
private QualFilingComplianceCmdConvertor qualFilingComplianceCmdConvertor;
|
||||||
@Resource
|
@Resource
|
||||||
private QualFilingCmdConvertor qualFilingCmdConvertor;
|
private QualFilingAddCmdConvertor qualFilingAddCmdConvertor;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SingleResponse<QualFilingCO> add(QualFilingAddCmd cmd) {
|
public SingleResponse<QualFilingCO> add(QualFilingAddCmd cmd) {
|
||||||
|
|
@ -192,21 +192,21 @@ public class QualFilingExecutor implements QualFilingApi {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QualFilingCO co = qualFilingCmdConvertor.convertFilingCmdToCO(cmd.getQualFilingAddCmd());
|
QualFilingCO co = qualFilingAddCmdConvertor.convertFilingCmdToCO(cmd.getQualFilingAddCmd());
|
||||||
// 拷贝基本信息
|
// 拷贝基本信息
|
||||||
QualFilingEntity entity = qualFilingCmdConvertor.convertFilingCmdToEntity(cmd.getQualFilingAddCmd());
|
QualFilingEntity entity = qualFilingAddCmdConvertor.convertFilingCmdToEntity(cmd.getQualFilingAddCmd());
|
||||||
//备案承诺书
|
//备案承诺书
|
||||||
QualFilingCommitmentEntity commitmentEntity = qualFilingCmdConvertor.convertCommitmentCmdToEntity(cmd.getQualFilingCommitmentAddCmd());
|
QualFilingCommitmentEntity commitmentEntity = qualFilingAddCmdConvertor.convertCommitmentCmdToEntity(cmd.getQualFilingCommitmentAddCmd());
|
||||||
//备案装备
|
//备案装备
|
||||||
List<QualFilingEquipmentEntity> equipmentEntities = qualFilingCmdConvertor.convertEquipmentCmdListToEntityList(cmd.getQualFilingEquipmentAddCmds());
|
List<QualFilingEquipmentEntity> equipmentEntities = qualFilingAddCmdConvertor.convertEquipmentCmdListToEntityList(cmd.getQualFilingEquipmentAddCmds());
|
||||||
//备案材料清单
|
//备案材料清单
|
||||||
List<QualFilingMaterialEntity> materialEntities = qualFilingCmdConvertor.convertMaterialCmdListToEntityList(cmd.getQualFilingMaterialAddCmds());
|
List<QualFilingMaterialEntity> materialEntities = qualFilingAddCmdConvertor.convertMaterialCmdListToEntityList(cmd.getQualFilingMaterialAddCmds());
|
||||||
//备案人员
|
//备案人员
|
||||||
List<QualFilingPersonnelEntity> personnelEntities = qualFilingCmdConvertor.convertPersonnelCmdListToEntityList(cmd.getQualFilingPersonnelAddCmds());
|
List<QualFilingPersonnelEntity> personnelEntities = qualFilingAddCmdConvertor.convertPersonnelCmdListToEntityList(cmd.getQualFilingPersonnelAddCmds());
|
||||||
//备案人员证书列表
|
//备案人员证书列表
|
||||||
List<QualFilingPersonnelCertEntity> personnelCertEntities = CollectionUtils.isEmpty(cmd.getQualFilingPersonnelCertAddCmds())
|
List<QualFilingPersonnelCertEntity> personnelCertEntities = CollectionUtils.isEmpty(cmd.getQualFilingPersonnelCertAddCmds())
|
||||||
? Collections.emptyList()
|
? Collections.emptyList()
|
||||||
: qualFilingCmdConvertor.convertPersonnelCertCmdListToEntityList(cmd.getQualFilingPersonnelCertAddCmds());
|
: qualFilingAddCmdConvertor.convertPersonnelCertCmdListToEntityList(cmd.getQualFilingPersonnelCertAddCmds());
|
||||||
Long id = qualFilingDomainService.aggregationSaveOrEdit(entity, commitmentEntity, equipmentEntities, materialEntities, personnelEntities, personnelCertEntities);
|
Long id = qualFilingDomainService.aggregationSaveOrEdit(entity, commitmentEntity, equipmentEntities, materialEntities, personnelEntities, personnelCertEntities);
|
||||||
co.setId(id);
|
co.setId(id);
|
||||||
if (cmd.getQualFilingAddCmd().getFilingStatusCode() != null
|
if (cmd.getQualFilingAddCmd().getFilingStatusCode() != null
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ public class QualFilingChangeAggregationCO extends QualFilingChangeCO {
|
||||||
private List<QualFilingMaterialCO> materials;
|
private List<QualFilingMaterialCO> materials;
|
||||||
|
|
||||||
@ApiModelProperty(value = "变更人员列表")
|
@ApiModelProperty(value = "变更人员列表")
|
||||||
private List<QualFilingPersonnelCO> personnelList;
|
private List<QualFilingPersonnelChangeInfoCO> personnelList;
|
||||||
|
|
||||||
@ApiModelProperty(value = "变更人员证书列表")
|
@ApiModelProperty(value = "变更人员证书列表")
|
||||||
private List<QualFilingPersonnelCertCO> personnelCertList;
|
private List<QualFilingPersonnelCertCO> personnelCertList;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,55 @@
|
||||||
|
package org.qinan.safetyeval.client.co;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备案申请人员CO(Client Object)
|
||||||
|
*
|
||||||
|
* @author safety-eval
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class QualFilingPersonnelChangeInfoCO {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "主键ID")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "备案变更ID")
|
||||||
|
private Long filingChangeId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "原始人员ID")
|
||||||
|
private Long sourcePersonnelId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "人员姓名")
|
||||||
|
private String personName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "部门名称")
|
||||||
|
private String deptName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "职位名称")
|
||||||
|
private String positionName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "性别编码(1男2女)")
|
||||||
|
private Integer genderCode;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "性别名称")
|
||||||
|
private String genderName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "出生日期")
|
||||||
|
private LocalDate birthDate;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "是否注册安全工程师(1是2否)")
|
||||||
|
private Integer registerEngineerFlag;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "评价师证书编号")
|
||||||
|
private String evaluatorCertNo;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "参加工作日期")
|
||||||
|
private LocalDate joinWorkDate;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "能力codeList")
|
||||||
|
private List<String> professionalCapabilityCodeList;
|
||||||
|
}
|
||||||
|
|
@ -2,8 +2,12 @@ package org.qinan.safetyeval.infrastructure.persistence.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.qinan.safetyeval.client.co.QualFilingPersonnelChangeInfoCO;
|
||||||
import org.qinan.safetyeval.infrastructure.persistence.domainobject.QualFilingPersonnelChangeDO;
|
import org.qinan.safetyeval.infrastructure.persistence.domainobject.QualFilingPersonnelChangeDO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 备案申请人员-变更Mapper
|
* 备案申请人员-变更Mapper
|
||||||
*
|
*
|
||||||
|
|
@ -12,4 +16,12 @@ import org.qinan.safetyeval.infrastructure.persistence.domainobject.QualFilingPe
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface QualFilingPersonnelChangeMapper extends BaseMapper<QualFilingPersonnelChangeDO> {
|
public interface QualFilingPersonnelChangeMapper extends BaseMapper<QualFilingPersonnelChangeDO> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据备案变更ID查询变更人员信息(关联机构人员、岗位、部门)
|
||||||
|
*
|
||||||
|
* @param filingChangeId 备案变更ID
|
||||||
|
* @return 变更人员信息列表
|
||||||
|
*/
|
||||||
|
List<QualFilingPersonnelChangeInfoCO> getFillingChangePersonInfo(@Param("filingChangeId") Long filingChangeId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -86,4 +86,17 @@
|
||||||
from qual_filing_personnel_change
|
from qual_filing_personnel_change
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
|
<select id="getFillingChangePersonInfo"
|
||||||
|
resultType="org.qinan.safetyeval.client.co.QualFilingPersonnelChangeInfoCO">
|
||||||
|
SELECT fp.source_personnel_id, fp.id, p.user_name personName, po.position_name, p.post_id, p.gender_code, p.gender_name
|
||||||
|
, p.birth_date, p.register_engineer_flag, p.evaluator_cert_no, fp.filing_change_id, p.join_work_date, d.dept_name
|
||||||
|
FROM org_personnel p
|
||||||
|
join qual_filing_personnel_change fp on p.id = fp.source_personnel_id
|
||||||
|
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'
|
||||||
|
WHERE fp.filing_change_id = #{filingChangeId}
|
||||||
|
and fp.delete_enum = 'false'
|
||||||
|
and p.delete_enum = 'false'
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
Loading…
Reference in New Issue