package com.vci.client.workflow.delegate; import java.util.Date; import com.vci.client.ClientSession; import com.vci.client.common.objects.UserEntityObject; import com.vci.client.framework.delegate.ClientBaseDelegate; import com.vci.client.framework.delegate.UserEntityClientDelegate; import com.vci.client.ui.exception.VCIException; import com.vci.client.workflow.editor.TaskDescCObject; import com.vci.client.workflow.editor.TaskRevokeCObject; import com.vci.client.workflow.template.object.NodeHideObject; import com.vci.client.workflow.template.object.ProcessCategoryObject; import com.vci.client.workflow.template.object.ProcessDefinitionObject; import com.vci.client.workflow.template.object.TasksAssignedObject; import com.vci.common.objects.QueryParam; import com.vci.common.objects.QueryResult; import com.vci.corba.common.VCIError; import com.vci.corba.workflow.data.QueryParamInfo; import com.vci.corba.common.data.UserEntityInfo; import com.vci.corba.workflow.data.FlowApproveHistoryInfo; import com.vci.corba.workflow.data.FlowInstanceInfo; import com.vci.corba.workflow.data.FlowObjectInfo; import com.vci.corba.workflow.data.FlowTaskInfo; import com.vci.corba.workflow.data.MapTransfersInfo; import com.vci.corba.workflow.data.NodeHideInfo; import com.vci.corba.workflow.data.PlwfinstancetemplateInfo; import com.vci.corba.workflow.data.PlwfpersonsetInfo; import com.vci.corba.workflow.data.ProcessCategoryInfo; import com.vci.corba.workflow.data.ProcessDefinitionInfo; import com.vci.corba.workflow.data.ProcessTaskInfo; import com.vci.corba.workflow.data.SubprocessTemInfo; import com.vci.corba.workflow.data.TaskDescInfo; import com.vci.corba.workflow.data.TaskRevokeInfo; import com.vci.corba.workflow.data.TasksAssignedInfo; import com.vci.corba.workflow.WorkflowService.GetTasksAssignedByPageingResult; public class ProcessCustomClientDelegate extends ClientBaseDelegate { /** * */ private static final long serialVersionUID = 1L; public ProcessCustomClientDelegate() { } public ProcessCustomClientDelegate(UserEntityObject userEntityObject) { super(userEntityObject); } public ProcessCategoryObject[] getProcessCategories(String parentId) throws VCIException { try { ProcessCategoryInfo[] infos = ClientSession.getWorkflowService().getProcessCategories(parentId); return this.convertProcessCategoryInfosToProcessCategoryObjects(infos); } catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } //start by zhangxg 流程模板自定义 public boolean savePlwfinstancetemplateclient(PlwfinstancetemplateInfo obj,PlwfpersonsetInfo[] obj1) throws VCIError{ try{ boolean res = ClientSession.getWorkflowService().savePlwfinstancetemplate(obj,obj1); return res; } catch(Exception e){ e.printStackTrace(); throw new VCIError("411116", new String[] {}); } } public PlwfinstancetemplateInfo getPlwfinstancetemplateById(String pid) throws VCIError { try{ PlwfinstancetemplateInfo list = ClientSession.getWorkflowService().getPlwfinstancetemplateById(pid); return list; } catch(Exception e){ e.printStackTrace(); throw new VCIError("411117", new String[] {}); } } public PlwfinstancetemplateInfo[] getPlwfinstancetemplateByClassAndDefault(String plclass, String plisdefault) throws VCIError { try{ PlwfinstancetemplateInfo[] list = ClientSession.getWorkflowService().getPlwfinstancetemplateByClassAndDefault(plclass, plisdefault); return list; } catch(Exception e){ e.printStackTrace(); throw new VCIError("411117", new String[] {}); } } public PlwfinstancetemplateInfo[] getPlwfinstancetemplate() throws VCIError { try{ PlwfinstancetemplateInfo[] list = ClientSession.getWorkflowService().getPlwfinstancetemplate(); return list; } catch(Exception e){ e.printStackTrace(); throw new VCIError("411117", new String[] {}); } } public boolean deletePlwfinstancetemplate(PlwfinstancetemplateInfo obj) throws VCIError{ try{ boolean res = ClientSession.getWorkflowService().deletePlwfinstance(obj); return res; } catch(Exception e){ e.printStackTrace(); throw new VCIError("411118", new String[] {}); } } public PlwfpersonsetInfo[] getPlwfpersonset(String tid) throws VCIError { try{ PlwfpersonsetInfo[] list = ClientSession.getWorkflowService().getPlwfpersonset(tid); return list; } catch(Exception e){ e.printStackTrace(); throw new VCIError("411117", new String[] {}); } } public boolean deletePlwfpersonset(PlwfpersonsetInfo obj) throws VCIError{ try{ boolean res = ClientSession.getWorkflowService().deletePlwfpersonset(obj); return res; } catch(Exception e){ e.printStackTrace(); throw new VCIError("411118", new String[] {}); } } //end /** * 添加、保存 ProcessCategory 对象 * * @param info * ProcessCategoryInfo 对象 */ public String saveProcessCategory(ProcessCategoryObject object) throws VCIError { ProcessCategoryInfo info = this.convertProcessCategoryObjectToProcessCategoryInfo(object); return ClientSession.getWorkflowService().saveProcessCategory(info, userEntityInfo); } public boolean updateProcessCategory(ProcessCategoryObject object) throws VCIError { ProcessCategoryInfo info = this.convertProcessCategoryObjectToProcessCategoryInfo(object); return ClientSession.getWorkflowService().updateProcessCategory(info, userEntityInfo); } public boolean existProcessCategory(String id, String name) throws VCIError { return ClientSession.getWorkflowService().existProcessCategory(id, name); } public boolean deleteProcessCategory(String id) throws VCIException { try { return ClientSession.getWorkflowService().deleteProcessCategory(id, userEntityInfo); } catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } public boolean moveDefinition( String deploymentId , String categoryId) throws VCIException{ try { return ClientSession.getWorkflowService().moveDefinition(deploymentId, categoryId); } catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } public boolean deployProcess(byte[] jbmpImage, String jbmpXml, String graphXml, String processCategoryId, ProcessTaskInfo[] processTaskInfos) throws VCIError { return ClientSession.getWorkflowService().deployProcess(jbmpImage, jbmpXml, graphXml, processCategoryId, processTaskInfos, userEntityInfo); } public boolean updateProcess(byte[] jbmpImage, String jbmpXml, String graphXml, String processCategoryId, ProcessTaskInfo[] processTaskInfos,String deployId) throws VCIError { return ClientSession.getWorkflowService().updateProcess(jbmpImage, jbmpXml, graphXml, processCategoryId, processTaskInfos, userEntityInfo,deployId); } public boolean deleteProcessDefinition(String deployId, String pdId) throws VCIException { try { return ClientSession.getWorkflowService().deleteProcessDefinition(deployId, pdId, userEntityInfo); } catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } public boolean startProcessInstanceByKey(String processDefinitionKey, FlowInstanceInfo flowVariablesInfo, String[] objId,String[] userName,String outcome) throws VCIError { try{ return ClientSession.getWorkflowService().startProcessInstanceByKey(processDefinitionKey, flowVariablesInfo, objId, userEntityInfo,userName,outcome); }catch (VCIError e) { throw e; } } public String startPocessByPLM(String processDefinitionKey, FlowInstanceInfo flowVariablesInfo, String[] objId,String[] userName,String outcome,String[] tasknames, String[][] taskUserNames,MapTransfersInfo[] mapTransfersInfos) throws VCIError { try{ return ClientSession.getWorkflowService().startPocessByPLM(processDefinitionKey, flowVariablesInfo, objId, userEntityInfo, userName, outcome, tasknames, taskUserNames, mapTransfersInfos); }catch (VCIError e) { throw e; } } public String startPocessByPLM_v1(String processDefinitionKey, FlowInstanceInfo flowVariablesInfo, String[] objId,String[] userName,String outcome,String[] tasknames, String[][] taskUserNames,MapTransfersInfo[] mapTransfersInfos, String[] objectProperty, String[][] objectPropertyValues) throws VCIError { try{ return ClientSession.getWorkflowService().startPocessByPLMv1(processDefinitionKey, flowVariablesInfo, objId, userEntityInfo, userName, outcome, tasknames, taskUserNames, mapTransfersInfos,objectProperty, objectPropertyValues); }catch (VCIError e) { throw e; } } public String startProcessAndExecuteFirstNode(String processDefinitionKey, FlowInstanceInfo flowVariablesInfo, String[] objId, UserEntityObject userEntity, String[] userName, String outcome, String[] tasknames, String[][] taskUserNames, MapTransfersInfo[] mapTransfersInfos, String[] objectProperty, String[][] objectPropertyValues) throws VCIError { UserEntityInfo loginUserEntityInfo = UserEntityClientDelegate.changeUserEntityToInfo(userEntity); try { return ClientSession.getWorkflowService() .startProcessAndExecuteFirstNode(processDefinitionKey, flowVariablesInfo, objId, loginUserEntityInfo, userName, outcome, tasknames, taskUserNames, mapTransfersInfos, objectProperty, objectPropertyValues); } catch (VCIError e) { throw e; } } public void setTaskAndUserForComplete(String executionId,String[] tasknames,String[][] taskUserNames) throws VCIError{ ClientSession.getWorkflowService().setTaskAndUserForComplete(executionId, tasknames, taskUserNames, userEntityInfo); } public boolean completeTask(String taskId,String[] userName) throws VCIError { return completeTask(taskId, "", "","",userName); } // public void completeTask(String taskId,String outcome,String nextTaskName,String approvalNote,String[] userName) throws VCIError { // completeTask(taskId, outcome,nextTaskName, approvalNote,userName); // } public boolean completeTask(String taskId, String outcome, String nextTaskName,String approvalNote,String[] userName) throws VCIError { try{ return ClientSession.getWorkflowService().completeTask(taskId, outcome, nextTaskName,approvalNote, userEntityInfo,userName); }catch (VCIError e) { throw e; } } public boolean completeTaskByPlatform(String taskId, String outcome, String nextTaskName,String approvalNote,String[] userName) throws VCIError { try{ return ClientSession.getWorkflowService().completeTaskByPlatform(taskId, outcome, nextTaskName,approvalNote, userEntityInfo,userName); }catch (VCIError e) { throw e; } } public boolean completeTaskByPlatform_v1(String taskId, String outcome, String nextTaskName, String approvalNote, UserEntityObject userEntity, String[] userName, String[] objectProperty, String[][] objectPropertyValues) throws VCIError { UserEntityInfo loginUserEntityInfo = UserEntityClientDelegate.changeUserEntityToInfo(userEntity); try { return ClientSession.getWorkflowService() .completeTaskByPlatformv1(taskId, outcome, nextTaskName, approvalNote, loginUserEntityInfo, userName, objectProperty, objectPropertyValues); } catch (VCIError e) { throw e; } } public boolean completeTasksByPlatform_v1(String[] taskIds, String outcome, String nextTaskName, String approvalNote, UserEntityObject userEntity, String[] userName, String[] objectProperty, String[][] objectPropertyValues) throws VCIError { UserEntityInfo loginUserEntityInfo = UserEntityClientDelegate.changeUserEntityToInfo(userEntity); try { return ClientSession.getWorkflowService() .completeTasksByPlatformv1(taskIds, outcome, nextTaskName, approvalNote, loginUserEntityInfo, userName, objectProperty, objectPropertyValues); } catch (VCIError e) { throw e; } } public FlowTaskInfo[] getTodoTaskByUserId(String pluseroid,int first,int pageSize,String taskType,String sql) throws VCIError { FlowTaskInfo[] flowTaskInfo = ClientSession.getWorkflowService().getTodoTaskByUserId(pluseroid,first,pageSize, taskType,sql,userEntityInfo); return flowTaskInfo; } public int queryTodoTaskCount(String pluser, String expandSql) throws VCIException { try{ return (int)ClientSession.getWorkflowService().queryTodoTaskCount(pluser,expandSql,userEntityInfo); }catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } public FlowTaskInfo[] getCCTaskByUserId(String pluseroid,int first,int pageSize) throws VCIError { FlowTaskInfo[] flowTaskInfo = ClientSession.getWorkflowService().getCCTaskByUserId(pluseroid,first,pageSize, userEntityInfo); return flowTaskInfo; } public int queryCCTaskCount(String pluser) throws VCIException { try{ return (int)ClientSession.getWorkflowService().queryCCTaskCount(pluser,userEntityInfo); }catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } public FlowTaskInfo[] getTrackTaskByUserId(String pluseroid,int first,int pageSize,String taskType,String querySQL) throws VCIError { FlowTaskInfo[] flowTaskInfo = ClientSession.getWorkflowService().getTrackTaskByUserId(pluseroid,first,pageSize,taskType,querySQL, userEntityInfo); return flowTaskInfo; } public int queryTraceTaskCount(String pluser, String expandSql) throws VCIException { try{ return (int)ClientSession.getWorkflowService().queryTraceTaskCount(pluser,expandSql,userEntityInfo); }catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } public ProcessDefinitionObject[] getProcessDefinitions(String processCategoryId) throws VCIException { try { ProcessDefinitionInfo[] infos = ClientSession.getWorkflowService().getProcessDefinitions(processCategoryId); return this.convertProcessDefinitionInfosToProcessDefinitionObjects(infos); } catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } /** * 获取全部流程定义 * @return * @throws VCIException */ public ProcessDefinitionObject[] getProcessDefinitionAll() throws VCIException { try { ProcessDefinitionInfo[] infos = ClientSession.getWorkflowService().getProcessDefinitionAll(); return this.convertProcessDefinitionInfosToProcessDefinitionObjects(infos); } catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } public byte[] getProcessChart(String deploymentId) throws VCIException { try { byte[] result = ClientSession.getWorkflowService().getProcessResource(deploymentId, ".png"); return result; } catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } public byte[] getProcessXml(String deploymentId) throws VCIException { try { byte[] result = ClientSession.getWorkflowService().getProcessResource(deploymentId, ".xml"); return result; } catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } public byte[] getProcessGraphXml(String deploymentId) throws VCIException { try { byte[] result = ClientSession.getWorkflowService().getProcessResource(deploymentId, ".graph"); return result; } catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } public ProcessDefinitionObject[] getProcessDefinition(String rmTemplateId, String processType) throws VCIException { try { ProcessDefinitionInfo[] infos = ClientSession.getWorkflowService().getProcessDefinition(rmTemplateId, processType); return this.convertProcessDefinitionInfosToProcessDefinitionObjects(infos); } catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } public ProcessDefinitionObject[] getProcessDefinitionByType(String processType) throws VCIException { try { ProcessDefinitionInfo[] infos = ClientSession.getWorkflowService().getProcessDefinitionByType(processType); return this.convertProcessDefinitionInfosToProcessDefinitionObjects(infos); } catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } public void saveRMTemplateProcess(String rmTemplateId, String[] processTypes, String[] jbpmDeploymentIds) throws VCIException { try { ClientSession.getWorkflowService().saveRMTemplateProcess(rmTemplateId, processTypes, jbpmDeploymentIds, userEntityInfo); } catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } public boolean deleteRMTemplateProcess(String rmTemplateId) throws VCIException { try { return ClientSession.getWorkflowService().deleteRMTemplateProcess(rmTemplateId, userEntityInfo); } catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } /** * 获取下个任务的处理人 * @param jbpmDeploymentId * @param taskName * @param outcome * @return * @throws VCIError */ public String[] getNextCandidates(String jbpmDeploymentId, String taskName, String outcome) throws VCIException { String[] infos = new String[0]; try { infos = ClientSession.getWorkflowService().getNextCandidates(jbpmDeploymentId, taskName, outcome); } catch (Exception ex) { // throw new VCIError(410122, new String[] {}); throw convertVCIErrorToVCIException(new VCIError("410122", new String[] {})); } return infos; } public String[] getNextTaskNames(String jbpmDeploymentId, String taskName, String outcome) throws VCIException { String[] infos = new String[0]; try { infos = ClientSession.getWorkflowService().getNextTaskNames(jbpmDeploymentId, taskName, outcome); } catch (Exception ex) { //throw new VCIError(410123, new String[] {}); throw convertVCIErrorToVCIException(new VCIError("410123", new String[] {})); } return infos; } public String[] getCurCandidates(String jbpmDeploymentId, String taskName, String outcome, String excutionId) throws VCIException { String[] infos = new String[0]; try { infos = ClientSession.getWorkflowService().getCurCandidates(jbpmDeploymentId, taskName, outcome, excutionId); } catch (Exception ex) { throw convertVCIErrorToVCIException(new VCIError("410124", new String[] {})); } return infos; } public String[] getAllCandidatesForTask(String jbpmDeploymentId, String taskName, String outcome) throws VCIException { String[] infos = new String[0]; try { infos = ClientSession.getWorkflowService().getAllCandidatesForTask(jbpmDeploymentId, taskName, outcome); } catch (Exception ex) { throw convertVCIErrorToVCIException(new VCIError("410124", new String[] {})); } return infos; } public String[] getTrainName(String jbpmDeploymentId, String taskName, String outcome) throws VCIException { String[] infos = new String[0]; try { infos = ClientSession.getWorkflowService().getTrainName(jbpmDeploymentId, taskName, outcome); } catch (Exception ex) { throw convertVCIErrorToVCIException(new VCIError("410125", new String[] {})); } return infos; } public String[] getDeployId(String taskId) throws VCIError { return ClientSession.getWorkflowService().getDeployId(taskId); } public TaskDescCObject[] getTaskDescList(String deploymentId, String taskName){ TaskDescCObject[] o = {}; try { o = convertinfoToObjects(ClientSession.getWorkflowService().getTaskDescList(deploymentId, taskName)); } catch (VCIError e) { e.printStackTrace(); } return o; } TaskDescCObject[] convertinfoToObjects(TaskDescInfo[] infos){ TaskDescCObject[] o = new TaskDescCObject[infos.length]; int i = 0; for (TaskDescInfo info : infos) { o[i++] = this.convertinfoToObject(info); } return o; } TaskDescCObject convertinfoToObject(TaskDescInfo info){ TaskDescCObject o = new TaskDescCObject(); o.setId(info.id); o.setPljbpmdeploymentid(info.pljbpmdeploymentid); o.setPltask(info.pltask); o.setPltaskdesc(info.pltaskdesc); o.setPltreatment(info.pltreatment); o.setPopUserDialog(info.popUserDialog); o.setPlcustomclassname(info.customclassname); o.setPlcustomparam(info.customparam); return o; } /** * 对象转换,从 Client 对象转换到 Corba 对象 * * @param infos * @return */ public ProcessCategoryInfo convertProcessCategoryObjectToProcessCategoryInfo(ProcessCategoryObject object) { ProcessCategoryInfo info = new ProcessCategoryInfo(); info.id = object.getId() == null ? "" : object.getId(); info.parentId = object.getParentId() == null ? "" : object.getParentId(); info.name = object.getName() == null ? "" : object.getName(); info.desc = object.getDesc() == null ? "" : object.getDesc(); info.icon = object.getIcon() == null ? "" : object.getIcon(); info.createTime = object.getCreateTime().getTime(); info.createUser = object.getCreateUser() == null ? "" : object.getCreateUser(); info.createRole = object.getCreateRole() == null ? "" : object.getCreateRole(); info.createOrg = object.getCreateOrg() == null ? "" : object.getCreateOrg(); info.modifyTime = object.getModifyTime().getTime(); info.modifyUser = object.getModifyUser() == null ? "" : object.getModifyUser(); info.modifyRole = object.getModifyRole() == null ? "" : object.getModifyRole(); info.modifyOrg = object.getModifyOrg() == null ? "" : object.getModifyOrg(); return info; } /** * 对象转换(批量),从 Corba 对象转换到 Client 对象 * * @param infos * @return */ public ProcessCategoryObject[] convertProcessCategoryInfosToProcessCategoryObjects(ProcessCategoryInfo[] infos) { ProcessCategoryObject[] objects = new ProcessCategoryObject[infos.length]; int i = 0; for (ProcessCategoryInfo info : infos) { objects[i++] = this.convertProcessCategoryInfoToProcessCategoryObject(info); } return objects; } /** * 对象转换,从 Corba 对象转换到 Client 对象 * * @param infos * @return */ public ProcessCategoryObject convertProcessCategoryInfoToProcessCategoryObject(ProcessCategoryInfo info) { ProcessCategoryObject object = new ProcessCategoryObject(); object.setId(info.id); object.setParentId(info.parentId); object.setName(info.name); object.setDesc(info.desc); object.setIcon(info.icon); object.setCreateTime(new Date(info.createTime)); object.setCreateUser(info.createUser); object.setCreateRole(info.createRole); object.setCreateOrg(info.createOrg); object.setModifyTime(new Date(info.modifyTime)); object.setModifyUser(info.modifyUser); object.setModifyRole(info.modifyRole); object.setModifyOrg(info.modifyOrg); return object; } private ProcessDefinitionObject[] convertProcessDefinitionInfosToProcessDefinitionObjects(ProcessDefinitionInfo[] infos) { ProcessDefinitionObject[] objects = new ProcessDefinitionObject[infos.length]; int i = 0; for (ProcessDefinitionInfo info : infos) { objects[i++] = this.convertProcessDefinitionInfoToProcessDefinitionObject(info); } return objects; } private ProcessDefinitionObject convertProcessDefinitionInfoToProcessDefinitionObject(ProcessDefinitionInfo info) { ProcessDefinitionObject object = new ProcessDefinitionObject(); object.setId(info.id); object.setName(info.name); object.setKey(info.key); object.setVersion(info.version); object.setJbpmDeploymentId(info.jbpmDeploymentId); object.setStatus(info.status); return object; } public ProcessTaskInfo findById(String jbpmDeploymentId, String name) throws VCIError { return ClientSession.getWorkflowService().findTaskPropertyById(jbpmDeploymentId, name); } public FlowApproveHistoryInfo[] getHistoryActivityByProInsId(String processInstanceId) throws VCIError { return ClientSession.getWorkflowService().getHistoryActivityByProInsId(processInstanceId); } public FlowApproveHistoryInfo[] getHistoryActivityByProInsIdbyPLM(String processInstanceId) throws VCIError { return ClientSession.getWorkflowService().getHistoryActivityByProInsIdbyPLM(processInstanceId); } public byte[] getExecutionImageByExecutionId(String executionId, String taskName) throws VCIError { return ClientSession.getWorkflowService().getExecutionImageByExecutionId(executionId, taskName); } public FlowObjectInfo[] getFlowObjectByExecutionId(String executionId) throws VCIError { return ClientSession.getWorkflowService().getFlowObjectByExecutionId(executionId); } public String getDeploymentIdByExecutionId(String executionId) throws VCIError { return ClientSession.getWorkflowService().getDeploymentIdByExecutionId(executionId); } public String getDeploymentID(String processDefinitionKey) throws VCIError { return ClientSession.getWorkflowService().getDeploymentID(processDefinitionKey); } public FlowInstanceInfo getFlowInstanceInfo(String executionId) throws VCIException { try { FlowInstanceInfo info = ClientSession.getWorkflowService().getFlowInstanceInfo(executionId); return info; } catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } public String getNextSubTaskAssigner(String executionId, String taskName, String outcome) { try { return ClientSession.getWorkflowService().getNextSubTaskAssigner(executionId, taskName, outcome); } catch (VCIError e) { // TODO Auto-generated catch block e.printStackTrace(); } return ""; } public String getDepolymentID(String executionId) throws VCIError { return ClientSession.getWorkflowService().getDepolymentID(executionId); } public byte[] getFlowImageByDeployID(String deployID) throws VCIError { return ClientSession.getWorkflowService().getFlowImageByDeployID(deployID); } public FlowTaskInfo[] getDoneTaskByUserId(String pluseroid,int first,int pageSize,String taskType,String querySQL) throws VCIError { FlowTaskInfo[] flowTaskInfo = ClientSession.getWorkflowService().getDoneTaskByUserId(pluseroid, first, pageSize,taskType,querySQL, userEntityInfo); return flowTaskInfo; } public int queryDoneTaskCount(String pluser, String expandSql) throws VCIException { try{ return (int)ClientSession.getWorkflowService().queryDoneTaskCount(pluser,expandSql,userEntityInfo); }catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } /** * 通过任务节点取得阶段名称 * @param processDefinitionKey * @param jbpmdeploymentid * @return * @throws VCIException * @throws VCIError */ public String getTaskPhaseName(String processDefinitionKey, String jbpmdeploymentid,FlowInstanceInfo var) throws VCIError{ try { return ClientSession.getWorkflowService().getTaskPhaseName(processDefinitionKey, jbpmdeploymentid,var,userEntityInfo); } catch (VCIError e) { throw e; } } public boolean checkKey(String name, String keyValue) throws VCIError { return ClientSession.getWorkflowService().checkKey(name, keyValue); } /** * 判断下一任务节点是否是end * @param jbpmDeploymentId * @param taskName * @return * @throws VCIException */ public boolean getProcessTaskByTaskName(String taskId,String taskName,String outcome) throws VCIException{ try { return ClientSession.getWorkflowService().getProcessTaskByTaskName(taskId, taskName, outcome); } catch (VCIError e) { e.printStackTrace(); throw convertVCIErrorToVCIException(e); } } public String[] getAllTaskNames(String jbpmDeploymentId) throws VCIException{ try { return ClientSession.getWorkflowService().getAllTaskNames(jbpmDeploymentId); } catch (VCIError e) { e.printStackTrace(); throw convertVCIErrorToVCIException(e); } } /** * 获取当前任务路由 * @param taskID * @return * @throws VCIError */ public String[] getAllOutComes(String taskID) throws VCIException { try { return ClientSession.getWorkflowService().getAllOutComes(taskID); } catch (VCIError e) { e.printStackTrace(); throw convertVCIErrorToVCIException(e); } } public String getUrlPath(String jbpmDeploymentId, String taskName) throws VCIException{ try { return ClientSession.getWorkflowService().getUrlPath(jbpmDeploymentId, taskName); }catch (VCIError e) { e.printStackTrace(); throw convertVCIErrorToVCIException(e); } } public String[] getTrainsitionUrlPath(String jbpmDeploymentId, String taskName,String trainsitionName) throws VCIException{ try { return ClientSession.getWorkflowService().getTrainsitionUrlPath(jbpmDeploymentId, taskName, trainsitionName); }catch (VCIError e) { e.printStackTrace(); throw convertVCIErrorToVCIException(e); } } /** * 任务转交 * @param fromUser * @param userName * @return */ public boolean assignTask(String fromUser, String userName){ boolean flag = false; try { flag = ClientSession.getWorkflowService().assignTask(fromUser, userName); } catch (VCIError e) { e.printStackTrace(); flag = false; } return flag; } public boolean assignTaskByPlatform(String executionId, String userName){ boolean flag = false; try { flag = ClientSession.getWorkflowService().assignTaskByPlatform(executionId, userName); } catch (VCIError e) { e.printStackTrace(); flag = false; } return flag; } /** * 任务转发 * @param taskId * @param userName * @return */ public boolean transmitTask(String taskId, String userName){ boolean flag = false; try { flag = ClientSession.getWorkflowService().transmitTask(taskId, userName,userEntityInfo); } catch (VCIError e) { e.printStackTrace(); flag = false; } return flag; } public boolean transmitTaskByPlatform(String[] taskIds, String userName){ boolean flag = false; try { flag = ClientSession.getWorkflowService().transmitTaskByPlatform(taskIds, userName,userEntityInfo); } catch (VCIError e) { e.printStackTrace(); flag = false; } return flag; } public boolean saveOrUpdateTasksAssigned(TasksAssignedObject tasksAssigned) throws VCIError { TasksAssignedInfo info = new TasksAssignedInfo(); info.id = tasksAssigned.getId() == null ? "" : tasksAssigned.getId(); info.userName = tasksAssigned.getUserName() == null ? "" : tasksAssigned.getUserName(); // info.TasksId = tasksAssigned.getTasksId() == null ? "" : tasksAssigned.getTasksId(); info.TasksName = tasksAssigned.getTasksName() == null ? "" : tasksAssigned.getTasksName(); // info.TasksTrueName = tasksAssigned.getTasksTrueName() == null ? "" : tasksAssigned.getTasksTrueName(); info.isTrue = tasksAssigned.getIsTrue(); info.startTime = tasksAssigned.getStartTime() == null ? 0 : tasksAssigned.getStartTime().getTime(); info.endTime = tasksAssigned.getEndTime() == null ? 0 : tasksAssigned.getEndTime().getTime(); info.fromUser=tasksAssigned.getFromUser()==null?"":tasksAssigned.getFromUser(); return ClientSession.getWorkflowService().saveOrUpdateTasksAssigned(info, userEntityInfo); } public TasksAssignedObject getTasksAssignedByUserName(String userName)throws VCIError { TasksAssignedInfo tasksAssignedInfo; tasksAssignedInfo = ClientSession.getWorkflowService().getTasksAssignedByUserName(userName, userEntityInfo); TasksAssignedObject obj = new TasksAssignedObject(); obj.setId(tasksAssignedInfo.id); obj.setIsTrue(tasksAssignedInfo.isTrue); // obj.setTasksId(tasksAssignedInfo.TasksId); obj.setTasksName(tasksAssignedInfo.TasksName); // obj.setTasksTrueName(tasksAssignedInfo.TasksTrueName); obj.setUserName(tasksAssignedInfo.userName); obj.setStartTime(new Date(tasksAssignedInfo.startTime)); obj.setEndTime(new Date(tasksAssignedInfo.endTime)); obj.setFromUser(tasksAssignedInfo.fromUser==null?"":tasksAssignedInfo.fromUser); return obj; } public void saveSubProcess(SubprocessTemInfo[] subprocessTemInfos) throws VCIError{ ClientSession.getWorkflowService().saveSubProcess(subprocessTemInfos); } public int checkSubprocessQuote(String subProcess) throws VCIError{ return (int)ClientSession.getWorkflowService().checkSubprocessQuote(subProcess); } /** * 获得撤销策略信息 * @param deploymentId * @param taskName * @return */ public TaskRevokeCObject[] getTaskRevokeList(String deploymentId, String taskName){ TaskRevokeCObject[] o = {}; try { o = convertRevokeinfoToObjects(ClientSession.getWorkflowService().getTaskRevokeList(deploymentId, taskName)); } catch (VCIError e) { e.printStackTrace(); } return o; } TaskRevokeCObject[] convertRevokeinfoToObjects(TaskRevokeInfo[] infos){ TaskRevokeCObject[] o = new TaskRevokeCObject[infos.length]; int i = 0; for (TaskRevokeInfo info : infos) { o[i++] = this.convertRevokeinfoToObject(info); } return o; } TaskRevokeCObject convertRevokeinfoToObject(TaskRevokeInfo info){ TaskRevokeCObject o = new TaskRevokeCObject(); o.setId(info.id); o.setPljbpmdeploymentid(info.deploymentId); o.setPltask(info.taskName); o.setPlclassname(info.className); o.setPlrevoke(info.revokeflag); return o; } public boolean deleteTasksAssignedByUserName(String[] userName) throws VCIError { return ClientSession.getWorkflowService().deleteTasksAssignedByUserName(userName, userEntityInfo); } public ProcessTaskInfo findTaskPropertyByProcessId(String jbpmDeploymentId) throws VCIError { return ClientSession.getWorkflowService().findTaskPropertyByProcessId(jbpmDeploymentId); } /** * 流程监控 * @param pluseroid * @param first * @param pageSize * @param taskType * @param querySQL * @return * @throws VCIError */ public FlowTaskInfo[] getProcessControlByUserId(String pluseroid,int first,int pageSize,String taskType,String querySQL) throws VCIError { FlowTaskInfo[] flowTaskInfo = ClientSession.getWorkflowService().getProcessControlByUserId(pluseroid, first, pageSize,taskType,querySQL, userEntityInfo); return flowTaskInfo; } public int queryProcessControlCount(String pluser,String taskType) throws VCIException { try{ return (int)ClientSession.getWorkflowService().queryProcessControlCount(pluser,taskType,userEntityInfo); }catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } /** * 任务撤销 * @param curTaskName * @param destActivityName * @param executionId * @return */ public boolean revokeTask(String curTaskName, String destActivityName, String executionId){ try { return ClientSession.getWorkflowService().revokeTask(curTaskName, destActivityName, executionId); } catch (VCIError e) { e.printStackTrace(); return false; } } /** * 已完成流程 * @param pluseroid * @param first * @param pageSize * @param taskType * @param querySQL * @return * @throws VCIError */ public FlowTaskInfo[] getDoneProcessByUserId(String pluseroid,int first,int pageSize,String taskType,String querySQL) throws VCIError { FlowTaskInfo[] flowTaskInfo = ClientSession.getWorkflowService().getDoneProcessByUserId(pluseroid, first, pageSize,taskType,querySQL, userEntityInfo); return flowTaskInfo; } /** * 已完成流程条数 * @param pluser * @param taskType * @return * @throws VCIException */ public int queryDoneProcessCount(String pluser,String taskType) throws VCIException { try{ return (int)ClientSession.getWorkflowService().queryDoneProcessCount(pluser,taskType,userEntityInfo); }catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } /** * 任务指派 * @param destActivityName * @param tagActivityName * @param classNames * @param executionId * @param userNames * @return */ public boolean appointTask(String destActivityName,String tagActivityName,String[] classNames,String executionId, String[] userNames){ try { return ClientSession.getWorkflowService().appointTask(destActivityName, tagActivityName, classNames, executionId, userNames); } catch (VCIError e) { e.printStackTrace(); return false; } } /** * 任务指派 * @param destActivityName * @param tagActivityName * @param classNames * @param executionId * @param userNames * @return */ public boolean appointTask2(String destActivityName,String tagActivityName,String[] classNames,String executionId, String[] userNames){ try { return ClientSession.getWorkflowService().appointTask2(destActivityName, tagActivityName, classNames, executionId, userNames, userEntityInfo); } catch (VCIError e) { e.printStackTrace(); return false; } } /** * 查询流程模板的第一个任务对象 *

Description:

* * @author xchao * @time 2012-6-6 * @param jbpmDeploymentId 流程模板部署的ID * @return * @throws VCIError */ public ProcessTaskInfo getFirstProcessTask(String jbpmDeploymentId) throws VCIException{ try{ return ClientSession.getWorkflowService().getFirstProcessTask(jbpmDeploymentId); } catch(VCIError e){ throw convertVCIErrorToVCIException(e); } } public ProcessTaskInfo getFirstProcessTaskByExecId(String execId) throws VCIException{ try{ return ClientSession.getWorkflowService().getFirstProcessTaskByExecId(execId); } catch(VCIError e){ throw convertVCIErrorToVCIException(e); } } /** * *

查询当前节点同意的所有的下一任务节点数据: * 返回格式:transitionName,TaskName;transitionName,TaskName;的字符串值 *

* * @time 2013-3-31 * @param taskId 任务ID * @param taskName 任务名称 * @param outcome 同意或者不同意; * @return */ public String getAllNoAgreeProcessTaskByTaskName(String taskId,String taskName,String outcome)throws VCIException{ try { return ClientSession.getWorkflowService().getAllNoAgreeProcessTaskByTaskName(taskId, taskName, outcome); } catch (VCIError e) { e.printStackTrace(); throw convertVCIErrorToVCIException(e); } } public String getNextTaskNameByJbpmId(String jbpmDeploymentId, String taskName, String outcome) throws VCIException{ String res = ""; try{ res = ClientSession.getWorkflowService().getNextTaskNameByJbpmId(jbpmDeploymentId, taskName, outcome); }catch(VCIError e) { e.printStackTrace(); throw convertVCIErrorToVCIException(e); } return res; } public String getNextTaskTypeByJbpmId(String jbpmDeploymentId, String taskName, String outcome) throws VCIException{ String res = ""; try{ res = ClientSession.getWorkflowService().getNextTaskTypeByJbpmId(jbpmDeploymentId, taskName, outcome); }catch(VCIError e) { e.printStackTrace(); throw convertVCIErrorToVCIException(e); } return res; } public String getProcessStartUser(String execId) throws VCIException{ String res = ""; try{ res = ClientSession.getWorkflowService().getProcessStartUser(execId); }catch(VCIError e) { e.printStackTrace(); throw convertVCIErrorToVCIException(e); } return res; } /** * 通过执行标示查询任务ID *

Description:

* * @time 2013-4-27 * @param execId * @return * @throws VCIError */ public String getProcessTaskId(String execId) throws VCIException{ String res = ""; try{ res = ClientSession.getWorkflowService().getProcessTaskId(execId); }catch(VCIError e) { e.printStackTrace(); throw convertVCIErrorToVCIException(e); } return res; } public boolean deleteHideFlow(String deployId) throws VCIException{ try { return ClientSession.getWorkflowService().deleteHideFlow(deployId); } catch (VCIError e) { e.printStackTrace(); throw convertVCIErrorToVCIException(e); } } public boolean setNodeHide(String deploymentId) throws VCIError { return ClientSession.getWorkflowService().setNodeHide(changeNodeHideToNodeHideInfo(deploymentId)); } public String changeNodeHideToNodeHideInfo(String deploymentId){ NodeHideInfo nodehideinfo = new NodeHideInfo(); nodehideinfo.deploymentId = deploymentId; return nodehideinfo.deploymentId; } public NodeHideObject[] getNodeHideDeploymentId()throws VCIError{ NodeHideInfo[] info = null; NodeHideObject[] obj = null; try { info = ClientSession.getWorkflowService().getNodeHideDeploymentId(); obj = new NodeHideObject[info.length]; for(int i=0;iDescription:

* * @author xchao * @time 2012-11-10 * @param jbpmDeploymentId * @param taskName * @param outcome * @return * @throws Exception */ public String getNextCandidatesDefineString(String jbpmDeploymentId, String taskName, String outcome) throws VCIException { try { return ClientSession.getWorkflowService().getNextCandidatesDefineString(jbpmDeploymentId, taskName, outcome); } catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } /** * 返回流程执行时的参数值 *

Description:

* @author xchao * @time 2013-5-24 * @param executionId 流程执行ID * @param varName 变量名称 * @return * @throws VCIException */ public String getProcessVariable(String executionId, String varName) throws VCIException{ String result = ""; try { result = ClientSession.getWorkflowService().getProcessVariable(executionId, varName,userEntityInfo); } catch (VCIError e) { e.printStackTrace(); throw convertVCIErrorToVCIException(e); } return result; } public ProcessDefinitionObject[] getProcessDefinitionsByPage(String processCategoryId,String name,int pageSize,int pageIndex) throws VCIException { try { ProcessDefinitionInfo[] infos = ClientSession.getWorkflowService().getProcessDefinitionsByPage(processCategoryId, name,pageSize, pageIndex); return this.convertProcessDefinitionInfosToProcessDefinitionObjects(infos); } catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } public boolean setProcessHide(String jbpmdeplotmentId, short status) throws VCIError { return ClientSession.getWorkflowService().setPocessHide(jbpmdeplotmentId, status, userEntityInfo); } /** * 模板分类定义分页 * @param parentId * @param pageSize * @param pageIndex * @return * @throws VCIException */ public ProcessCategoryObject[] getProcessCategoriesByPage(String parentId,int pageSize,int pageIndex) throws VCIException { try { ProcessCategoryInfo[] infos = ClientSession.getWorkflowService().getProcessCategoriesByPage(parentId, pageSize, pageIndex); return this.convertProcessCategoryInfosToProcessCategoryObjects(infos); } catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } public ProcessDefinitionObject[] getProcessDefinitionByProcessDefinitionName(String processCategoryName,String processCategoryId) throws VCIException { try { ProcessDefinitionInfo[] infos = ClientSession.getWorkflowService().getProcessDefinitionByProcessDefinitionName(processCategoryName,processCategoryId); return this.convertProcessDefinitionInfosToProcessDefinitionObjects(infos); } catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } public String[] getTasksNameByProcessName(String[] processNames) throws VCIError{ return ClientSession.getWorkflowService().getTasksNameByProcessName(processNames, userEntityInfo); } /** * 根据部署ID返回流程模板对象 *

Description:

* * @author xchao * @time 2012-9-25 * @param deployId * @return * @throws VCIException */ public ProcessDefinitionObject getProcessDefinitionByDeployId(String deployId) throws VCIException { try { ProcessDefinitionInfo info = ClientSession.getWorkflowService().getProcessDefinitionByDeployId(deployId); return this.convertProcessDefinitionInfoToProcessDefinitionObject(info); } catch (VCIError e) { throw convertVCIErrorToVCIException(e); } } /** * *

Description:查看已办任务详细信息

* * @time 2013-4-11 * @param params * @return * @throws VCIException */ public String searchComplateTask(String[] params)throws VCIException{ String result = ""; try { result = ClientSession.getWorkflowService().searchComplateTask(params,userEntityInfo); } catch (VCIError e) { e.printStackTrace(); throw convertVCIErrorToVCIException(e); } return result; } public QueryResult getTasksAssignedByPageing(QueryParam queryParam) throws VCIException{ try{ QueryResult res = new QueryResult(); QueryParamInfo queryParamInfo = convertQueryParam(queryParam); GetTasksAssignedByPageingResult result = ClientSession.getWorkflowService().getTasksAssignedByPageing(queryParamInfo, userEntityInfo); TasksAssignedInfo[] infos = result.returnValue; res.setTotal((int)result.total); res.setDatas(this.coventInfoListToObjectList(infos)); return res; }catch(VCIError e){ throw new VCIException(String.valueOf(e.code), e.messages); } } private TasksAssignedObject[] coventInfoListToObjectList(TasksAssignedInfo[] tasksAssignedInfo){ TasksAssignedObject[] objs = new TasksAssignedObject[tasksAssignedInfo.length]; for(int i = 0;i