Преглед на файлове

Merge remote-tracking branch 'origin/dev-2.0' into dev-2.0

lidongyu преди 1 година
родител
ревизия
e8977b58c5
променени са 14 файла, в които са добавени 379 реда и са изтрити 29 реда
  1. 7 10
      src/main/java/com/sooka/sponest/data/digitalemergency/controller/EmergencyBigDataController.java
  2. 29 1
      src/main/java/com/sooka/sponest/data/digitalenvironment/controller/EnvironmentBigDataController.java
  3. 20 0
      src/main/java/com/sooka/sponest/data/digitalenvironment/domain/vo/EnvironmentBigDataVo.java
  4. 34 0
      src/main/java/com/sooka/sponest/data/digitalenvironment/mapper/CenterdataTEnvironmentBigDataMapper.java
  5. 17 1
      src/main/java/com/sooka/sponest/data/digitalenvironment/service/IEnvironmentBigDataService.java
  6. 34 1
      src/main/java/com/sooka/sponest/data/digitalenvironment/service/impl/EnvironmentBigDataServiceImpl.java
  7. 32 3
      src/main/java/com/sooka/sponest/data/digitalresource/controller/ResourceBigDataController.java
  8. 14 3
      src/main/java/com/sooka/sponest/data/digitalresource/mapper/DigitalResourcesBigDataMapper.java
  9. 21 3
      src/main/java/com/sooka/sponest/data/digitalresource/service/IResourceBigDataService.java
  10. 39 3
      src/main/java/com/sooka/sponest/data/digitalresource/service/impl/ResourceBigDataServiceImpl.java
  11. 52 0
      src/main/java/com/sooka/sponest/data/utils/DeptLevelUtil.java
  12. 4 4
      src/main/resources/mapper/digitalemergency/EmergencyBigDataMapper.xml
  13. 31 0
      src/main/resources/mapper/digitalenvironment/CenterdataTEnvironmentBigDataMapper.xml
  14. 45 0
      src/main/resources/mapper/digitalresource/DigitalResourcesBigDataMapper.xml

+ 7 - 10
src/main/java/com/sooka/sponest/data/digitalemergency/controller/EmergencyBigDataController.java

