diff --git a/src/main/java/neatlogic/framework/process/constvalue/IOperationType.java b/src/main/java/neatlogic/framework/process/constvalue/IOperationType.java index 534929f69bef948f5bca3c8aacafbce3eb5e1bfd..29cd2b68025ed27820af49a999f9b05be9384f5b 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 0000000000000000000000000000000000000000..923a825290f3ad1b11740fe81f02b742b0adf43e --- /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 ""; + } +}