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