Bläddra i källkod

新增批量地籍表修改接口

chenendian 3 månader sedan
förälder
incheckning
3de4498ec8

+ 36 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/controller/cadastre/CadastreManageController.java

@@ -3,6 +3,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.RowUpdateContent;
 import com.siwei.apply.domain.vo.CadastreFileFilterVo;
 import com.siwei.apply.domain.vo.CheckInfoResultVo;
 import com.siwei.apply.domain.vo.CompareResultVo;
@@ -247,6 +248,41 @@ public class CadastreManageController extends BaseController {
             e.printStackTrace();
             return R.fail(e.getMessage());
         }
+
+    }
+
+
+    /**
+     * 动态查询数据
+     * @param tableName
+     * @param validFlag
+     * @param bsm
+     * @param ywh
+     * @return
+     */
+    @GetMapping("/selectTableList")
+    public R<List<Map<String,Object>>> selectTableRow( @RequestParam("tableName") String tableName,@RequestParam("validFlag") String validFlag,@RequestParam("bsm") String bsm,@RequestParam("ywh") String ywh) {
+        try {
+            List<Map<String, Object>> res = cadastreManageService.selectTableRow(tableName, validFlag, bsm, ywh);
+            return R.ok(res);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return R.fail(e.getMessage());
+        }
+    }
+
+    /**
+     * 批量更新
+     * @param content
+     * @return
+     */
+    @PutMapping("/tableRowUpdate")
+    public R<Void> tableRow(@RequestBody RowUpdateContent content) {
+        String tableName = content.getTableName();
+        List<Map<String, Object>> list = content.getRowList();
+         String res = cadastreManageService.tableRowUpdate(tableName,list);
+        return R.ok();
     }
 
+
 }

+ 23 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/domain/RowUpdateContent.java

@@ -0,0 +1,23 @@
+package com.siwei.apply.domain;
+
+import lombok.Data;
+
+import java.util.List;
+import java.util.Map;
+
+/*
+ *
+ * @author siwei
+ * @date 2026-03-09
+ */
+@Data
+public class RowUpdateContent {
+
+    /** 当前标识名称 */
+    private String tableName;
+
+    /** 新增的数据 */
+    private List<Map<String,Object>>  rowList;
+
+
+}

+ 8 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/domain/cadastre/ZymlTreeDataDTO.java

@@ -17,6 +17,7 @@ public class ZymlTreeDataDTO {
     private String type;
     private String url;
     private String source;
+    private String sjly;
     private String parent;
     private String legend;
     private String favorite;
@@ -66,6 +67,13 @@ public class ZymlTreeDataDTO {
         this.legend = legend;
     }
 
+    public void setSjly(String sjly) {
+        this.sjly = sjly;
+    }
+    public String getSjly() {
+        return sjly;
+    }
+
     public String getSource() {
         return source;
     }

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

@@ -92,5 +92,6 @@ public interface CadastreFileMapper {
 
     Map<String,Object> selectExistsSameData(@Param("validFlag") String validFlag, @Param("data") Map<String, Object> data, @Param("tableName") String tableName);
 
+    int batchUpdateByBsm(@Param("tableName") String tableName, @Param("list") List<Map<String, Object>> list);
 
 }

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

@@ -46,4 +46,9 @@ public interface CadastreManageService {
 
     List<MdbAndDbData> getMdbCompareData(String uploadId) ;
 
+    List<Map<String,Object>> selectTableRow(String tableName,String validFlag,String bsm,String ywh);
+
+    String tableRowUpdate(String tableName, List<Map<String,Object>> list);
+
+
 }

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

@@ -10,17 +10,20 @@ import com.siwei.apply.service.cadastre.CadastreManageService;
 
 import com.siwei.apply.utils.FileExtractUtil;
 import com.siwei.apply.utils.MdbUtil;
+import com.siwei.common.core.domain.R;
 import com.siwei.common.core.exception.ServiceException;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.collections4.MapUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.ibatis.annotations.Param;
 import org.gdal.ogr.*;
 import org.gdal.osr.SpatialReference;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.RequestParam;
 
 import java.nio.file.Files;
 import java.nio.file.Path;
@@ -1256,5 +1259,21 @@ public class CadastreManageServiceImpl implements CadastreManageService {
         return resList;
     }
 
+    @Override
+    public List<Map<String,Object>> selectTableRow(String tableName,String validFlag,String bsm,String ywh) {
+        List<Map<String,Object>> res = cadastreFileMapper.selectTableData(validFlag,tableName);
+        if(CollectionUtils.isNotEmpty(res)){
+            res.forEach(m -> m.keySet().removeIf(k -> "geom".equalsIgnoreCase(k)|| "valid_flag".equalsIgnoreCase(k)));
+        }
+        return res;
+    }
+
+    @Override
+    public String tableRowUpdate(String tableName, List<Map<String,Object>> list) {
+         int res = cadastreFileMapper.batchUpdateByBsm(tableName,list);
+        return res+"";
+    }
+
+
 
 }

