فهرست منبع

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

zhaowenrui 1 سال پیش
والد
کامیت
f756dac8bc

+ 32 - 14
src/main/java/com/sooka/sponest/data/digitalfirecontrol/controller/FireControlBigDataController.java

@@ -7,10 +7,9 @@ import com.sooka.sponest.data.app.domain.VisuForestCloudMapVO;
 import com.sooka.sponest.data.basicdata.domain.CenterdataTForestFirehydrant;
 import com.sooka.sponest.data.basicdata.domain.CenterdataTForestWatercrane;
 import com.sooka.sponest.data.basicdata.domain.CenterdataTForestWaterintake;
-import com.sooka.sponest.data.digitalfirecontrol.domain.CenterdataTFirecontrolBasicLinkageForce;
-import com.sooka.sponest.data.digitalfirecontrol.domain.CenterdataTFirecontrolFoamLiquid;
-import com.sooka.sponest.data.digitalfirecontrol.domain.CenterdataTFirecontrolFulltimeStation;
-import com.sooka.sponest.data.digitalfirecontrol.domain.CenterdataTFirecontrolOtherLinkageForce;
+import com.sooka.sponest.data.digitalemergency.domain.bo.VisuEmergencyCenterDataCountBO;
+import com.sooka.sponest.data.digitalemergency.domain.vo.VisuEmergencyCenterDataVO;
+import com.sooka.sponest.data.digitalfirecontrol.domain.*;
 import com.sooka.sponest.data.digitalfirecontrol.service.IFireControlBigDataService;
 import com.sooka.sponest.data.generalbusiness.domain.CenterdataTForestImportarea;
 import com.sooka.sponest.data.generalbusiness.domain.vo.CenterdataTForestWeatherinformationBigDataVO;
@@ -25,6 +24,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
+import java.io.IOException;
+import java.util.List;
+
 /**
  * @Auther: mjq
  * @Date: 2023/5/12 - 05 - 12 - 9:25
@@ -46,7 +48,7 @@ public class FireControlBigDataController extends BaseController {
         return R.ok(iFireControlBigDataService.selectBigDataWatercraneDeptCount(centerdataTForestWatercrane));
     }
 
-    @ApiOperation(value = "远程调用查询林业各资源数量", notes = "远程调用查询林业各资源数量")
+    @ApiOperation(value = "远程调用查询消防各资源数量", notes = "远程调用查询消防各资源数量")
     @PostMapping("/geFireControltTotal")
     public R geFireControltTotal(@RequestBody VisuForestCloudMapVO visuForestCloudMapVO) {
         return R.ok(iFireControlBigDataService.geFireControltTotal(visuForestCloudMapVO));
@@ -54,8 +56,7 @@ public class FireControlBigDataController extends BaseController {
 
     @ApiOperation(value = "查询取水口数量按部门分组远端调用", notes = "查询取水口数量按部门分组远端调用")
     @PostMapping("/selectBigDataWaterintakeDeptCount")
-    public R selectBigDataWaterintakeDeptCount() {
-        CenterdataTForestWaterintake centerdataTForestWaterintake = new CenterdataTForestWaterintake();
+    public R selectBigDataWaterintakeDeptCount(CenterdataTForestWaterintake centerdataTForestWaterintake) {
         return R.ok(iFireControlBigDataService.selectBigDataWaterintakeDeptCount(centerdataTForestWaterintake));
     }
 
@@ -82,8 +83,7 @@ public class FireControlBigDataController extends BaseController {
      */
     @ApiOperation(value = "远端调用查询消火栓数量按部门分组", notes = "远端调用查询消火栓数量按部门分组")
     @PostMapping("/selectBigDataFirehydrantDeptCount")
