From b0dc75bfc7627bf5c52145fce170c01c2969553e Mon Sep 17 00:00:00 2001
From: "1437892690@qq.com" <1437892690@qq.com>
Date: Thu, 21 Nov 2024 16:42:38 +0800
Subject: [PATCH 1/4] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E5=B7=A5=E5=8D=95?=
=?UTF-8?q?=E6=AD=A5=E9=AA=A4=E6=9D=83=E9=99=90=E6=A0=A1=E9=AA=8C=E4=BC=98?=
=?UTF-8?q?=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
关联 #[1208759358029824]工单步骤权限校验优化 http://192.168.0.96:8090/demo/rdm.html#/story-detail/939050947543040/939050947543042/1208759358029824
---
.../process/constvalue/IOperationType.java | 18 +++
.../ProcessTaskStepOperationType.java | 117 ++++++++++++++++++
2 files changed, 135 insertions(+)
create mode 100644 src/main/java/neatlogic/framework/process/constvalue/ProcessTaskStepOperationType.java
diff --git a/src/main/java/neatlogic/framework/process/constvalue/IOperationType.java b/src/main/java/neatlogic/framework/process/constvalue/IOperationType.java
index 534929f6..29cd2b68 100755
--- a/src/main/java/neatlogic/framework/process/constvalue/IOperationType.java
+++ b/src/main/java/neatlogic/framework/process/constvalue/IOperationType.java
@@ -15,11 +15,29 @@ along with this program. If not, see .*/
package neatlogic.framework.process.constvalue;
+import neatlogic.framework.process.operationauth.core.OperationAuthHandlerType;
+
+import java.util.ArrayList;
+import java.util.List;
+
/**
* @author linbq
* @since 2021/5/17 14:17
**/
public interface IOperationType {
String getValue();
+
String getText();
+
+ default List getDefaultValue() {
+ return new ArrayList<>();
+ }
+
+ default List getGroupList() {
+ return new ArrayList<>();
+ }
+
+ default OperationAuthHandlerType getOperationAuthHandlerType() {
+ return null;
+ }
}
diff --git a/src/main/java/neatlogic/framework/process/constvalue/ProcessTaskStepOperationType.java b/src/main/java/neatlogic/framework/process/constvalue/ProcessTaskStepOperationType.java
new file mode 100644
index 00000000..923a8252
--- /dev/null
+++ b/src/main/java/neatlogic/framework/process/constvalue/ProcessTaskStepOperationType.java
@@ -0,0 +1,117 @@
+package neatlogic.framework.process.constvalue;
+
+import neatlogic.framework.common.constvalue.GroupSearch;
+import neatlogic.framework.common.constvalue.UserType;
+import neatlogic.framework.process.operationauth.core.OperationAuthHandlerType;
+
+import java.util.Arrays;
+import java.util.List;
+
+public enum ProcessTaskStepOperationType implements IOperationType {
+
+ /**
+ * 查看节点信息
+ * 无论该节点的状态如何,只有被授权的对象可以查看活动和步骤中所有与该节点相关的信息,否则不可见;(活动是整个活动不可见,步骤只可见步骤名称和状态,其他内容不可见)
+ * 查看节点信息不会在步骤中记录或生成活动;
+ */
+ STEP_VIEW("view", "查看节点信息", Arrays.asList(GroupSearch.COMMON.getValuePlugin() + UserType.ALL.getValue()), Arrays.asList(GroupSearch.COMMON.getValue(), GroupSearch.USER.getValue(), GroupSearch.TEAM.getValue(), GroupSearch.ROLE.getValue())),
+ STEP_START("start", "开始"),
+ STEP_ACTIVE("active", "激活"),
+ STEP_COMPLETE("complete", "流转"),//下一步骤列表中有未激活的步骤时,有流转权限
+ STEP_ACCEPT("accept", "开始"),
+ STEP_WORK("workcurrentstep", "处理当前步骤"),
+ STEP_TRANSFER("transfercurrentstep", "转交", Arrays.asList(ProcessTaskGroupSearch.PROCESSUSERTYPE.getValuePlugin() + ProcessUserType.MAJOR.getValue()), Arrays.asList(GroupSearch.COMMON.getValue(), ProcessTaskGroupSearch.PROCESSUSERTYPE.getValue(), GroupSearch.USER.getValue(), GroupSearch.TEAM.getValue(), GroupSearch.ROLE.getValue())),
+ STEP_BACK("back", "回退"),//下一步骤列表中有已激活的步骤时,有回退权限
+ STEP_SAVE("save", "暂存"),
+ STEP_REAPPROVAL("reapproval", "重审"),
+ STEP_FAIL("fail", "失败"),
+ /**
+ * 修改上报内容
+ * 被授权的对象可在该步骤处于‘待处理’或‘进行中’时修改上报内容,如果同时有多个“待处理”或‘进行中’的步骤,则将每个步骤中配置的授权对象取并集;
+ * 如果是步骤处理人操作,会记录在步骤中,同时生成一条活动;如果是非处理人操作,则步骤中无需记录,只生成活动即可;
+ */
+ STEP_COMMENT("comment", "回复"),
+ STEP_EDITCOMMENT("editcomment", "编辑回复"),
+ STEP_DELETECOMMENT("deletecomment", "删除回复"),
+ /**
+ * 催办
+ * 被授权的对象可在该步骤处于‘待处理’或‘进行中’时催办,如果同时有多个“待处理”或‘进行中’的步骤,则将每个步骤中配置的授权对象取并集,配置的对象都有权限进行催办操作,无论是查看页面还是处理页面,处理人还是非处理人,有权限的用户就能看到该按钮,否则按钮不显示;
+ * 催办时会生成一条活动,并在对应的步骤中记录;如果配置了催办的通知设置,还会根据配置进行通知;
+ */
+ STEP_PAUSE("pause","暂停", Arrays.asList(ProcessTaskGroupSearch.PROCESSUSERTYPE.getValuePlugin() + ProcessUserType.MAJOR.getValue()), Arrays.asList(GroupSearch.COMMON.getValue(), ProcessTaskGroupSearch.PROCESSUSERTYPE.getValue(), GroupSearch.USER.getValue(), GroupSearch.TEAM.getValue(), GroupSearch.ROLE.getValue())),
+ STEP_RECOVER("recover", "恢复", Arrays.asList(ProcessTaskGroupSearch.PROCESSUSERTYPE.getValuePlugin() + ProcessUserType.MAJOR.getValue()), Arrays.asList(GroupSearch.COMMON.getValue(), ProcessTaskGroupSearch.PROCESSUSERTYPE.getValue(), GroupSearch.USER.getValue(), GroupSearch.TEAM.getValue(), GroupSearch.ROLE.getValue())),
+ STEP_RESTFULACTION("restfulaction", "RESTFUL动作"),
+ STEP_RETREAT("retreatcurrentstep", "撤回", Arrays.asList(ProcessTaskGroupSearch.PROCESSUSERTYPE.getValuePlugin() + ProcessUserType.MAJOR.getValue()), Arrays.asList(GroupSearch.COMMON.getValue(), ProcessTaskGroupSearch.PROCESSUSERTYPE.getValue(), GroupSearch.USER.getValue(), GroupSearch.TEAM.getValue(), GroupSearch.ROLE.getValue())),
+ STEP_HANG("hang", "挂起"),
+ STEP_HANDLE("handle", "自动处理"),
+ STEP_REDO("redo", "重做"),
+ TASK_CREATE("createtask", "创建任务"),
+ TASK_EDIT("edittask", "编辑任务"),
+ TASK_DELETE("deletetask", "删除任务"),
+ TASK_COMPLETE("completetask", "完成任务"),
+ TRANSFER_EOA_STEP("transfereoastep", "转交审批步骤"),
+ ;
+ private String status;
+ private String text;
+ /**
+ * 节点管理中默认授权对象
+ **/
+ private List defaultValue;
+ /**
+ * 节点管理中可授权对象类型
+ **/
+ private List groupList;
+
+ private ProcessTaskStepOperationType(String _status, String _text) {
+ this.status = _status;
+ this.text = _text;
+ }
+
+ private ProcessTaskStepOperationType(String _status, String _text, List _defaultValue, List _groupList) {
+ this.status = _status;
+ this.text = _text;
+ this.defaultValue = _defaultValue;
+ this.groupList = _groupList;
+ }
+
+ @Override
+ public String getValue() {
+ return status;
+ }
+
+ @Override
+ public String getText() {
+ return text;
+ }
+
+ @Override
+ public OperationAuthHandlerType getOperationAuthHandlerType() {
+ return OperationAuthHandlerType.STEP;
+ }
+
+ public List getDefaultValue() {
+ return defaultValue;
+ }
+
+ public List getGroupList() {
+ return groupList;
+ }
+
+ public static String getValue(String _status) {
+ for (ProcessTaskStepOperationType s : ProcessTaskStepOperationType.values()) {
+ if (s.getValue().equals(_status)) {
+ return s.getValue();
+ }
+ }
+ return null;
+ }
+
+ public static String getText(String _status) {
+ for (ProcessTaskStepOperationType s : ProcessTaskStepOperationType.values()) {
+ if (s.getValue().equals(_status)) {
+ return s.getText();
+ }
+ }
+ return "";
+ }
+}
--
Gitee
From 00a193f08a7ea5fe2ae1d4ec0eb9da349be2edd3 Mon Sep 17 00:00:00 2001
From: "1437892690@qq.com" <1437892690@qq.com>
Date: Thu, 21 Nov 2024 16:56:12 +0800
Subject: [PATCH 2/4] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E5=B7=A5=E5=8D=95?=
=?UTF-8?q?=E6=AD=A5=E9=AA=A4=E6=9D=83=E9=99=90=E6=A0=A1=E9=AA=8C=E4=BC=98?=
=?UTF-8?q?=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
关联 #[1208759358029824]工单步骤权限校验优化 http://192.168.0.96:8090/demo/rdm.html#/story-detail/939050947543040/939050947543042/1208759358029824
---
.../constvalue/ProcessTaskOperationType.java | 6 +
.../IProcessStepHandlerCrossoverUtil.java | 8 +-
...maticHandlerNotEnableOperateException.java | 4 +-
...essTaskOperationUnauthorizedException.java | 4 +-
...TimerHandlerNotEnableOperateException.java | 3 +-
.../core/IOperationAuthHandler.java | 26 ++---
.../core/IOperationAuthHandlerType.java | 6 +-
.../core/OperationAuthHandlerBase.java | 10 +-
.../core/ProcessAuthManager.java | 61 +++++-----
.../core/IProcessStepInternalHandler.java | 6 +-
.../core/ProcessStepHandlerBase.java | 104 +++++++++---------
.../core/ProcessTaskStepThread.java | 8 +-
.../core/ProcessTaskStepThreadComparator.java | 6 +-
.../process/util/ProcessConfigUtil.java | 4 +-
14 files changed, 131 insertions(+), 125 deletions(-)
diff --git a/src/main/java/neatlogic/framework/process/constvalue/ProcessTaskOperationType.java b/src/main/java/neatlogic/framework/process/constvalue/ProcessTaskOperationType.java
index 85dfbade..f80787ea 100644
--- a/src/main/java/neatlogic/framework/process/constvalue/ProcessTaskOperationType.java
+++ b/src/main/java/neatlogic/framework/process/constvalue/ProcessTaskOperationType.java
@@ -2,6 +2,7 @@ package neatlogic.framework.process.constvalue;
import neatlogic.framework.common.constvalue.GroupSearch;
import neatlogic.framework.common.constvalue.UserType;
+import neatlogic.framework.process.operationauth.core.OperationAuthHandlerType;
import java.util.Arrays;
import java.util.List;
@@ -117,6 +118,11 @@ public enum ProcessTaskOperationType implements IOperationType {
return text;
}
+ @Override
+ public OperationAuthHandlerType getOperationAuthHandlerType() {
+ return OperationAuthHandlerType.TASK;
+ }
+
public List getDefaultValue() {
return defaultValue;
}
diff --git a/src/main/java/neatlogic/framework/process/crossover/IProcessStepHandlerCrossoverUtil.java b/src/main/java/neatlogic/framework/process/crossover/IProcessStepHandlerCrossoverUtil.java
index 7f237ac1..0cf0b9fd 100644
--- a/src/main/java/neatlogic/framework/process/crossover/IProcessStepHandlerCrossoverUtil.java
+++ b/src/main/java/neatlogic/framework/process/crossover/IProcessStepHandlerCrossoverUtil.java
@@ -20,7 +20,7 @@ package neatlogic.framework.process.crossover;
import neatlogic.framework.crossover.ICrossoverService;
import neatlogic.framework.notify.core.INotifyTriggerType;
import neatlogic.framework.process.audithandler.core.IProcessTaskAuditType;
-import neatlogic.framework.process.constvalue.ProcessTaskOperationType;
+import neatlogic.framework.process.constvalue.IOperationType;
import neatlogic.framework.process.dto.ProcessTaskStepVo;
import neatlogic.framework.process.dto.ProcessTaskVo;
import neatlogic.framework.process.stepremind.core.IProcessTaskStepRemindType;
@@ -69,7 +69,7 @@ public interface IProcessStepHandlerCrossoverUtil extends ICrossoverService {
* @Params:[currentProcessTaskStepVo, action]
* @Returns:void
**/
- void timeAudit(ProcessTaskStepVo currentProcessTaskStepVo, ProcessTaskOperationType action);
+ void timeAudit(ProcessTaskStepVo currentProcessTaskStepVo, IOperationType action);
/**
* @Description: 记录操作活动
@@ -114,14 +114,14 @@ public interface IProcessStepHandlerCrossoverUtil extends ICrossoverService {
* @Params:[currentProcessTaskStepVo, action]
* @Returns:void
**/
- void saveContentAndFile(ProcessTaskStepVo currentProcessTaskStepVo, ProcessTaskOperationType action);
+ void saveContentAndFile(ProcessTaskStepVo currentProcessTaskStepVo, IOperationType action);
/**
* 保存工单级别的操作描述内容
* @param currentProcessTaskVo
* @param action
*/
- void saveProcessTaskOperationContent(ProcessTaskVo currentProcessTaskVo, ProcessTaskOperationType action);
+ void saveProcessTaskOperationContent(ProcessTaskVo currentProcessTaskVo, IOperationType action);
/**
* 流转操作时检查回复信息是否必填
diff --git a/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskAutomaticHandlerNotEnableOperateException.java b/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskAutomaticHandlerNotEnableOperateException.java
index 28d0ced1..c7d42223 100644
--- a/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskAutomaticHandlerNotEnableOperateException.java
+++ b/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskAutomaticHandlerNotEnableOperateException.java
@@ -15,7 +15,7 @@ along with this program. If not, see .*/
package neatlogic.framework.process.exception.operationauth;
-import neatlogic.framework.process.constvalue.ProcessTaskOperationType;
+import neatlogic.framework.process.constvalue.IOperationType;
/**
* @author linbq
@@ -24,7 +24,7 @@ import neatlogic.framework.process.constvalue.ProcessTaskOperationType;
public class ProcessTaskAutomaticHandlerNotEnableOperateException extends ProcessTaskPermissionDeniedException {
private static final long serialVersionUID = 9216337410118158664L;
- public ProcessTaskAutomaticHandlerNotEnableOperateException(ProcessTaskOperationType operationType) {
+ public ProcessTaskAutomaticHandlerNotEnableOperateException(IOperationType operationType) {
super("外部调用节点不支持“{0}”操作", operationType.getText());
}
}
diff --git a/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskOperationUnauthorizedException.java b/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskOperationUnauthorizedException.java
index ba9fe9fd..2c963474 100644
--- a/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskOperationUnauthorizedException.java
+++ b/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskOperationUnauthorizedException.java
@@ -15,7 +15,7 @@ along with this program. If not, see .*/
package neatlogic.framework.process.exception.operationauth;
-import neatlogic.framework.process.constvalue.ProcessTaskOperationType;
+import neatlogic.framework.process.constvalue.IOperationType;
/**
* @author linbq
@@ -24,7 +24,7 @@ import neatlogic.framework.process.constvalue.ProcessTaskOperationType;
public class ProcessTaskOperationUnauthorizedException extends ProcessTaskPermissionDeniedException {
private static final long serialVersionUID = 9216337410118158639L;
- public ProcessTaskOperationUnauthorizedException(ProcessTaskOperationType operationType) {
+ public ProcessTaskOperationUnauthorizedException(IOperationType operationType) {
super("您的“{0}”操作未获得授权", operationType.getText());
}
}
diff --git a/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskTimerHandlerNotEnableOperateException.java b/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskTimerHandlerNotEnableOperateException.java
index 82518604..a6e7d4dc 100644
--- a/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskTimerHandlerNotEnableOperateException.java
+++ b/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskTimerHandlerNotEnableOperateException.java
@@ -15,6 +15,7 @@ along with this program. If not, see .*/
package neatlogic.framework.process.exception.operationauth;
+import neatlogic.framework.process.constvalue.IOperationType;
import neatlogic.framework.process.constvalue.ProcessTaskOperationType;
/**
@@ -24,7 +25,7 @@ import neatlogic.framework.process.constvalue.ProcessTaskOperationType;
public class ProcessTaskTimerHandlerNotEnableOperateException extends ProcessTaskPermissionDeniedException {
private static final long serialVersionUID = 9216337410118158663L;
- public ProcessTaskTimerHandlerNotEnableOperateException(ProcessTaskOperationType operationType) {
+ public ProcessTaskTimerHandlerNotEnableOperateException(IOperationType operationType) {
super("定时节点不支持“{0}”操作", operationType.getText());
}
}
diff --git a/src/main/java/neatlogic/framework/process/operationauth/core/IOperationAuthHandler.java b/src/main/java/neatlogic/framework/process/operationauth/core/IOperationAuthHandler.java
index 1f9afcf3..5c4031a9 100644
--- a/src/main/java/neatlogic/framework/process/operationauth/core/IOperationAuthHandler.java
+++ b/src/main/java/neatlogic/framework/process/operationauth/core/IOperationAuthHandler.java
@@ -1,14 +1,14 @@
package neatlogic.framework.process.operationauth.core;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import neatlogic.framework.process.constvalue.ProcessTaskOperationType;
+import com.alibaba.fastjson.JSONObject;
+import neatlogic.framework.process.constvalue.IOperationType;
import neatlogic.framework.process.dto.ProcessTaskStepVo;
import neatlogic.framework.process.dto.ProcessTaskVo;
import neatlogic.framework.process.exception.operationauth.ProcessTaskPermissionDeniedException;
-import com.alibaba.fastjson.JSONObject;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
public interface IOperationAuthHandler {
/**
@@ -17,14 +17,14 @@ public interface IOperationAuthHandler {
* @Description: 保存权限类型和该权限的判断逻辑
* @return Map>
*/
- Map>, JSONObject>>
+ Map>, JSONObject>>
getOperationBiPredicateMap();
String getHandler();
default Boolean getOperateMap(ProcessTaskVo processTaskVo, String userUuid,
- ProcessTaskOperationType operationType,
- Map> operationTypePermissionDeniedExceptionMap,
+ IOperationType operationType,
+ Map> operationTypePermissionDeniedExceptionMap,
JSONObject extraParam
) {
return getOperateMap(processTaskVo, null, userUuid, operationType, operationTypePermissionDeniedExceptionMap, extraParam);
@@ -41,11 +41,11 @@ public interface IOperationAuthHandler {
default Boolean getOperateMap(ProcessTaskVo processTaskVo,
ProcessTaskStepVo processTaskStepVo,
String userUuid,
- ProcessTaskOperationType operationType,
- Map> operationTypePermissionDeniedExceptionMap,
+ IOperationType operationType,
+ Map> operationTypePermissionDeniedExceptionMap,
JSONObject extraParam
) {
- TernaryPredicate>, JSONObject> predicate =
+ TernaryPredicate>, JSONObject> predicate =
getOperationBiPredicateMap().get(operationType);
if (predicate != null) {
return predicate.test(processTaskVo, processTaskStepVo, userUuid, operationTypePermissionDeniedExceptionMap, extraParam);
@@ -59,7 +59,7 @@ public interface IOperationAuthHandler {
* @Description: 返回当前handler能判断的权限列表
* @return List
*/
- default List getAllOperationTypeList() {
+ default List getAllOperationTypeList() {
return new ArrayList<>(getOperationBiPredicateMap().keySet());
}
}
diff --git a/src/main/java/neatlogic/framework/process/operationauth/core/IOperationAuthHandlerType.java b/src/main/java/neatlogic/framework/process/operationauth/core/IOperationAuthHandlerType.java
index a4e1c958..f1dc5617 100755
--- a/src/main/java/neatlogic/framework/process/operationauth/core/IOperationAuthHandlerType.java
+++ b/src/main/java/neatlogic/framework/process/operationauth/core/IOperationAuthHandlerType.java
@@ -1,13 +1,13 @@
package neatlogic.framework.process.operationauth.core;
-import java.util.List;
+import neatlogic.framework.process.constvalue.IOperationType;
-import neatlogic.framework.process.constvalue.ProcessTaskOperationType;
+import java.util.List;
public interface IOperationAuthHandlerType {
public String getValue();
public String getText();
- default List getOperationTypeList() {
+ default List getOperationTypeList() {
return OperationAuthHandlerFactory.getHandler(this.getValue()).getAllOperationTypeList();
}
}
diff --git a/src/main/java/neatlogic/framework/process/operationauth/core/OperationAuthHandlerBase.java b/src/main/java/neatlogic/framework/process/operationauth/core/OperationAuthHandlerBase.java
index 28d3b861..b59b7d1b 100644
--- a/src/main/java/neatlogic/framework/process/operationauth/core/OperationAuthHandlerBase.java
+++ b/src/main/java/neatlogic/framework/process/operationauth/core/OperationAuthHandlerBase.java
@@ -224,7 +224,7 @@ public abstract class OperationAuthHandlerBase implements IOperationAuthHandler
* @return boolean
*/
protected boolean checkOperationAuthIsConfigured(ProcessTaskVo processTaskVo, ProcessTaskStepVo processTaskStepVo,
- ProcessTaskOperationType operationType, String userUuid) {
+ IOperationType operationType, String userUuid) {
JSONArray authorityList = null;
ISelectContentByHashCrossoverMapper selectContentByHashCrossoverMapper = CrossoverServiceFactory.getApi(ISelectContentByHashCrossoverMapper.class);
String stepConfig = selectContentByHashCrossoverMapper.getProcessTaskStepConfigByHash(processTaskStepVo.getConfigHash());
@@ -262,8 +262,7 @@ public abstract class OperationAuthHandlerBase implements IOperationAuthHandler
* @param userUuid 用户
* @return boolean
*/
- protected boolean checkOperationAuthIsConfigured(ProcessTaskVo processTaskVo,
- ProcessTaskOperationType operationType, String userUuid) {
+ protected boolean checkOperationAuthIsConfigured(ProcessTaskVo processTaskVo, IOperationType operationType, String userUuid) {
JSONArray authorityList =
(JSONArray)JSONPath.read(processTaskVo.getConfig(), "process.processConfig.authorityList");
if (CollectionUtils.isNotEmpty(authorityList)) {
@@ -272,8 +271,7 @@ public abstract class OperationAuthHandlerBase implements IOperationAuthHandler
return false;
}
- private boolean checkOperationAuthIsConfigured(ProcessTaskVo processTaskVo, ProcessTaskStepVo processTaskStepVo,
- ProcessTaskOperationType operationType, JSONArray authorityList, String userUuid) {
+ private boolean checkOperationAuthIsConfigured(ProcessTaskVo processTaskVo, ProcessTaskStepVo processTaskStepVo, IOperationType operationType, JSONArray authorityList, String userUuid) {
for (int i = 0; i < authorityList.size(); i++) {
JSONObject authorityObj = authorityList.getJSONObject(i);
String action = authorityObj.getString("action");
@@ -409,7 +407,7 @@ public abstract class OperationAuthHandlerBase implements IOperationAuthHandler
if (handler != null) {
if (ProcessStepMode.MT == handler.getMode()) {// 手动处理节点
if (checkOperationAuthIsConfigured(processTaskVo, processTaskStepVo,
- ProcessTaskOperationType.STEP_RETREAT, userUuid)) {
+ ProcessTaskStepOperationType.STEP_RETREAT, userUuid)) {
return true;
}
} else {// 自动处理节点,继续找前置节点
diff --git a/src/main/java/neatlogic/framework/process/operationauth/core/ProcessAuthManager.java b/src/main/java/neatlogic/framework/process/operationauth/core/ProcessAuthManager.java
index 9eed1473..8700b610 100644
--- a/src/main/java/neatlogic/framework/process/operationauth/core/ProcessAuthManager.java
+++ b/src/main/java/neatlogic/framework/process/operationauth/core/ProcessAuthManager.java
@@ -3,6 +3,7 @@ package neatlogic.framework.process.operationauth.core;
import com.alibaba.fastjson.JSONObject;
import neatlogic.framework.asynchronization.threadlocal.UserContext;
import neatlogic.framework.crossover.CrossoverServiceFactory;
+import neatlogic.framework.process.constvalue.IOperationType;
import neatlogic.framework.process.constvalue.ProcessTaskOperationType;
import neatlogic.framework.process.crossover.*;
import neatlogic.framework.process.dto.*;
@@ -35,15 +36,15 @@ public class ProcessAuthManager {
/** 工单id与步骤idList的键值对 **/
private Map> processTaskStepIdSetMap;
/** 需要校验的权限列表 **/
- private Set operationTypeSet;
+ private Set operationTypeSet;
/** 需要校验的某个工单或步骤的某个权限 **/
- private Map checkOperationTypeMap;
+ private Map checkOperationTypeMap;
/** 缓存作用,保存授权给当前用户处理服务工单的用户列表 **/
private Map> channelUuidFromUserUuidListMap = new HashMap<>();
/** 缓存作用,保存当前用户授权列表 **/
private Map> processTaskAgentListMap = new HashMap<>();
/** 保存某个工单或步骤的某个权限检验时,导致失败的原因 **/
- private Map> operationTypePermissionDeniedExceptionMap = new HashMap<>();
+ private Map> operationTypePermissionDeniedExceptionMap = new HashMap<>();
/** 保存额外参数 **/
private Map extraParamMap = new HashMap<>();
/** 需要校验的用户,如果不传,默认为当前用户 **/
@@ -51,7 +52,7 @@ public class ProcessAuthManager {
public static class Builder {
private Set processTaskIdSet = new HashSet<>();
private Set processTaskStepIdSet = new HashSet<>();
- private Set operationTypeSet = new HashSet<>();
+ private Set operationTypeSet = new HashSet<>();
private String userUuid;
public Builder() {}
@@ -81,7 +82,7 @@ public class ProcessAuthManager {
return this;
}
- public Builder addOperationType(ProcessTaskOperationType operationType) {
+ public Builder addOperationType(IOperationType operationType) {
operationTypeSet.add(operationType);
return this;
}
@@ -104,11 +105,11 @@ public class ProcessAuthManager {
*/
public static class TaskOperationChecker {
private Long processTaskId;
- private ProcessTaskOperationType operationType;
+ private IOperationType operationType;
private JSONObject extraParam;
private String userUuid;
- public TaskOperationChecker(Long processTaskId, ProcessTaskOperationType operationType) {
+ public TaskOperationChecker(Long processTaskId, IOperationType operationType) {
this.processTaskId = processTaskId;
this.operationType = operationType;
}
@@ -138,11 +139,11 @@ public class ProcessAuthManager {
*/
public static class StepOperationChecker {
private Long processTaskStepId;
- private ProcessTaskOperationType operationType;
+ private IOperationType operationType;
private JSONObject extraParam;
private String userUuid;
- public StepOperationChecker(Long processTaskStepId, ProcessTaskOperationType operationType) {
+ public StepOperationChecker(Long processTaskStepId, IOperationType operationType) {
this.processTaskStepId = processTaskStepId;
this.operationType = operationType;
}
@@ -196,11 +197,11 @@ public class ProcessAuthManager {
*
* @Time:2020年12月21日
* @Description: 返回多个工单及其步骤权限列表,返回值map中的key可能是工单id或步骤id,value就是其拥有的权限列表
- * @return Map>
+ * @return Map>
*/
- public Map> getOperateMap() {
+ public Map> getOperateMap() {
// long startTime = System.currentTimeMillis();
- Map> resultMap = new HashMap<>();
+ Map> resultMap = new HashMap<>();
if (CollectionUtils.isEmpty(processTaskIdSet) && CollectionUtils.isEmpty(processTaskStepIdSet)) {
return resultMap;
}
@@ -290,18 +291,18 @@ public class ProcessAuthManager {
*
* @Time:2020年12月21日
* @Description: 返回一个工单及其步骤权限列表,返回值map中的key可能是工单id或步骤id,value就是其拥有的权限列表
- * @return Map>
+ * @return Map>
*/
- private Map> getOperateMap(ProcessTaskVo processTaskVo, String userUuid) {
- Set taskOperationTypeSet = new HashSet<>();
- Set stepOperationTypeSet = new HashSet<>();
- List taskOperationTypeList = OperationAuthHandlerType.TASK.getOperationTypeList();
- List stepOperationTypeList = OperationAuthHandlerType.STEP.getOperationTypeList();
+ private Map> getOperateMap(ProcessTaskVo processTaskVo, String userUuid) {
+ Set taskOperationTypeSet = new HashSet<>();
+ Set stepOperationTypeSet = new HashSet<>();
+ List taskOperationTypeList = OperationAuthHandlerType.TASK.getOperationTypeList();
+ List stepOperationTypeList = OperationAuthHandlerType.STEP.getOperationTypeList();
if (CollectionUtils.isEmpty(operationTypeSet)) {
taskOperationTypeSet.addAll(taskOperationTypeList);
stepOperationTypeSet.addAll(stepOperationTypeList);
} else {
- for (ProcessTaskOperationType operationType : operationTypeSet) {
+ for (IOperationType operationType : operationTypeSet) {
if (taskOperationTypeList.contains(operationType)) {
taskOperationTypeSet.add(operationType);
} else if (stepOperationTypeList.contains(operationType)) {
@@ -309,13 +310,13 @@ public class ProcessAuthManager {
}
}
}
- Map> resultMap = new HashMap<>();
+ Map> resultMap = new HashMap<>();
// String userUuid = UserContext.get().getUserUuid(true);
JSONObject extraParam = extraParamMap.computeIfAbsent(processTaskVo.getId(), key -> new JSONObject());
if (CollectionUtils.isNotEmpty(taskOperationTypeSet)) {
IOperationAuthHandler handler = OperationAuthHandlerFactory.getHandler(OperationAuthHandlerType.TASK.getValue());
- Set resultSet = new HashSet<>();
- for (ProcessTaskOperationType operationType : taskOperationTypeSet) {
+ Set resultSet = new HashSet<>();
+ for (IOperationType operationType : taskOperationTypeSet) {
boolean result = handler.getOperateMap(processTaskVo, userUuid, operationType, operationTypePermissionDeniedExceptionMap, extraParam);
if (result) {
resultSet.add(operationType);
@@ -352,8 +353,8 @@ public class ProcessAuthManager {
for (ProcessTaskStepVo processTaskStepVo : processTaskVo.getStepList()) {
if (processTaskStepIdList.contains(processTaskStepVo.getId())) {
extraParam = extraParamMap.computeIfAbsent(processTaskStepVo.getId(), key -> new JSONObject());
- Set resultSet = new HashSet<>();
- for (ProcessTaskOperationType operationType : stepOperationTypeSet) {
+ Set resultSet = new HashSet<>();
+ for (IOperationType operationType : stepOperationTypeSet) {
Boolean result = null;
IOperationAuthHandler handler = OperationAuthHandlerFactory.getHandler(processTaskStepVo.getHandler());
if (handler != null) {
@@ -458,8 +459,8 @@ public class ProcessAuthManager {
*/
public boolean check() {
if (MapUtils.isNotEmpty(checkOperationTypeMap)) {
- Map> resultMap = getOperateMap();
- for (Map.Entry entry : checkOperationTypeMap.entrySet()) {
+ Map> resultMap = getOperateMap();
+ for (Map.Entry entry : checkOperationTypeMap.entrySet()) {
return resultMap.computeIfAbsent(entry.getKey(), k -> new HashSet<>()).contains(entry.getValue());
}
}
@@ -473,8 +474,8 @@ public class ProcessAuthManager {
*/
public boolean checkAndNoPermissionThrowException() {
if (!check()) {
- for (Map.Entry entry : checkOperationTypeMap.entrySet()) {
- Map map = operationTypePermissionDeniedExceptionMap.get(entry.getKey());
+ for (Map.Entry entry : checkOperationTypeMap.entrySet()) {
+ Map map = operationTypePermissionDeniedExceptionMap.get(entry.getKey());
if (MapUtils.isNotEmpty(map)) {
ProcessTaskPermissionDeniedException exception = map.get(entry.getValue());
if (exception != null) {
@@ -493,8 +494,8 @@ public class ProcessAuthManager {
* @param operationType 操作权限类型
* @return
*/
- public ProcessTaskPermissionDeniedException getProcessTaskPermissionDeniedException(Long id, ProcessTaskOperationType operationType) {
- Map map = operationTypePermissionDeniedExceptionMap.get(id);
+ public ProcessTaskPermissionDeniedException getProcessTaskPermissionDeniedException(Long id, IOperationType operationType) {
+ Map map = operationTypePermissionDeniedExceptionMap.get(id);
if (MapUtils.isNotEmpty(map)) {
return map.get(operationType);
}
diff --git a/src/main/java/neatlogic/framework/process/stephandler/core/IProcessStepInternalHandler.java b/src/main/java/neatlogic/framework/process/stephandler/core/IProcessStepInternalHandler.java
index a3c36517..bbb5a0f9 100644
--- a/src/main/java/neatlogic/framework/process/stephandler/core/IProcessStepInternalHandler.java
+++ b/src/main/java/neatlogic/framework/process/stephandler/core/IProcessStepInternalHandler.java
@@ -2,8 +2,8 @@ package neatlogic.framework.process.stephandler.core;
import com.alibaba.fastjson.JSONObject;
import neatlogic.framework.notify.core.INotifyPolicyHandler;
+import neatlogic.framework.process.constvalue.IOperationType;
import neatlogic.framework.process.constvalue.ProcessFlowDirection;
-import neatlogic.framework.process.constvalue.ProcessTaskOperationType;
import neatlogic.framework.process.dto.ProcessStepVo;
import neatlogic.framework.process.dto.ProcessTaskStepDataVo;
import neatlogic.framework.process.dto.ProcessTaskStepInOperationVo;
@@ -90,7 +90,7 @@ public interface IProcessStepInternalHandler {
/**
* 返回步骤动作,校验时用
*/
- default ProcessTaskOperationType[] getStepActions() {
+ default IOperationType[] getStepActions() {
//TODO 加default只是为了不报错,重构完所有代码后删掉这个default函数
return null;
}
@@ -98,7 +98,7 @@ public interface IProcessStepInternalHandler {
/**
* 返回步骤按钮列表
*/
- default ProcessTaskOperationType[] getStepButtons() {
+ default IOperationType[] getStepButtons() {
//TODO 加default只是为了不报错,重构完所有代码后删掉这个default函数
return null;
}
diff --git a/src/main/java/neatlogic/framework/process/stephandler/core/ProcessStepHandlerBase.java b/src/main/java/neatlogic/framework/process/stephandler/core/ProcessStepHandlerBase.java
index 561ee376..b4359d8e 100644
--- a/src/main/java/neatlogic/framework/process/stephandler/core/ProcessStepHandlerBase.java
+++ b/src/main/java/neatlogic/framework/process/stephandler/core/ProcessStepHandlerBase.java
@@ -268,11 +268,11 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
processStepUtilHandler.updateProcessTaskStepUserAndWorker(currentProcessTaskStepVo.getProcessTaskId(), currentProcessTaskStepVo.getId());
}
currentProcessTaskStepVo.getParamObj().put("operateTime", new Date());
- ProcessTaskOperatePostProcessorFactory.invokePostProcessorsAfterProcessTaskStepOperate(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_ACTIVE);
+ ProcessTaskOperatePostProcessorFactory.invokePostProcessorsAfterProcessTaskStepOperate(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_ACTIVE);
/* 写入时间审计 **/
- processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_ACTIVE);
+ processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_ACTIVE);
if (currentProcessTaskStepVo.getStatus().equals(ProcessTaskStepStatus.RUNNING.getValue())) {
- processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_START);
+ processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_START);
processStepHandlerCrossoverUtil.notify(currentProcessTaskStepVo, ProcessTaskStepNotifyTriggerType.START);
processStepHandlerCrossoverUtil.action(currentProcessTaskStepVo, ProcessTaskStepNotifyTriggerType.START);
}
@@ -295,7 +295,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
updateProcessTaskStepStatus(currentProcessTaskStepVo);
/* 自动处理 **/
IProcessStepHandler handler = ProcessStepHandlerFactory.getHandler(this.getHandler());
- doNext(ProcessTaskOperationType.STEP_HANDLE, new ProcessStepThread(currentProcessTaskStepVo) {
+ doNext(ProcessTaskStepOperationType.STEP_HANDLE, new ProcessStepThread(currentProcessTaskStepVo) {
@Override
public void myExecute() {
handler.handle(currentProcessTaskStepVo);
@@ -689,9 +689,9 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
/* 如果步骤被标记为全部完成,则触发完成 **/
if (currentProcessTaskStepVo.getIsAllDone()) {
/* 记录时间审计 **/
- processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_COMPLETE);
+ processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_COMPLETE);
IProcessStepHandler handler = ProcessStepHandlerFactory.getHandler(this.getHandler());
- doNext(ProcessTaskOperationType.STEP_COMPLETE, new ProcessStepThread(currentProcessTaskStepVo) {
+ doNext(ProcessTaskStepOperationType.STEP_COMPLETE, new ProcessStepThread(currentProcessTaskStepVo) {
@Override
public void myExecute() {
handler.complete(currentProcessTaskStepVo);
@@ -720,9 +720,9 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
myHandle(currentProcessTaskStepVo);
if (currentProcessTaskStepVo.getIsAllDone()) {
/* 记录时间审计 **/
- processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_COMPLETE);
+ processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_COMPLETE);
- doNext(ProcessTaskOperationType.STEP_COMPLETE, new ProcessStepThread(currentProcessTaskStepVo) {
+ doNext(ProcessTaskStepOperationType.STEP_COMPLETE, new ProcessStepThread(currentProcessTaskStepVo) {
@Override
public void myExecute() {
handler.complete(currentProcessTaskStepVo);
@@ -776,7 +776,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
processTaskCrossoverMapper.getProcessTaskLockById(currentProcessTaskStepVo.getProcessTaskId());
/* 检查处理人是否合法 **/
new ProcessAuthManager
- .StepOperationChecker(currentProcessTaskStepVo.getId(), ProcessTaskOperationType.STEP_START)
+ .StepOperationChecker(currentProcessTaskStepVo.getId(), ProcessTaskStepOperationType.STEP_START)
.build()
.checkAndNoPermissionThrowException();
try {
@@ -807,9 +807,9 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
processStepUtilHandler.updateProcessTaskStepUserAndWorker(currentProcessTaskStepVo.getProcessTaskId(), currentProcessTaskStepVo.getId());
currentProcessTaskStepVo.getParamObj().put("operateTime", new Date());
- ProcessTaskOperatePostProcessorFactory.invokePostProcessorsAfterProcessTaskStepOperate(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_START);
+ ProcessTaskOperatePostProcessorFactory.invokePostProcessorsAfterProcessTaskStepOperate(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_START);
/* 写入时间审计 **/
- processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_START);
+ processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_START);
/* 计算SLA **/
processStepHandlerCrossoverUtil.calculateSla(currentProcessTaskStepVo);
@@ -857,13 +857,13 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
/* 锁定当前流程 **/
processTaskCrossoverMapper.getProcessTaskLockById(currentProcessTaskStepVo.getProcessTaskId());
ProcessTaskStepNotifyTriggerType notifyTriggerType = ProcessTaskStepNotifyTriggerType.SUCCEED;
- ProcessTaskOperationType operationType = ProcessTaskOperationType.STEP_COMPLETE;
+ IOperationType operationType = ProcessTaskStepOperationType.STEP_COMPLETE;
boolean canComplete = false;
JSONObject paramObj = currentProcessTaskStepVo.getParamObj();
String action = paramObj.getString("action");
if (this.getMode().equals(ProcessStepMode.MT)) {
- if (ProcessTaskOperationType.STEP_BACK.getValue().equals(action)) {
- operationType = ProcessTaskOperationType.STEP_BACK;
+ if (ProcessTaskStepOperationType.STEP_BACK.getValue().equals(action)) {
+ operationType = ProcessTaskStepOperationType.STEP_BACK;
notifyTriggerType = ProcessTaskStepNotifyTriggerType.BACK;
}
canComplete = new ProcessAuthManager
@@ -909,7 +909,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
if (this.getMode().equals(ProcessStepMode.MT)) {
myBeforeComplete(currentProcessTaskStepVo);
- if (operationType == ProcessTaskOperationType.STEP_COMPLETE) {
+ if (operationType == ProcessTaskStepOperationType.STEP_COMPLETE) {
String priorityUuid = paramObj.getString("priorityUuid");
if (StringUtils.isNotBlank(priorityUuid)) {
processTaskCrossoverMapper.updateProcessTaskPriorityUuidById(currentProcessTaskStepVo.getProcessTaskId(), priorityUuid);
@@ -978,7 +978,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
nextStep.setFromProcessTaskStepId(currentProcessTaskStepVo.getId());
nextStep.setStartProcessTaskStepId(currentProcessTaskStepVo.getStartProcessTaskStepId());
nextStep.setParallelActivateStepIdList(nextStepIdList);
- ProcessTaskStepThread thread = new ProcessTaskStepThread(ProcessTaskOperationType.STEP_ACTIVE, nextStep, nextStepHandler.getMode()) {
+ ProcessTaskStepThread thread = new ProcessTaskStepThread(ProcessTaskStepOperationType.STEP_ACTIVE, nextStep, nextStepHandler.getMode()) {
@Override
protected void myExecute(ProcessTaskStepVo processTaskStepVo) {
IProcessStepHandler processStepHandler = ProcessStepHandlerFactory.getHandler(processTaskStepVo.getHandler());
@@ -1025,7 +1025,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
awaitAdvanceStep.setFromProcessTaskStepId(currentProcessTaskStepVo.getId());
awaitAdvanceStep.setStartProcessTaskStepId(currentProcessTaskStepVo.getStartProcessTaskStepId());
awaitAdvanceStep.setParallelActivateStepIdList(new ArrayList<>());
- ProcessTaskStepThread thread = new ProcessTaskStepThread(ProcessTaskOperationType.STEP_ACTIVE, awaitAdvanceStep, awaitAdvanceStepHandler.getMode()) {
+ ProcessTaskStepThread thread = new ProcessTaskStepThread(ProcessTaskStepOperationType.STEP_ACTIVE, awaitAdvanceStep, awaitAdvanceStepHandler.getMode()) {
@Override
protected void myExecute(ProcessTaskStepVo processTaskStepVo) {
IProcessStepHandler processStepHandler = ProcessStepHandlerFactory.getHandler(processTaskStepVo.getHandler());
@@ -1049,7 +1049,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
/* 回退提醒 **/
processTaskCrossoverMapper.deleteProcessTaskStepRemind(new ProcessTaskStepRemindVo(currentProcessTaskStepVo.getId()));
if (this.getMode().equals(ProcessStepMode.MT)) {
- if (ProcessTaskOperationType.STEP_BACK.getValue().equals(action)) {
+ if (ProcessTaskStepOperationType.STEP_BACK.getValue().equals(action)) {
// processTaskMapper.deleteProcessTaskStepRemind(new ProcessTaskStepRemindVo(currentProcessTaskStepVo.getId()));
processStepHandlerCrossoverUtil.saveStepRemind(currentProcessTaskStepVo, paramObj.getLong("nextStepId"), paramObj.getString("content"), ProcessTaskStepRemindType.BACK);
}
@@ -1186,7 +1186,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
IProcessTaskCrossoverMapper processTaskCrossoverMapper = CrossoverServiceFactory.getApi(IProcessTaskCrossoverMapper.class);
processTaskCrossoverMapper.getProcessTaskLockById(currentProcessTaskStepVo.getProcessTaskId());
new ProcessAuthManager
- .StepOperationChecker(currentProcessTaskStepVo.getId(), ProcessTaskOperationType.STEP_REAPPROVAL)
+ .StepOperationChecker(currentProcessTaskStepVo.getId(), ProcessTaskStepOperationType.STEP_REAPPROVAL)
.build()
.checkAndNoPermissionThrowException();
Long needActiveStepId = null;
@@ -1256,7 +1256,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
}
/* 保存描述内容 **/
processStepHandlerCrossoverUtil.checkContentIsRequired(currentProcessTaskStepVo);
- processStepHandlerCrossoverUtil.saveContentAndFile(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_REAPPROVAL);
+ processStepHandlerCrossoverUtil.saveContentAndFile(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_REAPPROVAL);
myReapproval(currentProcessTaskStepVo);
/* 更新步骤状态 **/
@@ -1284,7 +1284,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
processTaskCrossoverMapper.updateProcessTaskStepRelIsHit(processTaskStepRelVo);
}
}
- doNext(ProcessTaskOperationType.STEP_ACTIVE, new ProcessStepThread(nextStep) {
+ doNext(ProcessTaskStepOperationType.STEP_ACTIVE, new ProcessStepThread(nextStep) {
@Override
public void myExecute() {
nextStepHandler.active(nextStep);
@@ -1332,9 +1332,9 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
myReapprovalAudit(currentProcessTaskStepVo);
if (this.getMode().equals(ProcessStepMode.MT)) {
currentProcessTaskStepVo.getParamObj().put("operateTime", new Date());
- ProcessTaskOperatePostProcessorFactory.invokePostProcessorsAfterProcessTaskStepOperate(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_REAPPROVAL);
+ ProcessTaskOperatePostProcessorFactory.invokePostProcessorsAfterProcessTaskStepOperate(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_REAPPROVAL);
/* 写入时间审计 **/
- processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_REAPPROVAL);
+ processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_REAPPROVAL);
/* 计算SLA **/
processStepHandlerCrossoverUtil.calculateSla(new ProcessTaskVo(currentProcessTaskStepVo.getProcessTaskId()));
}
@@ -1354,7 +1354,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
// 锁定当前流程
processTaskCrossoverMapper.getProcessTaskLockById(currentProcessTaskStepVo.getProcessTaskId());
new ProcessAuthManager
- .StepOperationChecker(currentProcessTaskStepVo.getId(), ProcessTaskOperationType.STEP_RETREAT)
+ .StepOperationChecker(currentProcessTaskStepVo.getId(), ProcessTaskStepOperationType.STEP_RETREAT)
.build()
.checkAndNoPermissionThrowException();
try {
@@ -1379,11 +1379,11 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
updateProcessTaskStepStatus(currentProcessTaskStepVo);
currentProcessTaskStepVo.getParamObj().put("operateTime", new Date());
- ProcessTaskOperatePostProcessorFactory.invokePostProcessorsAfterProcessTaskStepOperate(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_RETREAT);
+ ProcessTaskOperatePostProcessorFactory.invokePostProcessorsAfterProcessTaskStepOperate(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_RETREAT);
/* 写入时间审计 **/
- processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_RETREAT);
+ processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_RETREAT);
if (currentProcessTaskStepVo.getStatus().equals(ProcessTaskStepStatus.RUNNING.getValue())) {
- processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_START);
+ processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_START);
}
/* 计算SLA并触发超时警告 **/
@@ -1575,12 +1575,12 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
}
/* 检查处理人是否合法 **/
new ProcessAuthManager
- .StepOperationChecker(currentProcessTaskStepVo.getId(), ProcessTaskOperationType.STEP_RECOVER)
+ .StepOperationChecker(currentProcessTaskStepVo.getId(), ProcessTaskStepOperationType.STEP_RECOVER)
.build()
.checkAndNoPermissionThrowException();
stepMajorUserRegulate(currentProcessTaskStepVo);
- processStepHandlerCrossoverUtil.saveContentAndFile(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_RECOVER);
+ processStepHandlerCrossoverUtil.saveContentAndFile(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_RECOVER);
myRecover(currentProcessTaskStepVo);
/* 更新工单步骤状态为 “进行中” **/
@@ -1601,7 +1601,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
processStepUtilHandler.updateProcessTaskStepUserAndWorker(currentProcessTaskStepVo.getProcessTaskId(), currentProcessTaskStepVo.getId());
currentProcessTaskStepVo.getParamObj().put("operateTime", new Date());
- ProcessTaskOperatePostProcessorFactory.invokePostProcessorsAfterProcessTaskStepOperate(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_RECOVER);
+ ProcessTaskOperatePostProcessorFactory.invokePostProcessorsAfterProcessTaskStepOperate(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_RECOVER);
/* 触发通知 **/
processStepHandlerCrossoverUtil.notify(currentProcessTaskStepVo, ProcessTaskStepNotifyTriggerType.RECOVER);
@@ -1631,7 +1631,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
processTaskCrossoverMapper.getProcessTaskLockById(currentProcessTaskStepVo.getProcessTaskId());
/* 检查处理人是否合法 **/
new ProcessAuthManager
- .StepOperationChecker(currentProcessTaskStepVo.getId(), ProcessTaskOperationType.STEP_PAUSE)
+ .StepOperationChecker(currentProcessTaskStepVo.getId(), ProcessTaskStepOperationType.STEP_PAUSE)
.build()
.checkAndNoPermissionThrowException();
try {
@@ -1640,7 +1640,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
throw new ProcessStepUtilHandlerNotFoundException(this.getHandler());
}
stepMajorUserRegulate(currentProcessTaskStepVo);
- processStepHandlerCrossoverUtil.saveContentAndFile(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_PAUSE);
+ processStepHandlerCrossoverUtil.saveContentAndFile(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_PAUSE);
myPause(currentProcessTaskStepVo);
/* 更新工单步骤状态为 “已挂起” **/
@@ -1652,7 +1652,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
if (CollectionUtils.isNotEmpty(processTaskStepUserList)) {
String userUuid = processTaskStepUserList.get(0).getUserUuid();
majorUserHasStepPauseAuth = new ProcessAuthManager
- .StepOperationChecker(currentProcessTaskStepVo.getId(), ProcessTaskOperationType.STEP_RECOVER)
+ .StepOperationChecker(currentProcessTaskStepVo.getId(), ProcessTaskStepOperationType.STEP_RECOVER)
.withUserUuid(userUuid)
.build()
.check();
@@ -1667,9 +1667,9 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
processStepUtilHandler.updateProcessTaskStepUserAndWorker(currentProcessTaskStepVo.getProcessTaskId(), currentProcessTaskStepVo.getId());
currentProcessTaskStepVo.getParamObj().put("operateTime", new Date());
- ProcessTaskOperatePostProcessorFactory.invokePostProcessorsAfterProcessTaskStepOperate(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_PAUSE);
+ ProcessTaskOperatePostProcessorFactory.invokePostProcessorsAfterProcessTaskStepOperate(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_PAUSE);
/* 写入时间审计 **/
- processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_PAUSE);
+ processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_PAUSE);
/* 计算SLA **/
processStepHandlerCrossoverUtil.calculateSla(currentProcessTaskStepVo);
@@ -1702,7 +1702,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
/* 校验权限 **/
new ProcessAuthManager
- .StepOperationChecker(currentProcessTaskStepVo.getId(), ProcessTaskOperationType.STEP_ACCEPT)
+ .StepOperationChecker(currentProcessTaskStepVo.getId(), ProcessTaskStepOperationType.STEP_ACCEPT)
.build()
.checkAndNoPermissionThrowException();
try {
@@ -1730,7 +1730,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
processTaskCrossoverMapper.insertProcessTaskStepUser(processTaskStepUserVo);
currentProcessTaskStepVo.getParamObj().put("operateTime", new Date());
- ProcessTaskOperatePostProcessorFactory.invokePostProcessorsAfterProcessTaskStepOperate(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_ACCEPT);
+ ProcessTaskOperatePostProcessorFactory.invokePostProcessorsAfterProcessTaskStepOperate(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_ACCEPT);
/* 处理历史记录 **/
// processStepHandlerUtilService.audit(currentProcessTaskStepVo, ProcessTaskStepAction.ACCEPT);
@@ -1760,7 +1760,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
/* 校验权限 **/
new ProcessAuthManager
- .StepOperationChecker(currentProcessTaskStepVo.getId(), ProcessTaskOperationType.STEP_TRANSFER)
+ .StepOperationChecker(currentProcessTaskStepVo.getId(), ProcessTaskStepOperationType.STEP_TRANSFER)
.build()
.checkAndNoPermissionThrowException();
@@ -1818,7 +1818,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
contentTargetList.add(contentTargetObj);
}
currentProcessTaskStepVo.getParamObj().put("contentTargetList", contentTargetList);
- processStepHandlerCrossoverUtil.saveContentAndFile(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_TRANSFER);
+ processStepHandlerCrossoverUtil.saveContentAndFile(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_TRANSFER);
/* 根据子类需要把最终处理人放进来,引擎将自动写入数据库,也可能为空,例如一些特殊的流程节点 **/
processTaskStepVo.setStatus(ProcessTaskStepStatus.PENDING.getValue());
@@ -1862,7 +1862,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
myAfterTransfer(processTaskStepVo);
currentProcessTaskStepVo.getParamObj().put("operateTime", new Date());
- ProcessTaskOperatePostProcessorFactory.invokePostProcessorsAfterProcessTaskStepOperate(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_TRANSFER);
+ ProcessTaskOperatePostProcessorFactory.invokePostProcessorsAfterProcessTaskStepOperate(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_TRANSFER);
/* 触发通知 **/
processStepHandlerCrossoverUtil.notify(currentProcessTaskStepVo, ProcessTaskStepNotifyTriggerType.TRANSFER);
@@ -1927,7 +1927,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
IProcessStepHandler handler = ProcessStepHandlerFactory.getHandler(fromProcessTaskStepVo.getHandler());
if (handler != null) {
fromProcessTaskStepVo.setFromProcessTaskStepId(currentProcessTaskStepVo.getId());
- doNext(ProcessTaskOperationType.STEP_BACK, new ProcessStepThread(fromProcessTaskStepVo) {
+ doNext(ProcessTaskStepOperationType.STEP_BACK, new ProcessStepThread(fromProcessTaskStepVo) {
@Override
public void myExecute() {
handler.back(fromProcessTaskStepVo);
@@ -1939,7 +1939,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
IProcessStepHandler handler = ProcessStepHandlerFactory.getHandler(fromProcessTaskStepVo.getHandler());
if (handler != null) {
fromProcessTaskStepVo.setFromProcessTaskStepId(currentProcessTaskStepVo.getId());
- doNext(ProcessTaskOperationType.STEP_ACTIVE, new ProcessStepThread(fromProcessTaskStepVo) {
+ doNext(ProcessTaskStepOperationType.STEP_ACTIVE, new ProcessStepThread(fromProcessTaskStepVo) {
@Override
public void myExecute() {
handler.active(fromProcessTaskStepVo);
@@ -1951,7 +1951,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
}
}
/* 处理时间审计 **/
- processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_BACK);
+ processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_BACK);
/* 触发通知 **/
processStepHandlerCrossoverUtil.notify(currentProcessTaskStepVo, ProcessTaskStepNotifyTriggerType.BACK);
@@ -2335,7 +2335,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
processTaskCrossoverMapper.updateProcessTaskStepRelIsHit(processTaskStepRelVo);
nextStep.setFromProcessTaskStepId(currentProcessTaskStepVo.getId());
nextStep.setStartProcessTaskStepId(currentProcessTaskStepVo.getStartProcessTaskStepId());
- ProcessTaskStepThread thread = new ProcessTaskStepThread(ProcessTaskOperationType.STEP_ACTIVE, nextStep, nextStepHandler.getMode()) {
+ ProcessTaskStepThread thread = new ProcessTaskStepThread(ProcessTaskStepOperationType.STEP_ACTIVE, nextStep, nextStepHandler.getMode()) {
@Override
protected void myExecute(ProcessTaskStepVo processTaskStepVo) {
IProcessStepHandler processStepHandler = ProcessStepHandlerFactory.getHandler(processTaskStepVo.getHandler());
@@ -2355,9 +2355,9 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
}
doNext(processTaskStepThreadList);
/* 写入时间审计 **/
- processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_ACTIVE);
- processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_START);
- processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_COMPLETE);
+ processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_ACTIVE);
+ processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_START);
+ processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_COMPLETE);
/* 计算SLA并触发超时警告 **/
processStepHandlerCrossoverUtil.calculateSla(currentProcessTaskStepVo);
@@ -2426,7 +2426,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
String type = ProcessFlowDirection.FORWARD.getValue();
JSONObject paramObj = currentProcessTaskStepVo.getParamObj();
String action = paramObj.getString("action");
- if (ProcessTaskOperationType.STEP_BACK.getValue().equals(action)) {
+ if (ProcessTaskStepOperationType.STEP_BACK.getValue().equals(action)) {
type = ProcessFlowDirection.BACKWARD.getValue();
}
IProcessTaskCrossoverMapper processTaskCrossoverMapper = CrossoverServiceFactory.getApi(IProcessTaskCrossoverMapper.class);
@@ -2701,7 +2701,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
if (handler != null) {
toStepVo.setStartProcessTaskStepId(currentProcessTaskStepVo.getStartProcessTaskStepId());
toStepVo.setFromProcessTaskStepId(currentProcessTaskStepVo.getId());
- ProcessTaskStepThread thread = new ProcessTaskStepThread(ProcessTaskOperationType.STEP_HANG, toStepVo, handler.getMode()) {
+ ProcessTaskStepThread thread = new ProcessTaskStepThread(ProcessTaskStepOperationType.STEP_HANG, toStepVo, handler.getMode()) {
@Override
protected void myExecute(ProcessTaskStepVo processTaskStepVo) {
IProcessStepHandler processStepHandler = ProcessStepHandlerFactory.getHandler(processTaskStepVo.getHandler());
@@ -2908,7 +2908,7 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
}
}
- protected static synchronized void doNext(ProcessTaskOperationType operationType, ProcessStepThread thread) {
+ protected static synchronized void doNext(IOperationType operationType, ProcessStepThread thread) {
String operationTypeValue = "";
if (operationType != null) {
operationTypeValue = operationType.getValue();
@@ -2989,11 +2989,11 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler {
processTaskScoreCrossoverMapper.deleteProcessTaskAutoScoreByProcessTaskId(currentProcessTaskStepVo.getProcessTaskId());
currentProcessTaskStepVo.getParamObj().put("operateTime", new Date());
- ProcessTaskOperatePostProcessorFactory.invokePostProcessorsAfterProcessTaskStepOperate(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_REDO);
+ ProcessTaskOperatePostProcessorFactory.invokePostProcessorsAfterProcessTaskStepOperate(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_REDO);
/* 写入时间审计 **/
processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskOperationType.PROCESSTASK_REDO);
if (currentProcessTaskStepVo.getStatus().equals(ProcessTaskStepStatus.RUNNING.getValue())) {
- processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskOperationType.STEP_START);
+ processStepHandlerCrossoverUtil.timeAudit(currentProcessTaskStepVo, ProcessTaskStepOperationType.STEP_START);
}
/* 计算SLA并触发超时警告 **/
diff --git a/src/main/java/neatlogic/framework/process/stephandler/core/ProcessTaskStepThread.java b/src/main/java/neatlogic/framework/process/stephandler/core/ProcessTaskStepThread.java
index df260695..d1460b13 100644
--- a/src/main/java/neatlogic/framework/process/stephandler/core/ProcessTaskStepThread.java
+++ b/src/main/java/neatlogic/framework/process/stephandler/core/ProcessTaskStepThread.java
@@ -19,8 +19,8 @@ package neatlogic.framework.process.stephandler.core;
import neatlogic.framework.asynchronization.thread.NeatLogicThread;
import neatlogic.framework.crossover.CrossoverServiceFactory;
+import neatlogic.framework.process.constvalue.IOperationType;
import neatlogic.framework.process.constvalue.ProcessStepMode;
-import neatlogic.framework.process.constvalue.ProcessTaskOperationType;
import neatlogic.framework.process.crossover.IProcessTaskCrossoverMapper;
import neatlogic.framework.process.dto.ProcessTaskStepVo;
@@ -34,11 +34,11 @@ public abstract class ProcessTaskStepThread extends NeatLogicThread {
private final ProcessStepMode mode;
- private final ProcessTaskOperationType operationType;
+ private final IOperationType operationType;
private Long inOperationId;
- public ProcessTaskStepThread(ProcessTaskOperationType operationType, ProcessTaskStepVo processTaskStepVo, ProcessStepMode mode) {
+ public ProcessTaskStepThread(IOperationType operationType, ProcessTaskStepVo processTaskStepVo, ProcessStepMode mode) {
super("PROCESSTASK-STEP-" + (operationType != null ? operationType.getValue() : "空") + (processTaskStepVo != null ? "-" + processTaskStepVo.getName() + "_" +processTaskStepVo.getId() : ""));
this.processTaskStepVo = processTaskStepVo;
this.processTaskId = processTaskStepVo.getProcessTaskId();
@@ -80,7 +80,7 @@ public abstract class ProcessTaskStepThread extends NeatLogicThread {
return mode;
}
- public ProcessTaskOperationType getOperationType() {
+ public IOperationType getOperationType() {
return operationType;
}
}
diff --git a/src/main/java/neatlogic/framework/process/stephandler/core/ProcessTaskStepThreadComparator.java b/src/main/java/neatlogic/framework/process/stephandler/core/ProcessTaskStepThreadComparator.java
index 60356cf5..afc49a82 100644
--- a/src/main/java/neatlogic/framework/process/stephandler/core/ProcessTaskStepThreadComparator.java
+++ b/src/main/java/neatlogic/framework/process/stephandler/core/ProcessTaskStepThreadComparator.java
@@ -19,7 +19,7 @@ package neatlogic.framework.process.stephandler.core;
import neatlogic.framework.process.constvalue.ProcessFlowDirection;
import neatlogic.framework.process.constvalue.ProcessStepMode;
-import neatlogic.framework.process.constvalue.ProcessTaskOperationType;
+import neatlogic.framework.process.constvalue.ProcessTaskStepOperationType;
import neatlogic.framework.process.dto.ProcessTaskStepRelVo;
import java.util.*;
@@ -44,10 +44,10 @@ public class ProcessTaskStepThreadComparator implements Comparator
Date: Thu, 21 Nov 2024 17:07:28 +0800
Subject: [PATCH 3/4] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=E5=B7=A5=E5=8D=95?=
=?UTF-8?q?=E4=B8=AD=E5=BF=83=E8=A1=A5=E5=85=85=E7=82=B9=E5=87=BB=E6=A0=87?=
=?UTF-8?q?=E9=A2=98=E6=98=AF=E5=90=A6=E6=89=93=E5=BC=80=E6=96=B0=E9=A1=B5?=
=?UTF-8?q?=E9=9D=A2=E6=8E=A7=E5=88=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../neatlogic/framework/process/constvalue/ItsmTenantConfig.java | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/main/java/neatlogic/framework/process/constvalue/ItsmTenantConfig.java b/src/main/java/neatlogic/framework/process/constvalue/ItsmTenantConfig.java
index fd937b9b..9a867fb6 100644
--- a/src/main/java/neatlogic/framework/process/constvalue/ItsmTenantConfig.java
+++ b/src/main/java/neatlogic/framework/process/constvalue/ItsmTenantConfig.java
@@ -26,6 +26,7 @@ public enum ItsmTenantConfig implements ITenantConfig {
PROCESS_TASK_STEP_COMMENT_EDITOR_TOOLBAR_IS_SHOW("processTaskStepCommentEditorToolbarIsShow", "1", "term.itsm.isshowprocesstaskstepcommenteditortoolbar"),
WORKCENTER_AUTO_REFRESH("workcenter.auto.refresh", "1", "nfpc.itsmtenantconfig.workcenterrefresh"),
WORKCENTER_CUSTOM_LIMIT("workcenter.custom.limit", "5", "nfpc.itsmtenantconfig.workcentercustomlimit"),
+ WORKCENTER_PROCESSTASK_NEWPAGE("workcenter.processtask.newpage", "0", "nfpc.itsmtenantconfig.workcenterprocesstasknewpage"),
;
String key;
--
Gitee
From 5eb0c08107b7aa73d5bd731d31390fefdd2cf7b5 Mon Sep 17 00:00:00 2001
From: "1437892690@qq.com" <1437892690@qq.com>
Date: Thu, 21 Nov 2024 17:54:46 +0800
Subject: [PATCH 4/4] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E5=B7=A5=E5=8D=95?=
=?UTF-8?q?=E6=AD=A5=E9=AA=A4=E6=9D=83=E9=99=90=E6=A0=A1=E9=AA=8C=E4=BC=98?=
=?UTF-8?q?=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
关联 #[1208759358029824]工单步骤权限校验优化 http://192.168.0.96:8090/demo/rdm.html#/story-detail/939050947543040/939050947543042/1208759358029824
---
.../constvalue/ProcessTaskOperationType.java | 1 +
.../ProcessTaskStepOperationType.java | 1 +
.../IProcessStepHandlerCrossoverUtil.java | 2 +-
...maticHandlerNotEnableOperateException.java | 2 +-
...essTaskOperationUnauthorizedException.java | 2 +-
...TimerHandlerNotEnableOperateException.java | 3 +-
.../core/IOperationAuthHandler.java | 1 -
.../core/IOperationAuthHandlerType.java | 2 --
.../core}/IOperationType.java | 36 +++++++++----------
.../core/ProcessAuthManager.java | 1 -
.../core/IProcessStepInternalHandler.java | 2 +-
.../IProcessTaskOperatePostProcessor.java | 2 +-
.../core/ProcessStepHandlerBase.java | 1 +
...rocessTaskOperatePostProcessorFactory.java | 2 +-
.../core/ProcessTaskStepThread.java | 2 +-
.../process/util/ProcessConfigUtil.java | 1 +
16 files changed, 30 insertions(+), 31 deletions(-)
rename src/main/java/neatlogic/framework/process/{constvalue => operationauth/core}/IOperationType.java (34%)
mode change 100755 => 100644
diff --git a/src/main/java/neatlogic/framework/process/constvalue/ProcessTaskOperationType.java b/src/main/java/neatlogic/framework/process/constvalue/ProcessTaskOperationType.java
index f80787ea..5c03df82 100644
--- a/src/main/java/neatlogic/framework/process/constvalue/ProcessTaskOperationType.java
+++ b/src/main/java/neatlogic/framework/process/constvalue/ProcessTaskOperationType.java
@@ -2,6 +2,7 @@ package neatlogic.framework.process.constvalue;
import neatlogic.framework.common.constvalue.GroupSearch;
import neatlogic.framework.common.constvalue.UserType;
+import neatlogic.framework.process.operationauth.core.IOperationType;
import neatlogic.framework.process.operationauth.core.OperationAuthHandlerType;
import java.util.Arrays;
diff --git a/src/main/java/neatlogic/framework/process/constvalue/ProcessTaskStepOperationType.java b/src/main/java/neatlogic/framework/process/constvalue/ProcessTaskStepOperationType.java
index 923a8252..837b1f57 100644
--- a/src/main/java/neatlogic/framework/process/constvalue/ProcessTaskStepOperationType.java
+++ b/src/main/java/neatlogic/framework/process/constvalue/ProcessTaskStepOperationType.java
@@ -2,6 +2,7 @@ package neatlogic.framework.process.constvalue;
import neatlogic.framework.common.constvalue.GroupSearch;
import neatlogic.framework.common.constvalue.UserType;
+import neatlogic.framework.process.operationauth.core.IOperationType;
import neatlogic.framework.process.operationauth.core.OperationAuthHandlerType;
import java.util.Arrays;
diff --git a/src/main/java/neatlogic/framework/process/crossover/IProcessStepHandlerCrossoverUtil.java b/src/main/java/neatlogic/framework/process/crossover/IProcessStepHandlerCrossoverUtil.java
index 0cf0b9fd..0d0a0244 100644
--- a/src/main/java/neatlogic/framework/process/crossover/IProcessStepHandlerCrossoverUtil.java
+++ b/src/main/java/neatlogic/framework/process/crossover/IProcessStepHandlerCrossoverUtil.java
@@ -20,7 +20,7 @@ package neatlogic.framework.process.crossover;
import neatlogic.framework.crossover.ICrossoverService;
import neatlogic.framework.notify.core.INotifyTriggerType;
import neatlogic.framework.process.audithandler.core.IProcessTaskAuditType;
-import neatlogic.framework.process.constvalue.IOperationType;
+import neatlogic.framework.process.operationauth.core.IOperationType;
import neatlogic.framework.process.dto.ProcessTaskStepVo;
import neatlogic.framework.process.dto.ProcessTaskVo;
import neatlogic.framework.process.stepremind.core.IProcessTaskStepRemindType;
diff --git a/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskAutomaticHandlerNotEnableOperateException.java b/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskAutomaticHandlerNotEnableOperateException.java
index c7d42223..398f5df6 100644
--- a/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskAutomaticHandlerNotEnableOperateException.java
+++ b/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskAutomaticHandlerNotEnableOperateException.java
@@ -15,7 +15,7 @@ along with this program. If not, see .*/
package neatlogic.framework.process.exception.operationauth;
-import neatlogic.framework.process.constvalue.IOperationType;
+import neatlogic.framework.process.operationauth.core.IOperationType;
/**
* @author linbq
diff --git a/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskOperationUnauthorizedException.java b/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskOperationUnauthorizedException.java
index 2c963474..b21eacb0 100644
--- a/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskOperationUnauthorizedException.java
+++ b/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskOperationUnauthorizedException.java
@@ -15,7 +15,7 @@ along with this program. If not, see .*/
package neatlogic.framework.process.exception.operationauth;
-import neatlogic.framework.process.constvalue.IOperationType;
+import neatlogic.framework.process.operationauth.core.IOperationType;
/**
* @author linbq
diff --git a/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskTimerHandlerNotEnableOperateException.java b/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskTimerHandlerNotEnableOperateException.java
index a6e7d4dc..08848840 100644
--- a/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskTimerHandlerNotEnableOperateException.java
+++ b/src/main/java/neatlogic/framework/process/exception/operationauth/ProcessTaskTimerHandlerNotEnableOperateException.java
@@ -15,8 +15,7 @@ along with this program. If not, see .*/
package neatlogic.framework.process.exception.operationauth;
-import neatlogic.framework.process.constvalue.IOperationType;
-import neatlogic.framework.process.constvalue.ProcessTaskOperationType;
+import neatlogic.framework.process.operationauth.core.IOperationType;
/**
* @author linbq
diff --git a/src/main/java/neatlogic/framework/process/operationauth/core/IOperationAuthHandler.java b/src/main/java/neatlogic/framework/process/operationauth/core/IOperationAuthHandler.java
index 5c4031a9..19383b21 100644
--- a/src/main/java/neatlogic/framework/process/operationauth/core/IOperationAuthHandler.java
+++ b/src/main/java/neatlogic/framework/process/operationauth/core/IOperationAuthHandler.java
@@ -1,7 +1,6 @@
package neatlogic.framework.process.operationauth.core;
import com.alibaba.fastjson.JSONObject;
-import neatlogic.framework.process.constvalue.IOperationType;
import neatlogic.framework.process.dto.ProcessTaskStepVo;
import neatlogic.framework.process.dto.ProcessTaskVo;
import neatlogic.framework.process.exception.operationauth.ProcessTaskPermissionDeniedException;
diff --git a/src/main/java/neatlogic/framework/process/operationauth/core/IOperationAuthHandlerType.java b/src/main/java/neatlogic/framework/process/operationauth/core/IOperationAuthHandlerType.java
index f1dc5617..dd1d53ef 100755
--- a/src/main/java/neatlogic/framework/process/operationauth/core/IOperationAuthHandlerType.java
+++ b/src/main/java/neatlogic/framework/process/operationauth/core/IOperationAuthHandlerType.java
@@ -1,7 +1,5 @@
package neatlogic.framework.process.operationauth.core;
-import neatlogic.framework.process.constvalue.IOperationType;
-
import java.util.List;
public interface IOperationAuthHandlerType {
diff --git a/src/main/java/neatlogic/framework/process/constvalue/IOperationType.java b/src/main/java/neatlogic/framework/process/operationauth/core/IOperationType.java
old mode 100755
new mode 100644
similarity index 34%
rename from src/main/java/neatlogic/framework/process/constvalue/IOperationType.java
rename to src/main/java/neatlogic/framework/process/operationauth/core/IOperationType.java
index 29cd2b68..71a8b174
--- a/src/main/java/neatlogic/framework/process/constvalue/IOperationType.java
+++ b/src/main/java/neatlogic/framework/process/operationauth/core/IOperationType.java
@@ -1,21 +1,21 @@
-/*Copyright (C) $today.year 深圳极向量科技有限公司 All Rights Reserved.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU Affero General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU Affero General Public License for more details.
-
-You should have received a copy of the GNU Affero General Public License
-along with this program. If not, see .*/
-
-package neatlogic.framework.process.constvalue;
-
-import neatlogic.framework.process.operationauth.core.OperationAuthHandlerType;
+/*
+ * Copyright (C) 2024 深圳极向量科技有限公司 All Rights Reserved.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+package neatlogic.framework.process.operationauth.core;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/main/java/neatlogic/framework/process/operationauth/core/ProcessAuthManager.java b/src/main/java/neatlogic/framework/process/operationauth/core/ProcessAuthManager.java
index 8700b610..f6f1ecab 100644
--- a/src/main/java/neatlogic/framework/process/operationauth/core/ProcessAuthManager.java
+++ b/src/main/java/neatlogic/framework/process/operationauth/core/ProcessAuthManager.java
@@ -3,7 +3,6 @@ package neatlogic.framework.process.operationauth.core;
import com.alibaba.fastjson.JSONObject;
import neatlogic.framework.asynchronization.threadlocal.UserContext;
import neatlogic.framework.crossover.CrossoverServiceFactory;
-import neatlogic.framework.process.constvalue.IOperationType;
import neatlogic.framework.process.constvalue.ProcessTaskOperationType;
import neatlogic.framework.process.crossover.*;
import neatlogic.framework.process.dto.*;
diff --git a/src/main/java/neatlogic/framework/process/stephandler/core/IProcessStepInternalHandler.java b/src/main/java/neatlogic/framework/process/stephandler/core/IProcessStepInternalHandler.java
index bbb5a0f9..2fa7a8ad 100644
--- a/src/main/java/neatlogic/framework/process/stephandler/core/IProcessStepInternalHandler.java
+++ b/src/main/java/neatlogic/framework/process/stephandler/core/IProcessStepInternalHandler.java
@@ -2,7 +2,7 @@ package neatlogic.framework.process.stephandler.core;
import com.alibaba.fastjson.JSONObject;
import neatlogic.framework.notify.core.INotifyPolicyHandler;
-import neatlogic.framework.process.constvalue.IOperationType;
+import neatlogic.framework.process.operationauth.core.IOperationType;
import neatlogic.framework.process.constvalue.ProcessFlowDirection;
import neatlogic.framework.process.dto.ProcessStepVo;
import neatlogic.framework.process.dto.ProcessTaskStepDataVo;
diff --git a/src/main/java/neatlogic/framework/process/stephandler/core/IProcessTaskOperatePostProcessor.java b/src/main/java/neatlogic/framework/process/stephandler/core/IProcessTaskOperatePostProcessor.java
index 1d957c26..b7e46407 100644
--- a/src/main/java/neatlogic/framework/process/stephandler/core/IProcessTaskOperatePostProcessor.java
+++ b/src/main/java/neatlogic/framework/process/stephandler/core/IProcessTaskOperatePostProcessor.java
@@ -17,7 +17,7 @@
package neatlogic.framework.process.stephandler.core;
-import neatlogic.framework.process.constvalue.IOperationType;
+import neatlogic.framework.process.operationauth.core.IOperationType;
import neatlogic.framework.process.dto.ProcessTaskStepVo;
/**
diff --git a/src/main/java/neatlogic/framework/process/stephandler/core/ProcessStepHandlerBase.java b/src/main/java/neatlogic/framework/process/stephandler/core/ProcessStepHandlerBase.java
index b4359d8e..aec98e72 100644
--- a/src/main/java/neatlogic/framework/process/stephandler/core/ProcessStepHandlerBase.java
+++ b/src/main/java/neatlogic/framework/process/stephandler/core/ProcessStepHandlerBase.java
@@ -52,6 +52,7 @@ import neatlogic.framework.process.exception.processtaskserialnumberpolicy.Proce
import neatlogic.framework.process.fulltextindex.ProcessFullTextIndexType;
import neatlogic.framework.process.notify.constvalue.ProcessTaskNotifyTriggerType;
import neatlogic.framework.process.notify.constvalue.ProcessTaskStepNotifyTriggerType;
+import neatlogic.framework.process.operationauth.core.IOperationType;
import neatlogic.framework.process.operationauth.core.ProcessAuthManager;
import neatlogic.framework.process.processtaskserialnumberpolicy.core.IProcessTaskSerialNumberPolicyHandler;
import neatlogic.framework.process.processtaskserialnumberpolicy.core.ProcessTaskSerialNumberPolicyHandlerFactory;
diff --git a/src/main/java/neatlogic/framework/process/stephandler/core/ProcessTaskOperatePostProcessorFactory.java b/src/main/java/neatlogic/framework/process/stephandler/core/ProcessTaskOperatePostProcessorFactory.java
index 151fabca..e23b78d7 100644
--- a/src/main/java/neatlogic/framework/process/stephandler/core/ProcessTaskOperatePostProcessorFactory.java
+++ b/src/main/java/neatlogic/framework/process/stephandler/core/ProcessTaskOperatePostProcessorFactory.java
@@ -20,7 +20,7 @@ package neatlogic.framework.process.stephandler.core;
import neatlogic.framework.applicationlistener.core.ModuleInitializedListenerBase;
import neatlogic.framework.bootstrap.NeatLogicWebApplicationContext;
import neatlogic.framework.common.RootComponent;
-import neatlogic.framework.process.constvalue.IOperationType;
+import neatlogic.framework.process.operationauth.core.IOperationType;
import neatlogic.framework.process.dto.ProcessTaskStepVo;
import java.util.ArrayList;
diff --git a/src/main/java/neatlogic/framework/process/stephandler/core/ProcessTaskStepThread.java b/src/main/java/neatlogic/framework/process/stephandler/core/ProcessTaskStepThread.java
index d1460b13..dd9e7b0c 100644
--- a/src/main/java/neatlogic/framework/process/stephandler/core/ProcessTaskStepThread.java
+++ b/src/main/java/neatlogic/framework/process/stephandler/core/ProcessTaskStepThread.java
@@ -19,7 +19,7 @@ package neatlogic.framework.process.stephandler.core;
import neatlogic.framework.asynchronization.thread.NeatLogicThread;
import neatlogic.framework.crossover.CrossoverServiceFactory;
-import neatlogic.framework.process.constvalue.IOperationType;
+import neatlogic.framework.process.operationauth.core.IOperationType;
import neatlogic.framework.process.constvalue.ProcessStepMode;
import neatlogic.framework.process.crossover.IProcessTaskCrossoverMapper;
import neatlogic.framework.process.dto.ProcessTaskStepVo;
diff --git a/src/main/java/neatlogic/framework/process/util/ProcessConfigUtil.java b/src/main/java/neatlogic/framework/process/util/ProcessConfigUtil.java
index d711cd6f..6cd43089 100644
--- a/src/main/java/neatlogic/framework/process/util/ProcessConfigUtil.java
+++ b/src/main/java/neatlogic/framework/process/util/ProcessConfigUtil.java
@@ -24,6 +24,7 @@ import neatlogic.framework.form.constvalue.FormAttributeAuthType;
import neatlogic.framework.process.constvalue.*;
import neatlogic.framework.process.exception.process.ProcessConfigException;
import neatlogic.framework.process.exception.process.ProcessStepUtilHandlerNotFoundException;
+import neatlogic.framework.process.operationauth.core.IOperationType;
import neatlogic.framework.process.stephandler.core.IProcessStepInternalHandler;
import neatlogic.framework.process.stephandler.core.ProcessMessageManager;
import neatlogic.framework.process.stephandler.core.ProcessStepInternalHandlerFactory;
--
Gitee