From d403c1ff86d0f40c7554f07215a8f3942901018c Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期日, 20 十一月 2022 10:50:51 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/service/data/DataLoaderService.java | 113 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 99 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/lf/server/service/data/DataLoaderService.java b/src/main/java/com/lf/server/service/data/DataLoaderService.java index 5633bf2..57fe974 100644 --- a/src/main/java/com/lf/server/service/data/DataLoaderService.java +++ b/src/main/java/com/lf/server/service/data/DataLoaderService.java @@ -1,7 +1,12 @@ package com.lf.server.service.data; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.lf.server.entity.ctrl.TabMapperEntity; import com.lf.server.entity.data.MetaEntity; import com.lf.server.entity.data.MetaFileEntity; +import com.lf.server.entity.md.MdZxcgEntity; +import com.lf.server.helper.ClassHelper; +import com.lf.server.helper.ExcelHelper; import com.lf.server.helper.FileHelper; import com.lf.server.service.all.BaseUploadService; import org.springframework.beans.factory.annotation.Autowired; @@ -22,15 +27,22 @@ @Autowired MetaFileService metaFileService; + private final static String XLS = ".xls"; + + private final static String MDB = ".mdb"; + + private final static String SHP = ".shp"; + + private final static String GDB = ".gdb"; + /** * 鎻掑叆鏂囦欢 */ - public int insertFiles(MetaEntity entity, List<MetaFileEntity> list) { + public int insertFiles(MetaEntity entity, List<MetaFileEntity> list, List<TabMapperEntity> tabs) { int count = 0; try { String temp = pathHelper.getConfig().getTempPath(); String root = pathHelper.getUploadFullPath(); - String uploadPath = pathHelper.getConfig().getUploadPath(); for (MetaFileEntity mf : list) { String filePath = getFilePath(temp, root, mf); @@ -40,20 +52,18 @@ // 鍏冩暟鎹� MetaEntity me = createMetaEntity(entity, mf); - Integer rows = metaService.insert(me); - if (rows < 1) { + if (metaService.insert(me) < 1) { continue; } // 鍏冩暟鎹枃浠� MetaFileEntity mfe = createMetaFileEntity(entity, mf, filePath); - rows = metaFileService.insert(mfe); - if (rows < 1) { + if (metaFileService.insert(mfe) < 1) { continue; } - rows = insertDb(mfe, uploadPath); - if (rows > 0) { + // 鍏ュ簱 + if (null != me.getType() && insertDb(me, mfe, tabs) > 0) { count++; } } @@ -101,7 +111,7 @@ me.setDepid(entity.getDepid()); me.setDirid(entity.getDirid()); me.setVerid(entity.getVerid()); - me.setType(getType(entity.getName().toLowerCase())); + me.setType(getType(mf.getName().toLowerCase())); me.setGather(entity.getGather()); me.setBatch(entity.getBatch()); me.setDescr(entity.getDescr()); @@ -133,16 +143,16 @@ * 鑾峰彇鏂囦欢绫诲瀷 */ private String getType(String name) { - if (name.contains(".xls")) { + if (name.contains(XLS)) { return "xls"; } - if (name.contains(".mdb")) { + if (name.contains(MDB)) { return "mdb"; } - if (name.contains(".shp")) { + if (name.contains(SHP)) { return "shp"; } - if (name.contains(".gdb")) { + if (name.contains(GDB)) { return "gdb"; } @@ -152,9 +162,84 @@ /** * 鎻掑叆鏁版嵁搴� */ - private Integer insertDb(MetaFileEntity mfe, String root) { + private Integer insertDb(MetaEntity me, MetaFileEntity mfe, List<TabMapperEntity> tabs) { + String root = pathHelper.getConfig().getUploadPath(); + switch (me.getType()) { + case "xls": + return insertXls(root, mfe, tabs); + case "mdb": + return insertMdb(root, mfe, tabs); + case "shp": + return insertShp(root, mfe, tabs); + case "gdb": + return insertGdb(root, mfe, tabs); + default: + return 0; + } + } + /** + * 鎻掑叆Excel + */ + private Integer insertXls(String root, MetaFileEntity mfe, List<TabMapperEntity> tabs) { + TabMapperEntity tab = getTabEntity(mfe, tabs); + if (null == tab) { + return 0; + } + + BaseMapper baseMapper = ClassHelper.getBasicMapper(tab.getEntity()); + if (null == baseMapper) { + return 0; + } + + String className = ClassHelper.getClassName(baseMapper); + Class clazz = ClassHelper.getEntityClass(className); + if (null == clazz) { + return 0; + } + + List<?> list = ExcelHelper.readExcel(clazz, root + File.separator + mfe.getPath()); + if (null == list || list.isEmpty()) { + return 0; + } return 0; } + + /** + * 鎻掑叆MDB + */ + private Integer insertMdb(String root, MetaFileEntity mfe, List<TabMapperEntity> tabs) { + + return 0; + } + + /** + * 鎻掑叆SHP + */ + private Integer insertShp(String root, MetaFileEntity mfe, List<TabMapperEntity> tabs) { + + return 0; + } + + /** + * 鎻掑叆GDB + */ + private Integer insertGdb(String root, MetaFileEntity mfe, List<TabMapperEntity> tabs) { + + return 0; + } + + /** + * 鑾峰彇琛ㄦ槧灏勫疄浣撶被 + */ + private TabMapperEntity getTabEntity(MetaFileEntity mfe, List<TabMapperEntity> tabs) { + for (TabMapperEntity tab : tabs) { + if (tab.getFileName().equals(mfe.getName())) { + return tab; + } + } + + return null; + } } -- Gitblit v1.9.3