This commit is contained in:
Paidax
2025-09-30 13:56:43 +08:00
parent aa516ab4e7
commit 88487a76fa
52 changed files with 1433 additions and 314 deletions
@@ -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
* @nameFlowSchoolUnionAdminByArgsAssignmentHandler
* @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();
}
}
@@ -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
* @nameFlowUnionGroupLeadersByArgsAssignmentHandler
* @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();
}
}