package com.hotent.bpmModel.manager; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ObjectNode; import com.hotent.base.model.CommonResult; import com.hotent.bpmModel.params.DefConfSaveVo; import com.hotent.bpmModel.params.NodeConfCopyVo; import com.hotent.bpmModel.params.NodeConfSaveVo; import com.hotent.bpmModel.params.VarTreeGetVo; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.util.List; import java.util.Map; /** * 流程节点设置管理接口 */ public interface BpmNodeService { /** * 保存表单权限配置 * @param nodeId * @param defId * @param parentDefKey * @return */ CommonResult saveSub(String nodeId, String defId, String parentDefKey, HttpServletRequest request) throws Exception; /** * * @param definitionId * @param nodeId * @return */ Map ruleEdit(String definitionId, String nodeId) throws Exception; /** * 获取分支设置信息 * @param nodeId * @param defId * @return */ Map branchConditionEdit(String nodeId, String defId) throws Exception; /** * 节点事件脚本保存 * @param vo * @return */ CommonResult eventScriptSave(NodeConfSaveVo vo); /** * 会签规则特权配置 * @param vo * @return */ Object signConfigSave(NodeConfSaveVo vo); /** * 流程变量对话框的树 其中包含:bodef的字段,流程变量,流程常量(发起人,当前用户,...) * @param vo * @return */ Object varTree(VarTreeGetVo vo) throws Exception; /** * 流程定义节点配置页面json数据 * @param defId * @param topDefKey * @return */ Map nodeDefSetting(String defId, String topDefKey) throws Exception; /** * 保存流程配置 * @param vo * @return */ CommonResult saveDefConf(DefConfSaveVo vo) throws Exception; /** * 保存节点的跳转规则 * @param nodeId * @param defId * @param nodeList * @return */ CommonResult ruleSave(String nodeId, String defId, List nodeList) throws IOException; CommonResult isSubFirstNode( String defId,String nodeId, String parentKey) throws Exception; /** * 保存节点json 配置 * @param vo * @return */ CommonResult nodeUserConditionSave(NodeConfSaveVo vo); /** * 分支节点规则脚本保存 * @param vo * @return */ CommonResult branchConditionSave(NodeConfSaveVo vo); /** * 自动节点,获取插件数据 * @param defId * @param nodeId * @param pluginType * @return */ Map autoTaskPluginGet(String defId, String nodeId, String pluginType) throws Exception; /** * 验证handler。 输入格式为 serviceId +"." + 方法名。 * @param handler * @return */ Object validHandler(String handler); /** * 获取流程节点的列表 一些基本信息而已 * @param defId * @return */ Object getNodes(String defId) throws Exception; /** * 取得当前节点的所有出口节点集合 * @param defId * @param nodeId * @return */ Map getNodeOutcomes(String defId, String nodeId) throws Exception; Object getNodeAutoTask(String defId, String nodeId) throws Exception; /** * 根据流程定义ID获取全局表单 * @param defId * @param type * @return */ ObjectNode getGlobalForm(String defId, String type) throws Exception; /** * 节点配置复制 * @param vo * @return * @throws Exception */ CommonResult copyNodeConf(NodeConfCopyVo vo) throws Exception; Map getDefSettingByDefKey(String defKey, String topDefKey) throws Exception; }