upgrade
parent
4658f82558
commit
d3d03be63d
|
|
@ -13,11 +13,7 @@ import org.qinan.safetyeval.app.support.OrgPersonnelChangeRecorder;
|
|||
import org.qinan.safetyeval.app.support.OrgPersonnelExcelImporter;
|
||||
import org.qinan.safetyeval.app.support.OrgPersonnelViewEnricher;
|
||||
import org.qinan.safetyeval.client.api.OrgPersonnelApi;
|
||||
import org.qinan.safetyeval.client.co.OrgPersonnelCertCO;
|
||||
import org.qinan.safetyeval.client.co.OrgPersonnelCO;
|
||||
import org.qinan.safetyeval.client.co.OrgPersonnelImportResultCO;
|
||||
import org.qinan.safetyeval.client.co.PersonnelProfessionalCapabilityCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingPersonnelInfoCO;
|
||||
import org.qinan.safetyeval.client.co.*;
|
||||
import org.qinan.safetyeval.client.dto.*;
|
||||
import org.qinan.safetyeval.domain.constant.CertTypeCodeEnum;
|
||||
import org.qinan.safetyeval.domain.entity.OrgPersonnelCertEntity;
|
||||
|
|
@ -40,7 +36,6 @@ import org.qinan.safetyeval.infrastructure.dataobject.OrgPersonnelDO;
|
|||
import org.qinan.safetyeval.infrastructure.mapper.OrgPersonnelMapper;
|
||||
import org.qinan.safetyeval.infrastructure.mapper.QualFilingPersonnelCertMapper;
|
||||
import org.qinan.safetyeval.infrastructure.support.UserOrgIdResolver;
|
||||
import org.qinan.safetyeval.infrastructure.utils.CommonUtil;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
|
@ -54,7 +49,10 @@ import org.springframework.util.StringUtils;
|
|||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
|
@ -275,20 +273,14 @@ public class OrgPersonnelExecutor implements OrgPersonnelApi {
|
|||
if (CollectionUtils.isEmpty(personnelIdList)) {
|
||||
return;
|
||||
}
|
||||
List<PersonnelProfessionalCapabilityCO> capabilityList =
|
||||
List<PersonnelCertFilingPageCO> 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));
|
||||
Map<Long, List<PersonnelCertFilingPageCO>> capabilityMap = capabilityList.stream()
|
||||
.filter(item -> StringUtils.hasText(item.getProfessionalCapabilityCode()))
|
||||
.collect(Collectors.groupingBy(
|
||||
PersonnelCertFilingPageCO::getPersonnelId));
|
||||
for (QualFilingPersonnelInfoCO personnel : personnelList) {
|
||||
List<String> codes = capabilityMap.get(personnel.getSourcePersonnelId());
|
||||
if (codes != null) {
|
||||
personnel.setProfessionalCapabilityCodeList(codes);
|
||||
}
|
||||
personnel.setPersonnelCertFilingPageCOList(capabilityMap.get(personnel.getSourcePersonnelId()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -474,15 +474,15 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
|
|||
if (CollectionUtils.isEmpty(personnelIdList)) {
|
||||
return;
|
||||
}
|
||||
List<PersonnelProfessionalCapabilityCO> capabilityList =
|
||||
List<PersonnelCertFilingPageCO> 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));
|
||||
.filter(item -> StringUtils.hasText(item.getProfessionalCapabilityCode()))
|
||||
.collect(Collectors.groupingBy(
|
||||
PersonnelCertFilingPageCO::getPersonnelId,
|
||||
Collectors.mapping(
|
||||
PersonnelCertFilingPageCO::getProfessionalCapabilityCode,
|
||||
Collectors.toList())));
|
||||
for (QualFilingPersonnelChangeInfoCO personnel : personnelList) {
|
||||
List<String> codes = capabilityMap.get(personnel.getSourcePersonnelId());
|
||||
if (codes != null) {
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@ import org.qinan.safetyeval.infrastructure.mapper.QualFilingMapper;
|
|||
import org.qinan.safetyeval.infrastructure.mapper.QualFilingPersonnelCertMapper;
|
||||
import org.qinan.safetyeval.infrastructure.mapper.QualFilingPersonnelMapper;
|
||||
import org.qinan.safetyeval.infrastructure.support.OrgContextResolver;
|
||||
import org.qinan.safetyeval.infrastructure.utils.CommonUtil;
|
||||
import org.qinan.safetyeval.infrastructure.utils.ComplianceCheckUtil;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -46,7 +45,10 @@ import org.springframework.util.StringUtils;
|
|||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
|
@ -258,20 +260,14 @@ public class QualFilingOrchestrator {
|
|||
if (CollectionUtils.isEmpty(personnelIdList)) {
|
||||
return;
|
||||
}
|
||||
List<PersonnelProfessionalCapabilityCO> capabilityList =
|
||||
List<PersonnelCertFilingPageCO> 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));
|
||||
Map<Long, List<PersonnelCertFilingPageCO>> capabilityMap = capabilityList.stream()
|
||||
.filter(item -> StringUtils.hasText(item.getProfessionalCapabilityCode()))
|
||||
.collect(Collectors.groupingBy(
|
||||
PersonnelCertFilingPageCO::getPersonnelId));
|
||||
for (QualFilingPersonnelInfoCO personnel : personnelList) {
|
||||
List<String> codes = capabilityMap.get(personnel.getSourcePersonnelId());
|
||||
if (codes != null) {
|
||||
personnel.setProfessionalCapabilityCodeList(codes);
|
||||
}
|
||||
personnel.setPersonnelCertFilingPageCOList(capabilityMap.get(personnel.getSourcePersonnelId()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -746,7 +742,7 @@ public class QualFilingOrchestrator {
|
|||
|
||||
private String resolveOperatorName() {
|
||||
String userName = AuthUserContextAdapter.getCurrentUserName();
|
||||
return StringUtils.hasText(userName) ? userName : "系统";
|
||||
return StringUtils.hasText(userName) ? userName : "系统" ;
|
||||
}
|
||||
|
||||
private QualFilingCO toCO(QualFilingEntity entity) {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,41 @@
|
|||
package org.qinan.safetyeval.client.co;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 人员专业能力证书类型编码聚合结果
|
||||
*
|
||||
* @author safety-eval
|
||||
*/
|
||||
@Data
|
||||
public class PersonnelCertFilingPageCO {
|
||||
/**
|
||||
* 人员id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 人员id
|
||||
*/
|
||||
private Long personnelId;
|
||||
|
||||
/**
|
||||
* 专业能力证书类型编码
|
||||
*/
|
||||
private String professionalCapabilityCode;
|
||||
|
||||
/**
|
||||
* 证书类型编码
|
||||
*/
|
||||
private String certTypeCode;
|
||||
|
||||
/**
|
||||
* 证书等级
|
||||
*/
|
||||
private String certLevel;
|
||||
|
||||
/**
|
||||
* 证书编号
|
||||
*/
|
||||
private String certNo;
|
||||
}
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
package org.qinan.safetyeval.client.co;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 人员专业能力证书类型编码聚合结果
|
||||
*
|
||||
* @author safety-eval
|
||||
*/
|
||||
@Data
|
||||
public class PersonnelProfessionalCapabilityCO {
|
||||
|
||||
/**
|
||||
* 人员id
|
||||
*/
|
||||
private Long personnelId;
|
||||
|
||||
/**
|
||||
* 专业能力证书类型编码列表(GROUP_CONCAT 逗号分隔)
|
||||
*/
|
||||
private String professionalCapabilityCodeList;
|
||||
}
|
||||
|
|
@ -51,5 +51,5 @@ public class QualFilingPersonnelInfoCO {
|
|||
private LocalDate joinWorkDate;
|
||||
|
||||
@ApiModelProperty(value = "能力codeList")
|
||||
private List<String> professionalCapabilityCodeList;
|
||||
private List<PersonnelCertFilingPageCO> personnelCertFilingPageCOList;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import lombok.Getter;
|
|||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
/**
|
||||
* 安全类别
|
||||
* 注安专业类别
|
||||
*/
|
||||
@Getter
|
||||
@RequiredArgsConstructor
|
||||
|
|
|
|||
|
|
@ -10,23 +10,23 @@ import lombok.RequiredArgsConstructor;
|
|||
@RequiredArgsConstructor
|
||||
public enum TitleCapabilityEnum {
|
||||
|
||||
SAFETY_ENGINEERING("P01", "安全工程", "安全"),
|
||||
MECHANICAL_ENGINEERING("P02", "机械工程", "机械、化工机械"),
|
||||
CHEMICAL_MACHINERY("P03", "化工机械", "化工机械"),
|
||||
CHEMICAL_ENGINEERING("P04", "化学工程", "化工工艺"),
|
||||
AUTOMATION("P05", "自动化/测控技术", "仪表自动化"),
|
||||
ELECTRICAL_ENGINEERING("P06", "电气工程", "电气"),
|
||||
MINING_ENGINEERING("P07", "采矿工程", "采矿"),
|
||||
VENTILATION_ENGINEERING("P08", "通风工程", "通风"),
|
||||
GEOLOGICAL_ENGINEERING("P09", "地质工程", "地质"),
|
||||
MINE_CONSTRUCTION_ENGINEERING("P10", "矿建工程", "矿建"),
|
||||
PETROLEUM_ENGINEERING("P11", "石油工程", "油气开发"),
|
||||
OIL_GAS_STORAGE_TRANSPORT("P12", "油气储运工程", "油气储运"),
|
||||
CORROSION_PROTECTION("P13", "腐蚀与防护", "防腐"),
|
||||
METALLURGY_ENGINEERING("P14", "冶金工程", "冶金"),
|
||||
NONFERROUS_METALLURGY("P15", "有色金属冶金", "有色金属"),
|
||||
EXPLOSIVES("P16", "火炸药/爆炸技术", "火炸药"),
|
||||
CIVIL_ENGINEERING("P17", "土木工程", "水工结构"),
|
||||
SAFETY_ENGINEERING("P01", "安全工程", "SAFETY"),
|
||||
MECHANICAL_ENGINEERING("P02", "机械工程", "MECHANICAL、CHEMICAL_MECHANICAL"),
|
||||
CHEMICAL_MACHINERY("P03", "化工机械", "CHEMICAL_MECHANICAL"),
|
||||
CHEMICAL_ENGINEERING("P04", "化学工程", "CHEMICAL_PROCESS"),
|
||||
AUTOMATION("P05", "自动化/测控技术", "AUTOMATION_INSTRUMENT、AUTOMATION"),
|
||||
ELECTRICAL_ENGINEERING("P06", "电气工程", "ELECTRICAL"),
|
||||
MINING_ENGINEERING("P07", "采矿工程", "MINING"),
|
||||
VENTILATION_ENGINEERING("P08", "通风工程", "VENTILATION"),
|
||||
GEOLOGICAL_ENGINEERING("P09", "地质工程", "GEOLOGY"),
|
||||
MINE_CONSTRUCTION_ENGINEERING("P10", "矿建工程", "MINE_CONSTRUCTION"),
|
||||
PETROLEUM_ENGINEERING("P11", "石油工程", "OIL_PRODUCTION"),
|
||||
OIL_GAS_STORAGE_TRANSPORT("P12", "油气储运工程", "OIL_GAS_STORAGE_TRANSPORT"),
|
||||
CORROSION_PROTECTION("P13", "腐蚀与防护", "ANTICORROSION"),
|
||||
METALLURGY_ENGINEERING("P14", "冶金工程", "METALLURGY"),
|
||||
NONFERROUS_METALLURGY("P15", "有色金属冶金", "NONFERROUS_METAL"),
|
||||
EXPLOSIVES("P16", "火炸药/爆炸技术", "EXPLOSIVES"),
|
||||
CIVIL_ENGINEERING("P17", "土木工程", "HYDRAULIC_STRUCTURE"),
|
||||
;
|
||||
|
||||
private final String value;
|
||||
|
|
|
|||
|
|
@ -3,7 +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.PersonnelProfessionalCapabilityCO;
|
||||
import org.qinan.safetyeval.client.co.PersonnelCertFilingPageCO;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.QualFilingPersonnelCertDO;
|
||||
|
||||
import java.util.List;
|
||||
|
|
@ -17,6 +17,6 @@ public interface QualFilingPersonnelCertMapper extends BaseMapper<QualFilingPers
|
|||
* @param personnelIds 人员id列表
|
||||
* @return 人员专业能力证书类型编码聚合列表
|
||||
*/
|
||||
List<PersonnelProfessionalCapabilityCO> getProfessionalCapabilityCodeList(
|
||||
List<PersonnelCertFilingPageCO> getProfessionalCapabilityCodeList(
|
||||
@Param("personnelIds") List<Long> personnelIds);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,18 +42,20 @@
|
|||
`id`, `filing_id`, `filing_personnel_id`, `cert_name`, `cert_type_code`, `cert_level`, `cert_category_code`, `cert_category_name`, `operation_category_code`, `operation_category_name`, `cert_no`, `issue_org`, `valid_start_date`, `valid_end_date`, `review_date`, `cert_attachment_url`, `source_cert_id`, `business_scope`, `professional_capability_code`, `industry_professional_standards_id`, `delete_enum`, `remarks`, `create_name`, `update_name`, `tenant_id`, `org_id`, `version`, `create_time`, `update_time`, `create_id`, `update_id`, `env`
|
||||
</sql>
|
||||
|
||||
<!-- 根据人员id列表查询专业能力证书类型编码(GROUP_CONCAT聚合) -->
|
||||
<!-- 根据人员id列表查询专业能力证书类型编码 -->
|
||||
<select id="getProfessionalCapabilityCodeList"
|
||||
resultType="org.qinan.safetyeval.client.co.PersonnelProfessionalCapabilityCO">
|
||||
SELECT personnel_id,
|
||||
GROUP_CONCAT(ips.professional_capability_code) AS professionalCapabilityCodeList
|
||||
resultType="org.qinan.safetyeval.client.co.PersonnelCertFilingPageCO">
|
||||
SELECT opc.id
|
||||
,personnel_id,
|
||||
opc.professional_capability_code AS professionalCapabilityCode,
|
||||
opc.cert_type_code AS certTypeCode,
|
||||
cert_level AS certLevel,
|
||||
cert_no AS certNo
|
||||
FROM org_personnel_cert opc
|
||||
join industry_professional_standards ips on opc.industry_professional_standards_id = ips.id
|
||||
WHERE personnel_id IN
|
||||
<foreach collection="personnelIds" item="personnelId" open="(" separator="," close=")">
|
||||
#{personnelId}
|
||||
</foreach>
|
||||
GROUP BY personnel_id
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue