From dc4a461fa49310b5a3a1cecfb6e9f23d06002b32 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Thu, 09 Mar 2023 14:49:32 +0800
Subject: [PATCH] 大屏接口

---
 src/main/java/org/springblade/modules/dp/service/impl/ComprehensiveStatisticsServiceImpl.java |   50 +++++
 src/main/java/org/springblade/modules/vehicle/entity/VehicleEntity.java                       |   10 +
 src/main/java/org/springblade/modules/dp/mapper/ComprehensiveStatisticsMapper.xml             |   79 +++++++
 src/main/java/org/springblade/modules/dp/mapper/FireWarningMapper.xml                         |    6 
 src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java                |    6 
 src/main/java/org/springblade/modules/dp/controller/FireWarningController.java                |   44 ++++
 src/main/java/org/springblade/modules/dp/service/impl/FireWarningServiceImpl.java             |   12 +
 src/main/java/org/springblade/modules/dp/service/IFireWarningService.java                     |    4 
 src/main/java/org/springblade/modules/fire/vo/FireVO.java                                     |   26 ++
 src/main/java/org/springblade/modules/fire/mapper/FireMapper.java                             |    2 
 src/main/java/org/springblade/modules/system/dto/DeptDTO.java                                 |    5 
 src/main/java/org/springblade/common/config/BladeConfiguration.java                           |    1 
 src/main/java/org/springblade/modules/dp/mapper/ComprehensiveStatisticsMapper.java            |   22 ++
 src/main/java/org/springblade/modules/fire/service/IFireService.java                          |    2 
 src/main/java/org/springblade/modules/system/mapper/DeptMapper.java                           |    6 
 src/main/java/org/springblade/modules/dp/controller/ComprehensiveStatisticsController.java    |   97 +++++++++
 src/main/java/org/springblade/modules/dp/controller/MilitaryLocalCoordinationController.java  |   68 ++++++
 src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml                            |   20 ++
 src/main/java/org/springblade/modules/device/entity/DeviceEntity.java                         |   10 +
 src/main/java/org/springblade/modules/dp/service/IComprehensiveStatisticsService.java         |   39 +++
 src/main/java/org/springblade/modules/system/service/IDeptService.java                        |    6 
 src/main/java/org/springblade/modules/dp/mapper/FireWarningMapper.java                        |    7 
 src/main/java/org/springblade/modules/fire/mapper/FireMapper.xml                              |   35 +++
 src/main/java/org/springblade/modules/fire/service/impl/FireServiceImpl.java                  |    5 
 24 files changed, 554 insertions(+), 8 deletions(-)

diff --git a/src/main/java/org/springblade/common/config/BladeConfiguration.java b/src/main/java/org/springblade/common/config/BladeConfiguration.java
index 95335ba..c9106cb 100644
--- a/src/main/java/org/springblade/common/config/BladeConfiguration.java
+++ b/src/main/java/org/springblade/common/config/BladeConfiguration.java
@@ -51,6 +51,7 @@
 		secureRegistry.excludePathPatterns("/webjars/**");
 		secureRegistry.excludePathPatterns("/swagger-resources/**");
 		secureRegistry.excludePathPatterns("/druid/**");
+		secureRegistry.excludePathPatterns("/dp/**");
 		return secureRegistry;
 	}
 
diff --git a/src/main/java/org/springblade/modules/device/entity/DeviceEntity.java b/src/main/java/org/springblade/modules/device/entity/DeviceEntity.java
index 73281b2..51ace8d 100644
--- a/src/main/java/org/springblade/modules/device/entity/DeviceEntity.java
+++ b/src/main/java/org/springblade/modules/device/entity/DeviceEntity.java
@@ -56,5 +56,15 @@
 	 */
 	@ApiModelProperty(value = "所在单位id")
 	private String deptId;
+	/**
+	 * 经度
+	 */
+	@ApiModelProperty(value = "经度")
+	private String lon;
+	/**
+	 * 纬度
+	 */
+	@ApiModelProperty(value = "纬度")
+	private String lat;
 
 }
