From ed8c7a5effd0d423ce1118b680ecdca6fe732609 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期三, 02 七月 2025 16:43:13 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.11.205:9000/r/P2022036_Service --- src/main/java/com/lf/server/service/data/UploadService.java | 56 +++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 41 insertions(+), 15 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 0b0faf2..336ea2d 100644 --- a/src/main/java/com/lf/server/service/data/UploadService.java +++ b/src/main/java/com/lf/server/service/data/UploadService.java @@ -629,12 +629,12 @@ continue; } - String geom = readKml(mf.getPath()); - if (StringHelper.isEmpty(geom)) { + String wkt = readKml(mf.getPath()); + if (StringHelper.isEmpty(wkt)) { continue; } - loadKmlData(mf, geom); + loadKmlData(mf, wkt); } } @@ -663,7 +663,7 @@ * 鑾峰彇KWT */ private String getWktFromCoordinates(String coords) { - String[] strs = coords.replace("<coordinates>", "").replace("</coordinates>", "").split(" "); + String[] strs = coords.replace("\t", "").replace("<coordinates>", "").replace("</coordinates>", "").split(" "); if (strs.length == 0) { return null; } @@ -688,7 +688,7 @@ /** * 鍔犺浇Kml鏁版嵁 */ - private void loadKmlData(MetaFileEntity mf, String geom) { + private void loadKmlData(MetaFileEntity mf, String wkt) { BasicMapper basicMapper = ClassHelper.getBasicMapper(mf.getEntity()); if (null == basicMapper) { return; @@ -701,8 +701,9 @@ return; } - String name = FileHelper.getFileName(mf.getPath()); - List<?> list = createKmlEntity(clazz, geom, name); + String stage = getPipeStage(tabName); + String name = FileHelper.getName(mf.getPath()); + 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 geom, 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, geom); - - Field pField = clazz.getSuperclass().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