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

新增接口,关于自定义查询

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

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

@@ -261,7 +261,7 @@ public class CadastreManageController extends BaseController {
      * @return
      */
     @GetMapping("/selectTableList")
-    public R<List<Map<String,Object>>> selectTableRow( @RequestParam("tableName") String tableName,@RequestParam("geomFlag") String geomFlag,@RequestParam("bsm") String bsm,@RequestParam("ywh") String ywh) {
+    public R<List<Map<String,Object>>> selectTableRow(@RequestParam("tableName") String tableName,@RequestParam("geomFlag") String geomFlag,@RequestParam("bsm") String bsm,@RequestParam("ywh") String ywh) {
         try {
             List<Map<String, Object>> res = cadastreManageService.selectTableRow(tableName, geomFlag, bsm, ywh);
             return R.ok(res);
@@ -271,6 +271,43 @@ public class CadastreManageController extends BaseController {
         }
     }
 
+
+
+    @GetMapping("/getTableFields")
+    public R<List<String>> getTableFields(@RequestParam("tableName") String tableName) {
+        try {
+            List<String> res = cadastreManageService.getTableFields(tableName);
+            return R.ok(res);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return R.fail(e.getMessage());
+        }
+    }
+
+    @GetMapping("/getDistinctValueByField")
+    public R<List<String>> getDistinctValueByField(@RequestParam("tableName") String tableName, @RequestParam("fieldName") String fieldName) {
+        try {
+            List<String> res = cadastreManageService.getDistinctValueByField(tableName, fieldName);
+            return R.ok(res);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return R.fail(e.getMessage());
+        }
+    }
+
+    @GetMapping("/checkQueryWhere")
+    public R<List<String>> checkQueryWhere(@RequestParam("tableName") String tableName, @RequestParam("queryWhere") String queryWhere) {
+        try {
+            //List<String> res = cadastreManageService.checkQueryWhere(tableName, geomFlag, bsm, ywh);
+            List<String> res = new ArrayList<>();
+            res.add("查询条件合法");
+            return R.ok(res);
+        } catch (Exception e) {
+            return R.fail(e.getMessage());
+        }
+    }
+
+
     /**
      * 批量更新
      * @param content

+ 2 - 2
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/mapper/CadastreFileMapper.java

@@ -58,6 +58,8 @@ public interface CadastreFileMapper {
 
     List<Map<String,String>> selectTableCollumAndType(@Param("tableName") String tableName);
 
+    List<String> selectDistinctValueByField(@Param("tableName") String tableName, @Param("fieldName") String fieldName);
+
     /**
      * 查询所有表名
      */
@@ -87,7 +89,6 @@ public interface CadastreFileMapper {
 
     Integer countByValidFlag(@Param("validFlag") String validFlag, @Param("tableName") String tableName);
 
-
     List<Map<String,Object>> selectTableData(@Param("validFlag") String validFlag, @Param("tableName") String tableName);
 
     Map<String,Object> selectExistsSameData(@Param("validFlag") String validFlag, @Param("data") Map<String, Object> data, @Param("tableName") String tableName);
@@ -100,5 +101,4 @@ public interface CadastreFileMapper {
 
 
 
-
 }

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

@@ -50,8 +50,11 @@ public interface CadastreManageService {
 
     String tableRowUpdate(String tableName, List<Map<String,Object>> list);
 
-
     String batchDeleteByBsm(String tableName, List<Map<String,Object>> list);
 
+    List<String> getTableFields(String tableName);
+
+    List<String> getDistinctValueByField(String tableName,String fieldName);
+
 
 }

+ 24 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/cadastre/impl/CadastreManageServiceImpl.java

@@ -1292,6 +1292,30 @@ public class CadastreManageServiceImpl implements CadastreManageService {
     }
 
 
+
+
+    @Override
+    public List<String> getTableFields(String tableName) {
+        List<String> res = cadastreFileMapper.selectTableCollum(tableName);
+        res.remove("valid_flag");
+        res.remove("geom");
+        return res;
+    }
+
+
+    @Override
+    public List<String> getDistinctValueByField(String tableName,String fieldName) {
+        List<String> res = new ArrayList<>();
+        List<String> collumList = cadastreFileMapper.selectTableCollum(tableName);
+        if(!collumList.contains(fieldName)){
+            return res;
+        }
+        res = cadastreFileMapper.selectDistinctValueByField(tableName,fieldName);
+        return res;
+    }
+
+
+
     @Override
     public String tableRowUpdate(String tableName, List<Map<String,Object>> list) {
          int res = cadastreFileMapper.batchUpdateByBsm(tableName,list);

+ 5 - 4
siwei-modules/siwei-apply/src/main/resources/mapper/cadastre/CadastreFileMapper.xml

@@ -100,8 +100,10 @@
           AND TABLE_NAME = #{tableName}
     </select>
 
-
-
+    <select id="selectDistinctValueByField" parameterType="String" resultType="map">
+        select distinct ${fieldName}  FROM  vector.${tableName}
+        WHERE valid_flag = 0
+    </select>
 
     <select id="selectAllTable"  resultType="string">
         select table_name from information_schema.tables
@@ -261,7 +263,6 @@
         WHERE valid_flag = ${validFlag}
     </select>
 
-
     <select id="selectTableDataByCondition"   resultType="Map">
         SELECT *
         FROM vector.${tableName}
@@ -270,7 +271,7 @@
             and bsm= ${bsm}
         </if>
         <if test="ywh != null and ywh != ''">
-            and ywh= ${ywh}
+            and ${ywh}
         </if>
     </select>