chenendian пре 1 дан
родитељ
комит
9f7d13fb8e

+ 41 - 50
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/controller/cadastre/ReportBatchController.java

@@ -1,14 +1,7 @@
 package com.siwei.apply.controller.cadastre;
 
-import com.siwei.apply.domain.GongdiJihua;
-import com.siwei.apply.domain.LandType;
-import com.siwei.apply.domain.cadastre.LandSupplyReportDTO;
+import com.siwei.apply.domain.YdbpData;
 import com.siwei.apply.domain.res.BatchRateRes;
-import com.siwei.apply.domain.res.SupplyYearStatisticsRes;
-import com.siwei.apply.domain.res.TrendStatisticsRes;
-import com.siwei.apply.domain.vo.LandSupplyProjectVO;
-import com.siwei.apply.domain.vo.LandSupplyReportVO;
-import com.siwei.apply.domain.vo.YdbpDataFilterVo;
 import com.siwei.apply.service.cadastre.ISupplyService;
 import com.siwei.apply.service.cadastre.impl.BatchServiceImpl;
 import com.siwei.common.core.domain.R;
@@ -69,42 +62,41 @@ public class ReportBatchController extends BaseController {
     }
 
 
-
-
     /**
-     * 根据年份和供地类型查询土地供应统计报表数据
+     *
      * @param year
-     * @param supplyType (1-计划,2-完成)
+     * @param batchType (1-单独选址批次,2-报批项目批次,0-全部)
      * @return
      */
     @GetMapping("/projectList")
