chenendian 1 mese fa
parent
commit
c507450a23

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

@@ -7,10 +7,12 @@ import com.siwei.apply.domain.RowUpdateContent;
 import com.siwei.apply.domain.vo.*;
 import com.siwei.apply.domain.vo.*;
 import com.siwei.apply.service.cadastre.CadastreManageService;
 import com.siwei.apply.service.cadastre.CadastreManageService;
 import com.siwei.apply.service.cadastre.impl.FzssFxrwrzHandleService;
 import com.siwei.apply.service.cadastre.impl.FzssFxrwrzHandleService;
+import com.siwei.apply.utils.ServiceFileUtil;
 import com.siwei.common.core.domain.R;
 import com.siwei.common.core.domain.R;
 import com.siwei.common.core.utils.bean.BeanUtils;
 import com.siwei.common.core.utils.bean.BeanUtils;
 import com.siwei.common.core.utils.poi.ExcelUtil;
 import com.siwei.common.core.utils.poi.ExcelUtil;
 import com.siwei.common.core.web.controller.BaseController;
 import com.siwei.common.core.web.controller.BaseController;
+import org.apache.commons.collections4.CollectionUtils;
 import org.gdal.ogr.*;
 import org.gdal.ogr.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
@@ -25,6 +27,7 @@ import java.util.*;
 import java.net.URLEncoder;
 import java.net.URLEncoder;
 import java.nio.charset.StandardCharsets;
 import java.nio.charset.StandardCharsets;
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
+import java.util.stream.Collectors;
 
 
 @RestController
 @RestController
 @RequestMapping("/cadastre/manage")
 @RequestMapping("/cadastre/manage")
@@ -333,17 +336,19 @@ public class CadastreManageController extends BaseController {
         return R.ok();
         return R.ok();
     }
     }
 
 
-
     @PostMapping("/export")
     @PostMapping("/export")
-    public void exportList(HttpServletResponse response, RowUpdateContent content) {
+    public void exportList(HttpServletResponse response, @RequestBody RowUpdateContent content) {
         try {
         try {
-            YdbpDataFilterVo filterVo = new YdbpDataFilterVo();
-//            BeanUtils.copyProperties(ydbpExcelVo, filterVo);
-//            Map<String, Object> result = ydbpDataService.getList(filterVo);
-//            List<YdbpExcelVo> list = ydbpDataService.transformation(result);
-//            ExcelUtil<YdbpExcelVo> util = new ExcelUtil<>(YdbpExcelVo.class);
-//            ExcelUtil<Map<String,Object>> util = new ExcelUtil<Map>(Map.class);
-//            util.exportExcel(response, list, "报批数据");
+            String tableName = content.getTableName();
+            List<Map<String, Object>> paramlist = content.getRowList();
+            List<Object> bsmList = null;
+            List<String> ywhList = null;
+            if(CollectionUtils.isNotEmpty(paramlist)){
+                bsmList = paramlist.stream().filter(map -> map.containsKey("bsm")).map(map -> map.get("bsm")).collect(Collectors.toList());
+                ywhList = paramlist.stream().filter(map -> map.containsKey("ywh")).map(map -> map.get("ywh").toString()).collect(Collectors.toList());
+            }
+            List<Map<String, Object>> list = cadastreManageService.selectTableRowExcel(tableName, "0", bsmList, ywhList);
+            ServiceFileUtil.exportExcel(response,list,tableName+"导出");
         } catch (Exception e) {
         } catch (Exception e) {
             e.printStackTrace();
             e.printStackTrace();
         }
         }
@@ -351,7 +356,4 @@ public class CadastreManageController extends BaseController {
 
 
 
 
 
 
-
-
-
 }
 }

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

@@ -106,6 +106,9 @@ public interface CadastreFileMapper {
     Map<String,Object> selectTableDataByBsm(@Param("tableName") String tableName,@Param("bsm") String bsm);
     Map<String,Object> selectTableDataByBsm(@Param("tableName") String tableName,@Param("bsm") String bsm);
 
 
 
 
+    List<Map<String,Object>> selectTableRowExcel(@Param("tableName") String tableName, @Param("geomFlag") String geomFlag, @Param("bsmList") List<Object> bsmList, @Param("ywhList") List<String> ywhList);
+
+
 
 
 
 
 }
 }

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

