```扩展用户外勤打卡类型并支持临时外勤

新增`fieldworkType`字段,用于区分用户外勤打卡类型:1表示永久外勤,2表示临时外勤。
更新`updateFieldwork`方法,以设置相应的外勤类型。添加新的`updateFieldworkType`方法,专门用于修改临时外勤状态。

数据库用户表中新增`fieldworkType`列,并默认设置为0(非外勤)。

修改外勤打卡状态时,现在会根据`fieldworkFlag`的值同时更新`fieldworkType`,以简化外勤管理逻辑。
```
This commit is contained in:
furongxin 2024-09-13 20:32:12 +08:00
parent f3ecc06f6b
commit 3c38492f8e
4 changed files with 29 additions and 2 deletions

View File

@ -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

View File

@ -107,6 +107,11 @@ public class AdminUserDO extends TenantBaseDO {
*/
private Integer fieldworkFlag;
/**
* 许外勤打卡类型 1永久 1临时
*/
private Integer fieldworkType;
/**
* 用户类型
* 1公司用户 2工厂用户

View File

@ -102,6 +102,15 @@ public interface AdminUserService {
*/
void updateFieldwork(Long id, Integer fieldworkFlag);
/**
* 修改外勤打卡状态
* 用于临时开启外勤打卡
*
* @param id 用户编号
* @param fieldworkFlag 状态
*/
void updateFieldworkType(Long id, Integer fieldworkFlag);
/**
* 删除用户
*

View File

@ -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<AdminUserDO>()
.eq(AdminUserDO::getId, id)
.ne(AdminUserDO::getFieldworkType, 1));
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteUser(Long id) {