This commit is contained in:
2026-08-04 11:04:15 +08:00
parent ff3e8075b5
commit 6e3279e485
43 changed files with 2082 additions and 426 deletions
@@ -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);