@@ -48,6 +48,8 @@ public interface CadastreManageService {
 
 
     List<Map<String,Object>> selectTableRow(String tableName,String geomFlag,String bsm,String ywh);
     List<Map<String,Object>> selectTableRow(String tableName,String geomFlag,String bsm,String ywh);
 
 
+    List<Map<String,Object>> selectTableRowExcel(String tableName,String geomFlag,List<Object> bsmList,List<String> ywhList);
+
     String tableRowUpdate(String tableName, List<Map<String,Object>> list);
     String tableRowUpdate(String tableName, List<Map<String,Object>> list);
 
 
     String batchDeleteByBsm(String tableName, List<Map<String,Object>> list);
     String batchDeleteByBsm(String tableName, List<Map<String,Object>> list);
@@ -56,5 +58,7 @@ public interface CadastreManageService {
 
 
     List<String> getDistinctValueByField(String tableName,String fieldName);
     List<String> getDistinctValueByField(String tableName,String fieldName);
 
 
+    List<Map<String, Object>> getDataByName(String tableName) ;
+
 
 
 }
 }

+ 18 - 2
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/cadastre/impl/CadastreManageServiceImpl.java

@@ -1295,8 +1295,6 @@ public class CadastreManageServiceImpl implements CadastreManageService {
     }
     }
 
 
 
 
-
-
     @Override
     @Override
     public List<String> getTableFields(String tableName) {
     public List<String> getTableFields(String tableName) {
         List<String> res = cadastreFileMapper.selectTableCollum(tableName);
         List<String> res = cadastreFileMapper.selectTableCollum(tableName);
@@ -1332,7 +1330,25 @@ public class CadastreManageServiceImpl implements CadastreManageService {
     }
     }
 
 
 
 
+    @Override
+    public List<Map<String, Object>> getDataByName(String tableName) {
+        Map<String, Object> map = cadastreFileMapper.selectTableDataByBsm(tableName, "");
+        List<Map<String, Object>> list = new ArrayList<>();
+        list.add(map);
+        return list;
+    }
 
 
+    @Override
+    public List<Map<String, Object>> selectTableRowExcel(String tableName, String geomFlag, List<Object> bsmList, List<String> ywhList) {
+        List<Map<String, Object>> res = cadastreFileMapper.selectTableRowExcel(tableName, geomFlag, bsmList, ywhList);
+        if(CollectionUtils.isNotEmpty(res)) { //去掉geom字段和valid_flag字段
+            res.forEach(m -> m.keySet().removeIf(k -> "valid_flag".equalsIgnoreCase(k)));
+            if ("0".equals(geomFlag)) {
+                res.forEach(m -> m.keySet().removeIf(k -> "geom".equalsIgnoreCase(k)));
+            }
+        }
+        return res;
+    }
 
 
 
 
 
 

+ 1 - 1
siwei-modules/siwei-apply/src/main/resources/mapper/TdgyMapper.xml

@@ -100,7 +100,7 @@
                     END
                     END
                 ), 0
                 ), 0
             ) AS gdArea
             ) AS gdArea
-        FROM t_tdgy td
+        FROM (SELECT * from t_tdgy WHERE has_onchain =TRUE )   td
         <where>
         <where>
         <choose>
         <choose>
             <when test="projectType == null">
             <when test="projectType == null">

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

@@ -85,6 +85,25 @@
         </where>
         </where>
     </select>
     </select>
 
 
+    <select id="selectTableRowExcel" resultType="map">
+        SELECT *
+        FROM vector.${tableName}
+        <where>
+            <if test="bsmList != null and bsmList.size() > 0">
+                AND bsm IN
+                <foreach collection="bsmList" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="ywhList != null and ywhList.size() > 0">
+                AND ywh IN
+                <foreach collection="ywhList" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+        </where>
+    </select>
+
     <select id="selectTableCollum" parameterType="String" resultType="String">
     <select id="selectTableCollum" parameterType="String" resultType="String">
         select COLUMN_NAME FROM  information_schema.COLUMNS
         select COLUMN_NAME FROM  information_schema.COLUMNS
         WHERE
         WHERE
@@ -350,6 +369,7 @@
         <if test="bsm != null and bsm != ''">
         <if test="bsm != null and bsm != ''">
             and bsm= ${bsm}
             and bsm= ${bsm}
         </if>
         </if>
+        LIMIT 1
     </select>
     </select>
 
 
 
 

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

@@ -149,10 +149,9 @@ public class SpatialFilesDbController extends BaseController {
     @GetMapping("/test/parse")
     @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)){
         if(StringUtils.isBlank(filePath)){
-            //filePath = "C:\\Users\\Administrator\\Desktop\\07\\shp_deom\\给一码管地\\地籍区.shp";
+            filePath = "C:\\Users\\Administrator\\Desktop\\07\\shp_deom\\给一码管地\\地籍区.shp";
         }
         }
