diff --git a/src/main/java/neatlogic/module/tenant/api/matrix/MatrixColumnDataSearchForSelectApi.java b/src/main/java/neatlogic/module/tenant/api/matrix/MatrixColumnDataSearchForSelectApi.java index 538134ebd847f15090f94a3e5efefb01ce7c2072..0b6fc9d0bc74fcb9a3b857358eee8ddbe29fc2e1 100644 --- a/src/main/java/neatlogic/module/tenant/api/matrix/MatrixColumnDataSearchForSelectApi.java +++ b/src/main/java/neatlogic/module/tenant/api/matrix/MatrixColumnDataSearchForSelectApi.java @@ -80,6 +80,7 @@ public class MatrixColumnDataSearchForSelectApi extends PrivateApiComponentBase @Param(name = "hiddenFieldList", desc = "隐藏属性uuid列表", type = ApiParamType.JSONARRAY), @Param(name = "currentPage", desc = "当前页", type = ApiParamType.INTEGER), @Param(name = "pageSize", desc = "显示条目数", type = ApiParamType.INTEGER), + @Param(name = "needPage", desc = "是否需要分页", type = ApiParamType.BOOLEAN), @Param(name = "defaultValue", desc = "精确匹配回显数据参数", type = ApiParamType.JSONARRAY), @Param(name = "filterList", desc = "过滤条件集合", type = ApiParamType.JSONARRAY), @@ -132,6 +133,7 @@ public class MatrixColumnDataSearchForSelectApi extends PrivateApiComponentBase "}") @Override public Object myDoService(JSONObject jsonObj) throws Exception { + Boolean needPage = jsonObj.getBoolean("needPage"); jsonObj.remove("needPage"); MatrixDataVo dataVo = jsonObj.toJavaObject(MatrixDataVo.class); if (StringUtils.isBlank(dataVo.getMatrixUuid()) && StringUtils.isBlank(dataVo.getMatrixLabel())) { @@ -277,6 +279,7 @@ public class MatrixColumnDataSearchForSelectApi extends PrivateApiComponentBase } dataVo.setKeywordColumn(attrUuid); } + dataVo.setDistinct(true); JSONArray defaultValue = dataVo.getDefaultValue(); if (CollectionUtils.isNotEmpty(defaultValue)) { List defaultValueFilterList = new ArrayList<>(); @@ -309,6 +312,11 @@ public class MatrixColumnDataSearchForSelectApi extends PrivateApiComponentBase int startNum = dataVo.getStartNum(); int currentPageBackup = dataVo.getCurrentPage(); int pageSize = dataVo.getPageSize(); + if (Objects.equals(needPage, false)) { + dataVo.setNeedPage(needPage); + dataVo.getPageSize(); + pageSize = Integer.MAX_VALUE; + } int currentPage = 0; while (resultList.size() < pageSize) { currentPage++; @@ -328,6 +336,9 @@ public class MatrixColumnDataSearchForSelectApi extends PrivateApiComponentBase break; } } + if (Objects.equals(needPage, false)) { + dataVo.setPageCount(1); + } dataVo.setCurrentPage(currentPageBackup); } JSONArray dataList = new JSONArray();