ActionCmd(工作流执行对象上下文)
适用版本:所有版本;
完整包路径:iform-bpmnbase-root\modules\bpmn-api\src\main\java\com\ak\iform\bpmn\api\cmd下的ActionCmd.java
目前调用服务:business
调用方式例子
业务的领域层代码,获取业务数据的字段
// 获取业务数据 String busData = cmd.getBusData(); // 转map Map<String, Object> map = com.ak.iform.base.core.util.JacksonUtil.toMap(busData); // 获取具体的字段值 String ziDuan1 = (String)map.get("ziDuan1");获取流程动作(
注意:需流程启动后才能获取到该信息)// 获取流程动作(同意、反对、驳回等) String actionName = cmd.getActionName();
常用方法
所有节点都可以调用的方法
    /**
     * 当前线程记录已添加的网关堆栈
     *
     * @return List<IBpmNodeDefine>
     */
    public List<IBpmNodeDefine> getGateways();
    /**
     * 向当前线程中记录一个已记录的网关
     *
     * @param gatewayNode 网关节点
     */
    public void addGateway(IBpmNodeDefine gatewayNode);
    /**
     * 获取变量集合。
     * 
     * @return Map<String,Object>
     */
    Map<String, Object> getVariables();
    /**
     * 获取变量。
     * 
     * @return Object
     */
    Object getVariable(String name);
    /**
     * 添加变量。
     * 
     * @param name 变量名
     * @param value 变量值 void
     */
    void addVariable(String name, String value);
    /**
     * 移除变量。
     * 
     * @param name 变量名 void
     */
    void removeVariable(String name);
    /**
     * 添加变量。
     * 
     * @param name 变量名
     * @param value 变量值 void
     */
    void addVariable(String name, Object value);
    /**
     * 获取临时变量集合,这个变量集合不作为流程变量,用于临时存放变量。
     * 
     * @return Map<String,Object>
     */
    Map<String, Object> getTransitVars();
    /**
     * 添加临时变量集合。
     * 
     * @param name 变量名
     * @param value 变量值 void
     */
    void addTransitVars(String name, Object value);
    /**
     * 添加临时变量集合。
     * 
     * @param name 变量名
     * @param value 变量值 void
     */
    void removeTransitVars(String name);
    /**
     * 放入临时变量。
     * 
     * @param transitVars 变量 void
     */
    void putTransitVars(Map<String, Object> transitVars);
    /**
     * 根据名称获取临时变量。
     * 
     * @param name 变量名
     * @return Object
     */
    Object getTransitVars(String name);
    /**
     * 根据名称获取变量。
     * 
     * @param name 变量名
     * @return Object
     */
    Object getVar(String name);
    /**
     * 
     * 获取业务对象实例对象
     *
     * @return
     */
    Map<String, Object> getBoInstMap();
    /**
     * 
     * 获取业务对象实例数据对象
     *
     * @return
     */
    Map<String, DataObjectModel> getBoInstDataMap();
    /**
     * 清除临时变量。 void
     */
    void cleanTransitVars();
    /**
     * 获取下一步节点执行人。
     * 
     * <pre>
     *     键为节点ID
     *  值为接收人员。
     * </pre>
     * 
     * @return Map<String,List<BpmIdentity>>
     */
    Map<String, List<BpmIdentity>> getBpmIdentities();
    /**
     * 跳转类型
     *
     * @return
     */
    String getJumpType();
    /**
     * 目标节点,在一般情况下不需要指定,流程会按照流程图进行运行。 在需要指定节点跳转的情况下,才会起作用。
     * 
     * @return String
     */
    String getDestination();
    /**
     * 获取流程实例ID,一个cmd实例对应一个一个流程实例ID, 主要是为了防止线程变量被覆盖。
     * 
     * @return String
     */
    String getInstId();
    /**
     * 设置通知类型。
     * 
     * @param notifyType 通知类型
     */
    void setNotifyType(String notifyType);
    /**
     * 获取通知类型。
     * 
     * @return String
     */
    String getNotifyType();
    /**
     * 获取业务数据模式。
     * 
     * @return String
     */
    String getDataMode();
    /**
     * 设置业务数据模式。
     * 
     * @param mode 数据模式
     */
    void setDataMode(String mode);
    /**
     * bo的JSON数据。
     * 
     * @param json 数据体
     */
    void setBusData(String json);
    /**
     * 获取BO的JSON数据。
     * 
     * @return String
     */
    String getBusData();
    /**
     * 获取业务主键
     * 
     * @return String
     */
    String getBusinessKey();
    /**
     * 获取主键的的数据类型。
     * 
     * @return Datatype
     */
    DataType getPkDataType();
    /**
     * 设置数据类型
     * 
     * @param dataType 数据类型
     */
    void setPkDataType(DataType dataType);
    /**
     * 设置主键。
     * 
     * @param businessKey 业务主键
     */
    void setBusinessKey(String businessKey);
    /**
     * 取当前用户IP
     * 
     * @return String
     */
    String getOptIp();
    /**
     * 设置当前用户IP
     * 
     * @param ip ip
     */
    void setOptIp(String ip);
    /**
     * 设置是否管理员
     *
     * @param superUser 是否管理员
     */
    void setSuperUser(boolean superUser);
    /**
     * 是否管理员
     * 
     * @return boolean
     */
    boolean isSuperUser();
    /**
     * 取当前用户
     * 
     * @return String
     */
    String getCurUser();
    /**
     * 设置当前用户
     * 
     * @param curUser 当前用户ID
     */
    void setCurUser(String curUser);
    /**
     * 取当前租户
     * 
     * @return String
     */
    String getTenantId();
    /**
     * 设置当前租户
     * 
     * @param tenantId 租户ID
     */
    void setTenantId(String tenantId);
    /**
     * 取当前用户
     * 
     * @return String
     */
    String getCurUserName();
    /**
     * 设置当前用户
     * 
     * @param curUserName 当前用户名称
     */
    void setCurUserName(String curUserName);
    /**
     * 获取当前版本
     * 
     * @return int
     */
    int getVersion();
    /**
     * 设置当前版本
     * 
     * @param version 当前版本
     */
    void setVersion(int version);
    /**
     * 获取表单设置数据
     * 
     * @return String
     */
    String getFormOptions();
    /**
     * 设置表单设置数据
     * 
     * @param formOptions 表单设置数据
     */
    void setFormOptions(String formOptions);
