流程发送oa待办过滤掉superadmin
This commit is contained in:
@@ -87,6 +87,9 @@ public class SchoolOaTodoServiceImpl implements SchoolOaTodoService {
|
||||
String receiveTime = formatTime(processTask.getCreatedAt());
|
||||
|
||||
for (ProcessTaskActor actor : actors) {
|
||||
if (skipSuperAdmin(actor, "创建待办", processTask.getId())) {
|
||||
continue;
|
||||
}
|
||||
sendCreateTodo(processTask, instance, creator, actor, flowTypeName, title, creatorTime, receiveTime, pcUrl, appUrl);
|
||||
}
|
||||
}
|
||||
@@ -110,6 +113,9 @@ public class SchoolOaTodoServiceImpl implements SchoolOaTodoService {
|
||||
}
|
||||
|
||||
for (ProcessTaskActor actor : actors) {
|
||||
if (skipSuperAdmin(actor, "完成待办", processTask.getId())) {
|
||||
continue;
|
||||
}
|
||||
sendCompleteTodo(processTask, actor);
|
||||
}
|
||||
}
|
||||
@@ -137,6 +143,9 @@ public class SchoolOaTodoServiceImpl implements SchoolOaTodoService {
|
||||
}
|
||||
|
||||
for (ProcessTaskActor actor : actors) {
|
||||
if (skipSuperAdmin(actor, "删除待办", processTask.getId())) {
|
||||
continue;
|
||||
}
|
||||
sendDeleteTodo(processTask, actor);
|
||||
}
|
||||
}
|
||||
@@ -195,6 +204,9 @@ public class SchoolOaTodoServiceImpl implements SchoolOaTodoService {
|
||||
String receiveTime = formatTime(task.getCreatedAt());
|
||||
|
||||
for (ProcessTaskActor actor : actors) {
|
||||
if (skipSuperAdmin(actor, "修改完结待办", task.getId())) {
|
||||
continue;
|
||||
}
|
||||
sendUpdateFinishedTodo(task, instance, creator, actor, flowTypeName, title, creatorTime, receiveTime, pcUrl, appUrl);
|
||||
}
|
||||
return;
|
||||
@@ -418,6 +430,22 @@ public class SchoolOaTodoServiceImpl implements SchoolOaTodoService {
|
||||
return value;
|
||||
}
|
||||
|
||||
/**
|
||||
* 超级管理员只在本系统参与审核,学校 OA 中没有对应账号,不能向其同步待办。
|
||||
*
|
||||
* @param actor 本系统流程任务参与人,使用用户 ID 或登录账号识别超级管理员
|
||||
* @param action 当前学校 OA 同步动作,用于记录跳过原因
|
||||
* @param taskId 当前流程任务 ID,用于定位日志
|
||||
* @return true 表示跳过该参与人的学校 OA 请求;false 表示继续正常同步
|
||||
*/
|
||||
private boolean skipSuperAdmin(ProcessTaskActor actor, String action, Long taskId) {
|
||||
if (FlowConst.ADMIN_ID.equals(actor.getActorId()) || "superadmin".equalsIgnoreCase(actor.getActorAccount())) {
|
||||
log.info("超级管理员无学校OA账号,跳过{},taskId={},actorId={}", action, taskId, actor.getActorId());
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断学校 OA 同步开关是否开启。
|
||||
* 参数 action 表示当前待执行的 OA 动作;taskId、processInstanceId 用于日志定位业务来源;
|
||||
|
||||
Reference in New Issue
Block a user