Browse Source

收储数据调整3

chenendian 6 days ago
parent
commit
23f5ca092b

+ 44 - 5
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/controller/cadastre/StorageController.java

@@ -45,7 +45,7 @@ public class StorageController extends BaseController {
                 List<ProjectSupplyRes> projectSupplyList = new java.util.ArrayList<>(List.of()); // 供应方式
                 storageRate.setCompleteRate(78);
                 storageRate.setPlanProjectCount(15);
-                storageRate.setCompleteProjectCount(11);
+                storageRate.setCompleteProjectCount(17);
                 storageRate.setPlanArea(788.6f);
                 storageRate.setCompleteArea(548.2f);
                 storageRate.setGdUnit("亩");
@@ -101,8 +101,8 @@ public class StorageController extends BaseController {
                 List<LandUseRes> landUseStatisticsList = new java.util.ArrayList<>(List.of()); // 用途分析
                 List<ProjectSupplyRes> projectSupplyList = new java.util.ArrayList<>(List.of()); // 供应方式
                 storageRate.setCompleteRate(78 + (int) (Math.random() * 10));
-                storageRate.setPlanProjectCount(15 + (int) (Math.random() * 5));
-                storageRate.setCompleteProjectCount(11 + (int) (Math.random() * 5));
+                storageRate.setPlanProjectCount(33 + (int) (Math.random() * 5));
+                storageRate.setCompleteProjectCount(31 + (int) (Math.random() * 5));
                 storageRate.setPlanArea((float) (Math.round((788.6f + (float) (Math.random() * 100)) * 100) / 100.0));
                 storageRate.setCompleteArea((float) (Math.round((548.2f + (float) (Math.random() * 100)) * 100) / 100.0));
                 storageRate.setGdUnit("亩");
@@ -152,24 +152,63 @@ public class StorageController extends BaseController {
 
                 projectSupplyList.addAll(List.of(projectSupply1, projectSupply2, projectSupply3, projectSupply4, projectSupply5));
                 res.setProjectSupplyList(projectSupplyList);
-            }else if (year.equalsIgnoreCase("2026")) {
+            }else if (year.equalsIgnoreCase("2022")) {
                 StorageRateRes storageRate = new StorageRateRes();
                 List<LandUseRes> landUseStatisticsList = new java.util.ArrayList<>(List.of()); // 用途分析
                 List<ProjectSupplyRes> projectSupplyList = new java.util.ArrayList<>(List.of()); // 供应方式
+                storageRate.setCompleteRate(78 + (int) (Math.random() * 10));
+                storageRate.setPlanProjectCount(35 + (int) (Math.random() * 5));
+                storageRate.setCompleteProjectCount(21 + (int) (Math.random() * 5));
+                storageRate.setPlanArea((float) (Math.round((788.6f + (float) (Math.random() * 100)) * 100) / 100.0));
+                storageRate.setCompleteArea((float) (Math.round((548.2f + (float) (Math.random() * 100)) * 100) / 100.0));
+                storageRate.setGdUnit("亩");
+                storageRate.setEstimatedCost(1254.6f);
+                storageRate.setExpenditureCost(1000.3f);
                 res.setStorageRate(storageRate);
+
+                // --------------土地用途分析----------------------
+                // 城镇住宅用地,教育用地,商业用地,工业用地,物流仓储用地,公路用地,工业绿地
+                String[] landTypes = { "城镇住宅用地", "教育用地", "商业用地", "工业用地", "物流仓储用地", "公路用地", "工业绿地" };
+                for (String type : landTypes) {
+                    LandUseRes landUse = new LandUseRes();
+                    landUse.setLandUseTypeName(type);
+                    // 随机生成面积
+                    landUse.setPlanLandUseArea(Integer.parseInt(String.valueOf(500 + (int) (Math.random() * 500))));
+                    landUse.setCompleteLandUseArea(Integer.parseInt(String.valueOf(300 + (int) (Math.random() * 300))));
+                    landUseStatisticsList.add(landUse);
+                }
                 res.setLandUseStatisticsList(landUseStatisticsList);
+
                 // --------------供应方式----------------------
                 ProjectSupplyRes projectSupply1 = new ProjectSupplyRes();
+                projectSupply1.setGdArea((float) (Math.round((263.12f + (float) (Math.random() * 100)) * 100) / 100.0));
+                projectSupply1.setGdType("征用");
+                projectSupply1.setGdUnit("亩");
+
                 ProjectSupplyRes projectSupply2 = new ProjectSupplyRes();
 
+                projectSupply2.setGdArea((float) (Math.round((220.12f + (float) (Math.random() * 100)) * 100) / 100.0));
+                projectSupply2.setGdType("收回");
+                projectSupply2.setGdUnit("亩");
+
                 ProjectSupplyRes projectSupply3 = new ProjectSupplyRes();
+                projectSupply3.setGdArea((float) (Math.round((190.12f + (float) (Math.random() * 100)) * 100) / 100.0));
+                projectSupply3.setGdType("收购");
+                projectSupply3.setGdUnit("亩");
 
                 ProjectSupplyRes projectSupply4 = new ProjectSupplyRes();
+                projectSupply4.setGdArea(390.12f);
+                projectSupply4.setGdType("置换");
+                projectSupply4.setGdUnit("亩");
 
                 ProjectSupplyRes projectSupply5 = new ProjectSupplyRes();
+                projectSupply5.setGdArea(250.12f);
+                projectSupply5.setGdType("其它");
+                projectSupply5.setGdUnit("亩");
 
                 projectSupplyList.addAll(List.of(projectSupply1, projectSupply2, projectSupply3, projectSupply4, projectSupply5));
                 res.setProjectSupplyList(projectSupplyList);
+
             }
 
 
@@ -313,7 +352,7 @@ public class StorageController extends BaseController {
     @GetMapping("/projectList")
     public R<List<LandSupplyProjectVO>> getProjectList(@RequestParam(required = false) String year, @RequestParam Integer supplyType) {
         try {
-            List<LandSupplyProjectVO> resList =  supplyService.projectList(year,supplyType);
+            List<LandSupplyProjectVO> resList =  storageServiceImpl.projectList(year,supplyType);
             return R.ok(resList);
         } catch (Exception e) {
             e.printStackTrace();

+ 120 - 2
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/cadastre/impl/StorageServiceImpl.java

@@ -1,16 +1,24 @@
 package com.siwei.apply.service.cadastre.impl;
 
+import com.siwei.apply.domain.GongdiJihua;
 import com.siwei.apply.domain.cadastre.LandSupplyReportDTO;
 import com.siwei.apply.domain.res.*;
 
+import com.siwei.apply.domain.vo.GongdiJihuaFilterVo;
+import com.siwei.apply.domain.vo.LandSupplyProjectVO;
 import com.siwei.apply.mapper.GjShijiShouchuMapper;
 import com.siwei.apply.mapper.GongdiJihuaMapper;
 import com.siwei.apply.mapper.LandTypeMapper;
+import com.siwei.apply.mapper.TdgyMapper;
+import com.siwei.common.core.utils.StringUtils;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.stream.Collectors;
 
 
 @Service
@@ -25,7 +33,8 @@ public class StorageServiceImpl {
     @Autowired
     private LandTypeMapper landTypeMapper;
 
-
+    @Autowired
+    private TdgyMapper dgyMapper;
 
     //统计分析
     public List<TrendStatisticsData> getData1() {
@@ -60,8 +69,117 @@ public class StorageServiceImpl {
     }
 
 
+    public List<LandSupplyProjectVO>  projectList(String year, Integer supplyType) {
+        List<LandSupplyProjectVO> resList = new ArrayList<>();
+        if(supplyType== 1){
+            GongdiJihuaFilterVo filterVo = new GongdiJihuaFilterVo();
+            filterVo.setYear(year);
+            filterVo.setPageSize(100000);
+            List<GongdiJihua> planList = gongdiJihuaMapper.getList(filterVo);
+            AtomicInteger i= new AtomicInteger();
+            resList = planList.stream().map(item -> {
+                LandSupplyProjectVO vo = new LandSupplyProjectVO();
+                vo.setProjectPropertyId(String.valueOf(item.getGid()));
+                vo.setProjectName(item.getXmmc());
+                vo.setCompanyName("暂无");
+                if(i.incrementAndGet()/5 == 0){
+                    vo.setSupplyMethod("收购");
+                }else {
+                    vo.setSupplyMethod("征地");
+                }
+                vo.setSupplyType(supplyType.toString());
+                vo.setDateType(supplyType.toString());
+                vo.setGeom(item.getGeom());
+                String area = String.format("%.2f", item.getMjMu() == null ? BigDecimal.ZERO : item.getMjMu());
+                vo.setArea(area);
+                vo.setYear(item.getGysj());
+                return vo;
+            }).collect(Collectors.toList());
+        }else if(supplyType == 2){
+            //这里合并两部分数据
+            List<TdgyStatisticsRes> completeList = new ArrayList<>();
+            List<TdgyStatisticsRes> completeBusinessStatusList = dgyMapper.getListByYear(null, null, null, null);
+            List<TdgyStatisticsRes> completeSjgdList = dgyMapper.getSjgdListByYear(null, null, null, null);
+            if(CollectionUtils.isNotEmpty(completeBusinessStatusList)){
+                completeList.addAll(completeBusinessStatusList);
+            }
+            if(CollectionUtils.isNotEmpty(completeSjgdList)){
+                completeList.addAll(completeSjgdList);
+            }
 
-
+            AtomicInteger i= new AtomicInteger();
+            resList = completeList.stream().map(item -> {
+                LandSupplyProjectVO vo = new LandSupplyProjectVO();
+                vo.setProjectPropertyId(item.getProjectId());
+                vo.setProjectName(item.getXmmc());
+                vo.setCompanyName(item.getCompany());
+                if(i.incrementAndGet()/5 == 0){
+                    vo.setSupplyMethod("收购");
+                }else {
+                    vo.setSupplyMethod("征地");
+                }
+                vo.setSupplyType(supplyType.toString());
+                vo.setDateType(supplyType.toString());
+                if(StringUtils.isBlank(item.getProjectId())){
+                    vo.setDateType("3");
+                }
+                vo.setNodeId(item.getNodeId());
+                vo.setGeom(item.getGeom());
+                vo.setYear(item.getGysj());
+                return vo;
+            }).collect(Collectors.toList());
+        } else if(supplyType == 0){
+
+            GongdiJihuaFilterVo filterVo = new GongdiJihuaFilterVo();
+            filterVo.setYear(year);
+            filterVo.setPageSize(100000);
+
+            List<GongdiJihua> planList = gongdiJihuaMapper.getList(filterVo);
+            List<LandSupplyProjectVO> resList1 = planList.stream().map(item -> {
+                LandSupplyProjectVO vo = new LandSupplyProjectVO();
+                vo.setProjectPropertyId(String.valueOf(item.getGid()));
+                vo.setProjectName(item.getXmmc());
+                vo.setCompanyName("暂无");
+                vo.setSupplyMethod(item.getGyfs());
+                vo.setSupplyType("1");
+                vo.setDateType("1");
+                vo.setGeom(item.getGeom());
+                return vo;
+            }).collect(Collectors.toList());
+            //这里合并两部分数据
+            List<TdgyStatisticsRes> completeList = new ArrayList<>();
+            List<TdgyStatisticsRes> completeBusinessStatusList = dgyMapper.getListByYear(year, null, null, null);
+            List<TdgyStatisticsRes> completeSjgdList = dgyMapper.getSjgdListByYear(year, null, null, null);
+            if(CollectionUtils.isNotEmpty(completeBusinessStatusList)){
+                completeList.addAll(completeBusinessStatusList);
+            }
+            if(CollectionUtils.isNotEmpty(completeSjgdList)){
+                completeList.addAll(completeSjgdList);
+            }
+            List<LandSupplyProjectVO> resList2 = completeList.stream().map(item -> {
+                LandSupplyProjectVO vo = new LandSupplyProjectVO();
+                vo.setProjectPropertyId(item.getProjectId());
+                vo.setProjectName(item.getXmmc());
+                vo.setCompanyName(item.getCompany());
+                vo.setSupplyMethod(item.getGyfs());
+                vo.setSupplyType("2");
+                vo.setDateType("2");
+                if(StringUtils.isBlank(item.getProjectId())){
+                    vo.setDateType("3");
+                }
+                vo.setNodeId(item.getNodeId());
+                vo.setGeom(item.getGeom());
+                return vo;
+            }).collect(Collectors.toList());
+            if(CollectionUtils.isNotEmpty(resList1)) {
+                resList.addAll(resList1);
+            }
+            if(CollectionUtils.isNotEmpty(resList2)) {
+                resList.addAll(resList2);
+            }
+        }
+        return resList;
+    }