From 830461f183a5e1d24cc96dc9b74ab29573d4d9ae Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期一, 18 九月 2023 17:56:45 +0800 Subject: [PATCH] 添加kml数据入库功能 --- src/main/java/com/lf/server/service/data/UploadService.java | 44 +++++++++++++++++++++++++++++++++++--------- 1 files changed, 35 insertions(+), 9 deletions(-) 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 8f63c87..336ea2d 100644 --- a/src/main/java/com/lf/server/service/data/UploadService.java +++ b/src/main/java/com/lf/server/service/data/UploadService.java @@ -701,8 +701,9 @@ return; } + String stage = getPipeStage(tabName); String name = FileHelper.getName(mf.getPath()); - List<?> list = createKmlEntity(clazz, wkt, name); + List<?> list = createKmlEntity(clazz, wkt, name, mf, stage); if (null == list || list.isEmpty()) { return; } @@ -720,17 +721,15 @@ /** * 鍒涘缓KML瀹炰綋绫� */ - private <T> List<T> createKmlEntity(Class clazz, String wkt, String name) { + private <T> List<T> createKmlEntity(Class clazz, String wkt, String name, MetaFileEntity mf, String stage) { try { T t = (T) clazz.newInstance(); - Field gField = clazz.getSuperclass().getDeclaredField("geom"); - gField.setAccessible(true); - gField.set(t, null == wkt ? "null" : String.format("ST_GeomFromText('%s')", wkt)); - - Field pField = clazz.getDeclaredField("pipename"); - pField.setAccessible(true); - pField.set(t, name); + setEntityVal(clazz.getSuperclass(), t, "geom", null == wkt ? "null" : String.format("ST_GeomFromText('%s')", wkt)); + setEntityVal(clazz, t, "pipename", name); + setEntityVal(clazz, t, "projname", name); + setEntityVal(clazz, t, "medium", mf.getMedium()); + setEntityVal(clazz, t, "pipestage", stage); List<T> list = new ArrayList<>(); list.add(t); @@ -741,4 +740,31 @@ return null; } } + + /** + * 璁剧疆瀹炰綋鍊� + */ + private <T> void setEntityVal(Class clazz, T t, String field, String val) throws Exception { + Field pField = clazz.getDeclaredField(field); + pField.setAccessible(true); + pField.set(t, val); + } + + /** + * 鑾峰彇绠¢亾闃舵 + */ + private String getPipeStage(String tab) { + switch (tab) { + case "si.pl_pipeline_f": + return "鍙爺闃舵"; + case "si.pl_pipeline_b": + return "鍒濊闃舵"; + case "si.pl_pipeline_d": + return "鏂藉伐鍥鹃樁娈�"; + case "si.pl_pipeline_a": + return "绔e伐鍥鹃樁娈�"; + default: + return null; + } + } } -- Gitblit v1.9.3