管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2023-03-30 670f36af44911c51eb2e57b230c67b585b696896
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,38 @@
                }
                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 ("bborehole".equals(enity)){
                    continue;
                }
                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 +219,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 +439,7 @@
        removeDuplicate(list);
        setRightLike(list, field);
        return StringHelper.join(list, " or ");
        return "(" + StringHelper.join(list, " or ") + ")";
    }
    /**