返回值 | 释义 |
---|
0 | 创建流程成功,返回请求id |
-1 | 创建流程失败 |
-2 | 用户没有流程创建权限 |
-3 | 创建流程基本信息失败 |
-4 | 保存表单主表信息失败 |
-5 | 更新紧急程度失败 |
-6 | 流程操作者失败 |
-7 | 流转至下一节点失败 |
-8 | 节点附加操作失败 |
public static int createWorkflow(int workflowId,
int creator,
String title,
boolean isNext,
Map<String, String> mainInfo,
List<Map<String, String>>[] detailInfos) throws Exception {
if (title == null) {
String pathName = getWorkflowPathName(workflowId);
String creatorName = creator == 1 ? "系统管理员" : HrmAPI.queryHrmName(creator);
String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
title = pathName + "-" + creatorName + "-" + date;
}
RequestInfo requestInfo = new RequestInfo();
requestInfo.setCreatorid(String.valueOf(creator));
requestInfo.setWorkflowid(String.valueOf(workflowId));
requestInfo.setDescription(title);
requestInfo.setIsNextFlow(isNext ? "1" : "0");
requestInfo.setRequestlevel("0");
requestInfo.setRemindtype("0");
MainTableInfo mainTableInfo = new MainTableInfo();
requestInfo.setMainTableInfo(mainTableInfo);
if (mainInfo != null) {
Set<Map.Entry<String, String>> entrySet = mainInfo.entrySet();
for (Map.Entry<String, String> entry : entrySet) {
String key = entry.getKey();
String value = entry.getValue();
if (key == null || key.equals("")
|| value == null || value.equals(""))
continue;
Property property = new Property();
property.setName(key);
property.setValue(value);
mainTableInfo.addProperty(property);
}
}
DetailTableInfo detailTableInfos = new DetailTableInfo();
requestInfo.setDetailTableInfo(detailTableInfos);
if (detailInfos != null) {
for (int i = 1; i < detailInfos.length; i++) {
List<Map<String, String>> detailInfo = detailInfos[i];
if (detailInfo != null) {
DetailTable detailTable = new DetailTable();
detailTable.setId(String.valueOf(i));
for (Map<String, String> detailRow : detailInfo) {
Row row = new Row();
Set<Map.Entry<String, String>> entrySet = detailRow.entrySet();
for (Map.Entry<String, String> entry : entrySet) {
String key = entry.getKey();
String value = entry.getValue();
if (key == null || key.equals("")
|| value == null || value.equals(""))
continue;
Cell cell = new Cell();
cell.setName(key);
cell.setValue(value);
row.addCell(cell);
}
detailTable.addRow(row);
}
detailTableInfos.addDetailTable(detailTable);
}
}
}
return Util.getIntValue(new RequestService().createRequest(requestInfo));
}