Pārlūkot izejas kodu

应急数据中台接口

朴弘宇 1 gadu atpakaļ
vecāks
revīzija
7bac3662c6

+ 20 - 1
src/main/java/com/sooka/sponest/data/digitalemergency/controller/EmergencyBigDataController.java

@@ -61,7 +61,7 @@ public class EmergencyBigDataController extends BaseController {
      */
     @ApiOperation(value = "查询所有资源",notes = "查询所有资源")
     @PostMapping("/getEmergencyResourceCount")
-    public R<List<VisuEmergencyCenterDataCountBO>> getEmergencyResourceCount(@RequestBody VisuEmergencyCenterDataVO vo) {
+    public R<List<VisuEmergencyCenterDataCountBO>>getEmergencyResourceCount(@RequestBody VisuEmergencyCenterDataVO vo) {
         return R.ok(emergencyBigDataService.getEmergencyResourceCount(vo));
     }
     @ApiOperation(value = "查询所有资源",notes = "查询所有资源")
@@ -133,4 +133,23 @@ public class EmergencyBigDataController extends BaseController {
         CenterdataTEmergencyTeam team = new CenterdataTEmergencyTeam();
         return R.ok(emergencyBigDataService.getBigDataFortenterprises(team));
     }
+
+    /**
+     * 查询应急物资
+     */
+    @ApiOperation(value = "查询应急物资",notes = "查询应急物资")
+    @GetMapping("/getBigDataForMaterial")
+    public R<List<Map<String,Object>>> getBigDataForMaterial() {
+        CenterdataTEmergencyTeam team = new CenterdataTEmergencyTeam();
+        return R.ok(emergencyBigDataService.getBigDataForMaterial(team));
+    }
+
+    /**
+     * 数据中台统计
+     */
+    @ApiOperation(value = "数据中台统计",notes = "数据中台统计")
+    @PostMapping("/getEmergencyAllCount")
+    public R<List<VisuEmergencyCenterDataCountBO>> getEmergencyAllCount(@RequestBody VisuEmergencyCenterDataVO vo) {
+        return R.ok(emergencyBigDataService.getEmergencyAllCount(vo));
+    }
 }

+ 10 - 0
src/main/java/com/sooka/sponest/data/digitalemergency/mapper/EmergencyBigDataMapper.java

@@ -64,4 +64,14 @@ public interface EmergencyBigDataMapper {
     List<Map<String, Object>> getBigDataFortwarehouse(CenterdataTEmergencyTeam team);
 
     List<Map<String, Object>> getBigDataFortenterprises(CenterdataTEmergencyTeam team);
+
+    /**
+     * 查询应急物资
+     */
+    List<Map<String, Object>> getBigDataForMaterial(CenterdataTEmergencyTeam team);
+
+    /**
+     * 数据中台统计
+     */
+    List getEmergencyAllCount(VisuEmergencyCenterDataVO vo);
 }

+ 10 - 0
src/main/java/com/sooka/sponest/data/digitalemergency/service/IEmergencyBigDataService.java

@@ -58,4 +58,14 @@ public interface IEmergencyBigDataService {
 
     List<Map<String,Object>> getBigDataFortenterprises(CenterdataTEmergencyTeam team);
 
+    /**
+     * 查询应急物资
+     */
+    List<Map<String,Object>> getBigDataForMaterial(CenterdataTEmergencyTeam team);
+
+    /**
+     * 数据中台统计
+     */
+    List getEmergencyAllCount(VisuEmergencyCenterDataVO vo);
+
 }

+ 20 - 0
src/main/java/com/sooka/sponest/data/digitalemergency/service/impl/EmergencyBigDataServiceImpl.java

@@ -113,4 +113,24 @@ public class EmergencyBigDataServiceImpl extends BaseServiceImpl implements IEme
         setSookaDataBase(team);
         return emergencyBigDataMapper.getBigDataFortenterprises(team);
     }
+
+    /**
+     * 查询应急物资
+     */
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<Map<String, Object>> getBigDataForMaterial(CenterdataTEmergencyTeam team) {
+        setSookaDataBase(team);
+        return emergencyBigDataMapper.getBigDataForMaterial(team);
+    }
+
+    /**
+     * 数据中台统计
+     */
+    @Override
+    @DataScopeMutiDept(deptAlias = "d", userAlias = "u")
+    public List getEmergencyAllCount(VisuEmergencyCenterDataVO vo) {
+        setSookaDataBase(vo);
+        return emergencyBigDataMapper.getEmergencyAllCount(vo);
+    }
 }

