1
0
Просмотр исходного кода

mdb入库及属性解析开发

chenendian 1 месяц назад
Родитель
Сommit
f841e61079

+ 38 - 12
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/controller/cadastre/CadastreManageController.java

@@ -2,6 +2,7 @@ package com.siwei.apply.controller.cadastre;
 
 import com.siwei.apply.domain.FzssFxrwrz;
 import com.siwei.apply.domain.LayerAndDbData;
+import com.siwei.apply.domain.MdbAndDbData;
 import com.siwei.apply.domain.vo.CadastreFileFilterVo;
 import com.siwei.apply.domain.vo.CheckInfoResultVo;
 import com.siwei.apply.domain.vo.CompareResultVo;
@@ -84,6 +85,18 @@ public class CadastreManageController extends BaseController {
     }
 
 
+    @PostMapping("/addBatchMdbData")
+    public R<String> addBatchMdbData(String uploadId) {
+        try {
+            String res = cadastreManageService.addBatchMdbData(uploadId);
+            return R.ok(res);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return R.fail(e.getMessage());
+        }
+    }
+
+
     /**
      * 获取列表
      *
@@ -186,10 +199,21 @@ public class CadastreManageController extends BaseController {
         }
     }
 
-
-
-
-
+    /**
+     * 获取表格数据进行对比
+     * @param uploadId
+     * @return
+     */
+    @PostMapping("/getMdbPropertyData")
+    public R<List<LayerAndDbData>> mdbPropertyData(String uploadId) {
+        try {
+            List<LayerAndDbData> res = cadastreManageService.getMdbPropertyData(uploadId);
+            return R.ok(res);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return R.fail(e.getMessage());
+        }
+    }
 
 
     @PostMapping("/backToOld")
@@ -203,7 +227,16 @@ public class CadastreManageController extends BaseController {
         }
     }
 
-
+    @PostMapping("/getMdbCompareData")
+    public R<List<MdbAndDbData>> mdbCompareData(String uploadId) {
+        try {
+            List<MdbAndDbData> res = cadastreManageService.getMdbCompareData(uploadId);
+            return R.ok(res);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return R.fail(e.getMessage());
+        }
+    }
 
     @RequestMapping("/testRun")
     public R<Object> testRun() {
@@ -216,11 +249,4 @@ public class CadastreManageController extends BaseController {
         }
     }
 
-
-
-
-
-
-
-
 }

+ 46 - 1
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/controller/cadastre/MdbController.java

@@ -148,4 +148,49 @@ public class MdbController extends BaseController {
     }
 
 
-}
+
+
+
+
+
+    //新增一个方法,用于获取mdb下的所有表
+    @PostMapping("/getalltables")
+    public void getalltables(HttpServletRequest request, HttpServletResponse response) {
+        try {
+            response.setCharacterEncoding("UTF-8"); //告诉服务器用UTF-8进行编码解析
+            String folderURL = null;
+            String strContentType = request.getContentType();
+            if (strContentType != null && strContentType.equalsIgnoreCase("application/json")) {
+                JSONObject reqJson = (JSONObject) new JSONParser().parse(request.getReader());
+                if (reqJson != null) {
+                    folderURL = reqJson.get("DATAURI").toString();
+                }
+            }
+            if (StringUtils.isEmpty(folderURL)) {
+                return;
+            }
+            List<Map<String, Object>> res = MdbUtil.MdbTables(folderURL, null, null);
+            JSONObject respJSON = new JSONObject();
+            respJSON.put("data", res);
+            respJSON.put("code", 200);
+            respJSON.put("msg", "获取成功");
+            respJSON.writeJSONString(response.getWriter());
+            response.setContentType("application/json;charset=UTF-8");
+            response.setStatus(200);
+        } catch (Exception e) {
+            e.printStackTrace();
+            JSONObject respJSON = new JSONObject();
+            respJSON.put("data", null);
+            respJSON.put("msg", "获取失败");
+            respJSON.put("code", 500);
+            try {
+                respJSON.writeJSONString(response.getWriter());
+            } catch (IOException e1) {
+                e1.printStackTrace();
+            }
+            response.setContentType("application/json;charset=UTF-8");
+            response.setStatus(500);
+        }
+        return;
+    }
+}

+ 4 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/cadastre/CadastreManageService.java

@@ -20,6 +20,8 @@ public interface CadastreManageService {
 
     String addBatchGdbData(String uploadId);
 
+    String addBatchMdbData(String uploadId);
+
     CheckInfoResultVo checkFileData(String theFileName, String theFilePath, String fileType,String updateType);
 
     /**
@@ -40,6 +42,8 @@ public interface CadastreManageService {
 
     List<LayerAndDbData> getLayerData(String uploadId);
 
+    List<LayerAndDbData> getMdbPropertyData(String uploadId);
+
     List<MdbAndDbData> getMdbCompareData(String uploadId) ;
 
 }

+ 3 - 3
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/utils/MdbUtil.java

@@ -103,7 +103,7 @@ public class MdbUtil {
             Integer RowEnd = (page - 0) * limit;
             preparedStatement = conn.prepareStatement("select * from " + tablename + " t limit " + RowStart + "," + limit);
             List<String> columnList = new ArrayList<>();
-            List<Map<String, String>> dataList = new ArrayList<>();
+            List<Map<String, Object>> dataList = new ArrayList<>();
             rs = preparedStatement.executeQuery();
             ResultSetMetaData data = rs.getMetaData();
             for (int i = 1; i <= data.getColumnCount(); i++) {
@@ -112,7 +112,7 @@ public class MdbUtil {
                 columnList.add(columnName);
             }
             while (rs.next()) {
-                Map<String, String> map = new HashMap<>();
+                Map<String, Object> map = new HashMap<>();
                 for (int i = 1; i <= data.getColumnCount(); i++) {
                     //列名
                     String columnName = data.getColumnName(i);
@@ -121,7 +121,7 @@ public class MdbUtil {
                     if (value instanceof Blob) {
                         map.put(columnName, "[BLOB]"); //todo 这里先简单处理一下blob类型,后续可以根据实际需求进行优化
                     } else {
-                        map.put(columnName, String.valueOf(value));
+                        map.put(columnName,value);
                     }
                 }
                 dataList.add(map);