From 3c38492f8e4168136a85ebf41278357ae8017d08 Mon Sep 17 00:00:00 2001 From: furongxin <419481438@qq.com> Date: Fri, 13 Sep 2024 20:32:12 +0800 Subject: [PATCH] =?UTF-8?q?```=E6=89=A9=E5=B1=95=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=A4=96=E5=8B=A4=E6=89=93=E5=8D=A1=E7=B1=BB=E5=9E=8B=E5=B9=B6?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E4=B8=B4=E6=97=B6=E5=A4=96=E5=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增`fieldworkType`字段,用于区分用户外勤打卡类型:1表示永久外勤,2表示临时外勤。 更新`updateFieldwork`方法,以设置相应的外勤类型。添加新的`updateFieldworkType`方法,专门用于修改临时外勤状态。 数据库用户表中新增`fieldworkType`列,并默认设置为0(非外勤)。 修改外勤打卡状态时,现在会根据`fieldworkFlag`的值同时更新`fieldworkType`,以简化外勤管理逻辑。 ``` --- .../module/system/api/user/AdminUserApiImpl.java | 4 ++-- .../system/dal/dataobject/user/AdminUserDO.java | 5 +++++ .../system/service/user/AdminUserService.java | 9 +++++++++ .../system/service/user/AdminUserServiceImpl.java | 13 +++++++++++++ 4 files changed, 29 insertions(+), 2 deletions(-) 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 c95fddd1..8ebf04bc 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 @@ -91,9 +91,9 @@ public class AdminUserApiImpl implements AdminUserApi { } @Override - public void updateFieldwork(Long userId, Integer fieldworkFlag) { + public void updateFieldworkType(Long userId, Integer fieldworkFlag) { - userService.updateFieldwork(userId, fieldworkFlag); + userService.updateFieldworkType(userId, fieldworkFlag); } @Override diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/user/AdminUserDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/user/AdminUserDO.java index c49a0196..9662163d 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/user/AdminUserDO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/user/AdminUserDO.java @@ -107,6 +107,11 @@ public class AdminUserDO extends TenantBaseDO { */ private Integer fieldworkFlag; + /** + * 许外勤打卡类型 1永久 1临时 + */ + private Integer fieldworkType; + /** * 用户类型 * 1:公司用户 2:工厂用户 diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java index adf38ed5..0d7dac53 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java @@ -102,6 +102,15 @@ public interface AdminUserService { */ void updateFieldwork(Long id, Integer fieldworkFlag); + /** + * 修改外勤打卡状态 + * 用于临时开启外勤打卡 + * + * @param id 用户编号 + * @param fieldworkFlag 状态 + */ + void updateFieldworkType(Long id, Integer fieldworkFlag); + /** * 删除用户 * 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 8e5957ad..9b131946 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 @@ -272,9 +272,22 @@ public class AdminUserServiceImpl implements AdminUserService { AdminUserDO updateObj = new AdminUserDO(); updateObj.setId(id); updateObj.setFieldworkFlag(fieldworkFlag); + updateObj.setFieldworkType(fieldworkFlag == 1 ? 1 : 0); //设置为 永久外勤类型 userMapper.updateById(updateObj); } + @Override + public void updateFieldworkType(Long id, Integer fieldworkFlag) { + // 更新状态 + AdminUserDO updateObj = new AdminUserDO(); + updateObj.setId(id); + updateObj.setFieldworkFlag(fieldworkFlag); + updateObj.setFieldworkType(fieldworkFlag == 1 ? 2 : 0); //设置为 临时外勤类型 + userMapper.update(updateObj, new LambdaQueryWrapper() + .eq(AdminUserDO::getId, id) + .ne(AdminUserDO::getFieldworkType, 1)); + } + @Override @Transactional(rollbackFor = Exception.class) public void deleteUser(Long id) {