package weaver.formmode.hty.modeexpand.activity; import cn.hutool.core.convert.Convert; import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.workflow.webservices.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @author:dxfeng * @createTime: 2024/09/06 * @version: 1.0 */ public class FlowUtil { public static String parseBlankToNull(String str) { return StringUtils.isBlank(str) ? null : str; } public static List> getRecordMapList(RecordSet rs) { List> list = new ArrayList<>(); while (rs.next()) { String[] columnNames = rs.getColumnName(); Map dataMap = new HashMap<>(); for (String columnName : columnNames) { dataMap.put(columnName.toLowerCase(), parseBlankToNull(rs.getString(columnName))); } list.add(dataMap); } return list; } public static WorkflowRequestTableField createWorkflowRequestTableField(String fieldName, String fieldValue) { WorkflowRequestTableField tableField = new WorkflowRequestTableField(); tableField.setFieldName(fieldName); tableField.setFieldValue(fieldValue); tableField.setView(true); tableField.setEdit(true); return tableField; } /** * 创建流程 * * @param flowId * @param title * @param creatorId * @param isNextFlow * @param workflowMainTableInfo * @param workflowDetailTableInfoArray * @return */ public static String createWorkflow(String flowId, String title, String creatorId, String isNextFlow, WorkflowMainTableInfo workflowMainTableInfo, WorkflowDetailTableInfo[] workflowDetailTableInfoArray) { WorkflowBaseInfo workflowBaseInfo = new WorkflowBaseInfo(); workflowBaseInfo.setWorkflowId(flowId); //工作流程请求信息 WorkflowRequestInfo workflowRequestInfo = new WorkflowRequestInfo(); //请求标题 workflowRequestInfo.setRequestName(title); //请求重要级别 workflowRequestInfo.setRequestLevel("1"); //显示 workflowRequestInfo.setCanView(true); //创建者id workflowRequestInfo.setCreatorId(creatorId); //工作流信息 workflowRequestInfo.setWorkflowBaseInfo(workflowBaseInfo); //主表 workflowRequestInfo.setWorkflowMainTableInfo(workflowMainTableInfo); workflowRequestInfo.setWorkflowDetailTableInfos(workflowDetailTableInfoArray); //是否提交下一节点 workflowRequestInfo.setIsnextflow(isNextFlow); WorkflowService workflow = new WorkflowServiceImpl(); return workflow.doCreateWorkflowRequest(workflowRequestInfo, Convert.toInt(creatorId, 1)); } }