diff --git a/src/main/java/org/springblade/modules/dp/controller/ComprehensiveStatisticsController.java b/src/main/java/org/springblade/modules/dp/controller/ComprehensiveStatisticsController.java
new file mode 100644
index 0000000..c4d9ca3
--- /dev/null
+++ b/src/main/java/org/springblade/modules/dp/controller/ComprehensiveStatisticsController.java
@@ -0,0 +1,97 @@
+package org.springblade.modules.dp.controller;
+
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.tool.api.R;
+import org.springblade.modules.device.entity.DeviceEntity;
+import org.springblade.modules.dp.service.IComprehensiveStatisticsService;
+import org.springblade.modules.fire.service.IFireService;
+import org.springblade.modules.fire.vo.FireVO;
+import org.springblade.modules.fireSupplement.service.IFireSupplementService;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * 大屏综合统计 控制器
+ *
+ * @author GuoShiLong
+ * @since 2023-03-08
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("dp/comprehensiveStatistics")
+@Api(value = "综合统计", tags = "综合统计接口")
+public class ComprehensiveStatisticsController extends BladeController {
+	private IComprehensiveStatisticsService comprehensiveStatisticsService;
+	private IFireService fireService;
+	private IFireSupplementService fireSupplementService;
+
+	/**
+	 * 数据概览 (出警次数还没有统计)
+	 */
+	@GetMapping("/dataOverview")
+	@ApiOperation(value = "数据概览", notes = "数据概览")
+	public R getDataOverview() {
+		List<HashMap<String,String>> dataStatistics = comprehensiveStatisticsService.getDataOverview();
+		return R.data(dataStatistics);
+	}
+
+	/**
+	 * 入驻单位统计
+	 */
+	@GetMapping("/deptStatistics")
+	@ApiOperation(value = "入驻单位统计", notes = "入驻单位统计")
+	public R getDeptStatistics() {
+		List<HashMap<String,String>> deptStatistics = comprehensiveStatisticsService.getDeptStatistics();
+		return R.data(deptStatistics);
+	}
+
+	/**
+	 * 实时火警事件
+	 */
+	@GetMapping("/realtimeFireAlarmIncident")
+	@ApiOperation(value = "实时火警事件", notes = "实时火警事件")
+	public R getRealtimeFireAlarmIncident(@RequestParam(name="time", defaultValue="48")String time) {
+		List<FireVO> fireList = fireService.getRealtime(time);
+		return R.data(fireList);
+	}
+
+	/**
+	 * 火警事件来源
+	 */
+	@GetMapping("/fireCallSource")
+	@ApiOperation(value = "火警事件来源", notes = "火警事件来源")
+	public R getFireCallSource() {
+		List fireCallSource = comprehensiveStatisticsService.getFireCallSource();
+		return R.data(fireCallSource);
+	}
+
+	/**
+	 * 易发区统计
+	 */
+	@GetMapping("/proneAreasStatistics")
+	@ApiOperation(value = "易发区统计", notes = "易发区统计")
+	public R getProneAreasStatistics(String regionCode, @RequestParam(name="limit", defaultValue="15")Integer limit) {
+		List proneAreasStatistics = comprehensiveStatisticsService.getProneAreasStatistics(regionCode,limit);
+		return R.data(proneAreasStatistics);
+	}
+
+	/**
+	 * 火警上报趋势
+	 */
+	@GetMapping("/fireReportingTrend")
+	@ApiOperation(value = "火警上报趋势", notes = "火警上报趋势")
+	public R getFireReportingTrend() {
+		List<HashMap<String,String>> FireReportingTrend = comprehensiveStatisticsService.getFireReportingTrend();
+		return R.data(FireReportingTrend);
+	}
+}
diff --git a/src/main/java/org/springblade/modules/dp/controller/FireWarningController.java b/src/main/java/org/springblade/modules/dp/controller/FireWarningController.java
new file mode 100644
index 0000000..d026170
--- /dev/null
+++ b/src/main/java/org/springblade/modules/dp/controller/FireWarningController.java
@@ -0,0 +1,44 @@
+package org.springblade.modules.dp.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.modules.dp.service.IFireWarningService;
+import org.springblade.modules.fire.service.IFireService;
+import org.springblade.modules.fire.vo.FireVO;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * 大屏防火预警 控制器
+ *
+ * @author GuoShiLong
+ * @since 2023-03-08
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("dp/fireWarning")
+@Api(value = "防火预警", tags = "防火预警接口")
+public class FireWarningController extends BladeController {
+//	private IFireWarningService fireWarningService;
+	private IFireService fireService;
+
+	/**
+	 * 预警台账
+	 */
+	@GetMapping("/earlyWarningLedger")
+	@ApiOperation(value = "预警台账", notes = "预警台账")
+	public R getEarlyWarningLedger() {
+
+		return null;
+	}
+}
diff --git a/src/main/java/org/springblade/modules/dp/controller/MilitaryLocalCoordinationController.java b/src/main/java/org/springblade/modules/dp/controller/MilitaryLocalCoordinationController.java
new file mode 100644
index 0000000..27fb719
--- /dev/null
+++ b/src/main/java/org/springblade/modules/dp/controller/MilitaryLocalCoordinationController.java
@@ -0,0 +1,68 @@
+package org.springblade.modules.dp.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.modules.fire.service.IFireService;
+import org.springblade.modules.fire.vo.FireVO;
+import org.springblade.modules.fireSupplement.entity.FireSupplementEntity;
+import org.springblade.modules.fireSupplement.service.IFireSupplementService;
+import org.springblade.modules.system.dto.DeptDTO;
+import org.springblade.modules.system.service.IDeptService;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 大屏军地协同 控制器
+ *
+ * @author GuoShiLong
+ * @since 2023-03-08
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("dp/militaryLocalCoordination")
+@Api(value = "军地协同", tags = "军地协同接口")
+public class MilitaryLocalCoordinationController extends BladeController {
+	private IFireService fireService;
+	private IFireSupplementService fireSupplementService;
+	private final IDeptService deptService;
+
+	/**
+	 * 火警事件
+	 */
+	@GetMapping("/fireAlarmIncident")
+	@ApiOperation(value = "火警事件", notes = "火警事件")
+	public R<IPage<FireVO>> getEarlyWarningLedger(FireVO fire, Query query) {
+		IPage<FireVO> pages = fireService.selectFirePage(Condition.getPage(query), fire);
+		return R.data(pages);
+	}
+
+	/**
+	 * 灾后评估
+	 */
+	@GetMapping("/disasterAssessment")
+	@ApiOperation(value = "详情", notes = "传入fireSupplement")
+	public R<FireSupplementEntity> detail(FireSupplementEntity fireSupplement) {
+		FireSupplementEntity detail = fireSupplementService.getOne(Condition.getQueryWrapper(fireSupplement));
+		return R.data(detail);
+	}
+
+	/**
+	 * 视频会商,传部门和部门下的人
+	 */
+	@GetMapping("/getUserGroupByDept")
+	@ApiOperation(value = "视频会商", notes = "视频会商")
+	public R getUserGroupByDept() {
+		List<DeptDTO> deptDTO = deptService.getUserGroupByDept();
+		return R.data(deptDTO);
+	}
+}
diff --git a/src/main/java/org/springblade/modules/dp/mapper/ComprehensiveStatisticsMapper.java b/src/main/java/org/springblade/modules/dp/mapper/ComprehensiveStatisticsMapper.java
new file mode 100644
index 0000000..655af6d
--- /dev/null
+++ b/src/main/java/org/springblade/modules/dp/mapper/ComprehensiveStatisticsMapper.java
@@ -0,0 +1,22 @@
+package org.springblade.modules.dp.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.HashMap;
+import java.util.List;
+
+@Repository
+public interface ComprehensiveStatisticsMapper {
+
+	List<HashMap<String, String>> getDataOverview();
+
+	List<HashMap<String, String>> getDeptStatistics();
+
+	List<HashMap<String,String>> getFireCallSource();
+
+    List<HashMap<String, String>> getFireReportingTrend();
+
+    List getProneAreasStatistics(@Param("regionCode") String regionCode,@Param("limit") Integer limit);
+}
diff --git a/src/main/java/org/springblade/modules/dp/mapper/ComprehensiveStatisticsMapper.xml b/src/main/java/org/springblade/modules/dp/mapper/ComprehensiveStatisticsMapper.xml
new file mode 100644
index 0000000..56c0f64
--- /dev/null
+++ b/src/main/java/org/springblade/modules/dp/mapper/ComprehensiveStatisticsMapper.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.dp.mapper.ComprehensiveStatisticsMapper">
+
+
+    <select id="getDataOverview" resultType="java.util.HashMap">
+        SELECT a.deptNumber,b.policeCarNumber,c.deviceNumber
+        FROM(
+		    ( SELECT COUNT(*) AS deptNumber FROM blade_dept dept WHERE dept.is_deleted = 0 ) a,
+		    ( SELECT COUNT(*) AS policeCarNumber FROM sys_vehicle vehicle WHERE vehicle.is_deleted = 0 ) b,
+	        ( SELECT COUNT(*) AS deviceNumber FROM sys_device device WHERE device.is_deleted = 0 ) c
+	    );
+    </select>
+
+    <select id="getDeptStatistics" resultType="java.util.HashMap">
+        SELECT DISTINCT a.city cityCode,a.cityNumber,region.city_name cityName
+        FROM
+        (
+            SELECT dept.city,COUNT(*) AS cityNumber
+            FROM blade_dept dept WHERE dept.is_deleted = 0
+            GROUP BY dept.city
+        ) a LEFT JOIN blade_region region ON region.city_code = a.city
+    </select>
+    <select id="getFireCallSource" resultType="java.util.HashMap">
+        SELECT
+            CONVERT(COUNT(*),CHAR) AS number,
+            fire.find_way findWay,
+            biz.dict_value findWayName
+        FROM
+            sys_fire fire
+            LEFT JOIN blade_dict_biz biz ON biz.dict_key = fire.find_way AND biz.`code` = 'fire_find_way'
+        WHERE
+            fire.is_deleted = 0
+        GROUP BY
+            fire.find_way
+    </select>
+    <select id="getFireReportingTrend" resultType="java.util.HashMap">
+        SELECT
+            m.id month,IFNULL(b.number,0) number
+        FROM
+            (
+            SELECT 1 AS id UNION
+            SELECT 2 UNION
+            SELECT 3 UNION
+            SELECT 4 UNION
+            SELECT 5 UNION
+            SELECT 6 UNION
+            SELECT 7 UNION
+            SELECT 8 UNION
+            SELECT 9 UNION
+            SELECT 10 UNION
+            SELECT 11 UNION
+            SELECT 12
+            ) m
+        LEFT JOIN
+        (
+            SELECT MONTH(fire.alarm_time) month,COUNT(*) number
+            FROM sys_fire fire
+            WHERE fire.is_deleted = 0
+            GROUP BY MONTH ( fire.alarm_time )
+        ) b ON b.`month` = m.id
+        ORDER BY month
+    </select>
+
+    <select id="getProneAreasStatistics" resultType="java.util.HashMap">
+        SELECT
+            address,COUNT(*) times
+        FROM
+            `sys_fire`
+        WHERE
+            is_deleted = 0
+            AND find_way = 1
+            AND FIND_IN_SET(#{regionCode},REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(location,'[',-1),']',1),'"',''))
+        GROUP BY
+            address
+        ORDER BY times DESC
+	        LIMIT #{limit}
+    </select>
+</mapper>
diff --git a/src/main/java/org/springblade/modules/dp/mapper/FireWarningMapper.java b/src/main/java/org/springblade/modules/dp/mapper/FireWarningMapper.java
new file mode 100644
index 0000000..1a41b1f
--- /dev/null
+++ b/src/main/java/org/springblade/modules/dp/mapper/FireWarningMapper.java
@@ -0,0 +1,7 @@
+package org.springblade.modules.dp.mapper;
+
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface FireWarningMapper {
+}
diff --git a/src/main/java/org/springblade/modules/dp/mapper/FireWarningMapper.xml b/src/main/java/org/springblade/modules/dp/mapper/FireWarningMapper.xml
new file mode 100644
index 0000000..0f7189a
--- /dev/null
+++ b/src/main/java/org/springblade/modules/dp/mapper/FireWarningMapper.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.dp.mapper.FireWarningMapper">
+
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/dp/service/IComprehensiveStatisticsService.java b/src/main/java/org/springblade/modules/dp/service/IComprehensiveStatisticsService.java
new file mode 100644
index 0000000..ca6a163
--- /dev/null
+++ b/src/main/java/org/springblade/modules/dp/service/IComprehensiveStatisticsService.java
@@ -0,0 +1,39 @@
+package org.springblade.modules.dp.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.HashMap;
+import java.util.List;
+
+public interface IComprehensiveStatisticsService {
+	/**
+	 * 获取数据概览
+	 * @return
+	 */
+	List<HashMap<String, String>> getDataOverview();
+
+	/**
+	 * 获取入驻单位统计
+	 * @return
+	 */
+	List<HashMap<String, String>> getDeptStatistics();
+
+	/**
+	 * 获取火警事件来源
+	 * @return
+	 */
+	List getFireCallSource();
+
+	/**
+	 * 获取火警上报趋势
+	 * @return
+	 */
+	List<HashMap<String, String>> getFireReportingTrend();
+
+	/**
+	 * 获取易发区统计数据
+	 * @param regionCode 区域编号
+	 * @return
+	 */
+	List<HashMap<String, String>> getProneAreasStatistics(String regionCode,Integer limit);
+}
diff --git a/src/main/java/org/springblade/modules/dp/service/IFireWarningService.java b/src/main/java/org/springblade/modules/dp/service/IFireWarningService.java
new file mode 100644
index 0000000..18b2b86
--- /dev/null
+++ b/src/main/java/org/springblade/modules/dp/service/IFireWarningService.java
@@ -0,0 +1,4 @@
+package org.springblade.modules.dp.service;
+
+public interface IFireWarningService {
+}
diff --git a/src/main/java/org/springblade/modules/dp/service/impl/ComprehensiveStatisticsServiceImpl.java b/src/main/java/org/springblade/modules/dp/service/impl/ComprehensiveStatisticsServiceImpl.java
new file mode 100644
index 0000000..0979a6e
--- /dev/null
+++ b/src/main/java/org/springblade/modules/dp/service/impl/ComprehensiveStatisticsServiceImpl.java
@@ -0,0 +1,50 @@
+package org.springblade.modules.dp.service.impl;
+
+import org.springblade.modules.dp.mapper.ComprehensiveStatisticsMapper;
+import org.springblade.modules.dp.service.IComprehensiveStatisticsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Consumer;
+
+@Service
+public class ComprehensiveStatisticsServiceImpl  implements IComprehensiveStatisticsService {
+	@Autowired
+	private ComprehensiveStatisticsMapper comprehensiveStatisticsMapper;
+
+	@Override
+	public List<HashMap<String, String>> getDataOverview() {
+		return comprehensiveStatisticsMapper.getDataOverview();
+	}
+
+	@Override
+	public List<HashMap<String, String>> getDeptStatistics() {
+		return comprehensiveStatisticsMapper.getDeptStatistics();
+	}
+
+	@Override
+	public List getFireCallSource() {
+		List list = new ArrayList();
+		Map<String, Integer> m1 = new HashMap<>(16);
+		List<HashMap<String,String>> fireCallSource = comprehensiveStatisticsMapper.getFireCallSource();
+		int number = fireCallSource.stream().mapToInt(e -> Integer.parseInt(e.get("number"))).sum();
+		m1.put("sum",number);
+		list.add(fireCallSource);
+		list.add(m1);
+		return list;
+	}
+
+	@Override
+	public List<HashMap<String, String>> getFireReportingTrend() {
+		return comprehensiveStatisticsMapper.getFireReportingTrend();
+	}
+
+	@Override
+	public List getProneAreasStatistics(String regionCode,Integer limit) {
+		return comprehensiveStatisticsMapper.getProneAreasStatistics(regionCode,limit);
+	}
+}
diff --git a/src/main/java/org/springblade/modules/dp/service/impl/FireWarningServiceImpl.java b/src/main/java/org/springblade/modules/dp/service/impl/FireWarningServiceImpl.java
new file mode 100644
index 0000000..560900b
--- /dev/null
+++ b/src/main/java/org/springblade/modules/dp/service/impl/FireWarningServiceImpl.java
@@ -0,0 +1,12 @@
+package org.springblade.modules.dp.service.impl;
+
+import org.springblade.modules.dp.mapper.FireWarningMapper;
+import org.springblade.modules.dp.service.IFireWarningService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class FireWarningServiceImpl implements IFireWarningService {
+	@Autowired
+	private FireWarningMapper fireWarningMapper;
+}
diff --git a/src/main/java/org/springblade/modules/fire/mapper/FireMapper.java b/src/main/java/org/springblade/modules/fire/mapper/FireMapper.java
index a201461..347e858 100644
--- a/src/main/java/org/springblade/modules/fire/mapper/FireMapper.java
+++ b/src/main/java/org/springblade/modules/fire/mapper/FireMapper.java
@@ -42,4 +42,6 @@
 
 
 	List<FireVO> getAll(@Param("fire") FireVO fire);
+
+    List<FireVO> getRealtime(@Param("time") String time);
 }