@@ -111,12 +111,11 @@ public class EmergencyBigDataController extends BaseController {
      */
     @ApiOperation(value = "查询应急队伍饼图",notes = "查询应急队伍饼图")
     @GetMapping("/getBigDataForteam")
-    public R<List<Map<String,Object>>> getBigDataForteam() {
-        CenterdataTEmergencyTeam team = new CenterdataTEmergencyTeam();
-        return R.ok(emergencyBigDataService.getBigDataForteam(team));
+    public R<List<Map<String,Object>>> getBigDataForteam(CenterdataTEmergencyTeam centerdataTEmergencyTeam) {
+        return R.ok(emergencyBigDataService.getBigDataForteam(centerdataTEmergencyTeam));
     }
     /**
-     * 查询应急队伍饼图
+     * 查询应急仓库饼图
      */
     @ApiOperation(value = "查询仓库信息饼图",notes = "查询仓库信息饼图")
     @GetMapping("/getBigDataFortwarehouse")
@@ -129,9 +128,8 @@ public class EmergencyBigDataController extends BaseController {
      */
     @ApiOperation(value = "查询危化企业饼图",notes = "查询危化企业饼图")
     @GetMapping("/getBigDataFortenterprises")
-    public R<List<Map<String,Object>>> getBigDataFortenterprises() {
-        CenterdataTEmergencyTeam team = new CenterdataTEmergencyTeam();
-        return R.ok(emergencyBigDataService.getBigDataFortenterprises(team));
+    public R<List<Map<String,Object>>> getBigDataFortenterprises(CenterdataTEmergencyTeam centerdataTEmergencyTeam){
+        return R.ok(emergencyBigDataService.getBigDataFortenterprises(centerdataTEmergencyTeam));
     }
 
     /**
@@ -139,9 +137,8 @@ public class EmergencyBigDataController extends BaseController {
      */
     @ApiOperation(value = "查询应急物资",notes = "查询应急物资")
     @GetMapping("/getBigDataForMaterial")
-    public R<List<Map<String,Object>>> getBigDataForMaterial() {
-        CenterdataTEmergencyTeam team = new CenterdataTEmergencyTeam();
-        return R.ok(emergencyBigDataService.getBigDataForMaterial(team));
+    public R<List<Map<String,Object>>> getBigDataForMaterial(CenterdataTEmergencyTeam centerdataTEmergencyTeam) {
+        return R.ok(emergencyBigDataService.getBigDataForMaterial(centerdataTEmergencyTeam));
     }
 
     /**

+ 29 - 1
src/main/java/com/sooka/sponest/data/digitalenvironment/controller/EnvironmentBigDataController.java

@@ -7,6 +7,7 @@ import com.sooka.sponest.data.app.domain.VisuForestCloudMapVO;
 import com.sooka.sponest.data.digitalenvironment.domain.CenterdataTEnvironmentKeyEnterprise;
 import com.sooka.sponest.data.digitalenvironment.domain.CenterdataTEnvironmentProhibitionArea;
 import com.sooka.sponest.data.digitalenvironment.domain.CenterdataTEnvironmentSourcePollution;
+import com.sooka.sponest.data.digitalenvironment.domain.vo.EnvironmentBigDataVo;
 import com.sooka.sponest.data.digitalenvironment.service.IEnvironmentBigDataService;
 import com.sooka.sponest.data.generalbusiness.domain.CenterdataTForestImportarea;
 import com.sooka.sponest.data.generalbusiness.domain.vo.CenterdataTForestWeatherinformationBigDataVO;
@@ -18,6 +19,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
 
+import java.io.IOException;
+
 @RestController
 @RequestMapping("/environmentBigData")
 @Api(tags = "可视化大数据控制器")
@@ -63,7 +66,7 @@ public class EnvironmentBigDataController extends BaseController {
     @PostMapping("/selectBigDataByYearMonthFegin")
     public R selectBigDataByYearMonthFegin(@ApiIgnore @RequestBody CenterdataTForestWeatherinformationBigDataVO centerdataTForestWeatherinformationBigDataVO) {
         return R.ok(environmentBigDataService.selectBigDataByYearMonth(centerdataTForestWeatherinformationBigDataVO));
-    }//
+    }
 
     /* 数字环保远端调用
      *
@@ -155,4 +158,29 @@ public class EnvironmentBigDataController extends BaseController {
         CenterdataTEnvironmentKeyEnterprise centerdataTEnvironmentKeyEnterprise = new CenterdataTEnvironmentKeyEnterprise();
         return AjaxResult.success(environmentBigDataService.waterQualityFindDataByMonth(centerdataTEnvironmentKeyEnterprise));
     }
+
+    /*
+    * 大数据查询秸秆离田
+    *
+    * @author 韩福成
+    * @date 2023/10/27 11:07
+    */
+    @ApiOperation(value = "大数据查询秸秆离田" , notes = "大数据查询秸秆离田")
+    @GetMapping("/leaveField")
+    public AjaxResult leaveField(EnvironmentBigDataVo environmentBigDataVo) throws IOException {
+        return AjaxResult.success(environmentBigDataService.leaveField(environmentBigDataVo));
+    }
+    
+    /*
+    * 大数据按类型和分类统计排污口
+    *
+    * @author 韩福成
+    * @date 2023/10/27 11:29
+    */
+    @ApiOperation(value = "大数据按类型和分类统计排污口" , notes = "大数据按类型和分类统计排污口")
+    @GetMapping("/sewageoutlet")
+    public R sewageoutlet(EnvironmentBigDataVo environmentBigDataVo) {
+        return R.ok(environmentBigDataService.sewageoutlet(environmentBigDataVo));
+    }
+
 }

+ 20 - 0
src/main/java/com/sooka/sponest/data/digitalenvironment/domain/vo/EnvironmentBigDataVo.java

@@ -0,0 +1,20 @@
+package com.sooka.sponest.data.digitalenvironment.domain.vo;
+
+import com.sooka.sponest.data.base.domain.BaseBusinessEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+@ApiModel(value = "大数据统计入参实体类对象", description = "大数据统计入参实体类对象")
+public class EnvironmentBigDataVo extends BaseBusinessEntity {
+
+    @ApiModelProperty(value = "类型", required = false)
+    private String type;
+
+    @ApiModelProperty(value = "部门id", required = false)
+    private String deptId;
+
+}

+ 34 - 0
src/main/java/com/sooka/sponest/data/digitalenvironment/mapper/CenterdataTEnvironmentBigDataMapper.java

@@ -4,6 +4,7 @@ import com.sooka.sponest.data.app.domain.VisuForestCloudMapVO;
 import com.sooka.sponest.data.digitalenvironment.domain.CenterdataTEnvironmentKeyEnterprise;
 import com.sooka.sponest.data.digitalenvironment.domain.CenterdataTEnvironmentProhibitionArea;
 import com.sooka.sponest.data.digitalenvironment.domain.CenterdataTEnvironmentSourcePollution;
+import com.sooka.sponest.data.digitalenvironment.domain.vo.EnvironmentBigDataVo;
 import com.sooka.sponest.data.digitalfirecontrol.domain.CenterdataTFirecontrolBasicLinkageForce;
 import com.sooka.sponest.data.digitalforest.domain.bo.VisuForestCloudEventTypeBO;
 import com.sooka.sponest.data.generalbusiness.domain.CenterdataTForestImportarea;
@@ -90,4 +91,37 @@ public interface CenterdataTEnvironmentBigDataMapper {
      * @return 结果
      */
     List<Map<String, Object>> waterQualityFindDataByMonth(CenterdataTEnvironmentKeyEnterprise centerdataTEnvironmentKeyEnterprise);
+
+    /*
+    * 大数据按排口类型统计排污口
+    *
+    * @author 韩福成
+    * @date 2023/10/27 13:20
+    */
+    List<Map<String, Object>> sewageoutletByType(EnvironmentBigDataVo environmentBigDataVo);
+
+    /*
+    * 大数据按一级分类统计排污口
+    *
+    * @author 韩福成
+    * @date 2023/10/27 13:54
+    */
+    List<Map<String, Object>> sewageoutletByOneclassification(EnvironmentBigDataVo environmentBigDataVo);
+
+    /*
+    * 大数据按二级分类统计排污口
+    *
+    * @author 韩福成
+    * @date 2023/10/27 13:55
+    */
+    List<Map<String, Object>> sewageoutletByTwoclassification(EnvironmentBigDataVo environmentBigDataVo);
+
+    /*
+    * 大数据统计秸秆离田
+    *
+    * @author 韩福成
+    * @date 2023/10/27 15:00
+    */
+    List<Map<String,Object>> leaveField(EnvironmentBigDataVo environmentBigDataVo);
+
 }

+ 17 - 1
src/main/java/com/sooka/sponest/data/digitalenvironment/service/IEnvironmentBigDataService.java

@@ -4,12 +4,14 @@ import com.sooka.sponest.data.app.domain.VisuForestCloudMapVO;
 import com.sooka.sponest.data.digitalenvironment.domain.CenterdataTEnvironmentKeyEnterprise;
 import com.sooka.sponest.data.digitalenvironment.domain.CenterdataTEnvironmentProhibitionArea;
 import com.sooka.sponest.data.digitalenvironment.domain.CenterdataTEnvironmentSourcePollution;
+import com.sooka.sponest.data.digitalenvironment.domain.vo.EnvironmentBigDataVo;
 import com.sooka.sponest.data.digitalfirecontrol.domain.CenterdataTFirecontrolBasicLinkageForce;
 import com.sooka.sponest.data.digitalforest.domain.bo.VisuForestCloudEventTypeBO;
 import com.sooka.sponest.data.generalbusiness.domain.CenterdataTForestImportarea;
 import com.sooka.sponest.data.generalbusiness.domain.bo.CenterdataTForestWeatherinformationBigDataBO;
 import com.sooka.sponest.data.generalbusiness.domain.vo.CenterdataTForestWeatherinformationBigDataVO;
 
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -84,5 +86,19 @@ public interface IEnvironmentBigDataService {
      */
     Map<String, Object> waterQualityFindDataByMonth(CenterdataTEnvironmentKeyEnterprise centerdataTEnvironmentKeyEnterprise);
 
-
+    /*
+    * 大数据统计秸秆离田
+    *
+    * @author 韩福成
+    * @date 2023/10/27 11:16
+    */
+    List<Map<String,Object>> leaveField(EnvironmentBigDataVo environmentBigDataVo) throws IOException;
+
+    /*
+    * 大数据按类型和分类统计排污口
+    *
+    * @author 韩福成
+    * @date 2023/10/27 13:17
+    */
+    List<Map<String,Object>> sewageoutlet(EnvironmentBigDataVo environmentBigDataVo);
 }

+ 34 - 1
src/main/java/com/sooka/sponest/data/digitalenvironment/service/impl/EnvironmentBigDataServiceImpl.java

@@ -10,6 +10,7 @@ import com.sooka.sponest.data.base.service.impl.BaseServiceImpl;
 import com.sooka.sponest.data.digitalenvironment.domain.CenterdataTEnvironmentKeyEnterprise;
 import com.sooka.sponest.data.digitalenvironment.domain.CenterdataTEnvironmentProhibitionArea;
 import com.sooka.sponest.data.digitalenvironment.domain.CenterdataTEnvironmentSourcePollution;
+import com.sooka.sponest.data.digitalenvironment.domain.vo.EnvironmentBigDataVo;
 import com.sooka.sponest.data.digitalenvironment.mapper.CenterdataTEnvironmentBigDataMapper;
 import com.sooka.sponest.data.digitalenvironment.service.IEnvironmentBigDataService;
 import com.sooka.sponest.data.digitalfirecontrol.domain.CenterdataTFirecontrolBasicLinkageForce;
@@ -19,9 +20,12 @@ import com.sooka.sponest.data.generalbusiness.domain.CenterdataTForestWeatherinf
 import com.sooka.sponest.data.generalbusiness.domain.bo.CenterdataTForestWeatherinformationBigDataBO;
 import com.sooka.sponest.data.generalbusiness.domain.vo.CenterdataTForestWeatherinformationBigDataVO;
 import com.sooka.sponest.data.utils.DataConstants;
+import com.sooka.sponest.data.utils.DeptLevelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.io.IOException;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -33,6 +37,9 @@ public class EnvironmentBigDataServiceImpl extends BaseServiceImpl implements IE
     @Autowired
     private CenterdataTEnvironmentBigDataMapper centerdataTEnvironmentBigDataMapper;
 
+    @Autowired
+    private DeptLevelUtil deptLevelUtil;
+
     @DataScopeMutiDept(deptAlias = "d")
     @Override
     public List<VisuForestCloudEventTypeBO> selectBigDataImportareaDeptCount(CenterdataTForestImportarea centerdataTForestImportarea) {
@@ -152,7 +159,6 @@ public class EnvironmentBigDataServiceImpl extends BaseServiceImpl implements IE
         return dataByMonth(list,DataConstants.DAY,DataConstants.MONTH,"conductivity","temperature","humidity");
     }
 
-
     @DataScopeMutiDept(deptAlias = "d")
     @Override
     public Map<String, Object> waterQualityFindDataByYear(CenterdataTEnvironmentKeyEnterprise centerdataTEnvironmentKeyEnterprise) {
@@ -163,12 +169,39 @@ public class EnvironmentBigDataServiceImpl extends BaseServiceImpl implements IE
 
     @DataScopeMutiDept(deptAlias = "d")
     @Override
+    public List<Map<String,Object>> leaveField(EnvironmentBigDataVo environmentBigDataVo) throws IOException {
+        setSookaDataBase(environmentBigDataVo);
+        List<Map<String,Object>> list = centerdataTEnvironmentBigDataMapper.leaveField(environmentBigDataVo);
+        return deptLevelUtil.getDeptLevel(list);
+    }
+
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
     public Map<String, Object> waterQualityFindDataByMonth(CenterdataTEnvironmentKeyEnterprise centerdataTEnvironmentKeyEnterprise) {
         setSookaDataBase(centerdataTEnvironmentKeyEnterprise);
         List<Map<String, Object>> list = centerdataTEnvironmentBigDataMapper.waterQualityFindDataByMonth(centerdataTEnvironmentKeyEnterprise);
         return dataByMonth(list,DataConstants.DAY,DataConstants.MONTH,"chemical_oxygen_demand","total_organic_carbon","ammonia_nitrogen");
     }
 
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<Map<String, Object>> sewageoutlet(EnvironmentBigDataVo environmentBigDataVo) {
+        setSookaDataBase(environmentBigDataVo);
+        List<Map<String, Object>> mapList = new ArrayList<>();
+        switch (environmentBigDataVo.getType()){
+            case "0"://排口类型
+                mapList = centerdataTEnvironmentBigDataMapper.sewageoutletByType(environmentBigDataVo);
+                break;
+            case "1"://一级分类
+                mapList = centerdataTEnvironmentBigDataMapper.sewageoutletByOneclassification(environmentBigDataVo);
+                break;
+            case "2"://一级分类
+                mapList = centerdataTEnvironmentBigDataMapper.sewageoutletByTwoclassification(environmentBigDataVo);
+                break;
+        }
+        return mapList;
+    }
+
     private Map<String,Object> dataByMonth(List<Map<String, Object>> list,String date1,String date2,String map1
     ,String map2,String map3){
         double[] data = new double[31];

+ 32 - 3
src/main/java/com/sooka/sponest/data/digitalresource/controller/ResourceBigDataController.java

@@ -4,9 +4,7 @@ import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.web.controller.BaseController;
 import com.sooka.sponest.data.app.domain.VisuForestCloudMapVO;
 import com.sooka.sponest.data.digitalforest.domain.CenterdataTForestGrid;
-import com.sooka.sponest.data.digitalresource.domain.CenterdataTResourcesDeposit;
-import com.sooka.sponest.data.digitalresource.domain.CenterdataTResourcesGeologicHazard;
-import com.sooka.sponest.data.digitalresource.domain.CenterdataTResourcesIllegalConstruction;
+import com.sooka.sponest.data.digitalresource.domain.*;
 import com.sooka.sponest.data.digitalresource.service.IResourceBigDataService;
 import com.sooka.sponest.data.other.land.domain.CenterdataTResourcesLand;
 import io.swagger.annotations.Api;
@@ -117,4 +115,35 @@ public class ResourceBigDataController extends BaseController {
     public R getConstructionGroupByResourcesConservancy(@ApiIgnore CenterdataTResourcesIllegalConstruction centerdataTResourcesIllegalConstruction) {
         return R.ok(resourceBigDataService.getConstructionGroupByResourcesConservancy(centerdataTResourcesIllegalConstruction));
     }
+
+    /**
+     * 资源耕地
+     * @return
+     */
+    @ApiOperation(value = "查询资源耕地按耕地属性统计面积", notes = "查询资源耕地按耕地属性统计面积")
+    @PostMapping("/selectResourcesLandInfoCount")
+    public R selectResourcesLandInfoCount() {
+        CenterdataTResourcesLandInfo centerdataTResourcesLandInfo = new CenterdataTResourcesLandInfo();
+        return R.ok(resourceBigDataService.selectResourcesLandInfoCount(centerdataTResourcesLandInfo));
+    }
+    /**
+     * 永久基本农田
+     * @return
+     */
+    @ApiOperation(value = "查询永久基本农田按耕地属性统计面积", notes = "查询永久基本农田按耕地属性统计面积")
+    @PostMapping("/selectFarmBasicFarmlandCount")
+    public R selectFarmBasicFarmlandCount() {
+        CenterdataTFarmBasicFarmland centerdataTFarmBasicFarmland = new CenterdataTFarmBasicFarmland();
+        return R.ok(resourceBigDataService.selectFarmBasicFarmlandCount(centerdataTFarmBasicFarmland));
+    }
+
+    /**
+     * 地质灾害易发区
+     * @return
+     */
+    @ApiOperation("远端调用查询地质灾害易发区按类型")
+    @PostMapping("/getResourcesGeologicHazard")
+    public R getResourcesGeologicHazard() {
+        return R.ok(resourceBigDataService.selectResourcesGeologicHazard(new CenterdataTResourcesGeologicHazard()));
+    }
 }

+ 14 - 3
src/main/java/com/sooka/sponest/data/digitalresource/mapper/DigitalResourcesBigDataMapper.java

@@ -3,9 +3,7 @@ package com.sooka.sponest.data.digitalresource.mapper;
 import com.sooka.sponest.data.app.domain.VisuForestCloudMapVO;
 import com.sooka.sponest.data.digitalforest.domain.CenterdataTForestGrid;
 import com.sooka.sponest.data.digitalforest.domain.bo.VisuForestCloudEventTypeBO;
-import com.sooka.sponest.data.digitalresource.domain.CenterdataTResourcesDeposit;
-import com.sooka.sponest.data.digitalresource.domain.CenterdataTResourcesGeologicHazard;
-import com.sooka.sponest.data.digitalresource.domain.CenterdataTResourcesIllegalConstruction;
+import com.sooka.sponest.data.digitalresource.domain.*;
 import com.sooka.sponest.data.other.land.domain.CenterdataTResourcesLand;
 
 import java.util.List;
@@ -68,4 +66,17 @@ public interface DigitalResourcesBigDataMapper {
      * @return
      */
     List getConstructionGroupByResourcesConservancy(CenterdataTResourcesIllegalConstruction centerdataTResourcesIllegalConstruction);
+
+    /**
+     * 资源耕地
+     * @return
+     */
+    List<Map<String, Object>> selectResourcesLandInfoCount(CenterdataTResourcesLandInfo centerdataTResourcesLandInfo);
+
+    /**
+     * 地质灾害易发区
+     * @param centerdataTFarmBasicFarmland
+     * @return
+     */
+    List<Map<String, Object>> selectFarmBasicFarmlandCount(CenterdataTFarmBasicFarmland centerdataTFarmBasicFarmland);
 }

+ 21 - 3
src/main/java/com/sooka/sponest/data/digitalresource/service/IResourceBigDataService.java

@@ -4,9 +4,7 @@ import com.sooka.sponest.data.app.domain.VisuForestCloudMapVO;
 import com.sooka.sponest.data.base.service.IBaseService;
 import com.sooka.sponest.data.digitalforest.domain.CenterdataTForestGrid;
 import com.sooka.sponest.data.digitalforest.domain.bo.VisuForestCloudEventTypeBO;
-import com.sooka.sponest.data.digitalresource.domain.CenterdataTResourcesDeposit;
-import com.sooka.sponest.data.digitalresource.domain.CenterdataTResourcesGeologicHazard;
-import com.sooka.sponest.data.digitalresource.domain.CenterdataTResourcesIllegalConstruction;
+import com.sooka.sponest.data.digitalresource.domain.*;
 import com.sooka.sponest.data.other.land.domain.CenterdataTResourcesLand;
 
 import java.util.List;
@@ -72,4 +70,24 @@ public interface IResourceBigDataService extends IBaseService {
      * @return
      */
     List getConstructionGroupByResourcesConservancy(CenterdataTResourcesIllegalConstruction centerdataTResourcesIllegalConstruction);
+
+    /**
+     * 资源耕地
+     * @return
+     */
+    List<Map<String, Object>> selectResourcesLandInfoCount(CenterdataTResourcesLandInfo centerdataTResourcesLandInfo);
+
+    /**
+     * 永久基本农田
+     * @param centerdataTFarmBasicFarmland
+     * @return
+     */
+    List<Map<String, Object>> selectFarmBasicFarmlandCount(CenterdataTFarmBasicFarmland centerdataTFarmBasicFarmland);
+
+    /**
+     * 地质灾害易发区
+     * @param centerdataTResourcesGeologicHazard
+     * @return
+     */
+    List<Map<String, Object>> selectResourcesGeologicHazard(CenterdataTResourcesGeologicHazard centerdataTResourcesGeologicHazard);
 }

+ 39 - 3
src/main/java/com/sooka/sponest/data/digitalresource/service/impl/ResourceBigDataServiceImpl.java

@@ -1,20 +1,24 @@
 package com.sooka.sponest.data.digitalresource.service.impl;
 
+import com.alibaba.fastjson.JSONArray;
+import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.datascope.annotation.DataScopeMutiDept;
 import com.sooka.sponest.data.app.domain.VisuForestCloudMapVO;
 import com.sooka.sponest.data.base.service.impl.BaseServiceImpl;
 import com.sooka.sponest.data.digitalforest.domain.CenterdataTForestGrid;
 import com.sooka.sponest.data.digitalforest.domain.bo.VisuForestCloudEventTypeBO;
-import com.sooka.sponest.data.digitalresource.domain.CenterdataTResourcesDeposit;
-import com.sooka.sponest.data.digitalresource.domain.CenterdataTResourcesGeologicHazard;
-import com.sooka.sponest.data.digitalresource.domain.CenterdataTResourcesIllegalConstruction;
+import com.sooka.sponest.data.digitalresource.domain.*;
 import com.sooka.sponest.data.digitalresource.mapper.DigitalResourcesBigDataMapper;
 import com.sooka.sponest.data.digitalresource.service.IResourceBigDataService;
 import com.sooka.sponest.data.digitalwater.domain.CenterdataTHydraulicOutletSewage;
+import com.sooka.sponest.data.digitalwater.domain.CenterdataTHydraulicPatrolTask;
 import com.sooka.sponest.data.other.land.domain.CenterdataTResourcesLand;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -128,4 +132,36 @@ public class ResourceBigDataServiceImpl extends BaseServiceImpl implements IReso
         setSookaDataBase(centerdataTResourcesIllegalConstruction);
         return digitalResourcesBigDataMapper.getConstructionGroupByResourcesConservancy(centerdataTResourcesIllegalConstruction);
     }
+
+    /**
+     * 资源耕地
+     * @return
+     */
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<Map<String, Object>> selectResourcesLandInfoCount(CenterdataTResourcesLandInfo centerdataTResourcesLandInfo) {
+        setSookaDataBase(centerdataTResourcesLandInfo);
+        return digitalResourcesBigDataMapper.selectResourcesLandInfoCount(centerdataTResourcesLandInfo);
+    }
+    /**
+     * 永久基本农田
+     * @return
+     */
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<Map<String, Object>> selectFarmBasicFarmlandCount(CenterdataTFarmBasicFarmland centerdataTFarmBasicFarmland) {
+        setSookaDataBase(centerdataTFarmBasicFarmland);
+        return digitalResourcesBigDataMapper.selectFarmBasicFarmlandCount(centerdataTFarmBasicFarmland);
+    }
+    /**
+     * 地质灾害易发区
+     * @return
+     */
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<Map<String, Object>> selectResourcesGeologicHazard(CenterdataTResourcesGeologicHazard centerdataTResourcesGeologicHazard) {
+        setSookaDataBase(centerdataTResourcesGeologicHazard);
+        return digitalResourcesBigDataMapper.getHazardResources(centerdataTResourcesGeologicHazard);
+    }
+
 }

+ 52 - 0
src/main/java/com/sooka/sponest/data/utils/DeptLevelUtil.java

@@ -0,0 +1,52 @@
+package com.sooka.sponest.data.utils;
+
+import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.system.api.RemoteDeptService;
+import com.ruoyi.system.api.domain.SysDept;
+import net.bytebuddy.implementation.bytecode.Throw;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Component
+public class DeptLevelUtil {
+
+    @Autowired
+    private RemoteDeptService remoteDeptService;
+
+    public List<Map<String, Object>> getDeptLevel(List<Map<String,Object>> list) throws IOException {
+        List<Map<String,Object>> mapList = new ArrayList<>();
+        if (list.isEmpty()||!list.get(0).containsKey("ancestors")){
+            throw new IOException("入参为空或入参没有key:'ancestors'");
+        }
+        String deptId = SecurityUtils.getLoginUser().getSysUser().getDeptId().toString();
+        List<SysDept> sysDeptList = remoteDeptService.selectChildrenCountyOrVillagesDeptListByDeptId(deptId).getData();
+        for (SysDept sysDept : sysDeptList){//部门
+            Map<String,Object> map = new HashMap<>();
+            //map中增加key
+            for (String key : list.get(0).keySet()) {
+                if (!key.equals("ancestors")&&!key.equals("deptId")){
+                    map.put(key,0);
+                }
+            }
+            for (Map<String,Object> ancestors : list){//资源数据
+                if (ancestors.get("ancestors").toString().concat(",").concat(ancestors.get("deptId").toString()).contains(sysDept.getAncestors().concat(",").concat(sysDept.getDeptId().toString()))){
+                    for (String key : ancestors.keySet()) {
+                        if (!key.equals("ancestors")&&!key.equals("deptId")){
+                            map.put(key,Long.parseLong(map.get(key).toString())+Long.parseLong(ancestors.get(key).toString()));
+                        }
+                    }
+                }
+            }
+            map.put("deptId",sysDept.getDeptId());
+            map.put("deptName",sysDept.getDeptName());
+            mapList.add(map);
+        }
+        return mapList;
+    }
+}

+ 4 - 4
src/main/resources/mapper/digitalemergency/EmergencyBigDataMapper.xml

@@ -360,7 +360,7 @@
 	'centerdata_t_forest_firehydrant' resourceTable,
 	'地上消火栓' resourceName,
 	count(*) count,
-	'icon-centerdata_t_forest_firehydrant' icon
+	'icon-centerdata_t_forest_firehydrant_1' icon
     FROM
 	onest_data.centerdata_t_forest_firehydrant a
 	LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
@@ -374,7 +374,7 @@
 	'centerdata_t_forest_firehydrant' resourceTable,
 	'地下消火栓' resourceName,
 	count(*) count,
-	'icon-centerdata_t_forest_firehydrant' icon
+	'icon-centerdata_t_forest_firehydrant_2' icon
     FROM
 	onest_data.centerdata_t_forest_firehydrant a
 	LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
@@ -388,13 +388,13 @@
 	'centerdata_t_forest_firehydrant' resourceTable,
 	'室内消火栓' resourceName,
 	count(*) count,
-	'icon-centerdata_t_forest_firehydrant' icon
+	'icon-centerdata_t_forest_firehydrant_3' icon
     FROM
 	onest_data.centerdata_t_forest_firehydrant a
 	LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
 	LEFT JOIN ${database_system}.sys_user u ON a.create_by = u.user_id
     WHERE
-  a.firehydrant_type = "firehydrant_3"
+    a.firehydrant_type = "firehydrant_3"
     AND
 	1 = 1 ${params.dataScope}
     UNION

+ 31 - 0
src/main/resources/mapper/digitalenvironment/CenterdataTEnvironmentBigDataMapper.xml

@@ -427,4 +427,35 @@
         ORDER BY
             month(b.create_time)
     </select>
+
+    <select id="sewageoutletByType" resultType="java.util.Map">
+        SELECT a.dict_label,count(b.id) FROM ${database_system}.sys_dict_data a  left join
+        (SELECT a.id,a.type FROM centerdata_t_environment_sewage_outlet a
+        left JOIN ${database_system}.sys_dept d on a.dept_id = d.dept_id where 1=1 ${params.dataScope} ) b on a.dict_value = b.type
+        where a.dict_type ='centerdata_sewage_type'
+        group by a.dict_value
+    </select>
+
+    <select id="sewageoutletByOneclassification" resultType="java.util.Map">
+        SELECT a.dict_label,count(b.id) FROM ${database_system}.sys_dict_data a  left join
+        (SELECT a.id,a.sewage_one_classification FROM centerdata_t_environment_sewage_outlet a
+        left JOIN ${database_system}.sys_dept d on a.dept_id = d.dept_id where 1=1 ${params.dataScope} ) b on a.dict_value = b.sewage_one_classification
+        where a.dict_type ='centerdata_sewage_oneclassification'
+        group by a.dict_value
+    </select>
+
+    <select id="sewageoutletByTwoclassification" resultType="java.util.Map">
+        SELECT a.dict_label,count(b.id) FROM ${database_system}.sys_dict_data a  left join
+        (SELECT a.id,a.sewage_two_classification FROM centerdata_t_environment_sewage_outlet a
+        left JOIN ${database_system}.sys_dept d on a.dept_id = d.dept_id where 1=1 ${params.dataScope}) b on a.dict_value = b.sewage_two_classification
+        where a.dict_type ='centerdata_sewage_twoclassification'
+        group by a.dict_value
+    </select>
+
+    <select id="leaveField" resultType="java.util.Map">
+        SELECT d.ancestors ancestors,a.dept_id deptId,count(*) num FROM centerdata_t_straw_leave_field a
+        LEFT JOIN ${database_system}.sys_dept d on a.dept_id = d.dept_id
+        where 1=1 ${params.dataScope}
+        GROUP BY a.dept_id
+    </select>
 </mapper>

+ 45 - 0
src/main/resources/mapper/digitalresource/DigitalResourcesBigDataMapper.xml

@@ -142,6 +142,24 @@
         <result property="attachId" column="attach_id"/>
 
     </resultMap>
+    <resultMap type="CenterdataTHydraulicPatrolTask" id="CenterdataTHydraulicPatrolTaskMap">
+        <result property="id" column="id"/>
+        <result property="taskName" column="task_name"/>
+        <result property="planId" column="plan_id"/>
+        <result property="planName" column="plan_name"/>
+        <result property="status" column="status"/>
+        <result property="deptId" column="dept_id"/>
+        <result property="deptName" column="dept_name"/>
+        <result property="dataStatus" column="data_status"/>
+        <result property="userId" column="user_id"/>
+        <result property="type" column="type"/>
+        <result property="planCount" column="plan_count"/>
+        <result property="recordCount" column="record_count"/>
+        <result property="patrolTrajectory" column="patrol_trajectory"/>
+        <result property="planLength" column="plan_length"/>
+        <result property="realLength" column="realLength"/>
+        <result property="leadType" column="lead_type"/>
+    </resultMap>
 
     <select id="selectDepositResourcesCount" parameterType="CenterdataTResourcesDeposit"
             resultType="java.util.Map">
@@ -265,4 +283,31 @@
         where dict.dict_type = 'centerdata_construction_type'
         group by a.construction_type
     </select>
+
+    <select id="selectResourcesLandInfoCount" parameterType="CenterdataTResourcesLandInfo"  resultType="java.util.Map">
+        select dict.dict_label name,IFNULL(sum(a.area),0) value from ${database_system}.sys_dict_data dict
+        left join (select a.* from centerdata_t_resources_land_info a left join ${database_system}.sys_dept d on
+        a.dept_id=d.dept_id
+        <where>
+            ${params.dataScope}
+        </where>) a on a.attribute=dict.dict_value
+        <where>
+            dict.dict_type = 'farm_field_attribute'
+        </where>
+        group by dict.dict_value
+    </select>
+
+    <select id="selectFarmBasicFarmlandCount" parameterType="CenterdataTFarmBasicFarmland" resultType="java.util.Map">
+        select dict.dict_label name,IFNULL(sum(a.area),0) value from ${database_system}.sys_dict_data dict
+        left join(
+            select a.* from centerdata_t_farm_basic_farmland a  left join ${database_system}.sys_dept d on a.dept_id=d.dept_id
+            <where>
+                ${params.dataScope}
+            </where>
+            ) a on a.attribute = dict.dict_value
+        <where>
+            dict.dict_type = 'farm_field_attribute'
+        </where>
+        group by dict.dict_value
+    </select>
 </mapper>