工作台应用参数列表中提供了待办任务、未阅通知、已办任务、通知查询、发起跟踪扩展列参数。类的注册格式为:AppId:类的全路径,注意使用英文冒号分隔,该类需实现com.actionsoft.apps.workbench.base.WorkbenchColumnInterface
接口。
示例:在待办任务列表增加来自人员部门名称列。
import java.sql.Connection;
import java.util.ArrayList;
import java.util.List;
import com.actionsoft.bpms.bpmn.engine.model.run.delegate.ProcessInstance;
import com.actionsoft.bpms.bpmn.engine.model.run.delegate.TaskInstance;
import com.actionsoft.bpms.client.workbench.WorkbenchColumnInterface;
import com.actionsoft.bpms.client.workbench.WorkbenchColumnModel;
import com.actionsoft.bpms.server.UserContext;
public class WorkbenchExtColumnTest implements WorkbenchColumnInterface{
@Override
public List<WorkbenchColumnModel> getColumnDefinitionList(UserContext uc, Connection conn, ProcessInstance processInstance, TaskInstance taskInstance) {
String level = "";
String desc = "";
List<WorkbenchColumnModel> models = new ArrayList<WorkbenchColumnModel>();
// 若任务实例不为空,通过流程实例Id获取BO表中相关业务数据,并存储在工作台扩展列模型集合中
if (taskInstance != null) { //这个开启后,会对发起跟踪不起作用
level = taskInstance.getActivityDefId();
WorkbenchColumnModel model1 = new WorkbenchColumnModel();
WorkbenchColumnModel model2 = new WorkbenchColumnModel();
model1.setName("LEVAL"); // 相当于数据库的列名,不要改变
model1.setTitle("级别2"); // 相当于列明的标题,不要改变
model1.setHidden(true); // web端不显示
model1.setIndex(2); // 注意索引位置和已经存在的问题不要重复
model1.setWidth("150px");
model1.setValue(level); // 值根据业务条件处理动态变化
model2.setName("DESC");
model2.setTitle("部门名称");
model2.setHidden(false); //web端显示
model2.setIndex(3);
model2.setWidth("150px");
model2.setValue(UserContext.fromUID(taskInstance.getOwner()).getDepartmentModel().getName());
models.add(model1);
models.add(model2);
}
return models;
}
}