From e002c67732b571f0b20cca8321ca8ee1ddba2e05 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期一, 14 八月 2023 17:05:23 +0800 Subject: [PATCH] 修改文件上传、GDB/Shp数据读取、数据入库、元数据管理等接口 --- src/main/java/com/moon/server/controller/all/BaseQueryController.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 48 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/moon/server/controller/all/BaseQueryController.java b/src/main/java/com/moon/server/controller/all/BaseQueryController.java index 31f4206..c6ab13b 100644 --- a/src/main/java/com/moon/server/controller/all/BaseQueryController.java +++ b/src/main/java/com/moon/server/controller/all/BaseQueryController.java @@ -200,7 +200,7 @@ 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) { @@ -424,11 +424,12 @@ @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 = "娴嬬粯锛圗SV锛�"), @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); @@ -445,14 +446,15 @@ 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) { @@ -460,6 +462,48 @@ } } + /** + * 鑾峰彇绫诲埆杩囨护鏉′欢 + */ + 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 "娴嬬粯锛圗SV锛�": + list.add("bak like '宸ョ▼鏁版嵁/娴嬬粯%'"); + break; + case "鍕樺療锛圗GE锛�": + list.add("bak like '宸ョ▼鏁版嵁/鍕樺療%'"); + break; + case "鍦扮伨锛圗GD锛�": + list.add("bak like '宸ョ▼鏁版嵁/鍦扮伨%'"); + break; + case "娲炲簱锛圗GD锛�": + 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({ -- Gitblit v1.9.3