diff --git a/src/main/java/aiyh/utils/action/CusBaseAction.java b/src/main/java/aiyh/utils/action/CusBaseAction.java index 4fb3b80..9b114a6 100644 --- a/src/main/java/aiyh/utils/action/CusBaseAction.java +++ b/src/main/java/aiyh/utils/action/CusBaseAction.java @@ -30,7 +30,7 @@ public abstract class CusBaseAction implements Action { /** * 全局requestInfo对象 */ - protected RequestInfo requestInfo; + protected RequestInfo globalRequestInfo; /** *

初始化流程默认的处理方法

@@ -49,7 +49,7 @@ public abstract class CusBaseAction implements Action { @Override public final String execute(RequestInfo requestInfo) { - this.requestInfo = requestInfo; + this.globalRequestInfo = requestInfo; RequestManager requestManager = requestInfo.getRequestManager(); String billTable = requestManager.getBillTableName(); String requestId = requestInfo.getRequestid(); @@ -111,8 +111,6 @@ public abstract class CusBaseAction implements Action { return true; } - ; - /** *

流程其他流转类型处理方法注册

@@ -199,9 +197,26 @@ public abstract class CusBaseAction implements Action { * * @return 流程主表数据 */ + @Deprecated protected Map getMainTableValue() { +// 获取主表数据 + Property[] propertyArr = globalRequestInfo.getMainTableInfo().getProperty(); + return getStringMap(propertyArr); + } + + /** + *

获取流程主表数据

+ * + * @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(); } @@ -220,8 +235,25 @@ public abstract class CusBaseAction implements Action { * * @return 以明细表需要为键,以明细表数据为值的键值对明细数据信息 */ + @Deprecated protected Map>> getDetailTableValue() { + DetailTable[] detailTableArr = globalRequestInfo.getDetailTableInfo().getDetailTable(); + return getListMap(detailTableArr); + } + + /** + *

获取所有明细数据

+ * + * @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> detailData = getDetailValue(detailTable); @@ -237,10 +269,21 @@ public abstract class CusBaseAction implements Action { * @param detailNo 明细表编号 * @return 明细数据 */ + @Deprecated protected List> getDetailTableValueByDetailNo(int detailNo) { + DetailTable detailTable = globalRequestInfo.getDetailTableInfo().getDetailTable(detailNo); + return getDetailValue(detailTable); + } + + /** + *

获取指定明细表的表数据

+ * + * @param detailNo 明细表编号 + * @return 明细数据 + */ + protected List> getDetailTableValueByDetailNo(int detailNo, RequestInfo requestInfo) { DetailTable detailTable = requestInfo.getDetailTableInfo().getDetailTable(detailNo); - List> detailData = getDetailValue(detailTable); - return detailData; + return getDetailValue(detailTable); } /**