修改cusBaseAction,新增使用非全局requestInfo对象获取数据方法,防 止多线程下出现问题
parent
d5b0805ea5
commit
6f1e24a274
|
@ -30,7 +30,7 @@ public abstract class CusBaseAction implements Action {
|
||||||
/**
|
/**
|
||||||
* 全局requestInfo对象
|
* 全局requestInfo对象
|
||||||
*/
|
*/
|
||||||
protected RequestInfo requestInfo;
|
protected RequestInfo globalRequestInfo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <h2>初始化流程默认的处理方法</h2>
|
* <h2>初始化流程默认的处理方法</h2>
|
||||||
|
@ -49,7 +49,7 @@ public abstract class CusBaseAction implements Action {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public final String execute(RequestInfo requestInfo) {
|
public final String execute(RequestInfo requestInfo) {
|
||||||
this.requestInfo = requestInfo;
|
this.globalRequestInfo = requestInfo;
|
||||||
RequestManager requestManager = requestInfo.getRequestManager();
|
RequestManager requestManager = requestInfo.getRequestManager();
|
||||||
String billTable = requestManager.getBillTableName();
|
String billTable = requestManager.getBillTableName();
|
||||||
String requestId = requestInfo.getRequestid();
|
String requestId = requestInfo.getRequestid();
|
||||||
|
@ -111,8 +111,6 @@ public abstract class CusBaseAction implements Action {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <h2>流程其他流转类型处理方法注册</h2>
|
* <h2>流程其他流转类型处理方法注册</h2>
|
||||||
|
@ -199,9 +197,26 @@ public abstract class CusBaseAction implements Action {
|
||||||
*
|
*
|
||||||
* @return 流程主表数据
|
* @return 流程主表数据
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
protected Map<String, String> getMainTableValue() {
|
protected Map<String, String> getMainTableValue() {
|
||||||
|
// 获取主表数据
|
||||||
|
Property[] propertyArr = globalRequestInfo.getMainTableInfo().getProperty();
|
||||||
|
return getStringMap(propertyArr);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <h2>获取流程主表数据</h2>
|
||||||
|
*
|
||||||
|
* @return 流程主表数据
|
||||||
|
*/
|
||||||
|
protected Map<String, String> getMainTableValue(RequestInfo requestInfo) {
|
||||||
// 获取主表数据
|
// 获取主表数据
|
||||||
Property[] propertyArr = requestInfo.getMainTableInfo().getProperty();
|
Property[] propertyArr = requestInfo.getMainTableInfo().getProperty();
|
||||||
|
return getStringMap(propertyArr);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
private Map<String, String> getStringMap(Property[] propertyArr) {
|
||||||
if (null == propertyArr) {
|
if (null == propertyArr) {
|
||||||
return Collections.emptyMap();
|
return Collections.emptyMap();
|
||||||
}
|
}
|
||||||
|
@ -220,8 +235,25 @@ public abstract class CusBaseAction implements Action {
|
||||||
*
|
*
|
||||||
* @return 以明细表需要为键,以明细表数据为值的键值对明细数据信息
|
* @return 以明细表需要为键,以明细表数据为值的键值对明细数据信息
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
protected Map<String, List<Map<String, String>>> getDetailTableValue() {
|
protected Map<String, List<Map<String, String>>> getDetailTableValue() {
|
||||||
|
DetailTable[] detailTableArr = globalRequestInfo.getDetailTableInfo().getDetailTable();
|
||||||
|
return getListMap(detailTableArr);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <h2>获取所有明细数据</h2>
|
||||||
|
*
|
||||||
|
* @return 以明细表需要为键,以明细表数据为值的键值对明细数据信息
|
||||||
|
*/
|
||||||
|
protected Map<String, List<Map<String, String>>> getDetailTableValue(RequestInfo requestInfo) {
|
||||||
DetailTable[] detailTableArr = requestInfo.getDetailTableInfo().getDetailTable();
|
DetailTable[] detailTableArr = requestInfo.getDetailTableInfo().getDetailTable();
|
||||||
|
return getListMap(detailTableArr);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
private Map<String, List<Map<String, String>>> getListMap(DetailTable[] detailTableArr) {
|
||||||
Map<String, List<Map<String, String>>> detailDataList = new HashMap<>((int) Math.ceil(detailTableArr.length * 1.4));
|
Map<String, List<Map<String, String>>> detailDataList = new HashMap<>((int) Math.ceil(detailTableArr.length * 1.4));
|
||||||
for (DetailTable detailTable : detailTableArr) {
|
for (DetailTable detailTable : detailTableArr) {
|
||||||
List<Map<String, String>> detailData = getDetailValue(detailTable);
|
List<Map<String, String>> detailData = getDetailValue(detailTable);
|
||||||
|
@ -237,10 +269,21 @@ public abstract class CusBaseAction implements Action {
|
||||||
* @param detailNo 明细表编号
|
* @param detailNo 明细表编号
|
||||||
* @return 明细数据
|
* @return 明细数据
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
protected List<Map<String, String>> getDetailTableValueByDetailNo(int detailNo) {
|
protected List<Map<String, String>> getDetailTableValueByDetailNo(int detailNo) {
|
||||||
|
DetailTable detailTable = globalRequestInfo.getDetailTableInfo().getDetailTable(detailNo);
|
||||||
|
return getDetailValue(detailTable);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <h2>获取指定明细表的表数据</h2>
|
||||||
|
*
|
||||||
|
* @param detailNo 明细表编号
|
||||||
|
* @return 明细数据
|
||||||
|
*/
|
||||||
|
protected List<Map<String, String>> getDetailTableValueByDetailNo(int detailNo, RequestInfo requestInfo) {
|
||||||
DetailTable detailTable = requestInfo.getDetailTableInfo().getDetailTable(detailNo);
|
DetailTable detailTable = requestInfo.getDetailTableInfo().getDetailTable(detailNo);
|
||||||
List<Map<String, String>> detailData = getDetailValue(detailTable);
|
return getDetailValue(detailTable);
|
||||||
return detailData;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue