浏览代码

数字农业,数字水利

zhaozhan 1 年之前
父节点
当前提交
77df722d77

+ 26 - 3
src/main/java/com/sooka/sponest/data/digitalagriculture/controller/AgricultureBigDataController.java

@@ -1,6 +1,11 @@
 package com.sooka.sponest.data.digitalagriculture.controller;
 
+import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.security.utils.DictUtils;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.system.api.domain.SysDictData;
+import com.ruoyi.system.api.utils.DeptLevelUtil;
 import com.sooka.sponest.data.digitalagriculture.domain.CenterdataTFarmAgriculturalCooperatives;
 import com.sooka.sponest.data.digitalagriculture.domain.bo.AgricultureBigDataBO;
 import com.sooka.sponest.data.digitalagriculture.service.IAgricultureBigDataService;
@@ -9,6 +14,8 @@ import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -25,6 +32,8 @@ public class AgricultureBigDataController {
 
     @Autowired
     private IAgricultureBigDataService agricultureBigDataService;
+    @Resource
+    private DeptLevelUtil deptLevelUtil;
 
     /**
      * 备案畜禽规模养殖场、种畜禽养殖场、企业、农药信息、农资监管、粮食四季变化数量统计
@@ -302,7 +311,14 @@ public class AgricultureBigDataController {
     @ApiOperation(value = "农业补贴", notes = "农业补贴")
     @PostMapping("/getAgriculturalSubsidy")
     public AjaxResult getAgriculturalSubsidy(@RequestBody AgricultureBigDataBO agricultureBigDataBO) {
-        return AjaxResult.success(agricultureBigDataService.getAgriculturalSubsidy(agricultureBigDataBO));
+        List<String> addKeys = new ArrayList<>();
+        addKeys.add("subsidyMoneyNum");
+        addKeys.add("farmMacMoneyNum");
+        addKeys.add("breedMoneyNum");
+        if (StringUtils.isNull(agricultureBigDataBO.getDeptId())){
+            agricultureBigDataBO.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
+        }
+        return AjaxResult.success(deptLevelUtil.getDeptLevel(agricultureBigDataBO.getDeptId().toString(), agricultureBigDataService.getAgriculturalSubsidy(agricultureBigDataBO),addKeys));
     }
 
     /**
@@ -341,7 +357,11 @@ public class AgricultureBigDataController {
     @ApiOperation(value = "耕地资源", notes = "耕地资源")
     @PostMapping("/getFarmlandStatistics")
     public AjaxResult getFarmlandStatistics(@RequestBody AgricultureBigDataBO agricultureBigDataBO) {
-        return AjaxResult.success(agricultureBigDataService.getFarmlandStatistics(agricultureBigDataBO));
+        List<SysDictData> dictKeys = DictUtils.getDictCache("farm_field_attribute");
+        if (StringUtils.isNull(agricultureBigDataBO.getDeptId())){
+            agricultureBigDataBO.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
+        }
+        return AjaxResult.success(deptLevelUtil.getDeptLevel(dictKeys,agricultureBigDataService.getFarmlandStatistics(agricultureBigDataBO,dictKeys),agricultureBigDataBO.getDeptId().toString()));
     }
 
 
@@ -393,7 +413,10 @@ public class AgricultureBigDataController {
     @ApiOperation(value = "秸秆还田", notes = "秸秆还田")
     @PostMapping("/getStrawTurnover")
     public AjaxResult getStrawTurnover(@RequestBody AgricultureBigDataBO agricultureBigDataBO) {
-        return AjaxResult.success(agricultureBigDataService.getStrawTurnover(agricultureBigDataBO));
+        if (StringUtils.isNull(agricultureBigDataBO.getDeptId())){
+            agricultureBigDataBO.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
+        }
+        return AjaxResult.success(deptLevelUtil.getDeptLevel(String.valueOf(agricultureBigDataBO.getDeptId()),agricultureBigDataService.getStrawTurnover(agricultureBigDataBO),"stillAreaNum"));
     }
 
 

+ 2 - 1
src/main/java/com/sooka/sponest/data/digitalagriculture/service/IAgricultureBigDataService.java

@@ -1,5 +1,6 @@
 package com.sooka.sponest.data.digitalagriculture.service;
 
+import com.ruoyi.system.api.domain.SysDictData;
 import com.sooka.sponest.data.digitalagriculture.domain.CenterdataTFarmAgriculturalCooperatives;
 import com.sooka.sponest.data.digitalagriculture.domain.bo.AgricultureBigDataBO;
 
@@ -64,7 +65,7 @@ public interface IAgricultureBigDataService {
 
     List<Map<String,Object>> getFertilizerStatistics(AgricultureBigDataBO agricultureBigDataBO);
 
-    List<Map<String,Object>> getFarmlandStatistics(AgricultureBigDataBO agricultureBigDataBO);
+    List<Map<String,Object>> getFarmlandStatistics(AgricultureBigDataBO agricultureBigDataBO,List<SysDictData> dictKeys);
 
     Map<String,List<Map<String, Object>>> getCooperativesStatistics(AgricultureBigDataBO agricultureBigDataBO);
 

+ 11 - 35
src/main/java/com/sooka/sponest/data/digitalagriculture/service/impl/AgricultureBigDataServiceImpl.java

@@ -287,15 +287,7 @@ public class AgricultureBigDataServiceImpl extends BaseServiceImpl implements IA
     @DataScopeMutiDept(deptAlias = "d")
     public List<Map<String, Object>> getAgriculturalSubsidy(AgricultureBigDataBO agricultureBigDataBO) {
         setSookaDataBase(agricultureBigDataBO);
-        List<Map<String, Object>> agriculturalSubsidy = agricultureBigDataMapper.getAgriculturalSubsidy(agricultureBigDataBO);
-        List<String> addKeys = new ArrayList<>();
-        addKeys.add("subsidyMoneyNum");
-        addKeys.add("farmMacMoneyNum");
-        addKeys.add("breedMoneyNum");
-        if (StringUtils.isNull(agricultureBigDataBO.getDeptId())){
-            agricultureBigDataBO.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
-        }
-        return deptLevelUtil.getDeptLevel(agricultureBigDataBO.getDeptId().toString(),agriculturalSubsidy,addKeys);
+        return agricultureBigDataMapper.getAgriculturalSubsidy(agricultureBigDataBO);
     }
 
     /**
@@ -381,16 +373,12 @@ public class AgricultureBigDataServiceImpl extends BaseServiceImpl implements IA
      */
     @Override
     @DataScopeMutiDept(deptAlias = "d")
-    public List<Map<String, Object>> getFarmlandStatistics(AgricultureBigDataBO agricultureBigDataBO) {
+    public List<Map<String, Object>> getFarmlandStatistics(AgricultureBigDataBO agricultureBigDataBO,List<SysDictData> dictKeys) {
         setSookaDataBase(agricultureBigDataBO);
         Map<String, Object> map = new HashMap<>();
-        List<SysDictData> dictKeys = DictUtils.getDictCache("farm_field_attribute");
         map.put("agricultureBigDataBO",agricultureBigDataBO);
         map.put("dictList", dictKeys);
-        if (StringUtils.isNull(agricultureBigDataBO.getDeptId())){
-            agricultureBigDataBO.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
-        }
-        return  deptLevelUtil.getDeptLevel(dictKeys,agricultureBigDataMapper.getFarmlandStatistics(map),agricultureBigDataBO.getDeptId().toString());
+        return  agricultureBigDataMapper.getFarmlandStatistics(map);
     }
 
     /**
@@ -404,39 +392,31 @@ public class AgricultureBigDataServiceImpl extends BaseServiceImpl implements IA
     public Map<String,List<Map<String, Object>>> getCooperativesStatistics(AgricultureBigDataBO agricultureBigDataBO) {
         setSookaDataBase(agricultureBigDataBO);
         Map<String,List<Map<String, Object>>> hashMap = new HashMap<>();
-
-        // 合作社数量
-        List<Map<String, Object>> cooperativesStatisticsByCooperatives = agricultureBigDataMapper.getCooperativesStatisticsByCooperatives(agricultureBigDataBO);
         if (StringUtils.isNull(agricultureBigDataBO.getDeptId())){
             agricultureBigDataBO.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
         }
+        // 合作社数量
+        List<Map<String, Object>> cooperativesStatisticsByCooperatives = agricultureBigDataMapper.getCooperativesStatisticsByCooperatives(agricultureBigDataBO);
+
         List<Map<String, Object>> cooperativesStatistics = new ArrayList<>(deptLevelUtil.getDeptLevel(String.valueOf(agricultureBigDataBO.getDeptId()),cooperativesStatisticsByCooperatives,"num"));
         // 示范级别
         List<Map<String, Object>> statisticsByLeaseTerm = agricultureBigDataMapper.getCooperativesStatisticsByLeaseTerm(agricultureBigDataBO);
-        if (StringUtils.isNull(agricultureBigDataBO.getDeptId())){
-            agricultureBigDataBO.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
-        }
+
         List<Map<String, Object>> statisticsByLeaseTermList = deptLevelUtil.getDeptLevel(String.valueOf(agricultureBigDataBO.getDeptId()),statisticsByLeaseTerm,"num");
         // 成员出资额
         List<Map<String, Object>> statisticsByRegisterCapital = agricultureBigDataMapper.getCooperativesStatisticsByRegisterCapital(agricultureBigDataBO);
         int registerCapitalSum = getStatisticsSum(statisticsByRegisterCapital);
-        if (StringUtils.isNull(agricultureBigDataBO.getDeptId())){
-            agricultureBigDataBO.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
-        }
+
         List<Map<String, Object>> statisticsByRegisterCapitalList = deptLevelUtil.getDeptLevel(String.valueOf(agricultureBigDataBO.getDeptId()),statisticsByRegisterCapital,"num");
         // 入社人员
         List<Map<String, Object>> statisticsByMembersNum = agricultureBigDataMapper.getCooperativesStatisticsByMembersNum(agricultureBigDataBO);
         int membersNumSum = getStatisticsSum(statisticsByMembersNum);
-        if (StringUtils.isNull(agricultureBigDataBO.getDeptId())){
-            agricultureBigDataBO.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
-        }
+
         List<Map<String, Object>> statisticsByMembersNumList = deptLevelUtil.getDeptLevel(String.valueOf(agricultureBigDataBO.getDeptId()),statisticsByMembersNum,"num");
         // 带动农户
         List<Map<String, Object>> statisticsByDrivenFarmersNum = agricultureBigDataMapper.getCooperativesStatisticsByDrivenFarmersNum(agricultureBigDataBO);
         int drivenFarmersNumSum = getStatisticsSum(statisticsByDrivenFarmersNum);
-        if (StringUtils.isNull(agricultureBigDataBO.getDeptId())){
-            agricultureBigDataBO.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
-        }
+
         List<Map<String, Object>> statisticsByDrivenFarmersNumList = deptLevelUtil.getDeptLevel(String.valueOf(agricultureBigDataBO.getDeptId()),statisticsByDrivenFarmersNum, "num");
 
         // 数据分组
@@ -522,10 +502,6 @@ public class AgricultureBigDataServiceImpl extends BaseServiceImpl implements IA
     @DataScopeMutiDept(deptAlias = "d")
     public List<Map<String, Object>> getStrawTurnover(AgricultureBigDataBO agricultureBigDataBO) {
         setSookaDataBase(agricultureBigDataBO);
-        List<Map<String, Object>> strawTurnover = agricultureBigDataMapper.getStrawTurnover(agricultureBigDataBO);
-        if (StringUtils.isNull(agricultureBigDataBO.getDeptId())){
-            agricultureBigDataBO.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
-        }
-        return deptLevelUtil.getDeptLevel(String.valueOf(agricultureBigDataBO.getDeptId()),strawTurnover,"stillAreaNum");
+        return agricultureBigDataMapper.getStrawTurnover(agricultureBigDataBO);
     }
 }

+ 13 - 13
src/main/java/com/sooka/sponest/data/digitalwater/controller/WaterBigDataController.java

@@ -1,7 +1,11 @@
 package com.sooka.sponest.data.digitalwater.controller;
 
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.utils.DataConvertUtil;
+import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.system.api.utils.DeptLevelUtil;
 import com.sooka.sponest.data.app.domain.VisuForestCloudMapVO;
 import com.sooka.sponest.data.digitalforest.domain.CenterdataTForestGrid;
 import com.sooka.sponest.data.digitalwater.domain.*;
@@ -9,14 +13,13 @@ import com.sooka.sponest.data.digitalwater.service.IWaterBigDataService;
 import com.sooka.sponest.data.other.hydroenergy.domain.CenterdataTResourcesHydroenergy;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.apache.commons.collections4.MapUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
 
+import javax.annotation.Resource;
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
@@ -33,7 +36,8 @@ public class WaterBigDataController extends BaseController {
 
     @Autowired
     private IWaterBigDataService waterBigDataService;
-
+    @Resource
+    private DeptLevelUtil deptLevelUtil;
 
     /**
      * 河道蓝线(按照类型统计河道蓝线面积)
@@ -51,7 +55,10 @@ public class WaterBigDataController extends BaseController {
     @ApiOperation(value = "水资源(市级用用户按区县,区县用户按乡镇统计地表水总量,地下河总量)", notes = "水资源(市级用用户按区县,区县用户按乡镇统计地表水总量,地下河总量)")
     @GetMapping("/selectHydropowerResources")
     public R selectHydropowerResources(CenterdataTResourcesHydroenergy centerdataTResourcesHydroenergy) throws IOException {
-        return R.ok(waterBigDataService.selectHydropowerResources(centerdataTResourcesHydroenergy));
+        if (StringUtils.isNull(centerdataTResourcesHydroenergy.getDeptId())){
+            centerdataTResourcesHydroenergy.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
+        }
+        return R.ok(deptLevelUtil.getDeptLevel(String.valueOf(centerdataTResourcesHydroenergy.getDeptId()), waterBigDataService.selectHydropowerResources(centerdataTResourcesHydroenergy),Arrays.asList("riverTotal","waterVolume")));
     }
     /**
      * 水库统计(按水库名称统计总容量)
@@ -108,14 +115,7 @@ public class WaterBigDataController extends BaseController {
     @PostMapping("/getChannelBluelineGroupByWaterConservancy")
     public R getEventCountGroupByFireSource(CenterdataTHydraulicChannelBlueline centerdataTHydraulicChannelBlueline) {
         List<Map<String, Object>> result = waterBigDataService.getChannelBluelineGroupByWaterConservancy(centerdataTHydraulicChannelBlueline);
-        List<Long> numList = new ArrayList<>();
-        for (Map<String, Object> map : result) {
-            numList.add(MapUtils.getLong(map, "value"));
-        }
-        Map<String, List> resultMap = new HashMap<>();
-        resultMap.put("firesource", result);
-        resultMap.put("num", numList);
-        return R.ok(resultMap);
+        return R.ok( DataConvertUtil.convertToMap(result,Arrays.asList("name","value")));
     }
 
     // 数字水利可视化统计图--柱状图(横)

+ 0 - 2
src/main/java/com/sooka/sponest/data/digitalwater/service/IWaterBigDataService.java

@@ -48,8 +48,6 @@ public interface IWaterBigDataService {
 
     List selectReachWaterDeptCount(CenterdataTHydraulicReach centerdataTHydraulicReach);
 
-
-
     List<Map<String,Object>> selectChannelBlueLine(CenterdataTHydraulicChannelBlueline centerdataTHydraulicChannelBlueline);
 
     List<Map<String,Object>> selectReservoirStatistics(CenterdataTHydraulicReservoir centerdataTHydraulicReservoir);

+ 1 - 11
src/main/java/com/sooka/sponest/data/digitalwater/service/impl/WaterBigDataServiceImpl.java

@@ -2,7 +2,6 @@ package com.sooka.sponest.data.digitalwater.service.impl;
 
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.datascope.annotation.DataScopeMutiDept;
-import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.system.api.utils.DeptLevelUtil;
 import com.sooka.sponest.data.app.domain.VisuForestCloudMapVO;
 import com.sooka.sponest.data.base.service.impl.BaseServiceImpl;
@@ -18,7 +17,6 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -150,7 +148,6 @@ public class WaterBigDataServiceImpl extends BaseServiceImpl implements IWaterBi
     @DataScopeMutiDept(deptAlias = "d")
     @Override
     public List<Map<String,Object>> selectPollutantDischargeStatistics(CenterdataTHydraulicOutletSewage centerdataTHydraulicOutletSewage) {
-
         setSookaDataBase(centerdataTHydraulicOutletSewage);
         return waterBigDataMapper.selectPollutantDischargeStatistics(centerdataTHydraulicOutletSewage);
     }
@@ -159,14 +156,7 @@ public class WaterBigDataServiceImpl extends BaseServiceImpl implements IWaterBi
     @Override
     public List<Map<String,Object>> selectHydropowerResources(CenterdataTResourcesHydroenergy centerdataTResourcesHydroenergy) throws IOException {
         setSookaDataBase(centerdataTResourcesHydroenergy);
-        List<Map<String,Object>> list = waterBigDataMapper.selectCenterdataTResourcesHydroenergyList(centerdataTResourcesHydroenergy);
-        if (StringUtils.isNull(centerdataTResourcesHydroenergy.getDeptId())){
-            centerdataTResourcesHydroenergy.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
-        }
-        List<String> addKeys = new ArrayList<>();
-        addKeys.add("riverTotal");
-        addKeys.add("waterVolume");
-        return deptLevelUtil.getDeptLevel(String.valueOf(centerdataTResourcesHydroenergy.getDeptId()),list,addKeys);
+        return waterBigDataMapper.selectCenterdataTResourcesHydroenergyList(centerdataTResourcesHydroenergy);
     }
 
 

+ 5 - 5
src/main/resources/mapper/digitalagriculture/AgricultureBigDataMapper.xml

@@ -271,7 +271,7 @@
           GROUP BY a.dept_id
     </select>
 
-    <select id="getResourceStatistics" parameterType="AgricultureBigDataBO" resultType="map">
+    <select id="getResourceStatistics" parameterType="AgricultureBigDataBO" resultType="java.util.LinkedHashMap">
         SELECT
             '耕地面积' AS category, IFNULL(SUM(area), 0) AS num
         FROM
@@ -482,7 +482,7 @@
             year desc
     </select>
 
-    <select id="getCultivationStatisticsByYear" resultType="map">
+    <select id="getCultivationStatisticsByYear" resultType="java.util.LinkedHashMap">
         SELECT
             ifnull( MAX( d.ancestors ), 0 ) ancestors,
             ifnull( MAX( a.dept_id ), 0 ) deptId,
@@ -502,7 +502,7 @@
     </select>
 
 
-    <select id="getAgriculturalSubsidy" resultType="map" parameterType="AgricultureBigDataBO">
+    <select id="getAgriculturalSubsidy" resultType="java.util.LinkedHashMap" parameterType="AgricultureBigDataBO">
         SELECT
             ifnull( MAX( d.ancestors ), 0 ) ancestors,
             ifnull( MAX( a.dept_id ), 0 ) deptId,
@@ -565,7 +565,7 @@
             a.dict_value
     </select>
 
-    <select id="getFertilizerStatistics" resultType="map" parameterType="AgricultureBigDataBO">
+    <select id="getFertilizerStatistics" resultType="java.util.LinkedHashMap" parameterType="AgricultureBigDataBO">
         SELECT
             a.dict_label AS category,
             COALESCE ( SUM( stock ), 0 ) AS stockNum
@@ -768,7 +768,7 @@
             modes.business_type;
     </select>
 
-    <select id="getStrawTurnover" resultType="map">
+    <select id="getStrawTurnover" resultType="java.util.LinkedHashMap">
         SELECT
             ifnull( MAX( d.ancestors ), 0 ) ancestors,
             ifnull( MAX( a.dept_id ), 0 ) deptId,

+ 2 - 2
src/main/resources/mapper/digitalwater/WaterBigDataMapper.xml

@@ -158,7 +158,7 @@
         where 1=1 ${params.dataScope}
         group by a.dept_id,a.dept_name
     </select>
-    <select id="selectChannelBlueLine" resultType="java.util.Map">
+    <select id="selectChannelBlueLine" resultType="java.util.LinkedHashMap">
         SELECT
             a.dict_label name,
             ifnull( sum( b.area ), 0 ) area
@@ -184,7 +184,7 @@
         ORDER BY
             ifnull( SUM( b.area ), 0 ) DESC
     </select>
-    <select id="selectReservoirStatistics" resultType="java.util.Map">
+    <select id="selectReservoirStatistics" resultType="java.util.LinkedHashMap">
         select a.name name ,ifnull(sum(a.capacity),0) capacity from centerdata_t_hydraulic_reservoir a
         left join ${database_system}.sys_dept d on d.dept_id = a.dept_id
         <where>