添加持证人员分页查询功能

main
zhangyue 2026-03-17 09:43:25 +08:00
parent 7fae9aa488
commit 7d5f4223e2
12 changed files with 578 additions and 19 deletions

View File

@ -2,10 +2,9 @@ package com.zcloud.certificate.web;
import com.zcloud.certificate.api.UserCertificateServiceI; import com.zcloud.certificate.api.UserCertificateServiceI;
import com.zcloud.certificate.dto.CorpCertificateStatPageQry; import com.zcloud.certificate.dto.*;
import com.zcloud.certificate.dto.UserCertificateAddCmd; import com.zcloud.certificate.dto.clientobject.UserCO;
import com.zcloud.certificate.dto.UserCertificatePageQry; import com.zcloud.certificate.dto.clientobject.UserCerCO;
import com.zcloud.certificate.dto.UserCertificateUpdateCmd;
import com.zcloud.certificate.dto.clientobject.UserCertificateCO; import com.zcloud.certificate.dto.clientobject.UserCertificateCO;
import com.alibaba.cola.dto.MultiResponse; import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.PageResponse;
@ -55,6 +54,18 @@ public class UserCertificateController {
} }
/**
* 使
* @param qry
* @return
*/
@ApiOperation("持证人员分页")
@PostMapping("/certifiedPersonnelList")
public PageResponse<UserCerCO> certifiedPersonnelListPage(@RequestBody UserByCerQryCmd qry) {
return userCertificateService.certifiedPersonnelListPage(qry);
}
@ApiOperation("所有数据") @ApiOperation("所有数据")
@PostMapping("/listAll") @PostMapping("/listAll")
public MultiResponse<UserCertificateCO> listAll(@RequestBody UserCertificatePageQry qry) { public MultiResponse<UserCertificateCO> listAll(@RequestBody UserCertificatePageQry qry) {

View File

@ -1,8 +1,10 @@
package com.zcloud.certificate.command.convertor; package com.zcloud.certificate.command.convertor;
import com.zcloud.certificate.domain.model.UserCertificateE; import com.zcloud.certificate.domain.model.UserCertificateE;
import com.zcloud.certificate.dto.clientobject.UserCerCO;
import com.zcloud.certificate.dto.clientobject.UserCertificateCO; import com.zcloud.certificate.dto.clientobject.UserCertificateCO;
import com.zcloud.certificate.dto.clientobject.UserCertificateStatCO; import com.zcloud.certificate.dto.clientobject.UserCertificateStatCO;
import com.zcloud.certificate.persistence.dataobject.UserCerDO;
import com.zcloud.certificate.persistence.dataobject.UserCertificateDO; import com.zcloud.certificate.persistence.dataobject.UserCertificateDO;
import com.zcloud.certificate.persistence.dataobject.UserCertificateStatDO; import com.zcloud.certificate.persistence.dataobject.UserCertificateStatDO;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
@ -33,5 +35,7 @@ public interface UserCertificateCoConvertor {
List<UserCertificateE> converDOsToEs(List<UserCertificateDO> userCertificateDOs); List<UserCertificateE> converDOsToEs(List<UserCertificateDO> userCertificateDOs);
List<UserCertificateCO> converEsToCOs(List<UserCertificateE> userCertificateEs); List<UserCertificateCO> converEsToCOs(List<UserCertificateE> userCertificateEs);
List<UserCerCO> converUserDOsToCOs(List<UserCerDO> userCerDOs);
} }

View File

@ -8,11 +8,16 @@ import com.zcloud.certificate.command.convertor.UserCertificateCoConvertor;
import com.zcloud.certificate.domain.model.UserBasicInfo; import com.zcloud.certificate.domain.model.UserBasicInfo;
import com.zcloud.certificate.domain.model.UserCertificateE; import com.zcloud.certificate.domain.model.UserCertificateE;
import com.zcloud.certificate.dto.CorpCertificateStatPageQry; import com.zcloud.certificate.dto.CorpCertificateStatPageQry;
import com.zcloud.certificate.dto.UserByCerQryCmd;
import com.zcloud.certificate.dto.UserCertificatePageQry; import com.zcloud.certificate.dto.UserCertificatePageQry;
import com.zcloud.certificate.dto.clientobject.UserCO;
import com.zcloud.certificate.dto.clientobject.UserCerCO;
import com.zcloud.certificate.dto.clientobject.UserCertificateCO; import com.zcloud.certificate.dto.clientobject.UserCertificateCO;
import com.zcloud.certificate.dto.clientobject.UserCertificateStatCO; import com.zcloud.certificate.dto.clientobject.UserCertificateStatCO;
import com.zcloud.certificate.persistence.dataobject.UserCerDO;
import com.zcloud.certificate.persistence.dataobject.UserCertificateDO; import com.zcloud.certificate.persistence.dataobject.UserCertificateDO;
import com.zcloud.certificate.persistence.dataobject.UserCertificateStatDO; import com.zcloud.certificate.persistence.dataobject.UserCertificateStatDO;
import com.zcloud.certificate.persistence.dataobject.UserDO;
import com.zcloud.certificate.persistence.repository.UserCertificateRepository; import com.zcloud.certificate.persistence.repository.UserCertificateRepository;
import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.PageResponse;
@ -86,6 +91,19 @@ public class UserCertificateQueryExe {
return PageResponse.of(cos, iPage.getTotalCount(), iPage.getPageSize(), iPage.getPageIndex()); return PageResponse.of(cos, iPage.getTotalCount(), iPage.getPageSize(), iPage.getPageIndex());
} }
/**
*
*
* @return
*/
public PageResponse<UserCerCO> certifiedPersonnelListPageExecute(UserByCerQryCmd qry) {
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
PageResponse<UserCerDO> pageResponse = userCertificateRepository.certifiedPersonnelListPage(params);
List<UserCerCO> examCenterCOS = userCertificateCoConvertor.converUserDOsToCOs(pageResponse.getData());
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
}
/** /**
* // * //
*/ */

