From 71726a1cb05790d6841595ef7daef5173f2cddfa Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期三, 29 三月 2023 09:43:11 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/service/show/DataLibService.java | 43 ++++++++++++++++++++++++++++++++----------- 1 files changed, 32 insertions(+), 11 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 9e7b76c..adf6c3c 100644 --- a/src/main/java/com/lf/server/service/show/DataLibService.java +++ b/src/main/java/com/lf/server/service/show/DataLibService.java @@ -138,6 +138,9 @@ } for (String id : ids) { + if (StringHelper.isEmpty(id)) { + continue; + } if (!rs.contains(id)) { rs.add(id); } @@ -148,8 +151,11 @@ * 璇锋眰DB鏁版嵁涓嬭浇 */ public String downloadDbReq(UserEntity ue, DownloadReqEntity dr) { - Map<String, List<?>> map = queryData(dr); - if (map.size() == 0) { + Map<String, List<?>> dataMap = new HashMap<>(2); + Map<String, List<AttachEntity>> annexMap = new HashMap<>(2); + + queryData(dr, dataMap, annexMap); + if (dataMap.size() == 0) { return null; } @@ -157,10 +163,9 @@ } /** - * 鏌ヨ鏁版嵁 + * 鏌ヨ鏁版嵁+闄勪欢 */ - private Map<String, List<?>> queryData(DownloadReqEntity dr) { - Map<String, List<?>> map = new HashMap<>(3); + private void queryData(DownloadReqEntity dr, Map<String, List<?>> dataMap, Map<String, List<AttachEntity>> annexMap) { for (String enity : dr.getEntities()) { try { BasicMapper baseMapper = ClassHelper.getBasicMapper(enity); @@ -169,20 +174,35 @@ } QueryWrapper wrapper = createQueryWrapper(baseMapper, dr); - List<?> list = baseMapper.selectList(wrapper); + List list = baseMapper.selectList(wrapper); if (null == list || list.size() == 0) { continue; } - if (!map.containsKey(enity)) { - map.put(enity, list); + String tab = BaseQueryService.getTabName(baseMapper); + if (!dataMap.containsKey(enity)) { + dataMap.put(enity, list); + } else { + dataMap.get(enity).addAll(list); + } + if (wrapper.isEmptyOfWhere()) { + wrapper.apply("1 = 1"); + } + + List<AttachEntity> annex = baseMapper.selectAnnex(tab, wrapper); + if (null == annex || annex.isEmpty()) { + continue; + } + + if (!annexMap.containsKey(enity)) { + annexMap.put(enity, annex); + } else { + annexMap.get(enity).addAll(annex); } } catch (Exception ex) { log.error(ex.getMessage(), ex); } } - - return map; } /** @@ -196,6 +216,7 @@ wrapper.apply(dirs); } if (!StringHelper.isEmpty(dr.getDepcode())) { + // wrapper.apply(String.format("depid like '%s'", StringHelper.getRightLike(dr.getDepcode()))) wrapper.likeRight("depid", dr.getDepcode()); } if (baseMapper instanceof GeomBaseMapper && !StringHelper.isEmpty(dr.getWkt())) { @@ -415,7 +436,7 @@ removeDuplicate(list); setRightLike(list, field); - return StringHelper.join(list, " or "); + return "(" + StringHelper.join(list, " or ") + ")"; } /** -- Gitblit v1.9.3