-    public R selectBigDataFirehydrantDeptCount() {
-        CenterdataTForestFirehydrant centerdataTForestFirehydrant = new CenterdataTForestFirehydrant();
+    public R selectBigDataFirehydrantDeptCount(CenterdataTForestFirehydrant centerdataTForestFirehydrant) {
         return R.ok(iFireControlBigDataService.selectBigDataFirehydrantDeptCount(centerdataTForestFirehydrant));
     }
 
@@ -92,12 +92,13 @@ public class FireControlBigDataController extends BaseController {
      */
     @ApiOperation(value = "远端调用查询泡沫液数量按部门分组", notes = "远端调用查询泡沫液数量按部门分组")
     @PostMapping("/selectBigDataFirecontrolFoamLiquidDeptCount")
-    public R selectBigDataFirecontrolFoamLiquidDeptCount() {
-        CenterdataTFirecontrolFoamLiquid centerdataTFirecontrolFoamLiquid = new CenterdataTFirecontrolFoamLiquid();
+    public R selectBigDataFirecontrolFoamLiquidDeptCount(CenterdataTFirecontrolFoamLiquid centerdataTFirecontrolFoamLiquid) {
         return R.ok(iFireControlBigDataService.selectBigDataFirecontrolFoamLiquidDeptCount(centerdataTFirecontrolFoamLiquid));
     }
 
-    //联动车辆统计
+    /**
+     * 基本联动力量
+     */
     @ApiOperation(value = "可视化获取基本联动力量列表", notes = "可视化获取基本联动力量列表")
     @PostMapping("/getbasiclinkageforeList")
     public AjaxResult getbasiclinkageforeList() {
@@ -108,8 +109,7 @@ public class FireControlBigDataController extends BaseController {
     //其他力量统计
     @ApiOperation(value = "其他联动力量统计饼图", notes = "其他联动力量统计饼图")
     @PostMapping("/getOtherlinkageforceList")
-    public AjaxResult getOtherlinkageforceList() {
-        CenterdataTFirecontrolOtherLinkageForce centerdataTFirecontrolOtherLinkageForce = new CenterdataTFirecontrolOtherLinkageForce();
+    public AjaxResult getOtherlinkageforceList(CenterdataTFirecontrolOtherLinkageForce centerdataTFirecontrolOtherLinkageForce) {
         return AjaxResult.success(iFireControlBigDataService.getOtherlinkageforceList(centerdataTFirecontrolOtherLinkageForce));
     }
 
@@ -124,4 +124,22 @@ public class FireControlBigDataController extends BaseController {
     public R selectBigDataImportareaDeptCount(@ApiIgnore @RequestBody CenterdataTForestImportarea centerdataTForestImportarea) {
         return R.ok(iFireControlBigDataService.selectBigDataImportareaDeptCount(centerdataTForestImportarea));
     }
+
+    /**
+     * 消防力量
+     */
+    @ApiOperation(value = "远端调用查询消防力量管理数量按部门分组", notes = "远端调用查询消防力量管理数量按部门分组")
+    @PostMapping("/selectBigDataFireforceDeptCount")
+    public R selectBigDataFireforceDeptCount(CenterdataTFirecontrolFireForce centerdataTFirecontrolFireForce) {
+        return R.ok(iFireControlBigDataService.selectBigDataFireforceDeptCount(centerdataTFirecontrolFireForce));
+    }
+
+    /**
+     * 水鹤+取水口+消火栓
+     */
+    @ApiOperation(value = "查询水鹤+取水口+消火栓远端调用", notes = "查询水鹤+取水口+消火栓远端调用")
+    @PostMapping("/selectBigDataNumWithDeptCount")
+    public R selectBigDataNumWithDeptCount(VisuForestCloudMapVO visuForestCloudMapVO) throws IOException {
+        return iFireControlBigDataService.selectBigDataNumWithDeptCount(visuForestCloudMapVO);
+    }
 }

+ 14 - 4
src/main/java/com/sooka/sponest/data/digitalfirecontrol/mapper/FireControlBigDataMapper.java

@@ -1,13 +1,12 @@
 package com.sooka.sponest.data.digitalfirecontrol.mapper;
 
+import com.ruoyi.common.core.domain.R;
 import com.sooka.sponest.data.app.domain.VisuForestCloudMapVO;
 import com.sooka.sponest.data.basicdata.domain.CenterdataTForestFirehydrant;
 import com.sooka.sponest.data.basicdata.domain.CenterdataTForestWatercrane;
 import com.sooka.sponest.data.basicdata.domain.CenterdataTForestWaterintake;
-import com.sooka.sponest.data.digitalfirecontrol.domain.CenterdataTFirecontrolBasicLinkageForce;
-import com.sooka.sponest.data.digitalfirecontrol.domain.CenterdataTFirecontrolFoamLiquid;
-import com.sooka.sponest.data.digitalfirecontrol.domain.CenterdataTFirecontrolFulltimeStation;
-import com.sooka.sponest.data.digitalfirecontrol.domain.CenterdataTFirecontrolOtherLinkageForce;
+import com.sooka.sponest.data.digitalemergency.domain.vo.VisuEmergencyCenterDataVO;
+import com.sooka.sponest.data.digitalfirecontrol.domain.*;
 import com.sooka.sponest.data.digitalforest.domain.bo.VisuForestCloudEventTypeBO;
 import com.sooka.sponest.data.generalbusiness.domain.CenterdataTForestImportarea;
 import com.sooka.sponest.data.generalbusiness.domain.CenterdataTForestWeatherinformation;
@@ -41,4 +40,15 @@ public interface FireControlBigDataMapper {
     List getOtherlinkageforceList(CenterdataTFirecontrolOtherLinkageForce centerdataTFirecontrolOtherLinkageForce);
 
     List<VisuForestCloudEventTypeBO> selectBigDataImportareaDeptCount(CenterdataTForestImportarea centerdataTForestImportarea);
+
+    /**
+     * 消防力量
+     */
+    List<Map<String, Object>> selectBigDataFireforceDeptCount(CenterdataTFirecontrolFireForce centerdataTFirecontrolFireForce);
+
+    /**
+     * 水鹤+取水口+消火栓
+     */
+    List<Map<String, Object>> selectBigDataNumWithDeptCount(VisuForestCloudMapVO visuForestCloudMapVO);
+
 }

+ 15 - 4
src/main/java/com/sooka/sponest/data/digitalfirecontrol/service/IFireControlBigDataService.java

@@ -1,18 +1,18 @@
 package com.sooka.sponest.data.digitalfirecontrol.service;
 
+import com.ruoyi.common.core.domain.R;
 import com.sooka.sponest.data.app.domain.VisuForestCloudMapVO;
 import com.sooka.sponest.data.basicdata.domain.CenterdataTForestFirehydrant;
 import com.sooka.sponest.data.basicdata.domain.CenterdataTForestWatercrane;
 import com.sooka.sponest.data.basicdata.domain.CenterdataTForestWaterintake;
-import com.sooka.sponest.data.digitalfirecontrol.domain.CenterdataTFirecontrolBasicLinkageForce;
-import com.sooka.sponest.data.digitalfirecontrol.domain.CenterdataTFirecontrolFoamLiquid;
-import com.sooka.sponest.data.digitalfirecontrol.domain.CenterdataTFirecontrolFulltimeStation;
-import com.sooka.sponest.data.digitalfirecontrol.domain.CenterdataTFirecontrolOtherLinkageForce;
+import com.sooka.sponest.data.digitalemergency.domain.vo.VisuEmergencyCenterDataVO;
+import com.sooka.sponest.data.digitalfirecontrol.domain.*;
 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;
 
@@ -42,4 +42,15 @@ public interface IFireControlBigDataService {
     List getOtherlinkageforceList(CenterdataTFirecontrolOtherLinkageForce centerdataTFirecontrolOtherLinkageForce);
 
     List<VisuForestCloudEventTypeBO> selectBigDataImportareaDeptCount(CenterdataTForestImportarea centerdataTForestImportarea);
+
+    /**
+     * 消防力量
+     */
+    R selectBigDataFireforceDeptCount(CenterdataTFirecontrolFireForce centerdataTFirecontrolFireForce);
+
+    /**
+     * 水鹤+取水口+消火栓
+     */
+    R selectBigDataNumWithDeptCount(VisuForestCloudMapVO visuForestCloudMapVO)throws IOException;
+
 }

+ 29 - 4
src/main/java/com/sooka/sponest/data/digitalfirecontrol/service/impl/FireControlBigDataServiceImpl.java

@@ -1,5 +1,6 @@
 package com.sooka.sponest.data.digitalfirecontrol.service.impl;
 
+import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.utils.DateUtils;
 import com.ruoyi.common.datascope.annotation.DataScopeMutiDept;
 import com.sooka.sponest.data.app.domain.VisuForestCloudMapVO;
@@ -7,10 +8,7 @@ import com.sooka.sponest.data.base.service.impl.BaseServiceImpl;
 import com.sooka.sponest.data.basicdata.domain.CenterdataTForestFirehydrant;
 import com.sooka.sponest.data.basicdata.domain.CenterdataTForestWatercrane;
 import com.sooka.sponest.data.basicdata.domain.CenterdataTForestWaterintake;
-import com.sooka.sponest.data.digitalfirecontrol.domain.CenterdataTFirecontrolBasicLinkageForce;
-import com.sooka.sponest.data.digitalfirecontrol.domain.CenterdataTFirecontrolFoamLiquid;
-import com.sooka.sponest.data.digitalfirecontrol.domain.CenterdataTFirecontrolFulltimeStation;
-import com.sooka.sponest.data.digitalfirecontrol.domain.CenterdataTFirecontrolOtherLinkageForce;
+import com.sooka.sponest.data.digitalfirecontrol.domain.*;
 import com.sooka.sponest.data.digitalfirecontrol.mapper.FireControlBigDataMapper;
 import com.sooka.sponest.data.digitalfirecontrol.service.IFireControlBigDataService;
 import com.sooka.sponest.data.digitalforest.domain.bo.VisuForestCloudEventTypeBO;
@@ -18,9 +16,12 @@ import com.sooka.sponest.data.generalbusiness.domain.CenterdataTForestImportarea
 import com.sooka.sponest.data.generalbusiness.domain.CenterdataTForestWeatherinformation;
 import com.sooka.sponest.data.generalbusiness.domain.bo.CenterdataTForestWeatherinformationBigDataBO;
 import com.sooka.sponest.data.generalbusiness.domain.vo.CenterdataTForestWeatherinformationBigDataVO;
+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.List;
 import java.util.Map;
 
@@ -35,6 +36,8 @@ public class FireControlBigDataServiceImpl extends BaseServiceImpl implements IF
 
     @Autowired
     private FireControlBigDataMapper fireControlBigDataMapper;
+    @Autowired
+    private DeptLevelUtil deptLevelUtil;
 
     @DataScopeMutiDept(deptAlias = "d")
     @Override
@@ -116,4 +119,26 @@ public class FireControlBigDataServiceImpl extends BaseServiceImpl implements IF
         setSookaDataBase(centerdataTForestImportarea);
         return fireControlBigDataMapper.selectBigDataImportareaDeptCount(centerdataTForestImportarea);
     }
+
+    /**
+     * 消防力量
+     */
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public R selectBigDataFireforceDeptCount(CenterdataTFirecontrolFireForce centerdataTFirecontrolFireForce) {
+        setSookaDataBase(centerdataTFirecontrolFireForce);
+        List<Map<String,Object>> list = fireControlBigDataMapper.selectBigDataFireforceDeptCount(centerdataTFirecontrolFireForce);
+        return deptLevelUtil.getDeptLevel(list);
+    }
+
+    /**
+     * 水鹤+取水口+消火栓
+     */
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public R selectBigDataNumWithDeptCount(VisuForestCloudMapVO visuForestCloudMapVO) throws IOException {
+        setSookaDataBase(visuForestCloudMapVO);
+        List<Map<String,Object>> list = fireControlBigDataMapper.selectBigDataNumWithDeptCount(visuForestCloudMapVO);
+        return deptLevelUtil.getDeptLevel(list);
+    }
 }

+ 40 - 0
src/main/resources/mapper/digitalfirecontrol/FireControlBigDataMapper.xml

@@ -139,4 +139,44 @@
         where a.area_type = #{areaType} ${params.dataScope}
         group by a.dept_name,a.dept_id
     </select>
+
+    <select id="selectBigDataFireforceDeptCount" resultType="java.util.Map">
+        select d.ancestors ancestors, a.dept_id deptId, a.dept_name name,count(a.id) value from centerdata_t_firecontrol_fire_force a
+        left join ${database_system}.sys_dept d on d.dept_id = a.dept_id
+        where 1=1 ${params.dataScope}
+        group by a.dept_id,a.dept_name
+    </select>
+
+    <select id="selectBigDataNumWithDeptCount" parameterMap="pm_VisuForestCloudMapVO" resultType="map">
+    SELECT a.ancestors,a.deptId,
+         sum(CASE WHEN a.`name` = '消火栓' THEN a.value ELSE 0 END) AS '消火栓',
+         sum(CASE WHEN a.`name` = '取水口' THEN a.value ELSE 0 END) AS '取水口',
+         sum(CASE WHEN a.`name` = '水鹤' THEN a.value ELSE 0 END) AS '水鹤'
+FROM (
+    SELECT d.ancestors ancestors, a.dept_id deptId, '水鹤' name, COUNT(*) value
+    FROM centerdata_t_forest_watercrane a
+    LEFT JOIN ${database_system}.sys_dept d ON d.dept_id = a.dept_id
+    WHERE 1 = 1 ${params.dataScope}
+    AND del_flag = 0
+    GROUP BY a.dept_id
+
+    UNION ALL
+
+    SELECT d.ancestors ancestors, a.dept_id deptId, '取水口' name, COUNT(*) value
+    FROM centerdata_t_forest_waterintake a
+    LEFT JOIN ${database_system}.sys_dept d ON d.dept_id = a.dept_id
+    WHERE 1 = 1 ${params.dataScope}
+    AND del_flag = 0
+    GROUP BY a.dept_id
+
+    UNION ALL
+
+    SELECT d.ancestors ancestors, a.dept_id deptId, '消火栓' name, COUNT(*) value
+    FROM centerdata_t_forest_firehydrant a
+    LEFT JOIN ${database_system}.sys_dept d ON d.dept_id = a.dept_id
+    WHERE 1 = 1 ${params.dataScope}
+    AND del_flag = 0
+    GROUP BY a.dept_id
+) a GROUP BY a.ancestors,a.deptId
+    </select>
 </mapper>