From c5b26eb86a33a5cc2e6118427ac5f54c3a3f4748 Mon Sep 17 00:00:00 2001 From: = <=> Date: Fri, 21 Aug 2026 13:55:05 +0800 Subject: [PATCH] commit --- .../handler/FlowClubAuditLeaderHandler.java | 54 +++++++++++++++++++ .../FlowSchoolUnionAccountantHandler.java | 54 +++++++++++++++++++ .../FlowSchoolUnionCashierHandler.java | 54 +++++++++++++++++++ .../FlowSchoolUnionChairmanHandler.java | 54 +++++++++++++++++++ 4 files changed, 216 insertions(+) create mode 100644 src/main/java/com/budwk/app/flow/handler/FlowClubAuditLeaderHandler.java create mode 100644 src/main/java/com/budwk/app/flow/handler/FlowSchoolUnionAccountantHandler.java create mode 100644 src/main/java/com/budwk/app/flow/handler/FlowSchoolUnionCashierHandler.java create mode 100644 src/main/java/com/budwk/app/flow/handler/FlowSchoolUnionChairmanHandler.java diff --git a/src/main/java/com/budwk/app/flow/handler/FlowClubAuditLeaderHandler.java b/src/main/java/com/budwk/app/flow/handler/FlowClubAuditLeaderHandler.java new file mode 100644 index 0000000..d5c11eb --- /dev/null +++ b/src/main/java/com/budwk/app/flow/handler/FlowClubAuditLeaderHandler.java @@ -0,0 +1,54 @@ +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; + +/** + * 获取协会分管领导角色下的用户,供流程设计器配置任务参与者。 + */ +public class FlowClubAuditLeaderHandler implements AssignmentHandler { + + /** + * 按协会分管领导角色代码查询流程任务参与者,不限制协会范围。 + * + * @param model 流程任务模型 + * @param execution 当前流程执行对象 + * @return 协会分管领导的用户 ID 列表 + */ + @Override + public List 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.CLUB_AUDIT_LEADER.name()); + sql.setCallback(Sqls.callback.strList()); + dao.execute(sql); + return sql.getList(String.class); + } + + @Override + public String getMessage() { + return "获取协会分管领导"; + } + + @Override + public int getOrder() { + return 500; + } +} diff --git a/src/main/java/com/budwk/app/flow/handler/FlowSchoolUnionAccountantHandler.java b/src/main/java/com/budwk/app/flow/handler/FlowSchoolUnionAccountantHandler.java new file mode 100644 index 0000000..2f392e1 --- /dev/null +++ b/src/main/java/com/budwk/app/flow/handler/FlowSchoolUnionAccountantHandler.java @@ -0,0 +1,54 @@ +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; + +/** + * 获取校工会会计角色下的用户,供流程设计器配置任务参与者。 + */ +public class FlowSchoolUnionAccountantHandler implements AssignmentHandler { + + /** + * 按校工会会计角色代码查询流程任务参与者。 + * + * @param model 流程任务模型 + * @param execution 当前流程执行对象 + * @return 校工会会计的用户 ID 列表 + */ + @Override + public List 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_ACCOUNTANT.name()); + sql.setCallback(Sqls.callback.strList()); + dao.execute(sql); + return sql.getList(String.class); + } + + @Override + public String getMessage() { + return "获取校工会会计"; + } + + @Override + public int getOrder() { + return 340; + } +} diff --git a/src/main/java/com/budwk/app/flow/handler/FlowSchoolUnionCashierHandler.java b/src/main/java/com/budwk/app/flow/handler/FlowSchoolUnionCashierHandler.java new file mode 100644 index 0000000..55c5a2d --- /dev/null +++ b/src/main/java/com/budwk/app/flow/handler/FlowSchoolUnionCashierHandler.java @@ -0,0 +1,54 @@ +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; + +/** + * 获取校工会出纳角色下的用户,供流程设计器配置任务参与者。 + */ +public class FlowSchoolUnionCashierHandler implements AssignmentHandler { + + /** + * 按校工会出纳角色代码查询流程任务参与者。 + * + * @param model 流程任务模型 + * @param execution 当前流程执行对象 + * @return 校工会出纳的用户 ID 列表 + */ + @Override + public List 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_CASHIER.name()); + sql.setCallback(Sqls.callback.strList()); + dao.execute(sql); + return sql.getList(String.class); + } + + @Override + public String getMessage() { + return "获取校工会出纳"; + } + + @Override + public int getOrder() { + return 350; + } +} diff --git a/src/main/java/com/budwk/app/flow/handler/FlowSchoolUnionChairmanHandler.java b/src/main/java/com/budwk/app/flow/handler/FlowSchoolUnionChairmanHandler.java new file mode 100644 index 0000000..8e46b04 --- /dev/null +++ b/src/main/java/com/budwk/app/flow/handler/FlowSchoolUnionChairmanHandler.java @@ -0,0 +1,54 @@ +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; + +/** + * 获取校工会主席角色下的用户,供流程设计器配置任务参与者。 + */ +public class FlowSchoolUnionChairmanHandler implements AssignmentHandler { + + /** + * 按校工会主席角色代码查询流程任务参与者。 + * + * @param model 流程任务模型 + * @param execution 当前流程执行对象 + * @return 校工会主席的用户 ID 列表 + */ + @Override + public List 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_CHAIRMAN.name()); + sql.setCallback(Sqls.callback.strList()); + dao.execute(sql); + return sql.getList(String.class); + } + + @Override + public String getMessage() { + return "获取校工会主席"; + } + + @Override + public int getOrder() { + return 310; + } +}