actionHandleMethod) {
}
/**
* action 提交流程业务处理方法
* 具体业务逻辑实现
* 全局存在log成员变量,用于日志的输出 Util.actionFailException(requestManager,"error msg"); 用于提示action执行失败
*
*
* @param requestId 流程请求ID
* @param billTable 流程对应主表名称
* @param workflowId 流程对应流程ID
* @param user 当前节点操作者用户
* @param requestInfo 请求管理对象
*/
public abstract void doSubmit(String requestId, String billTable, int workflowId,
User user, RequestInfo requestInfo);
/**
* action 退回流程业务处理方法
* 具体业务逻辑实现
* 全局存在log成员变量,用于日志的输出 Util.actionFailException(requestManager,"error msg"); 用于提示action执行失败
*
*
* @param requestId 流程请求ID
* @param billTable 流程对应主表名称
* @param workflowId 流程对应流程ID
* @param user 当前节点操作者用户
* @param requestInfo 请求管理对象
*/
public void doReject(String requestId, String billTable, int workflowId,
User user, RequestInfo requestInfo) {
}
/**
* action 撤回、撤回流程流程业务处理方法
* 具体业务逻辑实现
* 全局存在log成员变量,用于日志的输出 Util.actionFailException(requestManager,"error msg"); 用于提示action执行失败
*
*
* @param requestId 流程请求ID
* @param billTable 流程对应主表名称
* @param workflowId 流程对应流程ID
* @param user 当前节点操作者用户
* @param requestInfo 请求管理对象
*/
public void doWithdraw(String requestId, String billTable, int workflowId,
User user, RequestInfo requestInfo) {
}
/**
* action 强制收回流程业务处理方法
* 具体业务逻辑实现
* 全局存在log成员变量,用于日志的输出 Util.actionFailException(requestManager,"error msg"); 用于提示action执行失败
*
*
* @param requestId 流程请求ID
* @param billTable 流程对应主表名称
* @param workflowId 流程对应流程ID
* @param user 当前节点操作者用户
* @param requestInfo 请求管理对象
*/
public void doDrawBack(String requestId, String billTable, int workflowId,
User user, RequestInfo requestInfo) {
}
/**
* 获取流程主表数据
*
* @return 流程主表数据
*/
protected Map getMainTableValue(RequestInfo requestInfo) {
// 获取主表数据
Property[] propertyArr = requestInfo.getMainTableInfo().getProperty();
return getStringMap(propertyArr);
}
@NotNull
private Map getStringMap(Property[] propertyArr) {
if (null == propertyArr) {
return Collections.emptyMap();
}
Map mainTable = new HashMap<>((int) Math.ceil(propertyArr.length * 1.4));
for (Property property : propertyArr) {
String fieldName = property.getName();
String value = property.getValue();
mainTable.put(fieldName, value);
}
return mainTable;
}
/**
* 获取流程主表数据
*
* @return 流程主表数据
*/
protected Map getObjMainTableValue(RequestInfo requestInfo) {
Map mainTableValue = getMainTableValue(requestInfo);
return new HashMap<>(mainTableValue);
}
/**
* 获取所有明细数据
*
* @return 以明细表需要为键,以明细表数据为值的键值对明细数据信息
*/
protected Map>> getDetailTableValue(RequestInfo requestInfo) {
DetailTable[] detailTableArr = requestInfo.getDetailTableInfo().getDetailTable();
return getListMap(detailTableArr);
}
@NotNull
private Map>> getListMap(DetailTable[] detailTableArr) {
Map>> detailDataList = new HashMap<>((int) Math.ceil(detailTableArr.length * 1.4));
for (DetailTable detailTable : detailTableArr) {
List