diff --git a/src/main/java/org/springblade/modules/fire/mapper/FireMapper.xml b/src/main/java/org/springblade/modules/fire/mapper/FireMapper.xml
index 4621d96..22f6e3c 100644
--- a/src/main/java/org/springblade/modules/fire/mapper/FireMapper.xml
+++ b/src/main/java/org/springblade/modules/fire/mapper/FireMapper.xml
@@ -21,13 +21,19 @@
         <result column="is_deleted" property="isDeleted"/>
         <result column="tenant_id" property="tenantId"/>
         <result column="supplementId" property="supplementId"/>
+        <result column="fireLevelName" property="fireLevelName"/>
+        <result column="findWayName" property="findWayName"/>
     </resultMap>
 
-
     <select id="selectFirePage" resultMap="fireResultMap">
-        select fire.*,sup.id supplementId from sys_fire fire
-        LEFT JOIN sys_fire_supplement sup ON sup.fire_id = fire.id AND sup.is_deleted = 0
-        where fire.is_deleted = 0
+        SELECT fire.*,sup.id supplementId,biz.dict_value fireLevelName,biz2.dict_value findWayName
+        FROM sys_fire fire
+        LEFT JOIN blade_dict_biz biz ON biz.dict_key = fire.`level` AND biz.code = 'fire_level'
+        LEFT JOIN blade_dict_biz biz2 ON biz2.dict_key = fire.find_way AND biz2.`code` = 'fire_find_way'
+        LEFT JOIN sys_fire_supplement sup ON sup.fire_id = fire.id
+        AND sup.is_deleted = 0
+        WHERE
+        fire.is_deleted = 0
         <if test="fire.location !=null and fire.location !='' ">
             AND fire.location = #{fire.location,typeHandler=com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler}
         </if>
