commit
This commit is contained in:
+22
-9
@@ -133,10 +133,20 @@ public class ActivityBasicScopeUserDataController {
|
||||
|
||||
|
||||
/**
|
||||
* 删除一条记录
|
||||
* 删除活动分组人员。
|
||||
* id 有值时删除单个人员;id 为空时按当前页面的姓名/工号、工会、单位、人员类别和在职状态筛选后批量删除。
|
||||
* groupId 为待删除人员所在的活动分组;existsLoginNameRedisKey 为导入核对名单生成的工号筛选缓存键。
|
||||
* 返回 Result,code 为 0 表示删除处理成功。
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
* @param id 单个人员 ID;批量删除时传空
|
||||
* @param groupId 当前活动分组 ID
|
||||
* @param searchKeyword 姓名或工号关键字
|
||||
* @param unionId 所属工会 ID
|
||||
* @param unitId 所属单位 ID
|
||||
* @param personType 教职工类别
|
||||
* @param userState 在职状态
|
||||
* @param existsLoginNameRedisKey 导入核对名单的 Redis 缓存键
|
||||
* @return 删除结果
|
||||
*/
|
||||
@At
|
||||
@SLog(tag = "活动人员查询", msg = "删除活动人员")
|
||||
@@ -145,7 +155,6 @@ public class ActivityBasicScopeUserDataController {
|
||||
public Result doDelete(@Param(value = "id") String id,
|
||||
@Param(value = "groupId") Integer groupId,
|
||||
@Param(value = "searchKeyword") String searchKeyword,
|
||||
@Param(value = "searchName") String searchName,
|
||||
@Param(value = "unionId") String unionId,
|
||||
@Param(value = "unitId") String unitId,
|
||||
@Param(value = "personType") String personType,
|
||||
@@ -160,7 +169,7 @@ public class ActivityBasicScopeUserDataController {
|
||||
}
|
||||
}
|
||||
|
||||
List<String> targetUserIds = queryGroupUserIds(groupId, id, searchKeyword, searchName, unionId, unitId, personType, userState, existsLoginNames);
|
||||
List<String> targetUserIds = queryGroupUserIds(groupId, id, searchKeyword, unionId, unitId, personType, userState, existsLoginNames);
|
||||
if (Lang.isEmpty(targetUserIds)) {
|
||||
return Result.success();
|
||||
}
|
||||
@@ -282,9 +291,10 @@ public class ActivityBasicScopeUserDataController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除时需要先按页面当前筛选条件圈定目标人员,再根据分组类型删除对应存储表中的快照数据。
|
||||
* 删除时需要先按页面当前筛选条件圈定目标人员。姓名或工号关键字必须与列表查询使用相同的匹配规则,
|
||||
* 再根据分组类型删除对应存储表中的快照数据。
|
||||
*/
|
||||
private List<String> queryGroupUserIds(Integer groupId, String id, String searchKeyword, String searchName,
|
||||
private List<String> queryGroupUserIds(Integer groupId, String id, String searchKeyword,
|
||||
String unionId, String unitId, String personType, String userState,
|
||||
List<String> existsLoginNames) {
|
||||
Sql sql = Sqls.queryString("""
|
||||
@@ -296,8 +306,11 @@ public class ActivityBasicScopeUserDataController {
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and("u.id", "in", activityBasicScopeService.buildGroupUserIdSubSql(groupId));
|
||||
if (StrUtil.isNotBlank(searchName) && StrUtil.isNotBlank(searchKeyword)) {
|
||||
cnd.and(Cnd.likeEX(searchName, searchKeyword));
|
||||
if (StrUtil.isNotBlank(searchKeyword)) {
|
||||
SqlExpressionGroup group = new SqlExpressionGroup();
|
||||
group.orLike("u.username", searchKeyword);
|
||||
group.orLike("u.loginname", searchKeyword);
|
||||
cnd.and(group);
|
||||
}
|
||||
cnd.andEX("u.unionid", "=", unionId);
|
||||
cnd.andEX("u.unitid", "=", unitId);
|
||||
|
||||
Reference in New Issue
Block a user