| | |
| | | if (StringHelper.isEmpty(wkt)) { |
| | | return fail("WKT不能为空", null); |
| | | } |
| | | if (null == limit || limit < 1 || limit > StaticData.ONE_HUNDRED) { |
| | | if (null == limit || limit < 1 || limit > StaticData.I100) { |
| | | limit = 20; |
| | | } |
| | | if (null == buffer || buffer < 0 || buffer > StaticData.ONE_HUNDRED_THOUSAND) { |
| | |
| | | @ApiImplicitParam(name = "depcode", value = "单位编码", dataType = "String", paramType = "query", example = "00"), |
| | | @ApiImplicitParam(name = "dirs", value = "目录编码", dataType = "String", paramType = "query", example = "00,01"), |
| | | @ApiImplicitParam(name = "tab", value = "表名", dataType = "String", paramType = "query", example = "dlg_"), |
| | | @ApiImplicitParam(name = "types", value = "类别", dataType = "String", paramType = "query", example = "测绘(ESV)"), |
| | | @ApiImplicitParam(name = "hasGeom", value = "含有Geom字段", dataType = "Boolean", paramType = "query", example = "false"), |
| | | @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "Integer", paramType = "query", example = "10"), |
| | | @ApiImplicitParam(name = "pageIndex", value = "分页数(从1开始)", dataType = "Integer", paramType = "query", example = "1") |
| | | }) |
| | | public ResponseMsg<Object> selectTabsByPage(String depcode, String dirs, String tab, Boolean hasGeom, Integer pageSize, Integer pageIndex) { |
| | | public ResponseMsg<Object> selectTabsByPage(String depcode, String dirs, String tab, String types, Boolean hasGeom, Integer pageSize, Integer pageIndex) { |
| | | try { |
| | | if (pageSize < 1 || pageIndex < 1) { |
| | | return fail("每页页数或分页数小于1", null); |
| | |
| | | if (dirs != null) { |
| | | filters += String.format(" and %s", dirs); |
| | | } |
| | | String typesFilter = getTypesFilter(types); |
| | | |
| | | String field = null == hasGeom || !hasGeom ? "gid" : "geom"; |
| | | int count = baseQueryService.selectTabsForCount(tab, field); |
| | | int count = baseQueryService.selectTabsForCount(tab, typesFilter, field); |
| | | if (count == 0) { |
| | | return success(0, null); |
| | | } |
| | | |
| | | List<TabEntity> rs = baseQueryService.selectTabsByPage(tab, field, filters, pageSize, pageSize * (pageIndex - 1)); |
| | | List<TabEntity> rs = baseQueryService.selectTabsByPage(tab, typesFilter, field, filters, pageSize, pageSize * (pageIndex - 1)); |
| | | |
| | | return success(count, rs); |
| | | } catch (Exception ex) { |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 获取类别过滤条件 |
| | | */ |
| | | private String getTypesFilter(String types) { |
| | | if (StringHelper.isEmpty(types)) { |
| | | return null; |
| | | } |
| | | |
| | | List<String> list = new ArrayList<>(); |
| | | for (String type : types.split(StaticData.COMMA)) { |
| | | switch (type) { |
| | | case "测绘(ESV)": |
| | | list.add("bak like '工程数据/测绘%'"); |
| | | break; |
| | | case "勘察(EGE)": |
| | | list.add("bak like '工程数据/勘察%'"); |
| | | break; |
| | | case "地灾(EGD)": |
| | | list.add("bak like '工程数据/地灾%'"); |
| | | break; |
| | | case "洞库(EGD)": |
| | | list.add("bak like '工程数据/洞库%'"); |
| | | break; |
| | | case "基础测绘": |
| | | list.add("bak like '基础数据/测绘%'"); |
| | | break; |
| | | case "基础地灾": |
| | | list.add("bak like '基础数据/地灾%'"); |
| | | break; |
| | | case "基础勘察": |
| | | list.add("bak like '基础数据/勘察%'"); |
| | | break; |
| | | case "合规数据": |
| | | case "管理数据": |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | |
| | | return list.isEmpty() ? null : StringHelper.join(list, " or "); |
| | | } |
| | | |
| | | @SysLog() |
| | | @ApiOperation(value = "查询字段信息") |
| | | @ApiImplicitParams({ |