作者:钟剑华  历史版本:1  最后编辑:龚清  更新时间:2024-11-20 15:41

适用版本:所有版本;
完整类名:com.lc.ibps.bpmn.api.cmd.ActionCmd

适用哪些服务?

  1. 通过business

调用方式例子

  • 获取业务数据字段

    // 获取业务数据
    String busData = cmd.getBusData();
    // 转map
    Map<String, Object> map = com.lc.ibps.base.core.util.JacksonUtil.toMap(busData);
    // 获取具体的字段值
    String ziDuan1 = (String)map.get("ziDuan1");
  • 获取流程动作(注意:启动流程没该方法)

    // 获取流程动作
    String actionName = cmd.getActionName();

常用方法

所有节点都可以调用的方法


    /**
     * 当前线程记录已添加的网关堆栈
     *
     * @return List&lt;IBpmNodeDefine&gt;
     */
    public List<IBpmNodeDefine> getGateways();

    /**
     * 向当前线程中记录一个已记录的网关
     *
     * @param gatewayNode 网关节点
     */
    public void addGateway(IBpmNodeDefine gatewayNode);

    /**
     * 获取变量集合。
     * 
     * @return Map&lt;String,Object&gt;
     */
    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&lt;String,Object&gt;
     */
    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&lt;String,List&lt;BpmIdentity&gt;&gt;
     */
    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();