@@ -49,6 +55,12 @@
         <if test="fire.alarmTimeEnd !=null and fire.alarmTimeEnd !=''">
             AND DATE_FORMAT(fire.alarm_time,'%Y-%m-%d') &lt;= #{fire.alarmTimeEnd}
         </if>
+        <if test="fire.level !=null and fire.level !=''">
+            AND fire.level = #{fire.level}
+        </if>
+        <if test="fire.fireDate !=null and fire.fireDate !=''">
+            AND DATE_FORMAT(fire.alarm_time,'%Y-%m-%d') = #{fire.fireDate}
+        </if>
 
 
     </select>
@@ -62,5 +74,20 @@
 
     </select>
 
+    <select id="getRealtime" resultMap="fireResultMap">
+        SELECT
+        fire.*,biz.dict_value fireLevelName,biz2.dict_value findWayName
+        FROM
+        sys_fire fire
+        LEFT JOIN blade_dict_biz biz ON biz.dict_key = fire.level AND biz.`code` = 'fire_level'
+        LEFT JOIN blade_dict_biz biz2 ON biz2.dict_key = fire.find_way AND biz2.`code` = 'fire_find_way'
+        WHERE
+        fire.is_deleted = 0
+        AND DATE_FORMAT( fire.alarm_time, '%Y-%m-%d' ) &gt;= DATE_FORMAT(DATE_SUB(now(),INTERVAL #{time} HOUR ), '%Y-%m-%d' )
+        AND DATE_FORMAT( fire.alarm_time, '%Y-%m-%d' ) &lt;=  DATE_FORMAT(NOW(),'%Y-%m-%d' )
+
+        ORDER BY fire.alarm_time DESC
+    </select>
+
 
 </mapper>
diff --git a/src/main/java/org/springblade/modules/fire/service/IFireService.java b/src/main/java/org/springblade/modules/fire/service/IFireService.java
index 4ea7063..ca4453e 100644
--- a/src/main/java/org/springblade/modules/fire/service/IFireService.java
+++ b/src/main/java/org/springblade/modules/fire/service/IFireService.java
@@ -46,4 +46,6 @@
 	 * @return
 	 */
     List<FireVO> getAll(FireVO fire);
+
+    List<FireVO> getRealtime(String time);
 }
diff --git a/src/main/java/org/springblade/modules/fire/service/impl/FireServiceImpl.java b/src/main/java/org/springblade/modules/fire/service/impl/FireServiceImpl.java
index 4260c5c..1d16c82 100644
--- a/src/main/java/org/springblade/modules/fire/service/impl/FireServiceImpl.java
+++ b/src/main/java/org/springblade/modules/fire/service/impl/FireServiceImpl.java
@@ -45,5 +45,10 @@
 		return baseMapper.getAll(fire);
 	}
 
