文档中心 > API文档

1.6.3.3. 实现方式

平台提供一个抽象类AbstractWorkflowEvent,具体实现由客开来完成。

public abstract class AbstractWorkflowEvent {
     
     /**
      * 唯一标示,一旦生成,不可变更
      * @return
      */
     public abstract String getId();
     
     /**
      * 事件显示名称
      * @return
      */
     public abstract String getLabel();
     
     /**
      * 返回指定的模版编号
      * @return
      */
     public String getTemplateCode(){return "";};
     
     //发起前事件
     public WorkflowEventResult onBeforeStart(WorkflowEventData data){return null;}
     //发起事件
     public void onStart(WorkflowEventData data){}
     
     //处理前事件
     public WorkflowEventResult onBeforeFinishWorkitem(WorkflowEventData data){return null;}
     //处理事件
     public void onFinishWorkitem(WorkflowEventData data){}
     
     //终止前事件
     public WorkflowEventResult onBeforeStop(WorkflowEventData data){return null;}
     //终止事件
     public void onStop(WorkflowEventData data){}
     
     //回退前事件
     public WorkflowEventResult onBeforeStepBack(WorkflowEventData data){return null;}
     //回退事件
     public void onStepBack(WorkflowEventData data){}
     
     //撤销前事件
     public WorkflowEventResult onBeforeCancel(WorkflowEventData data){return null;}
     //撤销事件
     public void onCancel(WorkflowEventData data){}
     
     //取回前事件
     public WorkflowEventResult onBeforeTakeBack(WorkflowEventData data){return null;}
     //取回事件
     public void onTakeBack(WorkflowEventData data){}
     
     //结束事件
     public void onProcessFinished(WorkflowEventData data){}
 }

WorkflowEventData类如下:

public class WorkflowEventData {
     
     private long summaryId;//事件前获取不到
     
     private long affairId;//事件前获取不到
     
     /**
      * 节点绑定的表单ID
      */
     private String form= null;
     
     /**
      * 节点绑定的表单应用ID
      */
     private String formApp= null;
     
     /**
      * 节点绑定的表单操作视图ID
      */
     private String operationName= null;
 
     /**
      * 业务数据集合(包括跨表)
      */
     private Map<String, Object> businessData= new HashMap<String, Object>();
     
     //setting and getting
 }

WorkflowEventResult类如下:

public class WorkflowEventResult {
     
     public WorkflowEventResult(){}
     
     /**
      * @param alertMessage
      */
     public WorkflowEventResult(String alertMessage) {
         this.alertMessage = alertMessage;
     }
 
     /**
      * 提示信息
      */
     private String alertMessage = "";
 
     /**
      * @return the alertMessage
      */
     public String getAlertMessage() {
         return alertMessage;
     }
 
     /**
      * @param alertMessage the alertMessage to set
      */
     public void setAlertMessage(String alertMessage) {
         this.alertMessage = alertMessage;
     }
     
 }