dev-tmp1^2
zhanglei 2026-08-28 17:17:34 +08:00
parent 38546f6eb1
commit 8e19dc4581
6 changed files with 59 additions and 10 deletions

View File

@ -61,6 +61,13 @@ public class OrgPersonnelController {
return orgPersonnelApi.page(query); return orgPersonnelApi.page(query);
} }
@ApiOperation("监管端评价师查询人员信息")
@GetMapping("/regulationPage")
public PageResponse<OrgPersonnelCO> regulationPage(@Validated OrgPersonnelPageQuery query) {
query.setEvaluatorList(true);
return orgPersonnelApi.page(query);
}
@ApiOperation("班级选择人员分页查询") @ApiOperation("班级选择人员分页查询")
@GetMapping("/classSelect/page") @GetMapping("/classSelect/page")
public PageResponse<ClassSelectPersonnelCO> classSelectPage(@Validated ClassSelectPersonnelPageQuery query) { public PageResponse<ClassSelectPersonnelCO> classSelectPage(@Validated ClassSelectPersonnelPageQuery query) {

View File

@ -34,8 +34,10 @@ 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.adapter.gbs.GbsUserFacadeClient; import org.qinan.safetyeval.infrastructure.adapter.gbs.GbsUserFacadeClient;
import org.qinan.safetyeval.infrastructure.convertor.OrgPersonnelCertConvertor; import org.qinan.safetyeval.infrastructure.convertor.OrgPersonnelCertConvertor;
import org.qinan.safetyeval.infrastructure.dataobject.OrgInfoDO;
import org.qinan.safetyeval.infrastructure.dataobject.OrgPersonnelDO; import org.qinan.safetyeval.infrastructure.dataobject.OrgPersonnelDO;
import org.qinan.safetyeval.infrastructure.dataobject.OrgPersonnelDeptCountDO; import org.qinan.safetyeval.infrastructure.dataobject.OrgPersonnelDeptCountDO;
import org.qinan.safetyeval.infrastructure.mapper.OrgInfoMapper;
import org.qinan.safetyeval.infrastructure.mapper.OrgPersonnelMapper; import org.qinan.safetyeval.infrastructure.mapper.OrgPersonnelMapper;
import org.qinan.safetyeval.infrastructure.mapper.QualFilingPersonnelCertMapper; import org.qinan.safetyeval.infrastructure.mapper.QualFilingPersonnelCertMapper;
import org.qinan.safetyeval.infrastructure.support.UserOrgIdResolver; import org.qinan.safetyeval.infrastructure.support.UserOrgIdResolver;
@ -54,10 +56,7 @@ import org.springframework.web.multipart.MultipartFile;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.temporal.ChronoUnit; import java.time.temporal.ChronoUnit;
import java.util.Collections; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -122,6 +121,8 @@ public class OrgPersonnelExecutor implements OrgPersonnelApi {
private boolean gbsUserSyncFailFast; private boolean gbsUserSyncFailFast;
@Value("${template.personnel.import.url:}") @Value("${template.personnel.import.url:}")
private String personImportTemplateUrl; private String personImportTemplateUrl;
@Autowired
private OrgInfoMapper orgInfoMapper;
@Override @Override
@ -241,21 +242,35 @@ public class OrgPersonnelExecutor implements OrgPersonnelApi {
domainQuery.setPostId(query.getPostId()); domainQuery.setPostId(query.getPostId());
domainQuery.setUserName(query.getUserName()); domainQuery.setUserName(query.getUserName());
domainQuery.setAccount(query.getAccount()); domainQuery.setAccount(query.getAccount());
domainQuery.setRegisterEngineerFlag(query.getRegisterEngineerFlag());
domainQuery.setEmploymentStatusCode(query.getEmploymentStatusCode()); domainQuery.setEmploymentStatusCode(query.getEmploymentStatusCode());
domainQuery.setEvaluatorList(query.getEvaluatorList());
if (query.getResignAuditStatus() != null && orgResignApplyGateway != null) { if (query.getResignAuditStatus() != null && orgResignApplyGateway != null) {
domainQuery.setPersonnelIds(orgResignApplyGateway.listPersonnelIdsByAuditStatus( domainQuery.setPersonnelIds(orgResignApplyGateway.listPersonnelIdsByAuditStatus(
query.getResignAuditStatus(), query.getOrgId())); query.getResignAuditStatus(), query.getOrgId()));
} }
PageResult<OrgPersonnelEntity> pageResult = orgPersonnelDomainService.page(domainQuery); PageResult<OrgPersonnelEntity> pageResult = orgPersonnelDomainService.page(domainQuery);
Map<Long, String> orgNameMap;
List<OrgPersonnelCO> records = pageResult.getRecords().stream() if (pageResult != null && !CollectionUtils.isEmpty(pageResult.getRecords())) {
.map(item -> orgPersonnelConvertor.toCO(item)) List<Long> orgIds = pageResult.getRecords().stream().map(OrgPersonnelEntity::getOrgId).filter(Objects::nonNull).collect(Collectors.toList());
.collect(java.util.stream.Collectors.toList()); orgNameMap = orgInfoMapper.selectBatchIds(CollectionUtils.isEmpty(orgIds) ? Collections.singletonList(0) : orgIds).stream().collect(Collectors.toMap(OrgInfoDO::getId, OrgInfoDO::getUnitName));
} else {
orgNameMap = new HashMap<>();
}
List<OrgPersonnelCO> records = null;
if (pageResult != null) {
records = pageResult.getRecords().stream()
.map(item -> {
OrgPersonnelCO co = orgPersonnelConvertor.toCO(item);
co.setOrgName(orgNameMap.getOrDefault(item.getOrgId(), ""));
return co;
})
.collect(Collectors.toList());
}
if (orgPersonnelViewEnricher != null) { if (orgPersonnelViewEnricher != null) {
orgPersonnelViewEnricher.enrichPersonnelBatch(records); orgPersonnelViewEnricher.enrichPersonnelBatch(records);
} }
return PageResponse.of(records, pageResult.getTotal()); return PageResponse.of(records, pageResult.getTotal());
} }

View File

@ -1,5 +1,7 @@
package org.qinan.safetyeval.client.co; package org.qinan.safetyeval.client.co;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import org.qinan.safetyeval.domain.entity.CapabilityAssessmentDTO; import org.qinan.safetyeval.domain.entity.CapabilityAssessmentDTO;
@ -20,6 +22,7 @@ public class OrgPersonnelCO {
private Long id; private Long id;
@ApiModelProperty(value = "部门ID") @ApiModelProperty(value = "部门ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long deptId; private Long deptId;
@ApiModelProperty(value = "岗位ID") @ApiModelProperty(value = "岗位ID")
@ -168,4 +171,9 @@ public class OrgPersonnelCO {
@ApiModelProperty(value = "租户ID") @ApiModelProperty(value = "租户ID")
private Long tenantId; private Long tenantId;
@ApiModelProperty(value = "人员状态: 1正常,2异常")
private Integer personnelStatus = 1;
@ApiModelProperty(value = "机构名称")
private String orgName;
} }

View File

@ -22,7 +22,7 @@ public class OrgPersonnelPageQuery extends BasePageQuery {
@ApiModelProperty(value = "岗位id") @ApiModelProperty(value = "岗位id")
private Long postId; private Long postId;
@ApiModelProperty(value = "用户名称/姓名") @ApiModelProperty(value = "用户名称/姓名/评价师名称")
private String userName; private String userName;
@ApiModelProperty(value = "账号") @ApiModelProperty(value = "账号")
@ -36,4 +36,10 @@ public class OrgPersonnelPageQuery extends BasePageQuery {
@ApiModelProperty(value = "是否员工变更管理页面") @ApiModelProperty(value = "是否员工变更管理页面")
private Boolean employeeChange = false; private Boolean employeeChange = false;
@ApiModelProperty(value = "是否注册安全工程师(1是2否)")
private Integer registerEngineerFlag;
@ApiModelProperty(value = "评价师列表")
private Boolean evaluatorList = false;
} }

View File

@ -1,5 +1,6 @@
package org.qinan.safetyeval.domain.query; package org.qinan.safetyeval.domain.query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/** /**
@ -42,4 +43,9 @@ public class OrgPersonnelQuery {
/** 人员 ID 列表(离职审核状态筛选) */ /** 人员 ID 列表(离职审核状态筛选) */
private java.util.List<Long> personnelIds; private java.util.List<Long> personnelIds;
@ApiModelProperty(value = "是否注册安全工程师(1是2否)")
private Integer registerEngineerFlag;
@ApiModelProperty(value = "评价师列表")
private Boolean evaluatorList = false;
} }

View File

@ -153,6 +153,13 @@ public class OrgPersonnelGatewayImpl implements OrgPersonnelGateway {
if (query.getEmploymentStatusCode() != null) { if (query.getEmploymentStatusCode() != null) {
wrapper.eq(OrgPersonnelDO::getEmploymentStatusCode, query.getEmploymentStatusCode()); wrapper.eq(OrgPersonnelDO::getEmploymentStatusCode, query.getEmploymentStatusCode());
} }
if (query.getRegisterEngineerFlag() != null) {
wrapper.eq(OrgPersonnelDO::getRegisterEngineerFlag, query.getRegisterEngineerFlag());
}
if (query.getEvaluatorList()) {
// 查看有能力,专职人员
wrapper.isNotNull(OrgPersonnelDO::getCapabilityAssessment);
}
if (query.getPersonnelIds() != null) { if (query.getPersonnelIds() != null) {
if (query.getPersonnelIds().isEmpty()) { if (query.getPersonnelIds().isEmpty()) {
wrapper.eq(OrgPersonnelDO::getId, -1L); wrapper.eq(OrgPersonnelDO::getId, -1L);