浏览代码

数据中心水利

lidongyu 1 年之前
父节点
当前提交
4b171d4633

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

@@ -35,6 +35,47 @@ public class WaterBigDataController extends BaseController {
     @Autowired
     private IWaterBigDataService waterBigDataService;
 
+    /**
+     * 河道蓝线(按照类型统计河道蓝线面积)
+     * @return
+     */
+    @ApiOperation(value = "河道蓝线(按照类型统计河道蓝线面积)", notes = "河道蓝线(按照类型统计河道蓝线面积)")
+    @PostMapping("/selectChannelBlueLine")
+    public R selectChannelBlueLine(CenterdataTHydraulicChannelBlueline centerdataTHydraulicChannelBlueline) {
+        return R.ok(waterBigDataService.selectChannelBlueLine(centerdataTHydraulicChannelBlueline));
+    }
+
+    /**
+     * 水库统计(按水库名称统计总容量)
+     * @return
+     */
+    @ApiOperation(value = "水库统计(按水库名称统计总容量)", notes = "水库统计(按水库名称统计总容量)")
+    @PostMapping("/selectReservoirStatistics")
+    public R selectReservoirStatistics(CenterdataTHydraulicReservoir centerdataTHydraulicReservoir) {
+        return R.ok(waterBigDataService.selectReservoirStatistics(centerdataTHydraulicReservoir));
+    }
+
+    /**
+     * 河流统计(河流名称、河长(公里)、河流面积(平方千米)、流经村数(暂无)!)
+     * @return
+     */
+    @ApiOperation(value = "河流统计(河流名称、河长(公里)、河流面积(平方千米)、流经村数(暂无)!)", notes = "河流统计(河流名称、河长(公里)、河流面积(平方千米)、流经村数(暂无)!)")
+    @PostMapping("/selectRiverStatistics")
+    public R selectRiverStatistics(CenterdataTHydraulicRiver centerdataTHydraulicRiver) {
+        return R.ok(waterBigDataService.selectRiverStatistics(centerdataTHydraulicRiver));
+    }
+
+    /**
+     * 排污统计(按排污属性统计排污口数量)
+     * @return
+     */
+    @ApiOperation(value = "排污统计(按排污属性统计排污口数量)", notes = "排污统计(按排污属性统计排污口数量)")
+    @PostMapping("/selectPollutantDischargeStatistics")
+    public R selectPollutantDischargeStatistics(CenterdataTHydraulicOutletSewage centerdataTHydraulicOutletSewage) {
+        return R.ok(waterBigDataService.selectPollutantDischargeStatistics(centerdataTHydraulicOutletSewage));
+    }
+
+
     //沙场统计图
     @ApiOperation(value = "远端调用查询沙场数量按部门分组", notes = "远端调用查询沙场数量按部门分组")
     @PostMapping("/selectBattlefieldWaterDeptCount")
@@ -43,6 +84,8 @@ public class WaterBigDataController extends BaseController {
         return R.ok(waterBigDataService.selectBattlefieldWaterDeptCount(centerdataTHydraulicBattlefield));
     }
 
+
+
     /**
      * 数字水利远端调用
      */

+ 8 - 0
src/main/java/com/sooka/sponest/data/digitalwater/mapper/WaterBigDataMapper.java

@@ -43,4 +43,12 @@ public interface WaterBigDataMapper {
     List selectWaterProjectDeptCount(CenterdataTHydraulicWaterProject centerdataTHydraulicWaterProject);
 
     List selectReachWaterDeptCount(CenterdataTHydraulicReach centerdataTHydraulicReach);
+
+    List<Map<String,Object>> selectChannelBlueLine(CenterdataTHydraulicChannelBlueline centerdataTHydraulicChannelBlueline);
+
+    List<Map<String, Object>> selectReservoirStatistics(CenterdataTHydraulicReservoir centerdataTHydraulicReservoir);
+
+    List<CenterdataTHydraulicRiver> selectRiverStatistics(CenterdataTHydraulicRiver centerdataTHydraulicRiver);
+
+    List<Map<String, Object>> selectPollutantDischargeStatistics(CenterdataTHydraulicOutletSewage centerdataTHydraulicOutletSewage);
 }

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

@@ -45,4 +45,14 @@ public interface IWaterBigDataService {
     List selectWaterProjectDeptCount(CenterdataTHydraulicWaterProject centerdataTHydraulicWaterProject);
 
     List selectReachWaterDeptCount(CenterdataTHydraulicReach centerdataTHydraulicReach);
+
+
+
+    List<Map<String,Object>> selectChannelBlueLine(CenterdataTHydraulicChannelBlueline centerdataTHydraulicChannelBlueline);
+
+    List<Map<String,Object>> selectReservoirStatistics(CenterdataTHydraulicReservoir centerdataTHydraulicReservoir);
+
+    List<CenterdataTHydraulicRiver> selectRiverStatistics(CenterdataTHydraulicRiver centerdataTHydraulicRiver);
+
+    List<Map<String,Object>> selectPollutantDischargeStatistics(CenterdataTHydraulicOutletSewage centerdataTHydraulicOutletSewage);
 }

+ 25 - 0
src/main/java/com/sooka/sponest/data/digitalwater/service/impl/WaterBigDataServiceImpl.java

@@ -110,5 +110,30 @@ public class WaterBigDataServiceImpl extends BaseServiceImpl implements IWaterBi
         setSookaDataBase(centerdataTHydraulicReach);
         return waterBigDataMapper.selectReachWaterDeptCount(centerdataTHydraulicReach);
     }
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<Map<String,Object>> selectChannelBlueLine(CenterdataTHydraulicChannelBlueline centerdataTHydraulicChannelBlueline) {
+        setSookaDataBase(centerdataTHydraulicChannelBlueline);
+        return waterBigDataMapper.selectChannelBlueLine(centerdataTHydraulicChannelBlueline);
+    }
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<Map<String, Object>> selectReservoirStatistics(CenterdataTHydraulicReservoir centerdataTHydraulicReservoir) {
+        setSookaDataBase(centerdataTHydraulicReservoir);
+        return waterBigDataMapper.selectReservoirStatistics(centerdataTHydraulicReservoir);
+    }
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<CenterdataTHydraulicRiver> selectRiverStatistics(CenterdataTHydraulicRiver centerdataTHydraulicRiver) {
+        setSookaDataBase(centerdataTHydraulicRiver);
+        return waterBigDataMapper.selectRiverStatistics(centerdataTHydraulicRiver);
+    }
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<Map<String, Object>> selectPollutantDischargeStatistics(CenterdataTHydraulicOutletSewage centerdataTHydraulicOutletSewage) {
+
+        setSookaDataBase(centerdataTHydraulicOutletSewage);
+        return waterBigDataMapper.selectPollutantDischargeStatistics(centerdataTHydraulicOutletSewage);
+    }
 
 }

