新增OA_GOOut_NOT_EXISTS
错误码,支持外出申请不存在的场景
在`ErrorCodeConstants`枚举中添加新的错误码`OA_GOOut_NOT_EXISTS`,用于标识外出申请不存在的情况。该错误码的值为1_009_001_112,描述为“外出申请不存在”。权限修改功能及字段支持外勤打卡配置 新增`updateFieldwork`接口,支持修改用户外勤打卡权限。同时,在用户创建和编辑请求体中添加`fieldworkFlag`字段,用于标识用户是否可以进行外勤打卡。 调整用户创建逻辑,去除工厂数字化系统的用户同步 在用户创建逻辑中,去除将工厂用户添加到GPS定位系统的逻辑。这部分代码已被注释掉,不再执行。以上为本次提交的主要变更点,包括错误码的添加、外勤打卡权限的支持以及用户创建逻辑的调整。
This commit is contained in:
parent
a7621a5117
commit
62c482c1c7
@ -35,6 +35,7 @@ public interface ErrorCodeConstants {
|
|||||||
ErrorCode OA_INCENTIVE_NOT_EXISTS = new ErrorCode(1_009_001_110, "奖惩申请不存在");
|
ErrorCode OA_INCENTIVE_NOT_EXISTS = new ErrorCode(1_009_001_110, "奖惩申请不存在");
|
||||||
ErrorCode OA_WORK_TASK_NOT_EXISTS = new ErrorCode(1_009_001_110, "工作任务不存在");
|
ErrorCode OA_WORK_TASK_NOT_EXISTS = new ErrorCode(1_009_001_110, "工作任务不存在");
|
||||||
ErrorCode OA_ENTRY_NOT_EXISTS = new ErrorCode(1_009_001_111, "入职申请不存在");
|
ErrorCode OA_ENTRY_NOT_EXISTS = new ErrorCode(1_009_001_111, "入职申请不存在");
|
||||||
|
ErrorCode OA_GOOut_NOT_EXISTS = new ErrorCode(1_009_001_112, "外出申请不存在");
|
||||||
|
|
||||||
// ========== 流程模型 1-009-002-000 ==========
|
// ========== 流程模型 1-009-002-000 ==========
|
||||||
ErrorCode MODEL_KEY_EXISTS = new ErrorCode(1_009_002_000, "已经存在流程标识为【{}】的流程");
|
ErrorCode MODEL_KEY_EXISTS = new ErrorCode(1_009_002_000, "已经存在流程标识为【{}】的流程");
|
||||||
|
@ -77,6 +77,13 @@ public interface AdminUserApi {
|
|||||||
@Operation(summary = "创建用户")
|
@Operation(summary = "创建用户")
|
||||||
CommonResult<Long> createUser(@RequestBody UserSaveRespDTO saveRespDTO);
|
CommonResult<Long> createUser(@RequestBody UserSaveRespDTO saveRespDTO);
|
||||||
|
|
||||||
|
@PostMapping(PREFIX + "/updateFieldwork")
|
||||||
|
@Operation(summary = "修改用户外勤打卡权限")
|
||||||
|
@Parameter(name = "userId", description = "用户id", example = "1024", required = true)
|
||||||
|
@Parameter(name = "fieldworkFlag", description = "是否可外勤打卡 | 0否 1是", example = "1", required = true)
|
||||||
|
void updateFieldwork(@RequestParam("userId") Long userId,
|
||||||
|
@RequestParam("fieldworkFlag") Integer fieldworkFlag);
|
||||||
|
|
||||||
@GetMapping(PREFIX + "/getUserIdsByUserNature")
|
@GetMapping(PREFIX + "/getUserIdsByUserNature")
|
||||||
@Operation(summary = "获取所有用户性质为外勤的用户")
|
@Operation(summary = "获取所有用户性质为外勤的用户")
|
||||||
@Parameter(name = "userNature", description = "用户性质", example = "3", required = true)
|
@Parameter(name = "userNature", description = "用户性质", example = "3", required = true)
|
||||||
|
@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.system.api.user.dto;
|
|||||||
import cn.iocoder.yudao.framework.common.validation.IdCard;
|
import cn.iocoder.yudao.framework.common.validation.IdCard;
|
||||||
import cn.iocoder.yudao.framework.common.validation.Mobile;
|
import cn.iocoder.yudao.framework.common.validation.Mobile;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import io.swagger.v3.oas.models.security.SecurityScheme;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.hibernate.validator.constraints.Length;
|
import org.hibernate.validator.constraints.Length;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
@ -54,4 +55,7 @@ public class UserSaveRespDTO {
|
|||||||
@Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
|
@Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
|
||||||
@Length(min = 4, max = 16, message = "密码长度为 4-16 位")
|
@Length(min = 4, max = 16, message = "密码长度为 4-16 位")
|
||||||
private String password;
|
private String password;
|
||||||
|
|
||||||
|
@Schema(description = "是否为外勤人员", example = "1")
|
||||||
|
private Integer fieldworkFlag;
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,7 @@ import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
|||||||
import cn.iocoder.yudao.module.system.api.user.dto.UserSaveRespDTO;
|
import cn.iocoder.yudao.module.system.api.user.dto.UserSaveRespDTO;
|
||||||
import cn.iocoder.yudao.module.system.api.user.vo.AdminUserRpcVO;
|
import cn.iocoder.yudao.module.system.api.user.vo.AdminUserRpcVO;
|
||||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSaveReqVO;
|
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSaveReqVO;
|
||||||
|
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserUpdateFieldworkReqVO;
|
||||||
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
|
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
|
||||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
||||||
import cn.iocoder.yudao.module.system.service.dept.DeptService;
|
import cn.iocoder.yudao.module.system.service.dept.DeptService;
|
||||||
@ -90,6 +91,12 @@ public class AdminUserApiImpl implements AdminUserApi {
|
|||||||
return success(userService.createUser(BeanUtils.toBean(saveRespDTO, UserSaveReqVO.class)));
|
return success(userService.createUser(BeanUtils.toBean(saveRespDTO, UserSaveReqVO.class)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateFieldwork(Long userId, Integer fieldworkFlag) {
|
||||||
|
|
||||||
|
userService.updateFieldwork(userId, fieldworkFlag);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CommonResult<List<Long>> getUserIdsByUserNature(Integer userNature) {
|
public CommonResult<List<Long>> getUserIdsByUserNature(Integer userNature) {
|
||||||
|
|
||||||
|
@ -131,6 +131,12 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|||||||
// 默认赋予用户 普通角色
|
// 默认赋予用户 普通角色
|
||||||
permissionService.assignUserRole(user.getId(), Collections.singleton(2L));
|
permissionService.assignUserRole(user.getId(), Collections.singleton(2L));
|
||||||
|
|
||||||
|
// 判断用户是工厂部门的用户 并且userType != 2时
|
||||||
|
if (deptService.getDept(user.getDeptId()).getFactoryId() != null) {
|
||||||
|
// 工厂用户添加到GPS定位系统中
|
||||||
|
gpsIncrementalSynchronizationOfUsers(user);
|
||||||
|
}
|
||||||
|
|
||||||
return user.getId();
|
return user.getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -102,8 +102,8 @@ public class FactoryUserServiceImpl implements FactoryUserService{
|
|||||||
usersExtDO.setDeptId(deptDO.getId());
|
usersExtDO.setDeptId(deptDO.getId());
|
||||||
usersExtDO.setAttendanceMachineNos(convertList(attendanceMachineDOS, AttendanceMachineDO::getDeviceNo));
|
usersExtDO.setAttendanceMachineNos(convertList(attendanceMachineDOS, AttendanceMachineDO::getDeviceNo));
|
||||||
// usersExtService.createUsers(usersExtDO);
|
// usersExtService.createUsers(usersExtDO);
|
||||||
// 工厂用户添加到GPS定位系统中
|
// // 工厂用户添加到GPS定位系统中
|
||||||
adminUserService.gpsIncrementalSynchronizationOfUsers(user);
|
// adminUserService.gpsIncrementalSynchronizationOfUsers(user);
|
||||||
try {
|
try {
|
||||||
|
|
||||||
for (AttendanceMachineDO machineDO : attendanceMachineDOS) {
|
for (AttendanceMachineDO machineDO : attendanceMachineDOS) {
|
||||||
|
Loading…
Reference in New Issue
Block a user