View File

@ -5,10 +5,9 @@ import com.zcloud.certificate.command.UserCertificateAddExe;
import com.zcloud.certificate.command.UserCertificateRemoveExe; import com.zcloud.certificate.command.UserCertificateRemoveExe;
import com.zcloud.certificate.command.UserCertificateUpdateExe; import com.zcloud.certificate.command.UserCertificateUpdateExe;
import com.zcloud.certificate.command.query.UserCertificateQueryExe; import com.zcloud.certificate.command.query.UserCertificateQueryExe;
import com.zcloud.certificate.dto.CorpCertificateStatPageQry; import com.zcloud.certificate.dto.*;
import com.zcloud.certificate.dto.UserCertificateAddCmd; import com.zcloud.certificate.dto.clientobject.UserCO;
import com.zcloud.certificate.dto.UserCertificatePageQry; import com.zcloud.certificate.dto.clientobject.UserCerCO;
import com.zcloud.certificate.dto.UserCertificateUpdateCmd;
import com.zcloud.certificate.dto.clientobject.UserCertificateCO; import com.zcloud.certificate.dto.clientobject.UserCertificateCO;
import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.PageResponse;
@ -43,6 +42,11 @@ public class UserCertificateServiceImpl implements UserCertificateServiceI {
return userCertificateQueryExe.execute(qry, withPermission); return userCertificateQueryExe.execute(qry, withPermission);
} }
@Override
public PageResponse<UserCerCO> certifiedPersonnelListPage(UserByCerQryCmd qry){
return userCertificateQueryExe.certifiedPersonnelListPageExecute(qry);
}
@Override @Override
public SingleResponse add(UserCertificateAddCmd cmd) { public SingleResponse add(UserCertificateAddCmd cmd) {

View File

@ -1,9 +1,8 @@
package com.zcloud.certificate.api; package com.zcloud.certificate.api;
import com.zcloud.certificate.dto.CorpCertificateStatPageQry; import com.zcloud.certificate.dto.*;
import com.zcloud.certificate.dto.UserCertificateAddCmd; import com.zcloud.certificate.dto.clientobject.UserCO;
import com.zcloud.certificate.dto.UserCertificatePageQry; import com.zcloud.certificate.dto.clientobject.UserCerCO;
import com.zcloud.certificate.dto.UserCertificateUpdateCmd;
import com.zcloud.certificate.dto.clientobject.UserCertificateCO; import com.zcloud.certificate.dto.clientobject.UserCertificateCO;
import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.PageResponse;
@ -21,6 +20,7 @@ public interface UserCertificateServiceI {
UserCertificateCO queryById(Long id); UserCertificateCO queryById(Long id);
PageResponse<UserCertificateCO> listPage(UserCertificatePageQry qry, boolean withPermission); PageResponse<UserCertificateCO> listPage(UserCertificatePageQry qry, boolean withPermission);
PageResponse<UserCerCO> certifiedPersonnelListPage(UserByCerQryCmd qry);
SingleResponse<UserCertificateCO> add(UserCertificateAddCmd cmd); SingleResponse<UserCertificateCO> add(UserCertificateAddCmd cmd);

View File

@ -0,0 +1,49 @@
package com.zcloud.certificate.dto;
import com.alibaba.cola.dto.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class UserByCerQryCmd extends PageQuery {
@ApiModelProperty(value = "企业ID")
private String eqCorpinfoId;
@ApiModelProperty(value = "部门ID")
private String eqDepartmentId;
@ApiModelProperty(value = "岗位ID")
private String eqPostId;
@ApiModelProperty(value = "在职状态")
private String eqEmploymentFlag;
@ApiModelProperty(value = "企业ID")
private Long corpinfoId;
@ApiModelProperty(value = "企业UUID")
private String corpinfoUuid;
@ApiModelProperty(value = "部门ID")
private Long departmentId;
@ApiModelProperty(value = "岗位ID")
private Long postId;
@ApiModelProperty(value = "用户名")
private String username;
@ApiModelProperty(value = "用户名")
private String name;
@ApiModelProperty(value = "是否排除主账号")
private Integer noMain;
@ApiModelProperty(value = "证书类型")
private List<String> certificateType;
@ApiModelProperty(value = "菜单路径")
private String menuPath;
}

View File

@ -0,0 +1,180 @@
package com.zcloud.certificate.dto.clientobject;
import com.alibaba.cola.dto.ClientObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
public class UserCerCO extends ClientObject {
//GBS用户id
@ApiModelProperty(value = "GBS用户id")
private Long id;
//业务主键id老系统id
@ApiModelProperty(value = "业务主键id老系统id")
private String userId;
//登录账号
@ApiModelProperty(value = "登录账号")
private String username;
//姓名
@ApiModelProperty(value = "姓名")
private String name;
//企业id
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
@ApiModelProperty(value = "企业名称")
private String corpinfoName;
//是否主账号1是0否
@ApiModelProperty(value = "是否主账号1是0否")
private Integer mainCorpFlag;
//用户类型,1监管2企业3相关方
@ApiModelProperty(value = "用户类型,1监管2企业3相关方")
private Integer userType;
//部门id
@ApiModelProperty(value = "部门id")
private Long departmentId;
//部门id
@ApiModelProperty(value = "部门名称")
private String departmentName;
//岗位id
@ApiModelProperty(value = "岗位id")
private Long postId;
//岗位id
@ApiModelProperty(value = "岗位名称")
private String postName;
//角色id
@ApiModelProperty(value = "角色id")
private Long roleId;
//邮箱
@ApiModelProperty(value = "邮箱")
private String email;
//人员类型编码(主要负责人等)
@ApiModelProperty(value = "人员类型编码(主要负责人等)")
private String personnelType;
//人员类型翻译
@ApiModelProperty(value = "人员类型翻译")
private String personnelTypeName;
//民族编码问一下有没有组件
@ApiModelProperty(value = "民族编码问一下有没有组件")
private String nation;
//民族名称
@ApiModelProperty(value = "民族名称")
private String nationName;
//身份证号
@ApiModelProperty(value = "身份证号")
private String userIdCard;
//人脸头像url
@ApiModelProperty(value = "人脸头像url")
private String userAvatarUrl;
//现住址
@ApiModelProperty(value = "现住址")
private String currentAddress;
//户口所在地
@ApiModelProperty(value = "户口所在地")
private String locationAddress;
@ApiModelProperty(value = "职级")
private String rankLevel;
@ApiModelProperty(value = "职级名称")
private String rankLevelName;
@ApiModelProperty(value = "手机号")
private String phone;
//人员在部门中的排序
@ApiModelProperty(value = "人员在部门中的排序")
private Integer sort;
@ApiModelProperty(value = "是否存在人资系统, 1-是, 0-否")
private Integer rzFlag;
//乐观锁
@ApiModelProperty(value = "乐观锁")
private Integer version;
//创建人
@ApiModelProperty(value = "创建人")
private Long createId;
//创建人姓名
@ApiModelProperty(value = "创建人姓名")
private String createName;
//创建时间
@ApiModelProperty(value = "创建时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date createTime;
//更新人
@ApiModelProperty(value = "更新人")
private Long updateId;
//修改人名称
@ApiModelProperty(value = "修改人名称")
private String updateName;
//更新时间
@ApiModelProperty(value = "更新时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date updateTime;
//描述
@ApiModelProperty(value = "描述")
private String remarks;
//是否删除
@ApiModelProperty(value = "是否删除")
private String deleteEnum;
//租户ID
@ApiModelProperty(value = "租户ID")
private Long tenantId;
//机构ID
@ApiModelProperty(value = "机构ID")
private Long orgId;
//环境
@ApiModelProperty(value = "环境")
private String env;
//是否部门领导0否1是
@ApiModelProperty(value = "是否部门领导0否1是")
private Integer departmentLeaderFlag;
//是否分管领导0否1是
@ApiModelProperty(value = "是否分管领导0否1是")
private Integer deputyLeaderFlag;
//文化程度 数据字典
@ApiModelProperty(value = "文化程度 数据字典")
private String culturalLevel;
//文化程度名称
@ApiModelProperty(value = "文化程度名称")
private String culturalLevelName;
//婚姻状态
@ApiModelProperty(value = "婚姻状态")
private String maritalStatus;
//婚姻状态名称
@ApiModelProperty(value = "婚姻状态名称")
private String maritalStatusName;
//政治面貌
@ApiModelProperty(value = "政治面貌")
private String politicalAffiliation;
//政治面貌名称
@ApiModelProperty(value = "政治面貌名称")
private String politicalAffiliationName;
private String mappingName;
private String mappingUserName;
private String mappingPostName;
private String mappingDeptName;
// 入职状态
@ApiModelProperty(value = "入职状态 入职状态0-离职, 1-在职, 2-信息变更中, 3-未入职, 4-实习生, 5-实习结束, 6-退休, 7-劳务派遣, 8-劳务派遣结束, 11-入职待审核, 10-离职待审核")
private Integer employmentFlag;
// 入职状态
@ApiModelProperty(value = "是否流动人员1-流动0-固定人员")
private Integer flowFlag;
// 年龄
@ApiModelProperty(value = "年龄")
private Integer age;
//生日
@ApiModelProperty(value = "生日")
private String birthday;
//生日
@ApiModelProperty(value = "证书类型")
private String certificateTypeName;
// 性别
@ApiModelProperty(value = "性别")
private String sex;
// 微信openid
@ApiModelProperty(value = "微信openid")
private String openId;
}

View File

@ -0,0 +1,163 @@
package com.zcloud.certificate.persistence.dataobject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jjb.saas.framework.repository.basedo.BaseDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
@Data
@TableName("user")
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class UserCerDO extends BaseDO {
//业务主键id老系统id
@ApiModelProperty(value = "业务主键id老系统id")
private String userId;
//登录账号
@ApiModelProperty(value = "登录账号")
private String username;
//姓名
@ApiModelProperty(value = "姓名")
private String name;
//企业id
@ApiModelProperty(value = "企业id")
private Long corpinfoId;
//企业id
@ApiModelProperty(value = "企业名称")
@TableField(exist = false)
private String corpinfoName;
//是否主账号1是0否
@ApiModelProperty(value = "是否主账号1是0否")
private Integer mainCorpFlag;
//用户类型,1监管2企业3相关方
@ApiModelProperty(value = "用户类型,1监管2企业3相关方")
private Integer userType;
//部门id
@ApiModelProperty(value = "部门id")
private Long departmentId;
//部门id
@ApiModelProperty(value = "部门名称")
@TableField(exist = false)
private String departmentName;
//岗位id
@ApiModelProperty(value = "岗位id")
private Long postId;
//岗位id
@ApiModelProperty(value = "岗位名称")
private String postName;
//角色id
@ApiModelProperty(value = "角色id")
private Long roleId;
//邮箱
@ApiModelProperty(value = "邮箱")
private String email;
//人员类型编码(主要负责人等)
@ApiModelProperty(value = "人员类型编码(主要负责人等)")
private String personnelType;
//人员类型翻译
@ApiModelProperty(value = "人员类型翻译")
private String personnelTypeName;
//民族编码问一下有没有组件
@ApiModelProperty(value = "民族编码问一下有没有组件")
private String nation;
//民族名称
@ApiModelProperty(value = "民族名称")
private String nationName;
//身份证号
@ApiModelProperty(value = "身份证号")
private String userIdCard;
//人脸头像url
@ApiModelProperty(value = "人脸头像url")
private String userAvatarUrl;
//现住址
@ApiModelProperty(value = "现住址")
private String currentAddress;
@ApiModelProperty(value = "描述")
private String remarks;
//户口所在地
@ApiModelProperty(value = "户口所在地")
private String locationAddress;
@ApiModelProperty(value = "职级")
private String rankLevel;
@ApiModelProperty(value = "职级名称")
private String rankLevelName;
@ApiModelProperty(value = "手机号")
private String phone;
//人员在部门中的排序
@ApiModelProperty(value = "人员在部门中的排序")
private Integer sort;
//是否部门领导0否1是
@ApiModelProperty(value = "是否部门领导0否1是")
private Integer departmentLeaderFlag;
//是否分管领导0否1是
@ApiModelProperty(value = "是否分管领导0否1是")
private Integer deputyLeaderFlag;
//文化程度 数据字典
@ApiModelProperty(value = "文化程度 数据字典")
private String culturalLevel;
//文化程度名称
@ApiModelProperty(value = "文化程度名称")
private String culturalLevelName;
//婚姻状态
@ApiModelProperty(value = "婚姻状态")
private String maritalStatus;
//婚姻状态名称
@ApiModelProperty(value = "婚姻状态名称")
private String maritalStatusName;
//政治面貌
@ApiModelProperty(value = "政治面貌")
private String politicalAffiliation;
//政治面貌名称
@ApiModelProperty(value = "政治面貌名称")
private String politicalAffiliationName;
// 入职状态
@ApiModelProperty(value = "入职状态")
private Integer employmentFlag;
// 入职状态
@ApiModelProperty(value = "是否流动人员1-流动0-固定人员")
private Integer flowFlag;
@ApiModelProperty(value = "是否存在人资系统, 1-存在, 0-不存在")
private Integer rzFlag;
//用户所属企业id
@TableField(exist = false)
private String userCorpId;
//密码
@ApiModelProperty(value = "密码")
private String password;
//密码
@ApiModelProperty(value = "新密码")
@TableField(exist = false)
private String newPassword;
// 年龄
@ApiModelProperty(value = "年龄")
@TableField(exist = false)
private Integer age;
//生日
@ApiModelProperty(value = "生日")
@TableField(exist = false)
private String birthday;
// 性别
@ApiModelProperty(value = "性别")
@TableField(exist = false)
private String sex;
// 证书类别
@ApiModelProperty(value = "证书类别")
@TableField(exist = false)
private String certificateTypeName;
// 微信openid
@ApiModelProperty(value = "微信openid")
private String openId;
}

View File

@ -1,11 +1,14 @@
package com.zcloud.certificate.persistence.mapper; package com.zcloud.certificate.persistence.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.datascope.annotation.DataScope; import com.jjb.saas.framework.datascope.annotation.DataScope;
import com.jjb.saas.framework.datascope.annotation.DataScopes; import com.jjb.saas.framework.datascope.annotation.DataScopes;
import com.zcloud.certificate.persistence.dataobject.UserCerDO;
import com.zcloud.certificate.persistence.dataobject.UserCertificateDO; import com.zcloud.certificate.persistence.dataobject.UserCertificateDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zcloud.certificate.persistence.dataobject.UserCertificateStatDO; import com.zcloud.certificate.persistence.dataobject.UserCertificateStatDO;
import com.zcloud.certificate.persistence.dataobject.UserDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -43,6 +46,8 @@ public interface UserCertificateMapper extends BaseMapper<UserCertificateDO> {
*/ */
IPage<UserCertificateStatDO> selectCorpCertificateStatPage(IPage<UserCertificateDO> page, @Param("params") Map<String, Object> params); IPage<UserCertificateStatDO> selectCorpCertificateStatPage(IPage<UserCertificateDO> page, @Param("params") Map<String, Object> params);
IPage<UserCerDO> certifiedPersonnelListPage(IPage<UserCerDO> page, @Param("params") Map<String, Object> params);
} }

View File

@ -1,9 +1,11 @@
package com.zcloud.certificate.persistence.repository; package com.zcloud.certificate.persistence.repository;
import com.zcloud.certificate.persistence.dataobject.UserCerDO;
import com.zcloud.certificate.persistence.dataobject.UserCertificateDO; import com.zcloud.certificate.persistence.dataobject.UserCertificateDO;
import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository; import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.certificate.persistence.dataobject.UserCertificateStatDO; import com.zcloud.certificate.persistence.dataobject.UserCertificateStatDO;
import com.zcloud.certificate.persistence.dataobject.UserDO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -16,6 +18,7 @@ import java.util.Map;
*/ */
public interface UserCertificateRepository extends BaseRepository<UserCertificateDO> { public interface UserCertificateRepository extends BaseRepository<UserCertificateDO> {
PageResponse<UserCertificateDO> listPage(Map<String,Object> params); PageResponse<UserCertificateDO> listPage(Map<String,Object> params);
PageResponse<UserCerDO> certifiedPersonnelListPage(Map<String,Object> params);
/** /**
* userId * userId

View File

@ -1,8 +1,10 @@
package com.zcloud.certificate.persistence.repository.impl; package com.zcloud.certificate.persistence.repository.impl;
import com.zcloud.certificate.domain.enums.MenuEnum; import com.zcloud.certificate.domain.enums.MenuEnum;
import com.zcloud.certificate.persistence.dataobject.UserCerDO;
import com.zcloud.certificate.persistence.dataobject.UserCertificateDO; import com.zcloud.certificate.persistence.dataobject.UserCertificateDO;
import com.zcloud.certificate.persistence.dataobject.UserCertificateStatDO; import com.zcloud.certificate.persistence.dataobject.UserCertificateStatDO;
import com.zcloud.certificate.persistence.dataobject.UserDO;
import com.zcloud.certificate.persistence.mapper.UserCertificateMapper; import com.zcloud.certificate.persistence.mapper.UserCertificateMapper;
import com.zcloud.certificate.persistence.repository.UserCertificateRepository; import com.zcloud.certificate.persistence.repository.UserCertificateRepository;
import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.PageResponse;
@ -14,6 +16,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@ -39,6 +42,14 @@ public class UserCertificateRepositoryImpl extends BaseRepositoryImpl<UserCertif
return PageHelper.pageToResponse(result, result.getRecords()); return PageHelper.pageToResponse(result, result.getRecords());
} }
@Override
public PageResponse<UserCerDO> certifiedPersonnelListPage(Map<String, Object> params) {
IPage<UserCerDO> iPage = new Query<UserCerDO>().getPage(params);
IPage<UserCerDO> result = userCertificateMapper.certifiedPersonnelListPage(iPage, params);
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override @Override
public List<com.zcloud.certificate.domain.model.UserBasicInfo> getUserNamesByUserIds(List<Long> userIds) { public List<com.zcloud.certificate.domain.model.UserBasicInfo> getUserNamesByUserIds(List<Long> userIds) {
return userCertificateMapper.selectUserNamesByUserIds(userIds); return userCertificateMapper.selectUserNamesByUserIds(userIds);

View File

@ -205,5 +205,116 @@
GROUP BY ci.id, ci.corp_name GROUP BY ci.id, ci.corp_name
ORDER BY ci.corp_order ASC ORDER BY ci.corp_order ASC
</select> </select>
<select id="certifiedPersonnelListPage" resultType="com.zcloud.certificate.persistence.dataobject.UserCerDO">
select
d.name as department_name,
CASE
WHEN c.type IN (3,4, 5) THEN u.post_name
ELSE p.post_name
END AS post_name,
u.id,
u.user_id,
u.username,
u.name,
u.corpinfo_id,
u.main_corp_flag,
u.user_type,
u.department_id,
u.post_id,
u.role_id,
u.email,
u.phone,
u.personnel_type,
u.personnel_type_name,
u.nation,
u.nation_name,
u.user_id_card,
u.user_avatar_url,
u.current_address,
u.location_address,
u.rank_level,
u.rank_level_name,
u.sort,
u.version,
u.create_id,
u.create_name,
u.create_time,
u.update_id,
u.update_name,
u.update_time,
u.remarks,
u.delete_enum,
u.tenant_id,
u.org_id,
u.env,
u.department_leader_flag,
u.deputy_leader_flag,
u.cultural_level,
u.cultural_level_name,
u.marital_status,
u.marital_status_name,
u.political_affiliation,
u.political_affiliation_name,
u.employment_flag,
u.flow_flag,
GROUP_CONCAT(uc.type SEPARATOR ',') AS certificateType,
CASE
WHEN LENGTH(FROM_BASE64(u.user_id_card)) > 0
AND MOD(SUBSTRING(FROM_BASE64(u.user_id_card), 17, 1), 2) = 1 THEN
'男'
WHEN LENGTH(FROM_BASE64(u.user_id_card)) > 0
AND MOD(SUBSTRING(FROM_BASE64(u.user_id_card), 17, 1), 2) = 0 THEN
'女'
END AS sex,
CASE
WHEN LENGTH(FROM_BASE64(u.user_id_card)) > 0 THEN
(YEAR(NOW()) - SUBSTRING(FROM_BASE64(u.user_id_card), 7, 4)) ELSE NULL
END AS age,
cast(substring(FROM_BASE64(u.user_id_card), 7, 8) AS DATE) AS birthday
from user u
left join corp_info c on c.id = u.corpinfo_id
left join department d on d.id = u.department_id
left join post p on p.id = u.post_id
left join user_certificate uc on uc .user_id = u.id and uc.delete_enum = 'false'
<where>
u.delete_enum = 'false'
and uc.id is not null
<if test="params.noMain != null and params.noMain != ''">
and u.id != u.corpinfo_id
</if>
<if test="params.corpinfoId != null and params.corpinfoId != ''">
and c.id = #{params.corpinfoId}
</if>
<if test="params.corpinfoUuid != null and params.corpinfoUuid != ''">
and c.corpinfo_id = #{params.corpinfoUuid}
</if>
<if test="params.departmentId != null and params.departmentId != ''">
and d.id = #{params.departmentId}
</if>
<if test="params.postId != null and params.postId != ''">
and p.id = #{params.postId}
</if>
<if test="params.username != null and params.username != ''">
and u.username = #{params.username}
</if>
<if test="params.name != null and params.name != ''">
and u.name = #{params.name}
</if>
<if test="params.certificateType != null and params.certificateType.size() > 0">
AND uc.type IN
<foreach collection="params.certificateType" item="type" open="(" separator="," close=")">
#{type}
</foreach>
</if>
</where>
group by u.id
order by u.sort asc,u.create_time desc
</select>
</mapper> </mapper>