流程发送oa待办过滤掉superadmin
This commit is contained in:
@@ -87,6 +87,9 @@ public class SchoolOaTodoServiceImpl implements SchoolOaTodoService {
|
|||||||
String receiveTime = formatTime(processTask.getCreatedAt());
|
String receiveTime = formatTime(processTask.getCreatedAt());
|
||||||
|
|
||||||
for (ProcessTaskActor actor : actors) {
|
for (ProcessTaskActor actor : actors) {
|
||||||
|
if (skipSuperAdmin(actor, "创建待办", processTask.getId())) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
sendCreateTodo(processTask, instance, creator, actor, flowTypeName, title, creatorTime, receiveTime, pcUrl, appUrl);
|
sendCreateTodo(processTask, instance, creator, actor, flowTypeName, title, creatorTime, receiveTime, pcUrl, appUrl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -110,6 +113,9 @@ public class SchoolOaTodoServiceImpl implements SchoolOaTodoService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (ProcessTaskActor actor : actors) {
|
for (ProcessTaskActor actor : actors) {
|
||||||
|
if (skipSuperAdmin(actor, "完成待办", processTask.getId())) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
sendCompleteTodo(processTask, actor);
|
sendCompleteTodo(processTask, actor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -137,6 +143,9 @@ public class SchoolOaTodoServiceImpl implements SchoolOaTodoService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (ProcessTaskActor actor : actors) {
|
for (ProcessTaskActor actor : actors) {
|
||||||
|
if (skipSuperAdmin(actor, "删除待办", processTask.getId())) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
sendDeleteTodo(processTask, actor);
|
sendDeleteTodo(processTask, actor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -195,6 +204,9 @@ public class SchoolOaTodoServiceImpl implements SchoolOaTodoService {
|
|||||||
String receiveTime = formatTime(task.getCreatedAt());
|
String receiveTime = formatTime(task.getCreatedAt());
|
||||||
|
|
||||||
for (ProcessTaskActor actor : actors) {
|
for (ProcessTaskActor actor : actors) {
|
||||||
|
if (skipSuperAdmin(actor, "修改完结待办", task.getId())) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
sendUpdateFinishedTodo(task, instance, creator, actor, flowTypeName, title, creatorTime, receiveTime, pcUrl, appUrl);
|
sendUpdateFinishedTodo(task, instance, creator, actor, flowTypeName, title, creatorTime, receiveTime, pcUrl, appUrl);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@@ -418,6 +430,22 @@ public class SchoolOaTodoServiceImpl implements SchoolOaTodoService {
|
|||||||
return value;
|
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 同步开关是否开启。
|
* 判断学校 OA 同步开关是否开启。
|
||||||
* 参数 action 表示当前待执行的 OA 动作;taskId、processInstanceId 用于日志定位业务来源;
|
* 参数 action 表示当前待执行的 OA 动作;taskId、processInstanceId 用于日志定位业务来源;
|
||||||
|
|||||||
Reference in New Issue
Block a user