From f8d3c39cbcfc7818d2118e7d1e0a2d5beebfbf9c Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期一, 27 三月 2023 09:20:58 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/service/show/DataLibService.java | 47 +++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 43 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/lf/server/service/show/DataLibService.java b/src/main/java/com/lf/server/service/show/DataLibService.java index c7208b0..8bafeeb 100644 --- a/src/main/java/com/lf/server/service/show/DataLibService.java +++ b/src/main/java/com/lf/server/service/show/DataLibService.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.lf.server.entity.all.BaseEntity; +import com.lf.server.entity.ctrl.DownloadReqEntity; import com.lf.server.entity.data.DownloadEntity; import com.lf.server.entity.sys.AttachEntity; import com.lf.server.entity.sys.UserEntity; @@ -44,11 +45,22 @@ /** * 鏌ヨDB涓孩鍑虹殑鍗曚綅缂栫爜 */ - public List<String> selectDbOverflowDep(UserEntity ue, List<String> entities, String wkt) { + public List<String> selectDbOverflowDep(UserEntity ue, DownloadReqEntity dr) { + if (StringHelper.isEmpty(dr.getWkt())) { + return selectDbOverflowDep4Wkt(ue, dr.getEntities(), dr.getWkt()); + } + + return selectDbOverflowDep4Prop(ue, dr.getEntities().get(0), dr.getIds(), dr.getFilter()); + } + + /** + * 鏌ヨDB涓孩鍑虹殑鍗曚綅缂栫爜-绌洪棿鏌ヨ + */ + public List<String> selectDbOverflowDep4Wkt(UserEntity ue, List<String> entities, String wkt) { List<String> rs = new ArrayList<>(); - for (String enity : entities) { + for (String entity : entities) { try { - GeomBaseMapper<?> baseMapper = ClassHelper.getGeoBaseMapper(enity); + GeomBaseMapper<?> baseMapper = ClassHelper.getGeoBaseMapper(entity); if (null == baseMapper) { continue; } @@ -65,7 +77,6 @@ } List<String> ids = baseMapper.selectObjs(wrapper); - addDepCodes(rs, ids); } catch (Exception ex) { log.error(ex.getMessage(), ex); @@ -76,6 +87,34 @@ } /** + * 鏌ヨDB涓孩鍑虹殑鍗曚綅缂栫爜-灞炴�ф煡璇� + */ + public List<String> selectDbOverflowDep4Prop(UserEntity ue, String entity, List<Integer> gids, String filter) { + List<String> rs = new ArrayList<>(); + try { + BasicMapper<?> baseMapper = ClassHelper.getBasicMapper(entity); + if (null == baseMapper) { + return rs; + } + + QueryWrapper wrapper = new QueryWrapper(); + wrapper.select("depid"); + baseQueryService.addFilterWrapper(wrapper, filter); + if (null != gids && gids.size() > 0) { + wrapper.apply(String.format("gid in (%s)", StringHelper.join(gids, ","))); + } + wrapper.groupBy("depid"); + + List<String> ids = baseMapper.selectObjs(wrapper); + addDepCodes(rs, ids); + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + } + + return rs; + } + + /** * 娣诲姞鍗曚綅缂栫爜 */ private void addDepCodes(List<String> rs, List<String> ids) { -- Gitblit v1.9.3