From 09fb666dc0890a448aa12f8287ea0f6ba4bd83ad Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期三, 11 一月 2023 10:06:28 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/entity/data/MetaFileEntity.java | 20 ++++++++++ src/main/java/com/lf/server/service/data/FmeService.java | 5 +- src/main/java/com/lf/server/service/data/UploadService.java | 79 +++++++++++++++++++++++++++++---------- src/main/java/com/lf/server/controller/data/upload/UploadController.java | 2 4 files changed, 82 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/lf/server/controller/data/upload/UploadController.java b/src/main/java/com/lf/server/controller/data/upload/UploadController.java index d125d6f..02435a3 100644 --- a/src/main/java/com/lf/server/controller/data/upload/UploadController.java +++ b/src/main/java/com/lf/server/controller/data/upload/UploadController.java @@ -157,7 +157,7 @@ return fail("鍏冩暟鎹枃浠堕泦鍚堜负绌�", null); } - uploadService.insertFiles(ue, list); + uploadService.insertFiles(ue, list, req); return success("鎴愬姛", list); } catch (Exception ex) { diff --git a/src/main/java/com/lf/server/entity/data/MetaFileEntity.java b/src/main/java/com/lf/server/entity/data/MetaFileEntity.java index 31cae41..134434b 100644 --- a/src/main/java/com/lf/server/entity/data/MetaFileEntity.java +++ b/src/main/java/com/lf/server/entity/data/MetaFileEntity.java @@ -37,6 +37,10 @@ private String entity; + private int rows; + + private String msg; + public String getEventid() { return eventid; } @@ -148,4 +152,20 @@ public void setEntity(String entity) { this.entity = entity; } + + public int getRows() { + return rows; + } + + public void setRows(int rows) { + this.rows = rows; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } } diff --git a/src/main/java/com/lf/server/service/data/FmeService.java b/src/main/java/com/lf/server/service/data/FmeService.java index 6fc62f5..f549523 100644 --- a/src/main/java/com/lf/server/service/data/FmeService.java +++ b/src/main/java/com/lf/server/service/data/FmeService.java @@ -220,16 +220,15 @@ } /** - * 13.琛ㄦ牸鍏ュ簱 + * 13.琛ㄦ牸鍏ュ簱锛歋_RKBG銆乨irid銆乸arentid锛屽涓互鑻辨枃閫楀彿闅斿紑 */ public String excelLoader(MetaFileEntity meta, HttpServletRequest req) { String url = getUrl("datax/task/run/琛ㄦ牸鍏ュ簱", req); - // S_RKBG锛氫负鍏ュ簱琛ㄦ牸鐨勫畬鏁磋矾寰勶紝澶氫釜浠ヨ嫳鏂囬�楀彿闅斿紑 List<NameValueEntity> list = getKeyValues("琛ㄦ牸鍏ュ簱"); list.add(new NameValueEntity("S_RKBG", meta.getPath())); list.add(new NameValueEntity("COORDSYS", meta.getEpsgCode())); - list.add(new NameValueEntity("dirid", meta.getDirid())); + list.add(new NameValueEntity("dirid", meta.getName())); list.add(new NameValueEntity("depid", meta.getDepid())); list.add(new NameValueEntity("verid", meta.getVerid())); list.add(new NameValueEntity("createuser", meta.getCreateUser())); diff --git a/src/main/java/com/lf/server/service/data/UploadService.java b/src/main/java/com/lf/server/service/data/UploadService.java index a6af2e0..8743472 100644 --- a/src/main/java/com/lf/server/service/data/UploadService.java +++ b/src/main/java/com/lf/server/service/data/UploadService.java @@ -1,17 +1,19 @@ package com.lf.server.service.data; -import com.alibaba.druid.support.spring.stat.annotation.Stat; import com.lf.server.entity.all.StaticData; import com.lf.server.entity.data.CoordEntity; import com.lf.server.entity.data.DirEntity; import com.lf.server.entity.data.FmeLogEntity; import com.lf.server.entity.data.MetaFileEntity; import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.StringHelper; import com.lf.server.mapper.data.UploadMapper; import com.lf.server.service.all.BaseUploadService; +import org.apache.commons.collections4.queue.PredicatedQueue; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.servlet.http.HttpServletRequest; import java.io.File; import java.util.ArrayList; import java.util.List; @@ -24,6 +26,9 @@ public class UploadService extends BaseUploadService implements UploadMapper { @Autowired UploadMapper uploadMapper; + + @Autowired + FmeService fmeService; @Override public List<CoordEntity> selectCoords(String zoning) { @@ -48,9 +53,9 @@ /** * 鎻掑叆鏂囦欢 */ - public void insertFiles(UserEntity ue, List<MetaFileEntity> list) { + public void insertFiles(UserEntity ue, List<MetaFileEntity> list, HttpServletRequest req) { checkMetaFiles(ue, list); - + loadExcel(list, req); } /** @@ -59,36 +64,70 @@ private void checkMetaFiles(UserEntity ue, List<MetaFileEntity> list) { String tempPath = pathHelper.getConfig().getTempPath(); - int i = 0; - while (i < list.size()) { - MetaFileEntity mf = list.get(i); + for (MetaFileEntity mf : list) { + mf.setCreateUser(ue.getId()); + mf.setDepid(ue.getDepid()); + File f = new File(tempPath + File.separator + mf.getPath()); if (!f.exists()) { - list.remove(i); - continue; + mf.setRows(-1); + mf.setMsg("鏂囦欢涓嶅瓨鍦�"); } - - // mf.setCreateUser(ue.getId()); mf.setDepid(ue.getDepid()) - i++; } } /** - * 鑾峰彇Excel鏂囦欢 + * Excel鍏ュ簱 */ - private List<String> getExcelFiles(List<MetaFileEntity> list) { - String tempPath = pathHelper.getConfig().getTempPath(); + private void loadExcel(List<MetaFileEntity> list, HttpServletRequest req) { + List<MetaFileEntity> xlsList = getExcelFiles(list); + if (xlsList.isEmpty()) { + return; + } - List<String> xlsList = new ArrayList<>(); + MetaFileEntity meta = getExcelMeta(xlsList); + String guid = fmeService.excelLoader(meta, req); + } + + /** + * 鑾峰彇Excel鍏冩暟鎹枃浠� + */ + private List<MetaFileEntity> getExcelFiles(List<MetaFileEntity> list) { + List<MetaFileEntity> xlsList = new ArrayList<>(); for (MetaFileEntity mf : list) { - if (StaticData.XLS.equals(mf.getExtName()) || StaticData.XLSX.equals(mf.getExtName())) { - File f = new File(tempPath + File.separator + mf.getPath()); - if (f.exists() && !f.isDirectory()) { - xlsList.add(f.getPath()); - } + boolean isXls = StaticData.XLS.equals(mf.getExtName()) || StaticData.XLSX.equals(mf.getExtName()); + if (mf.getRows() > -1 && isXls) { + xlsList.add(mf); } } return xlsList; } + + /** + * 鑾峰彇Excel鐨勫厓鏁版嵁 + */ + private MetaFileEntity getExcelMeta(List<MetaFileEntity> xlsList) { + List<String> pathList = new ArrayList<>(); + List<String> dirList = new ArrayList<>(); + List<String> pidList = new ArrayList<>(); + + String tempPath = pathHelper.getConfig().getTempPath(); + for (MetaFileEntity mf : xlsList) { + pathList.add(tempPath + File.separator + mf.getPath()); + dirList.add(mf.getDirid() + ""); + pidList.add(mf.getEventid()); + } + + MetaFileEntity meta = new MetaFileEntity(); + meta.setPath(StringHelper.join(pathList, ",")); + meta.setEpsgCode(xlsList.get(0).getEpsgCode()); + meta.setName(StringHelper.join(dirList, ",")); + meta.setDepid(xlsList.get(0).getDepid()); + meta.setVerid(xlsList.get(0).getVerid()); + meta.setCreateUser(xlsList.get(0).getCreateUser()); + meta.setEventid(StringHelper.join(pidList, ",")); + + return meta; + } } -- Gitblit v1.9.3