+	@Override
+	public List<FireVO> getRealtime(String time) {
+		return baseMapper.getRealtime(time);
+	}
+
 
 }
diff --git a/src/main/java/org/springblade/modules/fire/vo/FireVO.java b/src/main/java/org/springblade/modules/fire/vo/FireVO.java
index 36c5541..505aba9 100644
--- a/src/main/java/org/springblade/modules/fire/vo/FireVO.java
+++ b/src/main/java/org/springblade/modules/fire/vo/FireVO.java
@@ -20,6 +20,7 @@
 import org.springblade.core.tool.node.INode;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import org.springblade.modules.fireSupplement.vo.FireSupplementVO;
 
 /**
  * 火灾记录表 视图实体类
@@ -31,11 +32,28 @@
 @EqualsAndHashCode(callSuper = true)
 public class FireVO extends FireEntity {
 	private static final long serialVersionUID = 1L;
-
+	/**
+	 * 补充id
+	 */
 	private String supplementId;
-
+	/**
+	 * 发现时间开始
+	 */
 	private String alarmTimeStart;
-
+	/**
+	 * 发现时间结束
+	 */
 	private String alarmTimeEnd;
-
+	/**
+	 * 火灾发生日期(2023-01-10)
+	 */
+	private String fireDate;
+	/**
+	 * 火灾等级
+	 */
+	private String fireLevelName;
+	/**
+	 * 发现方式
+	 */
+	private String findWayName;
 }