-        filePath = "C:\\Users\\Administrator\\Desktop\\07\\结合图-新—赣江新区图幅比例-0311\\500结合图.shp";
-
+        //filePath = "C:\\Users\\Administrator\\Desktop\\07\\结合图-新—赣江新区图幅比例-0311\\500结合图.shp";
 
 
 //        File shp = new File("C:\\Users\\Administrator\\Desktop\\07\\结合图-新—赣江新区图幅比例\\500结合图.shp");
 //        File shp = new File("C:\\Users\\Administrator\\Desktop\\07\\结合图-新—赣江新区图幅比例\\500结合图.shp");
 //        String sql = null;
 //        String sql = null;
@@ -189,6 +188,7 @@ public class SpatialFilesDbController extends BaseController {
     @GetMapping("/test/getShpData")
     @GetMapping("/test/getShpData")
     public R<List<Map<String,Object>>> getShpData(@RequestParam("tabeName") String tabeName ) {
     public R<List<Map<String,Object>>> getShpData(@RequestParam("tabeName") String tabeName ) {
         List<Map<String,Object>> res = iSpatialFilesDbService.testGetShpData(tabeName);
         List<Map<String,Object>> res = iSpatialFilesDbService.testGetShpData(tabeName);
+
         return R.ok(res);
         return R.ok(res);
     }
     }
 
 

+ 19 - 19
siwei-modules/siwei-spatial/src/main/java/com/siwei/spatial/service/file/impl/SpatialFilesDbServiceImpl.java

@@ -434,28 +434,28 @@ public class SpatialFilesDbServiceImpl implements ISpatialFilesDbService {
     public String testInsertShp(List<Map<String,Object>> shpDataMapList) {
     public String testInsertShp(List<Map<String,Object>> shpDataMapList) {
         //List<Map<String, Object>> shpFeaturesList = readShapeFile(new File(shpFile));
         //List<Map<String, Object>> shpFeaturesList = readShapeFile(new File(shpFile));
         //shpDataMapList = shpDataMapList.stream().filter(map -> map.get("djqdm").equals("360122015")).collect(Collectors.toList());
         //shpDataMapList = shpDataMapList.stream().filter(map -> map.get("djqdm").equals("360122015")).collect(Collectors.toList());
-        //tGeomDbDetailsMapper.batchInsertDjq(shpDataMapList,4326);
+        tGeomDbDetailsMapper.batchInsertDjq(shpDataMapList,4326);
 
 
             int batchSize = 100;
             int batchSize = 100;
 
 
-            for (int i = 0; i < shpDataMapList.size(); i += batchSize) {
-
-                int end = Math.min(i + batchSize, shpDataMapList.size());
-
-                List<Map<String,Object>> batch = shpDataMapList.subList(i, end);
-
-                //tGeomDbDetailsMapper.batchInsertJzwShp(batch,4326);
-                //tGeomDbDetailsMapper.batchInsertZdShp(batch,4326);
-                //tGeomDbDetailsMapper.insertTableData(batch,4326);
-
-                for(Map<String,Object> map1 :batch){
-                    Map<String,Object> map2 = new HashMap<>();
-                    map2.put("geom", map1.get("the_geom"));
-                    map2.put("name", map1.get("图幅名"));
-                    tGeomDbDetailsMapper.insertTableData("tf_500_shp",map2,4527);
-                }
-
-            }
+//            for (int i = 0; i < shpDataMapList.size(); i += batchSize) {
+//
+//                int end = Math.min(i + batchSize, shpDataMapList.size());
+//
+//                List<Map<String,Object>> batch = shpDataMapList.subList(i, end);
+//
+//                //tGeomDbDetailsMapper.batchInsertJzwShp(batch,4326);
+//                //tGeomDbDetailsMapper.batchInsertZdShp(batch,4326);
+//                //tGeomDbDetailsMapper.insertTableData(batch,4326);
+//
+//                for(Map<String,Object> map1 :batch){
+//                    Map<String,Object> map2 = new HashMap<>();
+//                    map2.put("geom", map1.get("the_geom"));
+//                    map2.put("name", map1.get("图幅名"));
+//                    tGeomDbDetailsMapper.insertTableData("tf_500_shp",map2,4527);
+//                }
+//
+//            }
 
 
         //tGeomDbDetailsMapper.batchInsertJzwShp(shpDataMapList,4326);
         //tGeomDbDetailsMapper.batchInsertJzwShp(shpDataMapList,4326);
         return "";
         return "";