-    public R<List<LandSupplyProjectVO>> getProjectList(@RequestParam(required = false) String year,@RequestParam Integer supplyType) {
+    public R<List<?>> getProjectList(@RequestParam(required = false) String year,@RequestParam Integer batchType) {
         try {
-                List<LandSupplyProjectVO> resList =  supplyService.projectList(year,supplyType);
-                return R.ok(resList);
+            List<?> resList =  batchServiceImpl.projectList(year,batchType,"");
+            return R.ok(resList);
         } catch (Exception e) {
             e.printStackTrace();
             return R.fail(e.getMessage());
         }
     }
 
-
-    @GetMapping("/getPlanProject")
-    public R<GongdiJihua> getPlanProject(@RequestParam String propertyId) {
+/*
+    @GetMapping("/getSingleProject")
+    public R<Map<String,Object>> getSingleProject(@RequestParam String propertyId) {
         try {
-            GongdiJihua res =  supplyService.getPlanProject(propertyId);
+            Map<String,Object> res =  batchServiceImpl.getSingleProject(propertyId);
             return R.ok(res);
         } catch (Exception e) {
             e.printStackTrace();
             return R.fail(e.getMessage());
         }
     }
+*/
 
 
-    @GetMapping("/getActualProject")
-    public R<Map<String,Object>> getActualProject(@RequestParam String propertyId) {
+    @GetMapping("/getReportProject")
+    public R<YdbpData> getReportProject(@RequestParam String propertyId) {
         try {
-            Map<String,Object> res =  supplyService.getActualProject(propertyId);
+            YdbpData res =  batchServiceImpl.getReportProject(propertyId);
             return R.ok(res);
         } catch (Exception e) {
             e.printStackTrace();
@@ -113,34 +105,33 @@ public class ReportBatchController extends BaseController {
     }
 
 
-    /**
-     *
-     * 根据时间范围查询土地供应统计报表数据
-     * 供应用途分析报表
-     *
-     */
-    @GetMapping("/report/purpose")
-    public R<LandSupplyReportVO> getTdgyProjectList(@RequestParam String startYear, @RequestParam String endYear) {
-        try {
-            LandSupplyReportVO res =  supplyService.getTdgyPurposeReport(startYear,endYear);
-            return R.ok(res);
-        } catch (Exception e) {
-            return R.fail(e.getMessage());
-        }
-    }
-
-
-
-    @GetMapping("/landTypeList")
-    public R<List<LandType>> getLandTypeList() {
-        try {
-            return R.ok(supplyService.getLandTypeList());
-        } catch (Exception e) {
-            e.printStackTrace();
-            return R.fail(e.getMessage());
-        }
-    }
-
+//
+//    /**
+//     *
+//     * 根据时间范围查询土地供应统计报表数据
+//     * 供应用途分析报表
+//     *
+//     */
+//    @GetMapping("/report/purpose")
+//    public R<LandSupplyReportVO> getTdgyProjectList(@RequestParam String startYear, @RequestParam String endYear) {
+//        try {
+//            LandSupplyReportVO res =  supplyService.getTdgyPurposeReport(startYear,endYear);
+//            return R.ok(res);
+//        } catch (Exception e) {
+//            return R.fail(e.getMessage());
+//        }
+//    }
+//
+//    @GetMapping("/landTypeList")
+//    public R<List<LandType>> getLandTypeList() {
+//        try {
+//            return R.ok(supplyService.getLandTypeList());
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//            return R.fail(e.getMessage());
+//        }
+//    }
+//
 
 
 

+ 3 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/domain/YdbpData.java

@@ -25,4 +25,7 @@ public class YdbpData extends BaseId {
     private Date createdAt;
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date updatedAt;
+    private String projectPropertyId;
+    private String geom;
+
 }

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

@@ -53,8 +53,8 @@ public interface YdbpDataMapper {
 
     void updateHasOnchain(@Param("id") String id, @Param("hasOnchain") Boolean hasOnchain);
 
-    List<YdbpData> getStatisticsList(@Param("year") String year);
-
+    List<YdbpData> getStatisticsList(@Param("year") String year,
+                                     @Param("keyWord") String keyWord,@Param("hasGeom")Boolean hasGeom);
 
 
 

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

@@ -54,8 +54,9 @@ public interface YdbpMapper {
     void updateHasOnchain(@Param("id") String id, @Param("hasOnchain") Boolean hasOnchain);
 
 
+    List<Map<String, Object>> getStatisticsList(@Param("year") String year,
+                                                @Param("keyWord") String keyWord,@Param("hasGeom") Boolean hasGeom);
 
-    List<Map<String, Object>> getStatisticsList(@Param("year") String year);
 
 
 }

+ 68 - 4
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/cadastre/impl/BatchServiceImpl.java

@@ -2,6 +2,7 @@ package com.siwei.apply.service.cadastre.impl;
 
 import com.siwei.apply.domain.YdbpData;
 import com.siwei.apply.domain.res.*;
+import com.siwei.apply.domain.vo.LandSupplyProjectVO;
 import com.siwei.apply.mapper.*;
 import com.siwei.common.core.utils.StringUtils;
 import com.siwei.spatial.api.RemoteSpatialFilesDbService;
@@ -11,6 +12,7 @@ import org.apache.commons.collections4.MapUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -37,6 +39,68 @@ public class BatchServiceImpl{
     @Autowired
     private YdbpDataMapper ydbpDataMapper;
 
+
+
+
+    /**
+     *  batchType (1-单批次项目,2-报批项目,0-全部)
+     * 获取项目列表
+     * @param year
+     * @param batchType
+     * @param keyWord
+     * @return
+     */
+    public List<?> projectList(String year, Integer batchType, String keyWord) {
+        List<Object> resList = new ArrayList<>();
+        if (batchType == 1) {
+            return buildSingleProjectList(year, keyWord);
+        } else if (batchType == 2) {
+            return buildReportProjectList(year, keyWord);
+        } else if (batchType == 0) {
+            resList.addAll(buildSingleProjectList(year, keyWord));
+            resList.addAll(buildReportProjectList(year, keyWord));
+        }
+        return resList;
+    }
+
+
+    private List<Map<String,Object>> buildSingleProjectList(String year, String keyWord) {
+        List<Map<String,Object>> singleBatchList =  ydbpMapper.getStatisticsList(year,keyWord,true);
+        if (CollectionUtils.isEmpty(singleBatchList)) {
+            return new ArrayList<>();
+        }
+         singleBatchList.forEach(item -> {
+            item.put("projectPropertyId",item.get("project_id") == null ? "" : String.valueOf(item.get("project_id")));
+            Double mj_mu = (Double) item.get("mj_mu");
+            item.put("mj_mu",String.format("%.2f", mj_mu == null ? 0d : mj_mu));
+        });
+        return singleBatchList;
+    }
+
+
+    private List<YdbpData> buildReportProjectList(String year, String keyWord) {
+        List<YdbpData> reportBatchList =  ydbpDataMapper.getStatisticsList(year,keyWord,true);
+        if (CollectionUtils.isEmpty(reportBatchList)) {
+            return new ArrayList<>();
+        }
+         reportBatchList.forEach(item -> {
+            item.setProjectPropertyId(item.getId());
+            item.setZsArea(Float.valueOf(String.format("%.2f", item.getZsArea() == null ? 0f : item.getZsArea())));
+        });
+        return reportBatchList;
+    }
+
+
+    /**
+     *
+     *  获取报批项目详情
+     * @param propertyId
+     * @return
+     */
+    public YdbpData getReportProject(String propertyId) {
+        return  ydbpDataMapper.getById(propertyId);
+    }
+
     /**
      * 年度统计
      * @param year
@@ -48,8 +112,8 @@ public class BatchServiceImpl{
         }
 
         List<Map<String,Object>> resList = new ArrayList<>();
-        List<Map<String,Object>> singleBatchList =  ydbpMapper.getStatisticsList(year);
-        List<YdbpData> reportBatchList =  ydbpDataMapper.getStatisticsList(year);
+        List<Map<String,Object>> singleBatchList =  ydbpMapper.getStatisticsList(year,"",false);
+        List<YdbpData> reportBatchList =  ydbpDataMapper.getStatisticsList(year,"",false);
 
         Map<String,List<Map<String,Object>>> groupedSingleBatch = new HashMap<>();
         Map<String, List<YdbpData>> groupedReportBatch = new HashMap<>();
@@ -117,8 +181,8 @@ public class BatchServiceImpl{
             year="";
         }
         BatchRateRes res = new BatchRateRes();
-        List<Map<String,Object>> singleBatchList =  ydbpMapper.getStatisticsList(year);
-        List<YdbpData> reportBatchList =  ydbpDataMapper.getStatisticsList(year);
+        List<Map<String,Object>> singleBatchList =  ydbpMapper.getStatisticsList(year,"",false);
+        List<YdbpData> reportBatchList =  ydbpDataMapper.getStatisticsList(year,"",false);
         if(CollectionUtils.isNotEmpty(singleBatchList)) {
             res.setSingleArea(sumAreaForSingle(singleBatchList));
             res.setSingleProjectCount(singleBatchList.size());

+ 18 - 4
siwei-modules/siwei-apply/src/main/resources/mapper/YdbpDataMapper.xml

@@ -111,7 +111,8 @@
     </update>
 
     <select id="getStatisticsList" resultMap="YdbpDataResultMap">
-        select
+        SELECT
+            id, name, yd_area, yd_unit,
         COALESCE (
             CASE
             WHEN zs_unit = '平方米' THEN
@@ -123,13 +124,26 @@
             END,
             0
         ) AS zs_area ,
+
+        <if test="hasGeom != null and hasGeom">
+            (SELECT array_to_string(array_agg(ST_AsEWKT(gd.geom)), '|')
+            FROM t_node_land nl
+            LEFT JOIN t_geom_db_details gd ON nl.geom_db_id = gd.upload_id
+            WHERE nl.node_id = bp.id
+            AND gd.geom IS NOT NULL) as geom,
+        </if>
         -- left(pf_date,4) AS nf,
         '亩' as  zs_unit,
         has_zz, bp_date, pfwh, pf_date, creator_id, created_at, updated_at,has_onchain
-        FROM t_ydbp_data
-        WHERE has_onchain='t'
+        FROM t_ydbp_data bp
+        WHERE bp.has_onchain='t'
         <if test="year != null and year != '' ">
-            AND left(pf_date,4) = #{year}
+            AND left(bp.pf_date,4) = #{year}
+        </if>
+        <if test="keyWord != null and keyWord != ''">
+            AND (
+                COALESCE(bp.name, '') LIKE CONCAT('%', #{keyWord}, '%')
+            )
         </if>
     </select>
 

+ 17 - 0
siwei-modules/siwei-apply/src/main/resources/mapper/YdbpMapper.xml

@@ -55,6 +55,13 @@
             bp.zs_area,
             left(bp.pf_date,4) AS nf,
             bp.zs_unit,
+            <if test="hasGeom != null and hasGeom">
+                (SELECT array_to_string(array_agg(ST_AsEWKT(gd.geom)), '|')
+                FROM t_node_land nl
+                LEFT JOIN t_geom_db_details gd ON nl.geom_db_id = gd.upload_id
+                WHERE nl.node_id = bp.id
+                AND gd.geom IS NOT NULL) as geom,
+            </if>
             COALESCE (
                     CASE
                         WHEN bp.zs_unit = '平方米' THEN
@@ -75,6 +82,16 @@
         <if test="year != null and year != '' ">
             AND left(bp.pf_date,4) = #{year}
         </if>
+        <if test="keyWord != null and keyWord != ''">
+            AND (
+            COALESCE(pro.name, '') LIKE CONCAT('%', #{keyWord}, '%')
+            OR COALESCE(pro.company, '') LIKE CONCAT('%', #{keyWord}, '%')
+            )
+        </if>
+
+
+
+
     </select>