From 53d6dfd5510fae7596fd3ab582c80a7ab29cef6a Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Sat, 22 Nov 2025 14:03:56 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E7=BC=96=E5=88=B6=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/constant/UserStaffingTypeEnum.java | 26 +++++++++++++++++++ .../bsd/pjcloud/admin/api/entity/SysUser.java | 12 +++++++++ .../bsd/pjcloud/admin/api/vo/UserExcelVO.java | 6 +++++ .../com/bsd/pjcloud/admin/api/vo/UserVO.java | 5 ++++ .../service/impl/SysUserServiceImpl.java | 7 +++++ .../main/resources/mapper/SysUserMapper.xml | 7 +++++ 6 files changed, 63 insertions(+) create mode 100644 pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/constant/UserStaffingTypeEnum.java diff --git a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/constant/UserStaffingTypeEnum.java b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/constant/UserStaffingTypeEnum.java new file mode 100644 index 000000000..e6d63f96a --- /dev/null +++ b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/constant/UserStaffingTypeEnum.java @@ -0,0 +1,26 @@ +package com.bsd.pjcloud.admin.api.constant; + +import cn.hutool.core.util.ObjectUtil; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.Arrays; + +/** + * 用户在编情况 + */ +@AllArgsConstructor +@Getter +public enum UserStaffingTypeEnum { + STAFFING("1", "在编"), + NONE_STAFFING("2", "非在编"), + ; + private final String type; + private final String description; + + public static UserStaffingTypeEnum valueOfByType(String type) { + if (ObjectUtil.isEmpty(type)) return null; + return Arrays.stream(values()).filter(v -> ObjectUtil.equals(type, v.getType())).findFirst().orElse(null); + } + +} diff --git a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/entity/SysUser.java b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/entity/SysUser.java index b23834d93..29e2f6028 100644 --- a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/entity/SysUser.java +++ b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/entity/SysUser.java @@ -240,9 +240,21 @@ public class SysUser extends Model implements Serializable { @Schema(description = "员工浙政钉编码") private String dingtalkEmployeeCode; + /** + * 员工所属系统类型 + */ @Schema(description = "员工所属系统类型") private String systemType; + /** + * 是否为全局人脸 + */ @Schema(description = "是否为全局人脸") private String isGlobalFace; + + /** + * 编制类型 + */ + @Schema(description = "编制类型") + private String staffingType; } diff --git a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/UserExcelVO.java b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/UserExcelVO.java index 157b7a794..5482af766 100644 --- a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/UserExcelVO.java +++ b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/UserExcelVO.java @@ -92,6 +92,12 @@ public class UserExcelVO implements Serializable { @ExcelProperty("岗位名称") private String postNameList; + /** + * 编制 + */ + @ExcelProperty("编制") + private String staffingType; + /** * 锁定标记 */ diff --git a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/UserVO.java b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/UserVO.java index 4097d9686..a0315c920 100644 --- a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/UserVO.java +++ b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/UserVO.java @@ -241,4 +241,9 @@ public class UserVO implements BaseFacesInterface, Serializable { * 商户相关 */ private String merchantName; + + /** + * 编制类型 + */ + private String staffingType; } diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java index 2838ebdc3..f59a91e46 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java @@ -33,6 +33,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.bsd.pjcloud.admin.api.constant.UserStaffingTypeEnum; import com.bsd.pjcloud.admin.api.constant.UserStateEnum; import com.bsd.pjcloud.admin.api.dto.SysUserFaceDto; import com.bsd.pjcloud.admin.api.dto.UserDTO; @@ -473,6 +474,12 @@ public class SysUserServiceImpl extends ServiceImpl impl excelVO.setRoleNameList(roleNameList); String postNameList = userVO.getPostList().stream().map(SysPost::getPostName).collect(Collectors.joining(StrUtil.COMMA)); excelVO.setPostNameList(postNameList); + if (ObjectUtil.isNotEmpty(userVO.getStaffingType())) { + UserStaffingTypeEnum staffingTypeEnum = UserStaffingTypeEnum.valueOfByType(userVO.getStaffingType()); + if (ObjectUtil.isNotEmpty(staffingTypeEnum)) { + excelVO.setStaffingType(staffingTypeEnum.getDescription()); + } + } return excelVO; }).collect(Collectors.toList()); return userExcelVOList; diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserMapper.xml b/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserMapper.xml index 889ba6d9b..eaebeb9e8 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserMapper.xml +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserMapper.xml @@ -50,6 +50,7 @@ + @@ -116,6 +117,7 @@ u.create_by, u.create_time ucreate_time, u.update_time uupdate_time, + u.staffing_type, d.name dept_name, d.dept_id @@ -170,6 +172,7 @@ u.name, u.email, u.is_global_face, + u.staffing_type, d.name dept_name FROM sys_user u @@ -194,6 +197,9 @@ AND u.dept_id = #{query.deptId} + + AND u.staffing_type = #{query.staffingType} + and urole.role_id IN @@ -263,6 +269,7 @@ u.nickname, u.name, u.email, + u.staffing_type, d.name dept_name FROM sys_user u