+ 1 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/cadastre/impl/ZymlServiceImpl.java

@@ -120,6 +120,7 @@ public class ZymlServiceImpl implements IZymlService {
                 c.setLegend(cur.getLegend());
                 c.setUrl(cur.getUrl());
                 c.setSource(cur.getSde());
+                c.setSjly(cur.getSjlx());
                 c.setFavorite(cur.getMy());
                 c.setMinimumlevel(cur.getMinimumlevel());
                 c.setMaximumlevel(cur.getMaximumlevel());

+ 27 - 0
siwei-modules/siwei-apply/src/main/resources/mapper/cadastre/CadastreFileMapper.xml

@@ -273,6 +273,33 @@
         LIMIT 1
     </select>
 
+    <update id="batchUpdateByBsm">
+        <foreach collection="list" item="data" separator=";">
+            UPDATE vector.${tableName}
+            <trim prefix="SET" suffixOverrides=",">
+                <foreach collection="data" index="key" item="value">
+                    <if test="key != 'bsm'  and  key != 'ywh'  and value != null and value != ''">
+                        <choose>
+                            <when test="key == 'geom'">
+                                ${key} = #{value},
+                            </when>
+                            <otherwise>
+                                ${key} = #{value},
+                            </otherwise>
+                        </choose>
+                    </if>
+                </foreach>
+            </trim>
+            <where>
+                <if test="data.bsm != null and data.bsm != ''">
+                    AND bsm = #{data.bsm}
+                </if>
+                <if test="data.ywh != null and data.ywh != ''">
+                    AND bsm = #{data.ywh}
+                </if>
+            </where>
+        </foreach>
+    </update>
 
 
 </mapper>

+ 5 - 6
siwei-modules/siwei-spatial/src/main/java/com/siwei/spatial/controller/file/SpatialFilesDbController.java

@@ -128,16 +128,15 @@ public class SpatialFilesDbController extends BaseController {
     @PostMapping("/geom/saveToDb")
     public R<TGeomDb> saveToDb(Integer fromType,String geom,String filePath, String fromRoute ) throws IOException {
         TGeomDb geomDb = null;
-        if (fromType == 1) { //直接上传几何信息
-            geomDb = iSpatialFilesDbService.uploadAddShpDrawV1(geom, fromRoute, fromType);
-        } else if (fromType == 2)  {//文件进行解压并入库
-            geomDb = iSpatialFilesDbService.uploadAddShpFileV1(filePath, fromRoute, fromType);
+        if (fromType == 1) { //文件进行解压并入库
+            geomDb = iSpatialFilesDbService.uploadAddShpFileV1(geom, fromRoute, fromType);
+        } else if (fromType == 2)  { //直接上传几何信息
+            geomDb = iSpatialFilesDbService.uploadAddShpDrawV1(filePath, fromRoute, fromType);
         }
         return R.ok(geomDb);
     }
 
 
-
     @PostMapping("/geom/save")
     // @InnerAuth
     public R<TGeomDb> saveGeom(@RequestBody Map<String,Object> geoms ) throws IOException {
@@ -146,7 +145,7 @@ public class SpatialFilesDbController extends BaseController {
     }
 
     @GetMapping("/test/parse")
-    public R<List<Map<String,Object>>> parse(@RequestParam("filePath") String filePath ) {
+    public R<List<Map<String,Object>>> parse(@RequestParam("filePath") String filePath) {
         if(StringUtils.isBlank(filePath)){
             filePath = "C:\\Users\\Administrator\\Desktop\\07\\shp_deom\\给一码管地\\地籍区.shp";
         }