+ 66 - 0
src/main/resources/mapper/digitalwater/WaterBigDataMapper.xml

@@ -158,7 +158,73 @@
         where 1=1 ${params.dataScope}
         group by a.dept_id,a.dept_name
     </select>
+    <select id="selectChannelBlueLine" resultType="java.util.Map">
+        SELECT
+            a.dict_label NAME,
+            ifnull( sum( b.area ), 0 ) area
+        FROM
+        ${database_system}.sys_dict_data a
+                LEFT JOIN (
+                SELECT
+                    b.*
+                FROM
+                    centerdata_t_hydraulic_channel_blueline b
+                        LEFT JOIN ${database_system}.sys_dept d ON d.dept_id = b.dept_id
+                <where>
+                    ${params.dataScope}
+                </where>
 
+            ) b ON a.dict_value = b.attr_type
+        <where>
+            a.dict_type = 'centerdata_attr_type'
+        </where>
 
+        GROUP BY
+            a.dict_label
+        ORDER BY
+            ifnull( SUM( b.area ), 0 ) DESC
+    </select>
+    <select id="selectReservoirStatistics" resultType="java.util.Map">
+        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>
+            ${params.dataScope}
+        </where>
+        GROUP BY a.name
+        order by ifnull(sum(a.capacity),0) desc
+    </select>
+    <select id="selectRiverStatistics"
+            resultType="com.sooka.sponest.data.digitalwater.domain.CenterdataTHydraulicRiver">
+        select name,riverway_length,basin_area from centerdata_t_hydraulic_river a
+        left join ${database_system}.sys_dept d on d.dept_id = a.dept_id
+        <where>
+            ${params.dataScope}
+        </where>
+        order by cast(a.riverway_length as DECIMAL) desc,cast(a.basin_area as DECIMAL)
+    </select>
+    <select id="selectPollutantDischargeStatistics" resultType="java.util.Map">
+        SELECT
+            a.dict_label NAME,
+            count( b.id ) num
+        FROM
+        ${database_system}.sys_dict_data a
+                LEFT JOIN (
+                SELECT
+                    b.*
+                FROM
+                    centerdata_t_hydraulic_outlet_sewage b
+                        LEFT JOIN ${database_system}.sys_dept d ON d.dept_id = b.dept_id
+                <where>
+                    ${params.dataScope}
+                </where>
+            ) b ON b.sewage_attr = a.dict_value
+       <where>
+           a.dict_type = 'centerdata_sewage_attr'
+       </where>
 
+        GROUP BY
+            a.dict_label
+        ORDER BY
+            count( b.id ) DESC
+    </select>
 </mapper>