ecology-develop/src/weaver/interfaces/hzzx/action/TrainingApplicationAction.java

122 lines
4.3 KiB
Java
Raw Normal View History

package weaver.interfaces.hzzx.action;
import com.engine.hzzx.conn.DataUtil;
import weaver.conn.RecordSet;
import weaver.interfaces.workflow.action.Action;
import weaver.soa.workflow.request.*;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
/**
* 5.2.2.2培训实施申请
* 流程归档写入建模表
*
* @author:dxfeng
* @createTime: 2025/02/28
* @version: 1.0
*/
public class TrainingApplicationAction implements Action {
private static final String MODE_TABLE_NAME = "uf_pxsssq";
RecordSet rs = new RecordSet();
@Override
public String execute(RequestInfo requestInfo) {
try {
MainTableInfo mainTableInfo = requestInfo.getMainTableInfo();
Property[] properties = mainTableInfo.getProperty();
Map<String, String> mainDataMap = new HashMap<>();
for (Property property : properties) {
mainDataMap.put(property.getName(), property.getValue());
}
// 插入主表数据并生成ID
int mainId = insertMainTable(mainDataMap);
if (-1 == mainId) {
requestInfo.getRequestManager().setMessagecontent("流程数据写入建模主表失败");
return FAILURE_AND_CONTINUE;
}
DetailTableInfo detailTableInfo = requestInfo.getDetailTableInfo();
DetailTable[] detailTables = detailTableInfo.getDetailTable();
for (int i = 0; i < detailTables.length; i++) {
String detailTableName = MODE_TABLE_NAME + "_dt" + (i + 1);
DetailTable table = detailTables[i];
Row[] rows = table.getRow();
for (Row row : rows) {
Map<String, String> detailDataMap = new HashMap<>();
detailDataMap.put("mainid", String.valueOf(mainId));
Cell[] cells = row.getCell();
for (Cell cell : cells) {
detailDataMap.put(cell.getName(), cell.getValue());
}
// 插入明细表数据
insertDetailTable(detailDataMap, detailTableName);
}
}
return SUCCESS;
} catch (Exception e) {
rs.writeLog(e);
requestInfo.getRequestManager().setMessagecontent(e.getMessage());
return FAILURE_AND_CONTINUE;
}
}
/**
* 插入主表
*
* @param mainDataMap
* @return
*/
private int insertMainTable(Map<String, String> mainDataMap) {
String operateId = mainDataMap.get("sqr");
Map<String, String> insertData = new HashMap<>();
String uuid = UUID.randomUUID().toString();
insertData.put("modeuuid", uuid);
int formModeId = DataUtil.getModeIdByTableName(MODE_TABLE_NAME);
insertData.put("formmodeid", String.valueOf(formModeId));
DataUtil.buildModeInsertFields(insertData, operateId);
insertData.put("pxrs", mainDataMap.get("pxrs"));
insertData.put("pxdx", mainDataMap.get("pxdx"));
insertData.put("szbm", mainDataMap.get("szbm"));
insertData.put("pxdd", mainDataMap.get("pxdd"));
insertData.put("jssjyc", mainDataMap.get("jssjyc"));
insertData.put("pxsj", mainDataMap.get("pxsj"));
insertData.put("sqr", mainDataMap.get("sqr"));
// insertData.put("pxzt",mainDataMap.get("pxzt"));
insertData.put("sfzndjhn", mainDataMap.get("sfzndjhn"));
insertData.put("pxmc", mainDataMap.get("pxmc"));
insertData.put("xs", mainDataMap.get("xs"));
insertData.put("jf", mainDataMap.get("jf"));
2025-03-27 11:21:00 +08:00
insertData.put("xzk", mainDataMap.get("xzk"));
insertData.put("yjpxrs", mainDataMap.get("yjpxrs"));
String pxjh = mainDataMap.get("pxjh");
String docIdByImageId = DataUtil.getDocIdByImageId(pxjh);
insertData.put("pxjh", docIdByImageId);
insertData.put("qsm", mainDataMap.get("qsm"));
DataUtil.insertData(insertData, MODE_TABLE_NAME);
return DataUtil.refreshRight(uuid, MODE_TABLE_NAME, formModeId, operateId);
}
/**
* 插入子表
*
* @param detailDataMap
* @param detailTableName
*/
private void insertDetailTable(Map<String, String> detailDataMap, String detailTableName) {
DataUtil.insertData(detailDataMap, detailTableName);
}
}