diff --git a/src/main/java/org/springblade/modules/system/dto/DeptDTO.java b/src/main/java/org/springblade/modules/system/dto/DeptDTO.java
index f8c9086..63c8283 100644
--- a/src/main/java/org/springblade/modules/system/dto/DeptDTO.java
+++ b/src/main/java/org/springblade/modules/system/dto/DeptDTO.java
@@ -19,6 +19,9 @@
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.springblade.modules.system.entity.Dept;
+import org.springblade.modules.system.entity.User;
+
+import java.util.List;
 
 /**
  * 数据传输对象实体类
@@ -30,4 +33,6 @@
 public class DeptDTO extends Dept {
 	private static final long serialVersionUID = 1L;
 
+	private List<User> userList;
+
 }
diff --git a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
index bbcb7e6..5f301fe 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
@@ -17,6 +17,7 @@
 package org.springblade.modules.system.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springblade.modules.system.dto.DeptDTO;
 import org.springblade.modules.system.entity.Dept;
 import org.springblade.modules.system.vo.DeptVO;
 
@@ -65,4 +66,9 @@
 	 */
 	List<String> getDeptNames(Long[] ids);
 
+	/**
+	 * 获取部门分组和部门下的用户
+	 * @return
+	 */
+	List<DeptDTO> getUserGroupByDept();
 }