+ 160 - 0
src/main/resources/mapper/digitalemergency/EmergencyBigDataMapper.xml

@@ -287,4 +287,164 @@
       order by
         count desc
     </select>
+    <select id="getBigDataForMaterial" resultType="Map" parameterType="CenterdataTEmergencyTeam">
+      select
+        x.material_type,y.dict_label,COUNT(x.id) count
+     from
+        centerdata_t_emergency_material x
+        LEFT JOIN
+        ${database_system}.sys_dict_data y
+        ON
+        x.material_type = y.dict_value and y.dict_type = 'emergency_material_type'
+        LEFT JOIN
+        ${database_system}.sys_dept d
+        ON
+        x.dept_id = d.dept_id
+      where true
+        ${params.dataScope}
+      GROUP BY
+        x.material_type
+      order by
+        count desc
+    </select>
+    <select id="getEmergencyAllCount" parameterMap="resourceParm" resultMap="countResult">
+    SELECT
+	'centerdata_t_emergency_warehouse' resourceTable,
+	'应急仓库' resourceName,
+	count(*) count,
+	'icon-centerdata_t_emergency_warehouse' icon
+    FROM
+	onest_data.centerdata_t_emergency_warehouse 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
+	1 = 1 ${params.dataScope}
+    UNION
+    SELECT
+	'centerdata_t_emergency_team' resourceTable,
+	'应急队伍' resourceName,
+	count(*) count,
+	'icon-centerdata_t_emergency_team' icon
+    FROM
+	onest_data.centerdata_t_emergency_team 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
+	1 = 1 ${params.dataScope}
+    UNION
+    SELECT
+	'centerdata_t_emergency_idlh_enterprises' resourceTable,
+	'危化企业' resourceName,
+	count(*) count,
+	'icon-centerdata_t_emergency_idlh_enterprises' icon
+    FROM
+	onest_data.centerdata_t_emergency_idlh_enterprises 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
+	1 = 1 ${params.dataScope}
+    UNION
+    SELECT
+	'centerdata_t_emergency_material' resourceTable,
+	'应急物资' resourceName,
+	count(*) count,
+	'icon-centerdata_t_emergency_material' icon
+    FROM
+	onest_data.centerdata_t_emergency_material 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
+	1 = 1 ${params.dataScope}
+    UNION
+    SELECT
+	'centerdata_t_forest_firehydrant' resourceTable,
+	'地上消火栓' resourceName,
+	count(*) count,
+	'icon-centerdata_t_forest_firehydrant' 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_1"
+    AND
+	1 = 1 ${params.dataScope}
+    UNION
+    SELECT
+	'centerdata_t_forest_firehydrant' resourceTable,
+	'地下消火栓' resourceName,
+	count(*) count,
+	'icon-centerdata_t_forest_firehydrant' 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_2"
+    AND
+	1 = 1 ${params.dataScope}
+    UNION
+    SELECT
+	'centerdata_t_forest_firehydrant' resourceTable,
+	'室内消火栓' resourceName,
+	count(*) count,
+	'icon-centerdata_t_forest_firehydrant' 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"
+    AND
+	1 = 1 ${params.dataScope}
+    UNION
+    SELECT
+	'centerdata_t_forest_watercrane' resourceTable,
+	'水鹤' resourceName,
+	count(*) count,
+	'icon-centerdata_t_forest_watercrane' icon
+    FROM
+	onest_data.centerdata_t_forest_watercrane 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
+	1 = 1 ${params.dataScope}
+    UNION
+    SELECT
+	'centerdata_t_forest_waterintake' resourceTable,
+	'取水口' resourceName,
+	count(*) count,
+	'icon-centerdata_t_forest_waterintake' icon
+    FROM
+	onest_data.centerdata_t_forest_waterintake 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
+	1 = 1 ${params.dataScope}
+    UNION
+    SELECT
+	'centerdata_t_firecontrol_foam_liquid' resourceTable,
+	'泡沫液' resourceName,
+	count(*) count,
+	'icon-centerdata_t_firecontrol_foam_liquid' icon
+    FROM
+	onest_data.centerdata_t_firecontrol_foam_liquid 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
+	1 = 1 ${params.dataScope}
+    UNION
+    SELECT
+	'centerdata_t_firecontrol_fire_force' resourceTable,
+	'消防力量' resourceName,
+	count(*) count,
+	'icon-centerdata_t_firecontrol_fire_force' icon
+    FROM
+	onest_data.centerdata_t_firecontrol_fire_force 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
+	1 = 1 ${params.dataScope}
+
+    </select>
 </mapper>