private String myInstanceByType(Long typeId, boolean isEnd) { StringBuilder subNodes = new StringBuilder(); List<WorkflowDefinition> definitions = workflowDefinitionManager.getWfDefinitionsByType(getCompanyId(), typeId); for (WorkflowDefinition wfd : definitions) { if (isEnd) { subNodes .append( JsTreeUtils.generateJsTreeNodeDefault( "END_WFD_" + wfd.getId(), "", wfd.getName() + "(" + getInstanceNumByDefinition(wfd, isEnd) + ")")) .append(","); } else { subNodes .append( JsTreeUtils.generateJsTreeNodeDefault( "ING_WFD_" + wfd.getId(), "", wfd.getName() + "(" + getInstanceNumByDefinition(wfd, isEnd) + ")")) .append(","); } } JsTreeUtils.removeLastComma(subNodes); return subNodes.toString(); }
public String processDefs(Long typeId) { StringBuilder subNodes = new StringBuilder(); List<WorkflowDefinition> definitions = workflowDefinitionManager.getWfDefinitionsByType(getCompanyId(), typeId); for (WorkflowDefinition wfd : definitions) { subNodes .append(JsTreeUtils.generateJsTreeNodeDefault("WFDID_" + wfd.getId(), "", wfd.getName())) .append(","); } JsTreeUtils.removeLastComma(subNodes); return subNodes.toString(); }
private void monitorHistoryTree( WorkflowType type, boolean isSuperWf, List<ZTreeNode> treeNodes, String parentId) { List<String> definitionCodes = workflowDefinitionManager.getWfDefinitionCodesByType(getCompanyId(), type.getId()); for (String def : definitionCodes) { WorkflowDefinition wf = workflowDefinitionManager.getWorkflowDefinitionByCodeAndVersion( def, 1, ContextUtils.getCompanyId(), isSuperWf); if (wf != null) { ZTreeNode root = new ZTreeNode( "WFT_history_monitor_" + type.getId() + "_" + def, parentId, wf.getName(), "false", "false", "", "", "folder", ""); treeNodes.add(root); } } }
@SuppressWarnings("unchecked") public String start() throws Exception { log.debug("*** start 方法开始"); log.debug( new StringBuilder("*** Received parameter:[") .append("processId:") .append(processId) .append("]") .toString()); WorkflowDefinition wdf = workflowDefinitionManager.getWorkflowDefinitionByProcessId(processId); String wfdName = wdf.getName(); String url = Struts2Utils.getRequest() .getRequestURL() .toString() .replaceFirst("task!start", "task!input"); Map<String, String> urlMap = new HashMap<String, String>(); urlMap.put(wfdName, url); Integer priority = 6; Map<String, String[]> parameterMap = Struts2Utils.getRequest().getParameterMap(); String[] urgency = parameterMap.get(URGENCY); if (urgency != null && urgency.length > 0 && StringUtils.isNotEmpty(urgency[0])) priority = Integer.valueOf(urgency[0]); String to = ""; CompleteTaskTipType result = workflowInstanceManager.startAndSubmitWorkflow(processId, urlMap, priority, null); switch (result) { case OK: this.addSuccessMessage(result.getContent()); to = null; break; case MESSAGE: this.addErrorMessage(result.getContent()); to = null; break; case RETURN_URL: to = assignTransactor(); break; } ApiFactory.getBussinessLogService().log("工作流管理", "发起流程", ContextUtils.getSystemId("wf")); return to; }
public void getSecondNodesInMonitorTree( List<WorkflowType> wfTypes, List<ZTreeNode> treeNodes, String parentId) { ZTreeNode root = new ZTreeNode("WFT_monitor_def", parentId, "所有流程", "true", "false", "", "", "folder", ""); treeNodes.add(root); boolean isSuperWf = workflowDefinitionManager.isSuperWf(); for (WorkflowType wft : wfTypes) { root = new ZTreeNode( "WFT_monitor_" + wft.getId(), parentId, wft.getName(), "false", "false", "", "", "folder", ""); treeNodes.add(root); monitorTree(wft, isSuperWf, treeNodes, "WFT_monitor_" + wft.getId()); } }