diff --git a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
index b002fc8..20056cb 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -112,4 +112,24 @@
         and is_deleted = 0
     </select>
 
+    <resultMap id="userDeptGroup" type="org.springblade.modules.system.dto.DeptDTO">
+        <id column="dept_id" property="id"/>
+        <result column="dept_name" property="deptName"/>
+        <collection property="userList" javaType="java.util.List" ofType="org.springblade.modules.system.entity.User">
+            <result column="id" property="id"/>
+            <result column="real_name" property="realName"/>
+            <result column="avatar" property="avatar"/>
+            <result column="email" property="email"/>
+            <result column="phone" property="phone"/>
+            <result column="role_id" property="roleId"/>
+        </collection>
+    </resultMap>
+
+    <select id="getUserGroupByDept" resultMap="userDeptGroup">
+        SELECT user.id,user.real_name,user.avatar,user.email,user.phone,user.dept_id,user.role_id,dept.dept_name
+        FROM blade_user user
+        LEFT JOIN blade_dept dept ON dept.id = user.dept_id and dept.is_deleted = 0
+        WHERE user.is_deleted = 0
+    </select>
+
 </mapper>
diff --git a/src/main/java/org/springblade/modules/system/service/IDeptService.java b/src/main/java/org/springblade/modules/system/service/IDeptService.java
index d7d0aa4..1cd2956 100644
--- a/src/main/java/org/springblade/modules/system/service/IDeptService.java
+++ b/src/main/java/org/springblade/modules/system/service/IDeptService.java
@@ -17,6 +17,7 @@
 package org.springblade.modules.system.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.system.dto.DeptDTO;
 import org.springblade.modules.system.entity.Dept;
 import org.springblade.modules.system.vo.DeptVO;
 
