From ed8c7a5effd0d423ce1118b680ecdca6fe732609 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期三, 02 七月 2025 16:43:13 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.11.205:9000/r/P2022036_Service

---
 src/main/java/com/lf/server/controller/all/BaseQueryController.java |   94 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 84 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/lf/server/controller/all/BaseQueryController.java b/src/main/java/com/lf/server/controller/all/BaseQueryController.java
index 0736c5c..8e2b9b9 100644
--- a/src/main/java/com/lf/server/controller/all/BaseQueryController.java
+++ b/src/main/java/com/lf/server/controller/all/BaseQueryController.java
@@ -28,6 +28,7 @@
 import com.lf.server.service.show.DataLibService;
 import com.lf.server.service.sys.AttachService;
 import com.lf.server.service.sys.DepService;
+import com.lf.server.service.sys.DownlogService;
 import com.lf.server.service.sys.TokenService;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -64,7 +65,10 @@
     DataLibService dataLibService;
 
     @Autowired
-    DownloadService downloadService;
+    public DownlogService downlogService;
+
+    @Autowired
+    public DownloadService downloadService;
 
     @Autowired
     BaseQueryService baseQueryService;
@@ -115,7 +119,7 @@
     })
     @GetMapping(value = "/selectByPage")
     @PostMapping(value = "/selectByPage")
-    public ResponseMsg<List<Object>> selectByPage(String name, String depcode, String dirs, String filter, String wkt, Integer pageIndex, Integer pageSize, Integer hasGeom) {
+    public ResponseMsg<List<?>> selectByPage(String name, String depcode, String dirs, String filter, String wkt, Integer pageIndex, Integer pageSize, Integer hasGeom) {
         try {
             BasicMapper baseMapper = ClassHelper.getBasicMapper(name);
             if (null == baseMapper) {
@@ -141,7 +145,7 @@
 
             Page<Object> page = new Page<>(pageIndex, pageSize);
             page.addOrder(OrderItem.desc("gid"));
-            IPage<Object> paged = baseMapper.selectPage(page, wrapper);
+            IPage<?> paged = baseMapper.selectPage(page, wrapper);
             if (hasWkt && null != paged.getRecords()) {
                 copeWkt(paged.getRecords());
             }
@@ -196,10 +200,10 @@
             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) {
+            if (null == buffer || buffer < 0 || buffer > StaticData.I100000) {
                 buffer = 10.0;
             }
 
@@ -420,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);
@@ -441,19 +446,62 @@
             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) {
             return fail(ex, null);
         }
+    }
+
+    /**
+     * 鑾峰彇绫诲埆杩囨护鏉′欢
+     */
+    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()
@@ -573,6 +621,32 @@
     }
 
     @SysLog()
+    @ApiOperation(value = "鏌ヨ鍏冩暟鎹腑婧㈠嚭鐨勫崟浣岻D")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "reqEntity", value = "璇锋眰涓嬭浇瀹炰綋", dataType = "DownloadReqEntity", paramType = "body")
+    })
+    @ResponseBody
+    @PostMapping(value = "/selectMetaOverflowDep")
+    public ResponseMsg<Object> selectMetaOverflowDep(@RequestBody DownloadReqEntity dr, HttpServletRequest req, HttpServletResponse res) {
+        try {
+            if (null == dr || null == dr.getIds() || dr.getIds().isEmpty()) {
+                return fail("璇烽�夋嫨瑕佷笅杞界殑鏂囦欢ID");
+            }
+
+            UserEntity ue = tokenService.getCurrentUser(req);
+            if (StaticData.ADMIN.equals(ue.getUid())) {
+                return success(new ArrayList<String>());
+            }
+
+            List<String> list = metaService.selectMetaOverflowDep(ue, dr);
+
+            return success(list);
+        } catch (Exception ex) {
+            return fail(ex, null);
+        }
+    }
+
+    @SysLog()
     @ApiOperation(value = "鏌ヨDB涓孩鍑虹殑鍗曚綅ID")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "reqEntity", value = "璇锋眰涓嬭浇瀹炰綋", dataType = "DownloadReqEntity", paramType = "body")
@@ -684,11 +758,11 @@
                 return fail("鐢ㄦ埛鏈櫥褰�", null);
             }
 
-            int count = downloadService.selectCountForUser(ue.getId(), 4, name);
+            int count = downloadService.selectCountForUser(ue.getId(), "3,4", name);
             if (count == 0) {
                 return success(0, null);
             }
-            List<DownloadEntity> rs = downloadService.selectByPageForUser(ue.getId(), 4, name, pageSize, pageSize * (pageIndex - 1));
+            List<DownloadEntity> rs = downloadService.selectByPageForUser(ue.getId(), "3,4", name, pageSize, pageSize * (pageIndex - 1));
 
             return success(count, rs);
         } catch (Exception ex) {

--
Gitblit v1.9.3