You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.8 KiB
Java
82 lines
2.8 KiB
Java
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<Map<String, String>> getRecordMapList(RecordSet rs) {
|
|
List<Map<String, String>> list = new ArrayList<>();
|
|
while (rs.next()) {
|
|
String[] columnNames = rs.getColumnName();
|
|
Map<String, String> 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));
|
|
}
|
|
}
|