package com.norteksoft.product.web.wf; import java.util.ArrayList; import java.util.List; import com.norteksoft.product.api.entity.Opinion; import com.norteksoft.product.api.entity.TaskPermission; import com.norteksoft.product.web.struts2.CrudActionSupport; import com.norteksoft.product.web.wf.impl.WorkflowAction; import com.norteksoft.task.base.enumeration.TaskProcessingResult; import com.norteksoft.product.api.entity.WorkflowTask; import com.norteksoft.wf.engine.client.FormFlowable; /** * 工作流Action基类 * @author qiao * @param <T> */ public abstract class WorkflowActionSupport<T extends FormFlowable> extends CrudActionSupport<T> implements WorkflowAction<T> { protected static final long serialVersionUID = 1L; // 工作流任务id protected Long taskId; // 点击的按钮 protected TaskProcessingResult taskTransact; // 字段权限 protected String fieldPermission; //任务 protected WorkflowTask task; //意见列表 protected List<Opinion> opinions=new ArrayList<Opinion>(); //工作流上传正文和附件相关权限 protected TaskPermission taskPermission; /** * 启动并提交流程 * @return * @throws Exception */ public abstract String submitProcess(); /** * 完成任务 * @return * @throws Exception */ public abstract String completeTask(); /** * 完成交互任务:用于选人、选环节、填意见 * @return */ public abstract String completeInteractiveTask(); /** * 取回任务 * @return * @throws Exception */ public abstract String retrieveTask(); /** * 减签 * @return */ public abstract String removeSigner(); /** * 加签 * @return */ public abstract String addSigner(); /** * 显示流转历史 * @return */ public abstract String showHistory(); /** * 填写意见 * @return */ public abstract String fillOpinion(); /** * 流程监控中应急处理功能 */ public abstract String processEmergency(); /** * 领取任务 * @return */ public abstract String drawTask(); public abstract String abandonReceive(); public Long getTaskId() { return taskId; } public void setTaskId(Long taskId) { this.taskId = taskId; } public TaskProcessingResult getTaskTransact() { return taskTransact; } public void setTaskTransact(TaskProcessingResult taskTransact) { this.taskTransact = taskTransact; } public String getFieldPermission() { return fieldPermission; } public void setFieldPermission(String fieldPermission) { this.fieldPermission = fieldPermission; } public WorkflowTask getTask() { return task; } public void setTask(WorkflowTask task) { this.task = task; } public List<Opinion> getOpinions() { return opinions; } public void setOpinions(List<Opinion> opinions) { this.opinions = opinions; } public TaskPermission getTaskPermission() { return taskPermission; } public void setTaskPermission(TaskPermission taskPermission) { this.taskPermission = taskPermission; } }