任务节点可以调用的方法
    /**
     * 动作类型。
     * @return ActionType
     */
    ActionType getActionType();
    /**
     * 获取审批的处理状态或动作。
     * <pre>
     * 1.agree 审批。
     * 2.abandon 弃权。
     * 3.oppose 反对。
     * 4.agreeTrans 流转同意。
     * 5.opposeTrans 流转反对。
     * 6.commu 沟通。
     * 7.reject 驳回。
     * 8.rejectToStart 驳回到发起人。
     * </pre>
     * @return  String
     */
    String getActionName();
    /**
     * 获取审批的意见
     * @return String
     */
    String getApprovalOpinion();
    /**
     * 流程实例ID。 
     * @return        String
     */
    String getBpmnInstId();
    /**
     * 获取任务ID
     * @return String
     */
    String getTaskId();
    /**
     * 获取意见标识,如果不为空则表示这个意见为表单意见,这个值为表单名称。
     * @return String
     */
    String getOpinionIdentity();
    /**
     * 是否干预。
     * @return  boolean
     */
    boolean isInterpose();
    /**
     * 仅完成当前任务。
     * @return  boolean
     */
    boolean isOnlyFinishTask();
只有开始节点和结束节点能调用的方法
    /**
     * 取得BPMN流程定义ID
     * getBpmnDefId(),getProcDefId(),getFlowKey()三者只需要设置一值
     * @return  String
     */
    String getBpmnDefId(); 
    /**
     * 取得流程定义ID
     * getBpmnDefId(),getProcDefId(),getFlowKey()三者只需要设置一值
     * @return  String
     */
    String getProcDefId();
    /**
     * 获取流程定义标识键
     * getBpmnDefId(),getProcDefId(),getFlowKey()三者只需要设置一值
     * @return  String
     */
    String getFlowKey();
    /**
     * 流程实例ID。
     * @return  String
     */
    String getInstId();
    /**
     * 获取实例标题
     * @return  String
     */
    String getSubject();作者:黄春艳  创建时间:2024-12-18 17:25
最后编辑:黄春艳 更新时间:2025-11-04 15:32
最后编辑:黄春艳 更新时间:2025-11-04 15:32