@@ -116,4 +117,9 @@
 	 */
 	List<DeptVO> search(String deptName, Long parentId);
 
+	/**
+	 * 获取部门分组和部门下的用户
+	 * @return
+	 */
+	List<DeptDTO> getUserGroupByDept();
 }
diff --git a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
index 92e3850..292a0ba 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -26,6 +26,7 @@
 import org.springblade.core.tool.node.ForestNodeMerger;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringPool;
+import org.springblade.modules.system.dto.DeptDTO;
 import org.springblade.modules.system.entity.Dept;
 import org.springblade.modules.system.mapper.DeptMapper;
 import org.springblade.modules.system.service.IDeptService;
@@ -168,4 +169,9 @@
 		return DeptWrapper.build().listNodeVO(deptList);
 	}
 
+	@Override
+	public List<DeptDTO> getUserGroupByDept() {
+		return baseMapper.getUserGroupByDept();
+	}
+
 }
diff --git a/src/main/java/org/springblade/modules/vehicle/entity/VehicleEntity.java b/src/main/java/org/springblade/modules/vehicle/entity/VehicleEntity.java
index 254621b..ae9cc06 100644
--- a/src/main/java/org/springblade/modules/vehicle/entity/VehicleEntity.java
+++ b/src/main/java/org/springblade/modules/vehicle/entity/VehicleEntity.java
@@ -51,5 +51,15 @@
 	 */
 	@ApiModelProperty(value = "车辆类型")
 	private String type;
+	/**
+	 * 经度
+	 */
+	@ApiModelProperty(value = "经度")
+	private String lon;
+	/**
+	 * 纬度
+	 */
+	@ApiModelProperty(value = "纬度")
+	private String lat;
 
 }

--
Gitblit v1.9.3