commit
This commit is contained in:
@@ -56,6 +56,7 @@ public class RoleEventMsg {
|
||||
|
||||
public RoleEventMsg(String unitId, String roleCode, Integer operationType){
|
||||
this.unitId = unitId;
|
||||
this.roleCode = roleCode;
|
||||
this.operationType = operationType;
|
||||
}
|
||||
|
||||
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
package com.budwk.app.flow.handler;
|
||||
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.flow.engine.AssignmentHandler;
|
||||
import com.budwk.app.flow.engine.core.Execution;
|
||||
import com.budwk.app.flow.engine.core.ServiceContext;
|
||||
import com.budwk.app.flow.engine.model.TaskModel;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author FKY
|
||||
* @name:FlowSchoolUnionAdminByArgsAssignmentHandler
|
||||
* @Date 2025/9/29 17:00
|
||||
* @注释
|
||||
*/
|
||||
public class FlowSchoolUnionAdminByArgsAssignmentHandler implements AssignmentHandler {
|
||||
|
||||
@Override
|
||||
public List<String> assign(TaskModel model, Execution execution) {
|
||||
Dao dao = ServiceContext.find(Dao.class);
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
userRole.userId
|
||||
FROM
|
||||
`sys_user_role` userRole
|
||||
LEFT JOIN sys_role role ON role.id = userRole.roleId
|
||||
WHERE
|
||||
role.`code` = @roleCode
|
||||
GROUP BY
|
||||
userRole.userId
|
||||
""").setParam("roleCode", RoleConstant.SCHOOL_UNION_ADMIN.name());
|
||||
sql.setCallback(Sqls.callback.strList());
|
||||
dao.execute(sql);
|
||||
return sql.getList(String.class);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getMessage() {
|
||||
return "获取校工会管理员";
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getOrder() {
|
||||
return AssignmentHandler.super.getOrder();
|
||||
}
|
||||
}
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
package com.budwk.app.flow.handler;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.flow.constant.FlowConst;
|
||||
import com.budwk.app.flow.engine.AssignmentHandler;
|
||||
import com.budwk.app.flow.engine.core.Execution;
|
||||
import com.budwk.app.flow.engine.core.ServiceContext;
|
||||
import com.budwk.app.flow.engine.model.TaskModel;
|
||||
import com.budwk.app.sys.models.Sys_role;
|
||||
import com.budwk.app.sys.models.Sys_union_group;
|
||||
import com.budwk.app.sys.models.Sys_user_role;
|
||||
import com.budwk.app.sys.services.SysRoleService;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.util.cri.Static;
|
||||
import org.nutz.lang.Lang;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:FlowUnionGroupLeadersByArgsAssignmentHandler
|
||||
* @Date 2025/9/28 16:35
|
||||
* @注释 获取工会小组长
|
||||
*/
|
||||
public class FlowUnionGroupLeadersByArgsAssignmentHandler implements AssignmentHandler {
|
||||
|
||||
|
||||
@Override
|
||||
public List<String> assign(TaskModel model, Execution execution) {
|
||||
Dao dao = ServiceContext.find(Dao.class);
|
||||
String unitId = StrUtil.blankToDefault(execution.getArgs().getStr(FlowConst.INITIATOR_UNIT_ID), SecurityUtil.getUnitId());
|
||||
String unionId = StrUtil.blankToDefault(execution.getArgs().getStr(FlowConst.INITIATOR_UNIT_UNION_ID), SecurityUtil.getUnionId());
|
||||
Sys_union_group group = dao.fetch(Sys_union_group.class, Cnd.where(Sys_union_group::getUnionId, "=", unionId)
|
||||
.and(new Static(" JSON_CONTAINS(unitIds, '\"%s\"')".formatted(unitId))));
|
||||
return Lang.isNotEmpty(group) ? group.getLeaders() : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMessage() {
|
||||
return "当前登录用户的工会小组长";
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getOrder() {
|
||||
return AssignmentHandler.super.getOrder();
|
||||
}
|
||||
}
|
||||
@@ -12,6 +12,8 @@ import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
@@ -40,6 +42,7 @@ public class SysDataUserPullController {
|
||||
@ApiOperation("分页数据")
|
||||
@Ok("json:{locked:'password|idCard|mobile'}")
|
||||
public Result pageData(@Valid SysDataUserPullPageForm pageForm) {
|
||||
Sql sql = Sqls.create("select us.*,su.`name` AS unit_name from sys_user_source us left join sys_unit su ON su.id = us.unitId $condition");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX(Sys_user_source::getPullTime, "=", pageForm.getPullTime());
|
||||
cnd.and(Cnd.likeEX(Sys_user_source::getUsername, pageForm.getUserName()));
|
||||
@@ -53,7 +56,8 @@ public class SysDataUserPullController {
|
||||
cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
|
||||
}
|
||||
cnd.desc(Sys_user_source::getPullTime);
|
||||
Pagination pagination = sysUserPullService.listPage(pageForm.getPageNumber(), pageForm.getPageSize(), cnd);
|
||||
sql.setCondition(cnd);
|
||||
Pagination pagination = sysUserPullService.listPage(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
|
||||
|
||||
@@ -334,7 +334,16 @@ public class SysUnionController {
|
||||
if (Lang.isEmpty(role)) {
|
||||
throw new BaseException("无法找到{}对应编码的角色", roleCode);
|
||||
}
|
||||
sysRoleService.clear("sys_user_role", Cnd.where("roleId", "=", role.getId()).and("userId", "=", userId).and("unionId", "=", unionId));
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and("roleId", "=", role.getId());
|
||||
if (StrUtil.isNotBlank(userId)) {
|
||||
cnd.and("userId", "=", userId);
|
||||
} else {
|
||||
cnd.and("userId", "is", null);
|
||||
}
|
||||
cnd.and("unionId", "=", unionId);
|
||||
|
||||
sysRoleService.clear("sys_user_role", cnd);
|
||||
sysRoleService.clearCache();
|
||||
sysUserService.clearCache();
|
||||
return Result.success();
|
||||
|
||||
@@ -5,12 +5,16 @@ import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.sys.models.Sys_union_group;
|
||||
import com.budwk.app.sys.models.Sys_unit;
|
||||
import com.budwk.app.sys.services.SysUnionGroupService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
@@ -84,4 +88,31 @@ public class SysUnionGroupController {
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@SaCheckPermission("sys.manager.union")
|
||||
@ApiOperation("获取组成单位")
|
||||
public Result getUnits(String unionId, String groupId){
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
j.unitId
|
||||
FROM
|
||||
sys_union_group,
|
||||
JSON_TABLE (unitIds, '$[*]' COLUMNS (unitId VARCHAR (50) PATH '$')) AS j
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and("unionId", "=", unionId);
|
||||
cnd.andEX("id", "!=", groupId);
|
||||
sql.setCondition(cnd);
|
||||
|
||||
sql.setCallback(Sqls.callback.strList());
|
||||
dao.execute(sql);
|
||||
List<String> list = sql.getList(String.class);
|
||||
|
||||
List<Sys_unit> unitList = dao.query(Sys_unit.class,
|
||||
Cnd.where("unionId", "=", unionId)
|
||||
.and("unitTypeCode", "=", "1")
|
||||
.andEX("id", "not in", list));
|
||||
return Result.success(unitList);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
package com.budwk.app.sys.listener;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.budwk.app.base.event.user.UserChangeEventListener;
|
||||
import com.budwk.app.base.event.user.UserChangeMsg;
|
||||
import com.budwk.app.sys.models.Sys_user_role;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:SysUserChangeListener
|
||||
* @Date 2025/8/13 15:24
|
||||
* @注释 有关系统人员的广播监听
|
||||
*/
|
||||
@IocBean
|
||||
public class SysUserChangeListener implements UserChangeEventListener {
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
|
||||
@Override
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public void receive(UserChangeMsg message) {
|
||||
if (ObjectUtil.equals(message.getOperationType(), UserChangeMsg.UNIT_CHANGE_OPERATION)) {
|
||||
// 单位变动,删除原单位的角色
|
||||
dao.clear(Sys_user_role.class, Cnd.where("userId", "in", message.getUserIds()).and("unitId", "=", message.getSourceUnitId()));
|
||||
|
||||
// 判断这两个单位是不是在一个工会,如果不是,删除原来工会的所有角色
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
(SELECT unionId FROM sys_unit WHERE id = @sourceUnitId) AS sourceUnionId,
|
||||
(SELECT unionId FROM sys_unit WHERE id = @targetUnitId) AS targetUnionId,
|
||||
CASE
|
||||
WHEN (SELECT unionId FROM sys_unit WHERE id = @sourceUnitId) IS NULL
|
||||
AND (SELECT unionId FROM sys_unit WHERE id = @targetUnitId) IS NULL THEN true
|
||||
WHEN (SELECT unionId FROM sys_unit WHERE id = @sourceUnitId) =
|
||||
(SELECT unionId FROM sys_unit WHERE id = @targetUnitId) THEN true
|
||||
ELSE false
|
||||
END AS result
|
||||
""").setParam("sourceUnitId", message.getSourceUnitId()).setParam("targetUnitId", message.getTargetUnitId());
|
||||
sql.setCallback(Sqls.callback.map());
|
||||
dao.execute(sql);
|
||||
NutMap result = (NutMap) sql.getResult();
|
||||
|
||||
if (!result.getBoolean("result")) {
|
||||
dao.clear(Sys_user_role.class, Cnd.where("userId", "in", message.getUserIds()).and("unionId", "=", result.getString("sourceUnionId")));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,8 @@ import lombok.EqualsAndHashCode;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
import org.nutz.dao.interceptor.annotation.PrevInsert;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Table("sys_union_group")
|
||||
@@ -23,6 +25,11 @@ public class Sys_union_group extends BaseModel {
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String unionId;
|
||||
|
||||
@Column
|
||||
@Comment("绑定单位Id集合")
|
||||
@ColDefine(type = ColType.MYSQL_JSON)
|
||||
private List<String> unitIds;
|
||||
|
||||
@Comment("名称")
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
@@ -36,7 +43,6 @@ public class Sys_union_group extends BaseModel {
|
||||
@Comment("小组长")
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String leader;
|
||||
|
||||
private List<String> leaders;
|
||||
|
||||
}
|
||||
|
||||
@@ -9,6 +9,8 @@ import cn.hutool.http.HtmlUtil;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.base.event.role.RoleEventMsg;
|
||||
import com.budwk.app.base.event.role.RoleEventPublisher;
|
||||
import com.budwk.app.base.event.user.UserChangeMsg;
|
||||
import com.budwk.app.base.event.user.UserChangePublisher;
|
||||
import com.budwk.app.base.utils.PwdUtil;
|
||||
import com.budwk.app.sys.annotation.DataCenterColumn;
|
||||
import com.budwk.app.sys.models.*;
|
||||
@@ -60,6 +62,9 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
||||
@Inject
|
||||
private ThreadPoolTaskExecutor executorService;
|
||||
|
||||
|
||||
private static Map<String, String> unitIdNameMap;
|
||||
|
||||
/**
|
||||
* 字段映射类,用于缓存反射结果
|
||||
*/
|
||||
@@ -150,6 +155,10 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
||||
Sys_role publicRole = sysRoleService.getByCode(RoleConstant.PUBLIC);
|
||||
Sys_role memberRole = sysRoleService.getByCode(RoleConstant.MEMBER);
|
||||
|
||||
// 获取单位信息,后续判断单位变更
|
||||
List<Sys_unit> unitList = dao.query(Sys_unit.class, Cnd.where("unitTypeCode", "=", "1"));
|
||||
unitIdNameMap = unitList.stream().collect(Collectors.toMap(Sys_unit::getId, Sys_unit::getName));
|
||||
|
||||
// 查询数据源
|
||||
Cnd cnd = Cnd.where(Sys_user_source::getPullTime, "=", updateParam.getPullTime());
|
||||
|
||||
@@ -443,9 +452,13 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
||||
NutMap change = NutMap.NEW();
|
||||
change.put("fieldName", "单位");
|
||||
change.put("field", "unitId");
|
||||
change.put("sourceValue", user.getUnitId());
|
||||
change.put("newValue", source.getUnitId());
|
||||
change.put("sourceValue", unitIdNameMap.get(user.getUnitId()));
|
||||
change.put("newValue", unitIdNameMap.get(user.getUnitId()));
|
||||
changeList.add(change);
|
||||
|
||||
// 单位异动发送订阅消息,清空原单位的所有角色
|
||||
UserChangePublisher.broadcast(new UserChangeMsg(List.of(user.getId()),
|
||||
UserChangeMsg.UNIT_CHANGE_OPERATION, user.getUnitId(), source.getUnitId()));
|
||||
}
|
||||
|
||||
// 如果没有任何变更,返回null
|
||||
|
||||
@@ -6,12 +6,15 @@ import cn.hutool.core.thread.AsyncUtil;
|
||||
import cn.hutool.core.thread.ThreadUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.base.event.role.RoleEventMsg;
|
||||
import com.budwk.app.base.event.role.RoleEventPublisher;
|
||||
import com.budwk.app.base.utils.ConditionGroupUtil;
|
||||
import com.budwk.app.base.utils.PwdUtil;
|
||||
import com.budwk.app.sys.models.*;
|
||||
import com.budwk.app.sys.param.SysDataUserUpdateParam;
|
||||
import com.budwk.app.sys.services.SysDataUserUpdateService;
|
||||
import com.budwk.app.sys.services.SysRoleService;
|
||||
import com.budwk.app.zhgh.democratic.proposal.models.ProposalConfig;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
@@ -143,6 +146,12 @@ public class SysDataUserIncrUpdateServiceImpl implements SysDataUserUpdateServic
|
||||
// 计算设置为会员的人数
|
||||
long memberCount = sysUsers.stream().filter(Sys_user::getMember).count();
|
||||
|
||||
// 6.1 更新提案的校领导角色,发送订阅
|
||||
ProposalConfig config = dao.fetch(ProposalConfig.class, Cnd.where("delFlag", "=", false).desc("updatedAt"));
|
||||
for (String unitId : config.getSchoolLeaderUnitIds()) {
|
||||
RoleEventPublisher.broadcast(new RoleEventMsg(unitId, RoleConstant.PROPOSAL_BRANCH_SCHOOL_LEADER.name(), RoleEventMsg.RENEW_ROLE));
|
||||
}
|
||||
|
||||
return StrUtil.format("增量更新成功,本次更新新入职老师{}人,新增单位{}个,设置为会员{}人。", sysUsers.size(), insertUnits.size(), memberCount);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ public class SysUnionGroupServiceImpl extends BaseServiceImpl<Sys_union_group> i
|
||||
throw new BaseException("小组编码已存在");
|
||||
}
|
||||
dao().insert(group);
|
||||
grantRole(group.getId(), group.getLeader());
|
||||
grantRole(group.getId(), group.getLeaders());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -59,7 +59,7 @@ public class SysUnionGroupServiceImpl extends BaseServiceImpl<Sys_union_group> i
|
||||
throw new BaseException("小组编码已存在");
|
||||
}
|
||||
dao().updateIgnoreNull(group);
|
||||
grantRole(group.getId(), group.getLeader());
|
||||
grantRole(group.getId(), group.getLeaders());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -88,20 +88,46 @@ public class SysUnionGroupServiceImpl extends BaseServiceImpl<Sys_union_group> i
|
||||
public Pagination pageData(PageForm pageForm, String unionId) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
t1.*,
|
||||
t2.username AS leaderUserName,
|
||||
t2.mobile AS leaderMobile
|
||||
t1.id,
|
||||
t1.`code`,
|
||||
t1.unionId,
|
||||
t1.`name`,
|
||||
t1.leaders,
|
||||
t1.unitIds,
|
||||
u_agg.unitInfos,
|
||||
l_agg.leaderInfos
|
||||
FROM
|
||||
sys_union_group t1
|
||||
LEFT JOIN sys_user t2 ON t2.id = t1.leader
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
tg.id,
|
||||
GROUP_CONCAT(u.NAME ORDER BY u.id) AS unitInfos
|
||||
FROM
|
||||
sys_union_group tg
|
||||
JOIN JSON_TABLE (tg.unitIds, '$[*]' COLUMNS (unitId VARCHAR (50) PATH '$')) ju
|
||||
JOIN sys_unit u ON u.id = ju.unitId
|
||||
GROUP BY
|
||||
tg.id
|
||||
) u_agg ON u_agg.id = t1.id
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
tg.id,
|
||||
GROUP_CONCAT(CONCAT(u1.username, '(', u1.loginname, ')') ORDER BY u1.username) AS leaderInfos
|
||||
FROM
|
||||
sys_union_group tg
|
||||
JOIN JSON_TABLE (tg.leaders, '$[*]' COLUMNS (userId VARCHAR (50) PATH '$')) jl
|
||||
JOIN sys_user u1 ON u1.id = jl.userId
|
||||
GROUP BY
|
||||
tg.id
|
||||
) l_agg ON l_agg.id = t1.id
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and("t1.unionId", "=", unionId);
|
||||
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
|
||||
cnd.where().andLike("t1.name", pageForm.getSearchKeyword());
|
||||
cnd.where().andLike("t1.`name`", pageForm.getSearchKeyword());
|
||||
}
|
||||
cnd.asc("t1.code");
|
||||
cnd.asc("t1.`code`");
|
||||
sql.setCondition(cnd);
|
||||
Pagination pagination = listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
return pagination;
|
||||
@@ -124,16 +150,19 @@ public class SysUnionGroupServiceImpl extends BaseServiceImpl<Sys_union_group> i
|
||||
* @param groupId 小组id
|
||||
* @param groupLeader 组长id
|
||||
*/
|
||||
private void grantRole(String groupId, String groupLeader) {
|
||||
private void grantRole(String groupId, List<String> groupLeader) {
|
||||
// 小组长权限
|
||||
Sys_role unionGroupRole = sysRoleService.getByCode(RoleConstant.BRANCH_UNION_GROUP_LEADER.name());
|
||||
deleteUserRole(groupId, unionGroupRole.getId());
|
||||
|
||||
Sys_user_role userRole = new Sys_user_role();
|
||||
userRole.setRoleId(unionGroupRole.getId());
|
||||
userRole.setUnionGroupId(groupId);
|
||||
userRole.setUserId(groupLeader);
|
||||
dao().insert(userRole);
|
||||
List<Sys_user_role> roleList = groupLeader.stream().map(v -> {
|
||||
Sys_user_role userRole = new Sys_user_role();
|
||||
userRole.setRoleId(unionGroupRole.getId());
|
||||
userRole.setUnionGroupId(groupId);
|
||||
userRole.setUserId(v);
|
||||
return userRole;
|
||||
}).toList();
|
||||
dao().insert(roleList);
|
||||
|
||||
sysUserService.clearCache();
|
||||
sysRoleService.clearCache();
|
||||
|
||||
@@ -18,6 +18,7 @@ import com.budwk.app.sys.models.*;
|
||||
import com.budwk.app.sys.services.SysMenuService;
|
||||
import com.budwk.app.sys.services.SysRoleService;
|
||||
import com.budwk.app.sys.services.SysUserService;
|
||||
import com.budwk.app.sys.views.View_user;
|
||||
import com.budwk.app.web.commons.base.Globals;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Chain;
|
||||
@@ -388,7 +389,17 @@ public class SysUserServiceImpl extends BaseServiceImpl<Sys_user> implements Sys
|
||||
|
||||
StpUtil.login(user.getId());
|
||||
StpUtil.checkLogin();
|
||||
StpUtil.getSession(true).set("loginname", Strings.sNull(user.getLoginname())).set("username", Strings.sNull(user.getUsername())).set("unitId", Strings.sNull(user.getUnitId())).set("unitPath", Strings.sNull(user.getUnitPath())).set("unionId", ObjectUtil.isEmpty(user.getUnion()) ? "" : user.getUnion().getId());
|
||||
// 查询一下视图,存储一些sys_user表中没有的字段
|
||||
View_user viewUser = dao().fetch(View_user.class, Cnd.where("id", "=", user.getId()));
|
||||
StpUtil.getSession(true)
|
||||
.set("loginname", Strings.sNull(user.getLoginname()))
|
||||
.set("username", Strings.sNull(user.getUsername()))
|
||||
.set("unitId", Strings.sNull(user.getUnitId()))
|
||||
.set("unitPath", Strings.sNull(user.getUnitPath()))
|
||||
.set("unionId", ObjectUtil.isEmpty(user.getUnion()) ? "" : user.getUnion().getId())
|
||||
.set("unionGroupId", Strings.sNull(viewUser.getUnionGroupId()))
|
||||
.set("clubIds", Strings.sNull(viewUser.getClubIds()));
|
||||
|
||||
Sys_log sysLog = new Sys_log();
|
||||
sysLog.setType("info");
|
||||
sysLog.setTag("用户登陆");
|
||||
|
||||
@@ -199,4 +199,12 @@ public class View_user {
|
||||
@Column
|
||||
private String expectedLeaveSchoolDate;
|
||||
|
||||
@Column
|
||||
private String unionGroupId;
|
||||
|
||||
@Column
|
||||
private String unionGroupName;
|
||||
|
||||
@Column
|
||||
private String clubIds;
|
||||
}
|
||||
|
||||
@@ -4,30 +4,68 @@ import cn.dev33.satoken.session.SaSession;
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import org.nutz.lang.Strings;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author wizzer@qq.com
|
||||
*/
|
||||
public class SecurityUtil {
|
||||
|
||||
/**
|
||||
* 获取当前用户ID
|
||||
*/
|
||||
public static String getUserId() {
|
||||
return Strings.sNull(StpUtil.getLoginId(""));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前用户登录名
|
||||
*/
|
||||
public static String getUserLoginname() {
|
||||
return Strings.sNull(getSession().get("loginname"));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前用户姓名
|
||||
*/
|
||||
public static String getUserUsername() {
|
||||
return Strings.sNull(getSession().get("username"));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前用户单位ID
|
||||
*/
|
||||
public static String getUnitId() {
|
||||
return Strings.sNull(getSession().get("unitId"));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前用户工会ID
|
||||
*/
|
||||
public static String getUnionId() {
|
||||
return Strings.sNull(getSession().get("unionId"));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取当前用户工会小组ID
|
||||
*/
|
||||
public static String getUnionGroupId() {
|
||||
return Strings.sNull(getSession().get("unionGroupId"));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前用户协会ID
|
||||
*/
|
||||
public static List<String> getClubIds() {
|
||||
String clubIds = getSession().get("clubIds").toString();
|
||||
return Arrays.stream(clubIds.split(",")).toList();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前用户Session
|
||||
*/
|
||||
public static SaSession getSession() {
|
||||
return StpUtil.getSession(true);
|
||||
}
|
||||
|
||||
-11
@@ -146,17 +146,6 @@ public class MemberApplyBranchUnionApprovalController {
|
||||
Pagination<NutMap> pagination = memberApplyRecordService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ApiOperation("分工会审核撤回")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SaCheckPermission("member.apply.branchUnionApproval")
|
||||
@SLog(tag = "会员管理-入会申请-分工会撤回", msg = "分工会入会审核撤回")
|
||||
public Result revoke(@Valid String taskId) {
|
||||
bpmService.revokeTask(taskId);
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
+6
-4
@@ -39,15 +39,17 @@ public class MemberApplyCommonController {
|
||||
return Result.success(user);
|
||||
}
|
||||
|
||||
// 分会主席只能查看本分会用户或未分配分会的用户
|
||||
if (AuthUtil.hasRole(RoleConstant.BRANCH_UNION_CHAIRMAN.name()) && (user.getUnionId().equals(SecurityUtil.getUnionId()) || StrUtil.isBlank(user.getUnionId()))) {
|
||||
// 分会主席只能查看本分会用户或未分配分会的用户 分工会操作员同主席权限一致
|
||||
if (AuthUtil.hasRoleOr(RoleConstant.BRANCH_UNION_CHAIRMAN.name(), RoleConstant.BRANCH_UNION_OPERATOR.name()) && (user.getUnionId().equals(SecurityUtil.getUnionId()) || StrUtil.isBlank(user.getUnionId()))) {
|
||||
user.setIdCard(DesensitizedUtil.idCardNum(user.getIdCard(), 3, 4));
|
||||
user.setMobile(DesensitizedUtil.mobilePhone(user.getMobile()));
|
||||
return Result.success(user);
|
||||
}
|
||||
|
||||
// 分工会操作员同主席权限一致
|
||||
if (AuthUtil.hasRole(RoleConstant.BRANCH_UNION_OPERATOR.name()) && (user.getUnionId().equals(SecurityUtil.getUnionId()) || StrUtil.isBlank(user.getUnionId()))) {
|
||||
// 工会小组组长可以看小组里面的用户
|
||||
if (AuthUtil.hasRole(RoleConstant.BRANCH_UNION_GROUP_LEADER.name())
|
||||
&& StrUtil.isAllNotBlank(user.getUnionGroupId(), SecurityUtil.getUnionGroupId())
|
||||
&& user.getUnionGroupId().equals(SecurityUtil.getUnionGroupId())) {
|
||||
user.setIdCard(DesensitizedUtil.idCardNum(user.getIdCard(), 3, 4));
|
||||
user.setMobile(DesensitizedUtil.mobilePhone(user.getMobile()));
|
||||
return Result.success(user);
|
||||
|
||||
+11
@@ -12,6 +12,7 @@ import com.budwk.app.flow.entity.ProcessInstance;
|
||||
import com.budwk.app.flow.entity.ProcessTask;
|
||||
import com.budwk.app.flow.enums.ProcessSubmitTypeEnum;
|
||||
import com.budwk.app.flow.service.FlowCommonService;
|
||||
import com.budwk.app.sys.models.Sys_union_group;
|
||||
import com.budwk.app.web.commons.auth.utils.AuthUtil;
|
||||
import com.budwk.app.sys.views.View_user;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
@@ -28,6 +29,7 @@ import org.nutz.dao.util.cri.Static;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.Lang;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
@@ -91,6 +93,11 @@ public class MemberApplyController {
|
||||
args.set("origin", "OTHER");
|
||||
memberApplyRecord.setOrigin("OTHER");
|
||||
}
|
||||
// 再去判断有没有工会小组
|
||||
Sys_union_group group = dao.fetch(Sys_union_group.class, Cnd.where(Sys_union_group::getUnionId, "=", SecurityUtil.getUnionId())
|
||||
.and(new Static("JSON_CONTAINS(unitIds, '\"%s\"')".formatted(SecurityUtil.getUnitId()))));
|
||||
args.set("type", Lang.isEmpty(group) ? "branch" : "group");
|
||||
|
||||
dao.insertOrUpdate(memberApplyRecord);
|
||||
|
||||
args.set(FlowConst.SUBMIT_TYPE, ProcessSubmitTypeEnum.APPLY.getCode());
|
||||
@@ -121,6 +128,10 @@ public class MemberApplyController {
|
||||
dict.set("origin", "OTHER");
|
||||
memberApplyRecord.setOrigin("OTHER");
|
||||
}
|
||||
// 再去判断有没有工会小组
|
||||
Sys_union_group group = dao.fetch(Sys_union_group.class, Cnd.where(Sys_union_group::getUnionId, "=", SecurityUtil.getUnionId())
|
||||
.and(new Static("JSON_CONTAINS(unitIds, '\"%s\"')".formatted(SecurityUtil.getUnitId()))));
|
||||
dict.set("type", Lang.isEmpty(group) ? "branch" : "group");
|
||||
|
||||
dao.insertOrUpdate(memberApplyRecord);
|
||||
|
||||
|
||||
-31
@@ -144,37 +144,6 @@ public class MemberApplySchoolUnionApprovalController {
|
||||
return Result.success(pagination);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@ApiOperation("会员入会校工会审核")
|
||||
@SaCheckPermission("member.apply.schoolUnionApproval")
|
||||
@SLog(tag = "会员管理-会员入会申请-校工会审核", msg = "会员入会审核(校工会)")
|
||||
public Result approval(@Param("approval") @Valid BpmTaskApprovalParam approvalParam) {
|
||||
Map<String, Object> variables = BeanUtil.beanToMap(approvalParam);
|
||||
|
||||
if (approvalParam.getBpmTaskApprovalTypeEnum().equals(BpmTaskApprovalTypeEnum.PASS)) {
|
||||
// 审核通过了,要去改基础数据
|
||||
MemberApplyRecord record = memberCommonService.dao().fetch(MemberApplyRecord.class, Cnd.where("id", "=", approvalParam.getProcessInstanceBusinessId()));
|
||||
Sys_user sysUser = new Sys_user();
|
||||
BeanUtil.copyProperties(record, sysUser);
|
||||
sysUser.setId(record.getUserId());
|
||||
dao.updateIgnoreNull(sysUser);
|
||||
}
|
||||
bpmService.completeTask(approvalParam.getProcessInstanceTaskId(), approvalParam.getBpmTaskApprovalTypeEnum(), variables, null);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ApiOperation("校工会审核撤回")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SaCheckPermission("member.apply.schoolUnionApproval")
|
||||
@SLog(tag = "会员管理-入会申请-校工会撤回", msg = "校工会入会审核撤回")
|
||||
public Result revoke(@Valid String taskId) {
|
||||
bpmService.revokeTask(taskId);
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
+114
@@ -0,0 +1,114 @@
|
||||
package com.budwk.app.zhgh.staffmanage.member.controller.apply;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.base.utils.PageUtil;
|
||||
import com.budwk.app.bpm.service.BpmService;
|
||||
import com.budwk.app.flow.enums.ProcessTaskStateEnum;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.web.controllers.open.commons.service.CommonService;
|
||||
import com.budwk.app.zhgh.staffmanage.member.param.pageform.MemberApplyPageForm;
|
||||
import com.budwk.app.zhgh.staffmanage.member.service.MemberCommonService;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 会员入会申请分工会审核
|
||||
* @author fky
|
||||
*/
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@ApiOperation("会员入会申请工会小组审核")
|
||||
@At("/platform/member/apply/unionGroupApproval")
|
||||
public class MemberApplyUnionGroupApprovalController {
|
||||
|
||||
@Inject
|
||||
private BpmService bpmService;
|
||||
@Inject
|
||||
private CommonService commonService;
|
||||
@Inject
|
||||
private MemberCommonService memberCommonService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/zhgh/staffmanage/member/apply/uniongroupapproval/index.html")
|
||||
@SaCheckPermission("member.apply.unionGroupApproval")
|
||||
public void index() {}
|
||||
|
||||
|
||||
@At
|
||||
@ApiOperation("会员入会申请工会小组审核列表")
|
||||
@SaCheckPermission("member.apply.unionGroupApproval")
|
||||
public Result pageData(MemberApplyPageForm pageForm) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
info.id,
|
||||
info.userName,
|
||||
info.loginName,
|
||||
info.unitName,
|
||||
info.unionName,
|
||||
info.userState,
|
||||
info.preparedBy,
|
||||
info.personType,
|
||||
info.applyDateTime,
|
||||
info.sign,
|
||||
ins.id AS instanceId,
|
||||
ins.businessNo,
|
||||
ins.state instanceState,
|
||||
ins.variable instanceVariable,
|
||||
ins.processDefineId instanceProcessDefineId,
|
||||
t.id taskId,
|
||||
t.taskName AS taskKey,
|
||||
t.displayName taskName,
|
||||
t.taskType,
|
||||
t.performType taskPerformType,
|
||||
t.taskState,
|
||||
t.finishTime,
|
||||
t.taskParentId,
|
||||
t.variable taskVariable,
|
||||
IFNULL(GROUP_CONCAT(DISTINCT nt.displayName),'结束') curTaskName,
|
||||
IF(rt.id IS NOT NULL, 1, 0) AS canRevoke
|
||||
FROM
|
||||
wf_process_task t
|
||||
LEFT JOIN wf_process_instance ins ON ins.id = t.processInstanceId
|
||||
LEFT JOIN member_apply_record info ON info.id = ins.businessNo
|
||||
LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = t.id
|
||||
LEFT JOIN wf_process_task nt ON nt.processInstanceId = ins.id AND nt.taskState = 10
|
||||
LEFT JOIN wf_process_task rt ON rt.processInstanceId = ins.id AND rt.taskParentId = t.id AND rt.taskState = 10
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
MemberApplyPageForm.buildSearch(cnd, pageForm);
|
||||
|
||||
cnd.and("t.taskName", "=", "95688013-9dcb-43f1-ae54-c83ea2d2ddb1");
|
||||
|
||||
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
||||
|
||||
if (pageForm.getAudit()) {
|
||||
cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.WITHDRAW.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode()));
|
||||
} else {
|
||||
cnd.and("t.taskState", "=", ProcessTaskStateEnum.DOING.getCode());
|
||||
}
|
||||
if (StrUtil.isAllBlank(pageForm.getPageOrderName(), pageForm.getPageOrderBy())) {
|
||||
cnd.desc("t.createdAt");
|
||||
cnd.desc("info.applyDateTime");
|
||||
} else {
|
||||
cnd.orderBy("info." + pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
|
||||
}
|
||||
cnd.groupBy("t.id");
|
||||
sql.setCondition(cnd);
|
||||
Pagination<NutMap> pagination = memberCommonService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
|
||||
}
|
||||
+3
-33
@@ -1,52 +1,27 @@
|
||||
package com.budwk.app.zhgh.staffmanage.member.controller.change;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.dev33.satoken.annotation.SaMode;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.constant.BpmProcessConstant;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.base.utils.PageUtil;
|
||||
import com.budwk.app.bpm.enums.BpmTaskApprovalTypeEnum;
|
||||
import com.budwk.app.bpm.models.BpmProcessInstance;
|
||||
import com.budwk.app.bpm.models.BpmProcessTask;
|
||||
import com.budwk.app.bpm.param.BpmTaskApprovalParam;
|
||||
import com.budwk.app.bpm.service.BpmService;
|
||||
import com.budwk.app.bpm.vo.BpmTaskApprovalRecordVo;
|
||||
import com.budwk.app.flow.enums.ProcessTaskStateEnum;
|
||||
import com.budwk.app.sys.models.Sys_user_history;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.web.controllers.open.commons.service.CommonService;
|
||||
import com.budwk.app.zhgh.staffmanage.member.models.MemberApplyRecord;
|
||||
import com.budwk.app.zhgh.staffmanage.member.param.pageform.MemberChangePageForm;
|
||||
import com.budwk.app.zhgh.staffmanage.member.param.pageform.MemberManagePageForm;
|
||||
import com.budwk.app.zhgh.staffmanage.member.service.MemberBranchUnionManageService;
|
||||
import com.budwk.app.zhgh.staffmanage.member.service.MemberCommonService;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.Lang;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
@@ -64,21 +39,16 @@ public class MemberBranchUnionAuditController {
|
||||
@Inject
|
||||
private Dao dao;
|
||||
@Inject
|
||||
private CommonService commonService;
|
||||
@Inject
|
||||
private MemberCommonService memberCommonService;
|
||||
@Inject
|
||||
private MemberBranchUnionManageService memberBranchUnionManageService;
|
||||
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/zhgh/staffmanage/member/change/branchUnionAudit/index.html")
|
||||
@Ok("beetl:/platform/zhgh/staffmanage/member/change/branchunionaudit/index.html")
|
||||
@SaCheckPermission("member.change.branchUnion.audit")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@Ok("beetl:/platform/zhgh/staffmanage/member/change/branchUnionAudit/form.html")
|
||||
@Ok("beetl:/platform/zhgh/staffmanage/member/change/branchunionaudit/form.html")
|
||||
@SaCheckPermission("member.change.branchUnion.audit")
|
||||
public void form() {
|
||||
}
|
||||
@@ -129,7 +99,7 @@ public class MemberBranchUnionAuditController {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
pageForm.buildSearch(cnd, "info.");
|
||||
|
||||
cnd.and("t.taskName", "=", "8ca3bcf0-7b86-4ef2-b19f-b76a1707e2da");
|
||||
cnd.and("t.taskName", "=", "64805be3-b325-4c25-a516-d0c4e4a87509");
|
||||
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
||||
|
||||
if (pageForm.getAudit()) {
|
||||
|
||||
+12
-4
@@ -13,6 +13,7 @@ import com.budwk.app.flow.entity.ProcessTask;
|
||||
import com.budwk.app.flow.enums.ProcessSubmitTypeEnum;
|
||||
import com.budwk.app.flow.service.FlowCommonService;
|
||||
import com.budwk.app.sys.models.Sys_union;
|
||||
import com.budwk.app.sys.models.Sys_union_group;
|
||||
import com.budwk.app.sys.models.Sys_unit;
|
||||
import com.budwk.app.sys.views.View_user;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
@@ -26,6 +27,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.util.cri.Static;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
@@ -92,7 +94,11 @@ public class MemberChangeApplyController {
|
||||
|
||||
// 开启流程实例
|
||||
Dict args = Dict.create();
|
||||
args.set("origin", "person");
|
||||
// 判断有没有工会小组
|
||||
Sys_union_group group = dao.fetch(Sys_union_group.class, Cnd.where(Sys_union_group::getUnionId, "=", SecurityUtil.getUnionId())
|
||||
.and(new Static("JSON_CONTAINS(unitIds, '\"%s\"')".formatted(SecurityUtil.getUnitId()))));
|
||||
args.set("submit", Lang.isEmpty(group) ? "singleBranch" : "singleHaveGroup");
|
||||
|
||||
args.set(FlowConst.SUBMIT_TYPE, ProcessSubmitTypeEnum.APPLY.getCode());
|
||||
args.set(FlowConst.FORM_DATA, memberChangeRecord);
|
||||
ProcessInstance instance = flowEngine.startProcessInstanceByKey("HYBG", memberChangeRecord.getId(), SecurityUtil.getUserId(), args);
|
||||
@@ -117,7 +123,10 @@ public class MemberChangeApplyController {
|
||||
dao.insertOrUpdate(memberChangeRecord);
|
||||
|
||||
Dict dict = Dict.create();
|
||||
dict.set("origin", "personType");
|
||||
// 判断有没有工会小组
|
||||
Sys_union_group group = dao.fetch(Sys_union_group.class, Cnd.where(Sys_union_group::getUnionId, "=", SecurityUtil.getUnionId())
|
||||
.and(new Static("JSON_CONTAINS(unitIds, '\"%s\"')".formatted(SecurityUtil.getUnitId()))));
|
||||
dict.set("submit", Lang.isEmpty(group) ? "singleBranch" : "singleHaveGroup");
|
||||
dict.set(FlowConst.PROCESS_TASK_ID_KEY, taskId);
|
||||
dict.set(FlowConst.SUBMIT_TYPE, ProcessSubmitTypeEnum.RE_APPLY.getCode());
|
||||
flowCommonService.executeTask(dict);
|
||||
@@ -125,7 +134,6 @@ public class MemberChangeApplyController {
|
||||
}
|
||||
|
||||
|
||||
|
||||
@At
|
||||
@ApiModelProperty("根据id查询变更记录")
|
||||
@SaCheckPermission("member.change.apply")
|
||||
@@ -139,7 +147,7 @@ public class MemberChangeApplyController {
|
||||
* @return
|
||||
*/
|
||||
@At
|
||||
@SaCheckPermission(value = {"member.change.branchUnion.audit","member.change.schoolUnion.audit"}, mode = SaMode.OR)
|
||||
@SaCheckPermission(value = {"member.change.branchUnion.audit","member.change.schoolUnion.audit", "member.change.unionGroup.audit"}, mode = SaMode.OR)
|
||||
public Result getUserByIdForMemberChange(String userId){
|
||||
View_user user = dao.fetch(View_user.class, Cnd.where("id", "=", userId));
|
||||
NutMap nutMap = Lang.obj2nutmap(user);
|
||||
|
||||
+20
-3
@@ -22,6 +22,7 @@ import com.budwk.app.flow.engine.FlowEngine;
|
||||
import com.budwk.app.flow.entity.ProcessInstance;
|
||||
import com.budwk.app.flow.entity.ProcessTask;
|
||||
import com.budwk.app.flow.enums.ProcessSubmitTypeEnum;
|
||||
import com.budwk.app.sys.models.Sys_config;
|
||||
import com.budwk.app.sys.views.View_user;
|
||||
import com.budwk.app.web.commons.auth.utils.AuthUtil;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
@@ -101,9 +102,12 @@ public class MemberChangeManageController {
|
||||
}
|
||||
boolean schoolRoleBool = AuthUtil.hasRoleOr(RoleConstant.SCHOOL_UNION_CHAIRMAN.name(), RoleConstant.SCHOOL_UNION_MEMBER_ADMIN.name(), RoleConstant.SYSADMIN.name());
|
||||
boolean branchRoleBool = AuthUtil.hasRoleOr(RoleConstant.BRANCH_UNION_CHAIRMAN.name(), RoleConstant.BRANCH_UNION_OPERATOR.name());
|
||||
boolean groupRoleBool = AuthUtil.hasRole(RoleConstant.BRANCH_UNION_GROUP_LEADER.name());
|
||||
|
||||
// 变更类型
|
||||
MemberChangeOrigin changeOrigin = schoolRoleBool ? MemberChangeOrigin.SCHOOL_UNION : branchRoleBool ? MemberChangeOrigin.BRANCH_UNION : null;
|
||||
MemberChangeOrigin changeOrigin = schoolRoleBool ? MemberChangeOrigin.SCHOOL_UNION :
|
||||
branchRoleBool ? MemberChangeOrigin.BRANCH_UNION :
|
||||
groupRoleBool ? MemberChangeOrigin.UNION_GROUP : null;
|
||||
|
||||
if (changeOrigin == null) {
|
||||
throw new BaseException("没有权限,或未设置工会小组");
|
||||
@@ -114,10 +118,23 @@ public class MemberChangeManageController {
|
||||
|
||||
// 开启流程实例
|
||||
Dict args = Dict.create();
|
||||
args.set("submit", "admin");
|
||||
|
||||
if (schoolRoleBool) {
|
||||
args.set("origin", "schoolUnion");
|
||||
args.set("adminSubmit", "schoolUnion");
|
||||
} else if (branchRoleBool) {
|
||||
args.set("adminSubmit", "branchUnion");
|
||||
} else {
|
||||
args.set("origin", "branchUnion");
|
||||
args.set("adminSubmit", "unionGroup");
|
||||
// 还要设置工会小组是否需要审核的参数
|
||||
Sys_config config = dao.fetch(Sys_config.class, Cnd.where(Sys_config::getConfigKey, "=", "UnionGroupIsNeedBranchAudit"));
|
||||
if ("true".equals(config.getConfigValue())) {
|
||||
// 需要,流转到分工会审核
|
||||
args.set("groupAuditNext", "branchAudit");
|
||||
} else {
|
||||
// 不需要,流转到校工会审核
|
||||
args.set("groupAuditNext", "schoolAudit");
|
||||
}
|
||||
}
|
||||
args.set(FlowConst.SUBMIT_TYPE, ProcessSubmitTypeEnum.APPLY.getCode());
|
||||
args.set(FlowConst.FORM_DATA, record);
|
||||
|
||||
+3
-81
@@ -71,13 +71,13 @@ public class MemberSchoolUnionAuditController {
|
||||
private MemberSchoolUnionManageService memberSchoolUnionManageService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/zhgh/staffmanage/member/change/schoolUnionAudit/index.html")
|
||||
@Ok("beetl:/platform/zhgh/staffmanage/member/change/schoolunionaudit/index.html")
|
||||
@SaCheckPermission("member.change.schoolUnion.audit")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@Ok("beetl:/platform/zhgh/staffmanage/member/change/schoolUnionAudit/form.html")
|
||||
@Ok("beetl:/platform/zhgh/staffmanage/member/change/schoolunionaudit/form.html")
|
||||
@SaCheckPermission("member.change.schoolUnion.audit")
|
||||
public void form() {
|
||||
}
|
||||
@@ -127,7 +127,7 @@ public class MemberSchoolUnionAuditController {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
pageForm.buildSearch(cnd, "info.");
|
||||
|
||||
cnd.and("t.taskName", "=", "f18d8726-75bc-43a9-87a8-2dd73341bdce");
|
||||
cnd.and("t.taskName", "=", "55f85ecd-7aab-4ba9-a8ec-f256839947f0");
|
||||
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
||||
|
||||
if (pageForm.getAudit()) {
|
||||
@@ -147,82 +147,4 @@ public class MemberSchoolUnionAuditController {
|
||||
return Result.success().addData(pagination);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@RepeatSubmit
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SaCheckPermission("member.change.schoolUnion.audit")
|
||||
@SLog(tag = "会员管理-校工会管理", type = "memberSchoolUnionAudit", msg = "校工会会员审核")
|
||||
public Result approval(@Param("approval") @Valid BpmTaskApprovalParam approvalParam) {
|
||||
Map<String, Object> variables = BeanUtil.beanToMap(approvalParam);
|
||||
if (approvalParam.getBpmTaskApprovalTypeEnum().equals(BpmTaskApprovalTypeEnum.PASS)) {
|
||||
MemberChangeRecord record = memberCommonService.dao().fetch(MemberChangeRecord.class, Cnd.where("id", "=", approvalParam.getProcessInstanceBusinessId()));
|
||||
if (StrUtil.isNotEmpty(approvalParam.getApprovalRemark())) {
|
||||
memberCommonService.dao().update(MemberChangeRecord.class, Chain.make("remark", approvalParam.getApprovalRemark()), Cnd.where("id", "=", record.getId()));
|
||||
}
|
||||
memberCommonService.compareChangeInfoAndUpdateMember(record);
|
||||
}
|
||||
bpmService.completeTask(approvalParam.getProcessInstanceTaskId(), approvalParam.getBpmTaskApprovalTypeEnum(), variables, null);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SaCheckPermission("member.change.schoolUnion.audit")
|
||||
@SLog(type = "memberChange", tag = "会员变更", msg = "校工会批量审核")
|
||||
public Object doBatchApproval(@Param("data") String[] ids){
|
||||
if (ids.length == 0) {
|
||||
return Result.error("未获取到选择数据");
|
||||
}
|
||||
|
||||
for (String id : ids) {
|
||||
BpmProcessInstance committeeInstance = dao.fetch(BpmProcessInstance.class, Cnd.where("processInstanceBusinessId", "=", id));
|
||||
BpmProcessTask committeeTask = dao.fetch(BpmProcessTask.class, Cnd.where(BpmProcessTask::getProcessInstanceId, "=", committeeInstance.getId())
|
||||
.desc(BpmProcessTask::getCreatedAt));
|
||||
|
||||
BpmTaskApprovalParam committeeParam = new BpmTaskApprovalParam();
|
||||
committeeParam.setProcessInstanceId(committeeInstance.getId());
|
||||
committeeParam.setProcessInstanceBusinessId(id);
|
||||
committeeParam.setProcessInstanceTaskId(committeeTask.getId());
|
||||
committeeParam.setBpmTaskApprovalType(BpmTaskApprovalTypeEnum.PASS.name());
|
||||
committeeParam.setBpmTaskApprovalTypeEnum(BpmTaskApprovalTypeEnum.PASS);
|
||||
committeeParam.setApprovalOpinion("校工会审核通过");
|
||||
|
||||
memberCommonService.compareChangeInfoAndUpdateMember(committeeParam.getProcessInstanceBusinessId());
|
||||
bpmService.completeTask(committeeParam.getProcessInstanceTaskId(), committeeParam.getBpmTaskApprovalTypeEnum(), null, null);
|
||||
}
|
||||
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@At
|
||||
@ApiOperation("校工会审核撤回")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SaCheckPermission("member.change.schoolUnion.audit")
|
||||
@SLog(tag = "会员管理-校工会管理", type = "memberSchoolUnionAudit", msg = "校工会审核撤回")
|
||||
public Result revoke(@Valid String taskId) {
|
||||
bpmService.revokeTask(taskId);
|
||||
|
||||
// 审核通过的撤回,要将数据也改变回去
|
||||
BpmProcessTask oldTask = dao.fetch(BpmProcessTask.class, taskId);
|
||||
BpmProcessInstance fetch = dao.fetch(BpmProcessInstance.class, oldTask.getProcessInstanceId());
|
||||
String businessId = fetch.getProcessInstanceBusinessId();
|
||||
|
||||
// 先查询历史记录,然后再把历史记录赋值给现在数据库存储的记录
|
||||
Sys_user_history history = dao.fetch(Sys_user_history.class, Cnd.where(Sys_user_history::getRecordId, "=", businessId));
|
||||
Sys_user info = dao.fetch(Sys_user.class, Cnd.where(Sys_user::getLoginname, "=", history.getLoginname()));
|
||||
|
||||
String userId = info.getId();
|
||||
BeanUtil.copyProperties(history, info);
|
||||
info.setId(userId);
|
||||
dao.update(info);
|
||||
dao.delete(history);
|
||||
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+117
@@ -0,0 +1,117 @@
|
||||
package com.budwk.app.zhgh.staffmanage.member.controller.change;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.base.utils.PageUtil;
|
||||
import com.budwk.app.flow.enums.ProcessTaskStateEnum;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.web.controllers.open.commons.service.CommonService;
|
||||
import com.budwk.app.zhgh.staffmanage.member.param.pageform.MemberChangePageForm;
|
||||
import com.budwk.app.zhgh.staffmanage.member.service.MemberCommonService;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author FKY
|
||||
* @name:MemberUnionGroupAuditController
|
||||
* @Date 2025/9/29 11:12
|
||||
* @注释 会员变更,工会小组审核
|
||||
*/
|
||||
@Slf4j
|
||||
@IocBean
|
||||
@Ok("json")
|
||||
@At("/platform/member/change/unionGroup/audit")
|
||||
public class MemberUnionGroupAuditController {
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
@Inject
|
||||
private CommonService commonService;
|
||||
@Inject
|
||||
private MemberCommonService memberCommonService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/zhgh/staffmanage/member/change/uniongroupaudit/index.html")
|
||||
@SaCheckPermission("member.change.unionGroup.audit")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiModelProperty("会员变更申请,工会小组审核列表")
|
||||
@SaCheckPermission("member.change.unionGroup.audit")
|
||||
public Result pageData(MemberChangePageForm pageForm) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
info.id,
|
||||
info.sex,
|
||||
info.userName,
|
||||
info.loginName,
|
||||
info.unitName,
|
||||
info.unionName,
|
||||
info.userState,
|
||||
info.preparedBy,
|
||||
info.personType,
|
||||
info.changeTypes,
|
||||
info.applyDateTime,
|
||||
ins.id AS instanceId,
|
||||
ins.businessNo,
|
||||
ins.state instanceState,
|
||||
ins.variable instanceVariable,
|
||||
ins.processDefineId instanceProcessDefineId,
|
||||
t.id taskId,
|
||||
t.taskName AS taskKey,
|
||||
t.displayName taskName,
|
||||
t.taskType,
|
||||
t.performType taskPerformType,
|
||||
t.taskState,
|
||||
t.finishTime,
|
||||
t.taskParentId,
|
||||
t.variable taskVariable,
|
||||
IFNULL(GROUP_CONCAT(DISTINCT nt.displayName),'结束') curTaskName,
|
||||
IF(rt.id IS NOT NULL, 1, 0) AS canRevoke
|
||||
FROM
|
||||
wf_process_task t
|
||||
LEFT JOIN wf_process_instance ins ON ins.id = t.processInstanceId
|
||||
LEFT JOIN member_change_record info ON info.id = ins.businessNo
|
||||
LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = t.id
|
||||
LEFT JOIN wf_process_task nt ON nt.processInstanceId = ins.id AND nt.taskState = 10
|
||||
LEFT JOIN wf_process_task rt ON rt.processInstanceId = ins.id AND rt.taskParentId = t.id AND rt.taskState = 10
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
pageForm.buildSearch(cnd, "info.");
|
||||
|
||||
cnd.and("t.taskName", "=", "cbe2a530-b806-467d-88ac-5defb058d403");
|
||||
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
||||
|
||||
if (pageForm.getAudit()) {
|
||||
cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.WITHDRAW.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode()));
|
||||
} else {
|
||||
cnd.and("t.taskState", "=", ProcessTaskStateEnum.DOING.getCode());
|
||||
}
|
||||
|
||||
if (StrUtil.isAllBlank(pageForm.getPageOrderName(), pageForm.getPageOrderBy())) {
|
||||
cnd.desc("info.applyDateTime");
|
||||
} else {
|
||||
cnd.orderBy("info." + pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
|
||||
}
|
||||
cnd.groupBy("t.id");
|
||||
sql.setCondition(cnd);
|
||||
Pagination<NutMap> pagination = memberCommonService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
return Result.success().addData(pagination);
|
||||
}
|
||||
}
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
package com.budwk.app.zhgh.staffmanage.member.controller.check;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.zhgh.staffmanage.member.param.pageform.MemberCheckPageForm;
|
||||
import com.budwk.app.zhgh.staffmanage.member.service.MemberCheckTaskService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author zzr
|
||||
* @name:MemberCheckTaskSchoolController
|
||||
* @Date 2025/9/26 15:31
|
||||
* @注释 校工会核对
|
||||
*/
|
||||
@Slf4j
|
||||
@IocBean
|
||||
@Ok("json")
|
||||
@At("/platform/member/checkTask/school")
|
||||
public class MemberCheckTaskSchoolController {
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
@Inject
|
||||
private MemberCheckTaskService memberCheckTaskService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/zhgh/staffmanage/member/check/school/index.html")
|
||||
@SaCheckPermission("member.checkTask.school")
|
||||
public void index() {}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("member.checkTask.school")
|
||||
public Result pageData(MemberCheckPageForm pageForm) {
|
||||
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
package com.budwk.app.zhgh.staffmanage.member.interceptor;
|
||||
|
||||
import com.budwk.app.flow.engine.FlowInterceptor;
|
||||
import com.budwk.app.flow.engine.core.Execution;
|
||||
import com.budwk.app.flow.engine.core.ServiceContext;
|
||||
import com.budwk.app.sys.models.Sys_config;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author FKY
|
||||
* @name:MemberApplyUnionGroupApprovalInterceptor
|
||||
* @Date 2025/9/29 11:32
|
||||
* @注释
|
||||
*/
|
||||
public class MemberApplyUnionGroupApprovalInterceptor implements FlowInterceptor {
|
||||
|
||||
@Override
|
||||
public void intercept(Execution execution) {
|
||||
Dao dao = ServiceContext.find(Dao.class);
|
||||
// 是否需要分工会审核
|
||||
Sys_config config = dao.fetch(Sys_config.class, Cnd.where(Sys_config::getConfigKey, "=", "UnionGroupIsNeedBranchAudit"));
|
||||
if ("true".equals(config.getConfigValue())) {
|
||||
// 需要,流转到分工会审核
|
||||
execution.getArgs().set("groupAuditNext", "branchAudit");
|
||||
} else {
|
||||
// 不需要,流转到校工会审核
|
||||
execution.getArgs().set("groupAuditNext", "schoolAudit");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
package com.budwk.app.zhgh.staffmanage.member.interceptor;
|
||||
|
||||
import com.budwk.app.flow.engine.FlowInterceptor;
|
||||
import com.budwk.app.flow.engine.core.Execution;
|
||||
import com.budwk.app.flow.engine.core.ServiceContext;
|
||||
import com.budwk.app.sys.models.Sys_config;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
|
||||
/**
|
||||
* @version 1.0
|
||||
* @Author FKY
|
||||
* @name:MemberChangeUnionGroupApprovalInterceptor
|
||||
* @Date 2025/9/29 11:32
|
||||
* @注释
|
||||
*/
|
||||
public class MemberChangeUnionGroupApprovalInterceptor implements FlowInterceptor {
|
||||
|
||||
@Override
|
||||
public void intercept(Execution execution) {
|
||||
Dao dao = ServiceContext.find(Dao.class);
|
||||
// 是否需要分工会审核
|
||||
Sys_config config = dao.fetch(Sys_config.class, Cnd.where(Sys_config::getConfigKey, "=", "UnionGroupIsNeedBranchAudit"));
|
||||
if ("true".equals(config.getConfigValue())) {
|
||||
// 需要,流转到分工会审核
|
||||
execution.getArgs().set("groupAuditNext", "branchAudit");
|
||||
} else {
|
||||
// 不需要,流转到校工会审核
|
||||
execution.getArgs().set("groupAuditNext", "schoolAudit");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
+3
-1
@@ -66,8 +66,10 @@ public class MemberManagePageForm extends PageForm {
|
||||
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())) {
|
||||
if (AuthUtil.hasRoleOr(RoleConstant.BRANCH_UNION_CHAIRMAN.name(), RoleConstant.BRANCH_UNION_OPERATOR.name())) {
|
||||
cnd.and("u.unionId", "=", SecurityUtil.getUnionId());
|
||||
} else if (AuthUtil.hasRoleOr(RoleConstant.BRANCH_UNION_GROUP_LEADER.name())) {
|
||||
cnd.and("u.unionGroupId", "=", SecurityUtil.getUnionGroupId());
|
||||
} else {
|
||||
cnd.and("record.userId", "=", SecurityUtil.getUserId());
|
||||
cnd.and("u.id", "=", SecurityUtil.getUserId());
|
||||
}
|
||||
} else {
|
||||
cnd.andEX("u.unionId", "=", pageForm.getUnionId());
|
||||
|
||||
+1
-1
@@ -405,7 +405,7 @@ public class MemberManageServiceImpl extends BaseServiceImpl<Sys_user> implement
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<NutMap> getAllChangeInfo(String userId) {
|
||||
public List<NutMap> getAllChangeInfo(String userId) {
|
||||
List<NutMap> resultMapList = new ArrayList<>();
|
||||
|
||||
Sql sql = Sqls.fetchString(Sqls.create("select loginname from sys_user where id = @id").setParam("id", userId).toString());
|
||||
|
||||
Reference in New Issue
Block a user