diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/ErrorCodeConstants.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/ErrorCodeConstants.java index 7dbc39f6..1bcd6d59 100644 --- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/ErrorCodeConstants.java +++ b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/ErrorCodeConstants.java @@ -35,6 +35,7 @@ public interface ErrorCodeConstants { 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_ENTRY_NOT_EXISTS = new ErrorCode(1_009_001_111, "入职申请不存在"); + ErrorCode OA_GOOut_NOT_EXISTS = new ErrorCode(1_009_001_112, "外出申请不存在"); // ========== 流程模型 1-009-002-000 ========== ErrorCode MODEL_KEY_EXISTS = new ErrorCode(1_009_002_000, "已经存在流程标识为【{}】的流程"); diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApi.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApi.java index 85fdb0f7..2087974c 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApi.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApi.java @@ -77,6 +77,13 @@ public interface AdminUserApi { @Operation(summary = "创建用户") CommonResult 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") @Operation(summary = "获取所有用户性质为外勤的用户") @Parameter(name = "userNature", description = "用户性质", example = "3", required = true) diff --git a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/user/dto/UserSaveRespDTO.java b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/user/dto/UserSaveRespDTO.java index 125313e0..dda8cea6 100644 --- a/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/user/dto/UserSaveRespDTO.java +++ b/yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/user/dto/UserSaveRespDTO.java @@ -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.Mobile; import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.models.security.SecurityScheme; import lombok.Data; import org.hibernate.validator.constraints.Length; import org.springframework.format.annotation.DateTimeFormat; @@ -54,4 +55,7 @@ public class UserSaveRespDTO { @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456") @Length(min = 4, max = 16, message = "密码长度为 4-16 位") private String password; + + @Schema(description = "是否为外勤人员", example = "1") + private Integer fieldworkFlag; } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApiImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApiImpl.java index acdef087..41942b69 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApiImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApiImpl.java @@ -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.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.UserUpdateFieldworkReqVO; 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.service.dept.DeptService; @@ -90,6 +91,12 @@ public class AdminUserApiImpl implements AdminUserApi { return success(userService.createUser(BeanUtils.toBean(saveRespDTO, UserSaveReqVO.class))); } + @Override + public void updateFieldwork(Long userId, Integer fieldworkFlag) { + + userService.updateFieldwork(userId, fieldworkFlag); + } + @Override public CommonResult> getUserIdsByUserNature(Integer userNature) { diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java index faa64236..8e5957ad 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java @@ -131,6 +131,12 @@ public class AdminUserServiceImpl implements AdminUserService { // 默认赋予用户 普通角色 permissionService.assignUserRole(user.getId(), Collections.singleton(2L)); + // 判断用户是工厂部门的用户 并且userType != 2时 + if (deptService.getDept(user.getDeptId()).getFactoryId() != null) { + // 工厂用户添加到GPS定位系统中 + gpsIncrementalSynchronizationOfUsers(user); + } + return user.getId(); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/FactoryUserServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/FactoryUserServiceImpl.java index aff328bc..e6e988dd 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/FactoryUserServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/FactoryUserServiceImpl.java @@ -102,8 +102,8 @@ public class FactoryUserServiceImpl implements FactoryUserService{ usersExtDO.setDeptId(deptDO.getId()); usersExtDO.setAttendanceMachineNos(convertList(attendanceMachineDOS, AttendanceMachineDO::getDeviceNo)); // usersExtService.createUsers(usersExtDO); - // 工厂用户添加到GPS定位系统中 - adminUserService.gpsIncrementalSynchronizationOfUsers(user); +// // 工厂用户添加到GPS定位系统中 +// adminUserService.gpsIncrementalSynchronizationOfUsers(user); try { for (AttendanceMachineDO machineDO : attendanceMachineDOS) {