From f1599c97d20fd7fabb1683b1cf7ba4114306c7ad Mon Sep 17 00:00:00 2001
From: nnnjjj123 <494715143@qq.com>
Date: Thu, 14 Jan 2021 10:51:45 +0800
Subject: [PATCH] 1.统计接口调整

---
 src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.java             |    5 +
 src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.xml          |    6 
 src/main/java/org/springblade/modules/alarm/service/IAlarmService.java          |    4 +
 src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.xml              |   41 ++++++++++
 src/main/java/org/springblade/modules/alarm/service/impl/AlarmServiceImpl.java  |   16 ++++
 src/main/java/org/springblade/modules/alarm/controller/AlarmController.java     |  137 ++++++++++++++++++++++++++++++++++
 src/main/java/org/springblade/modules/equipment/mapper/EquipmentMapper.xml      |    2 
 src/main/java/org/springblade/modules/catalog/controller/catalogController.java |   12 +-
 8 files changed, 212 insertions(+), 11 deletions(-)

diff --git a/src/main/java/org/springblade/modules/alarm/controller/AlarmController.java b/src/main/java/org/springblade/modules/alarm/controller/AlarmController.java
index 8b73b7c..14e1512 100644
--- a/src/main/java/org/springblade/modules/alarm/controller/AlarmController.java
+++ b/src/main/java/org/springblade/modules/alarm/controller/AlarmController.java
@@ -37,8 +37,9 @@
 import org.springblade.modules.alarm.service.IAlarmService;
 import org.springblade.core.boot.ctrl.BladeController;
 
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.Date;
+import java.util.*;
 
 /**
  *  控制器
@@ -193,4 +194,138 @@
 	}
 
 
+	/**
+	 * 获取过去第几天的日期
+	 *
+	 * @param past
+	 * @return
+	 */
+	public static String getPastDate(int past,Date date) {
+		Calendar calendar = Calendar.getInstance();
+		calendar.setTime(date);
+		calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - past);
+		Date today = calendar.getTime();
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+		String result = sdf.format(today);
+		return result;
+	}
+	/**
+	 * 获取过去7天内的日期数组
+	 * @return  日期数组
+	 */
+	public static ArrayList<String> pastDay(String time){
+		ArrayList<String> pastDaysList = new ArrayList<>();
+		try {
+			//我这里传来的时间是个string类型的,所以要先转为date类型的。
+			SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
+			Date date = sdf.parse(time);
+			for (int i = 6; i >= 0; i--) {
+				pastDaysList.add(getPastDate(i,date));
+			}
+		}catch (ParseException e){
+			e.printStackTrace();
+		}
+		return pastDaysList;
+	}
+
+
+	/**
+	 * 按接警类型统计树状图
+	 * @param response
+	 * @return
+	 */
+	@GetMapping("/selectScount")
+	public R selectScount(HttpServletResponse response) {
+		response.setHeader("Access-Control-Allow-Origin", "*");
+		response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
+		response.setHeader("Access-Control-Allow-Credentials","true");
+		List<Map<String, Object>> lists = new ArrayList<>();
+		List<Map<String, Object>> listc = new ArrayList<>();
+		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式
+		String time = df.format(new Date());// new Date()为获取当前系统时间
+		ArrayList<String> strings = pastDay(time);
+		String[] str={"内部","周边","挟持","救护","旁路","火警","紧急","出入","防拆"};
+		Map<String, Object> maps = new HashMap<String, Object>();
+		for (int j=0;j<strings.size();j++){
+			Map<String, Object> map = new HashMap<String, Object>();
+			List<Map<String, Object>> list = alarmService.selectScount(strings.get(j));
+			map.put("time",strings.get(j));
+			for (int i=0;i<list.size();i++){
+				Object waringType = list.get(i).get("waringType");
+				String wname = waringType.toString();
+				switch(wname){
+					case "内部" :
+						map.put("内部",list.get(i).get("cou"));
+						break; //可选
+					case "周边" :
+						map.put("周边",list.get(i).get("cou"));
+						break; //可选
+					case "挟持" :
+						map.put("挟持",list.get(i).get("cou"));
+						break;
+					case "救护" :
+						map.put("救护",list.get(i).get("cou"));
+						break;
+					case "旁路" :
+						map.put("旁路",list.get(i).get("cou"));
+						break;
+					case "火警" :
+						map.put("火警",list.get(i).get("cou"));
+						break;
+					case "紧急" :
+						map.put("紧急",list.get(i).get("cou"));
+						break;
+					case "出入" :
+						map.put("出入",list.get(i).get("cou"));
+						break;
+					default :
+						map.put("防拆",list.get(i).get("cou"));
+				}
+			}
+			lists.add(map);
+		}
+		maps.put("lists",lists);
+		maps.put("type",str);
+		listc.add(maps);
+		return R.data(listc);
+	}
+	public static String getPastDate(int past) {
+		Calendar calendar = Calendar.getInstance();
+		calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - past);
+		Date today = calendar.getTime();
+		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+		String result = format.format(today);
+		return result;
+	}
+
+	/**
+	 * 查询7天内数据
+	 * @param response
+	 * @return
+	 */
+	@GetMapping("/selectListSe")
+	public R selectListSe(HttpServletResponse response) {
+		response.setHeader("Access-Control-Allow-Origin", "*");
+		response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
+		response.setHeader("Access-Control-Allow-Credentials","true");
+		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式
+		String time = df.format(new Date());// new Date()为获取当前系统时间
+		String pastDate = getPastDate(7);
+		List<AlarmVO> alarmVOS = alarmService.selectListSe(pastDate, time);
+		return R.data(alarmVOS);
+	}
+
+
+	/**
+	 * 修改警情类型
+	 */
+	@PostMapping("/updateJtype")
+	public R updateJtype(String id,HttpServletResponse response) {
+		response.setHeader("Access-Control-Allow-Origin", "*");
+		response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
+		response.setHeader("Access-Control-Allow-Credentials","true");
+		alarmService.updateJtype(id);
+		return R.success("修改成功");
+	}
+
 }
diff --git a/src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.java b/src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.java
index 6322f45..94da018 100644
--- a/src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.java
+++ b/src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.java
@@ -23,6 +23,7 @@
 import org.springblade.modules.equipment.entity.Equipment;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  *  Mapper 接口
@@ -41,11 +42,15 @@
 	 */
 	List<AlarmVO> selectAlarmPage(IPage page, AlarmVO alarm);
 	List<AlarmVO> selectList(String jtype,String addvcd,String waringType,String beginTime,String endTime);
+	List<AlarmVO> selectListSe(String beginTime,String endTime);
 	List<AlarmVO> selectInfo(String id);
 	List<AlarmVO> selecttx(String id);
 	void deletejj(String id);
 
 	void s(Alarm alarm);
+	void updateJtype(String id);
 	void updateOne(Alarm alarm);
 
+	List<Map<String, Object>> selectScount(String time);
+
 }
diff --git a/src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.xml b/src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.xml
index 63803f2..1930feb 100644
--- a/src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.xml
+++ b/src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.xml
@@ -177,4 +177,45 @@
     content=#{content},waringType=#{waringType},deviceNumber=#{deviceNumber},region=#{region},addvcd=#{addvcd},alarmId=#{alarmId},level=#{level},rname=#{rname},jd=#{jd},wd=#{wd},coordinate=POINT(#{jd},#{wd}),jtype=#{jtype} where id=#{id}
 </update>
 
+
+    <select id="selectScount" resultType="java.util.HashMap">
+        SELECT COUNT(*) as cou,waringType FROM `sys_alarm` WHERE alarmTime like concat(concat('%', #{time}), '%') GROUP BY waringType
+    </select>
+
+
+    <select id="selectListSe" resultMap="alarmResultMap">
+        SELECT
+        a.id,
+        a.alarmType,
+        a.alarmPeople,
+        a.alarmTime,
+        a.galarmPeople,
+        a.sex,
+        a.phoneNumber,
+        a.place,
+        a.content,
+        a.waringType,
+        a.deviceNumber,
+        a.region,
+        a.addvcd,
+        a.alarmId,
+        a.LEVEL,
+        ST_ASTEXT (a.coordinate ) AS coordinate,
+        a.jd,
+        a.wd,
+        a.jtype,
+        a.rname,
+        d.addvnm,
+        e.serialNumber,
+        e.stype,
+        e.channelNumber
+        FROM
+        sys_alarm a LEFT JOIN sys_district d on d.addvcds=a.addvcd LEFT JOIN sys_equipment e on e.deviceNumber=a.deviceNumber where
+        DATE_FORMAT(alarmTime,'%Y-%m-%d') &gt;=#{beginTime} and DATE_FORMAT(alarmTime,'%Y-%m-%d') &lt;=#{endTime} ORDER BY alarmTime desc
+    </select>
+
+
+    <update id="updateJtype">
+    update sys_alarm SET jtype=1 where id=#{id}
+</update>
 </mapper>
diff --git a/src/main/java/org/springblade/modules/alarm/service/IAlarmService.java b/src/main/java/org/springblade/modules/alarm/service/IAlarmService.java
index 4e587ac..34fe9a2 100644
--- a/src/main/java/org/springblade/modules/alarm/service/IAlarmService.java
+++ b/src/main/java/org/springblade/modules/alarm/service/IAlarmService.java
@@ -22,6 +22,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  *  服务类
@@ -45,4 +46,7 @@
 	void deletejj(String id);
 	void s(Alarm alarm);
 	void updateOne(Alarm alarm);
+	List<Map<String, Object>> selectScount(String time);
+	List<AlarmVO> selectListSe(String beginTime,String endTime);
+	void updateJtype(String id);
 }
diff --git a/src/main/java/org/springblade/modules/alarm/service/impl/AlarmServiceImpl.java b/src/main/java/org/springblade/modules/alarm/service/impl/AlarmServiceImpl.java
index da55543..dc56031 100644
--- a/src/main/java/org/springblade/modules/alarm/service/impl/AlarmServiceImpl.java
+++ b/src/main/java/org/springblade/modules/alarm/service/impl/AlarmServiceImpl.java
@@ -26,6 +26,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  *  服务实现类
@@ -72,4 +73,19 @@
 		baseMapper.updateOne(alarm);
 	}
 
+	@Override
+	public List<Map<String, Object>> selectScount(String time) {
+		return baseMapper.selectScount(time);
+	}
+
+	@Override
+	public List<AlarmVO> selectListSe(String beginTime, String endTime) {
+		return baseMapper.selectListSe(beginTime, endTime);
+	}
+
+	@Override
+	public void updateJtype(String id) {
+		baseMapper.updateJtype(id);
+	}
+
 }
diff --git a/src/main/java/org/springblade/modules/catalog/controller/catalogController.java b/src/main/java/org/springblade/modules/catalog/controller/catalogController.java
index 6243e4b..8d2133c 100644
--- a/src/main/java/org/springblade/modules/catalog/controller/catalogController.java
+++ b/src/main/java/org/springblade/modules/catalog/controller/catalogController.java
@@ -164,23 +164,23 @@
 			Map<String, Object> maps = new HashMap<String, Object>();
 			Map<String, Object> mapse = new HashMap<String, Object>();
 			mapa.put("value",list1.get(0).get("counta"));
-			mapa.put("backgroundColor","#FF0000");
+			mapa.put("backgroundColor","#F56C6C");
 			mapa.put("prefixText","警情总数");
 			mapa.put("suffixText","条");
 			mape.put("value",list1.get(1).get("counta"));
-			mape.put("backgroundColor","#000000");
+			mape.put("backgroundColor","#67C23A");
 			mape.put("prefixText","设备总数");
 			mape.put("suffixText","个");
 
 			maps.put("value",list1.get(2).get("counta"));
-			maps.put("backgroundColor","#6CDEFF");
+			maps.put("backgroundColor","#409EFF");
 			maps.put("prefixText","用户总数");
 			maps.put("suffixText","个");
 
 			mapse.put("value",list1.get(3).get("counta"));
-			mapse.put("backgroundColor","#FF9900");
-			mapse.put("prefixText","出警队伍总数");
-			mapse.put("suffixText","队");
+			mapse.put("backgroundColor","#E6A23C");
+			mapse.put("prefixText","处警队伍总数");
+			mapse.put("suffixText","人");
 			lists.add(mapa);
 			lists.add(mape);
 			lists.add(maps);
diff --git a/src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.xml b/src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.xml
index 5e80035..613ed16 100644
--- a/src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.xml
+++ b/src/main/java/org/springblade/modules/catalog/mapper/catalogMapper.xml
@@ -52,7 +52,7 @@
 	d.addvnm as name
 FROM
 	sys_suser s
-	LEFT JOIN sys_district d ON d.addvcds = s.addvcd
+	INNER JOIN sys_district d ON d.addvcds = s.addvcd
 GROUP BY
 	s.addvcd
     </select>
@@ -63,13 +63,13 @@
 	d.addvnm as name
 FROM
 	sys_equipment s
-	LEFT JOIN sys_district d ON d.addvcds = s.addvcd
+	INNER JOIN sys_district d ON d.addvcds = s.addvcd
 	WHERE s.parent_id!=0
 GROUP BY
 	s.addvcd
     </select>
     <select id="selectWar" resultType="java.util.HashMap">
-     SELECT COUNT(*) as cou,waringType FROM `sys_alarm` GROUP BY waringType
+     SELECT COUNT(*) as cou,waringType FROM `sys_alarm` GROUP BY waringType ORDER BY cou desc
     </select>
 
 
diff --git a/src/main/java/org/springblade/modules/equipment/mapper/EquipmentMapper.xml b/src/main/java/org/springblade/modules/equipment/mapper/EquipmentMapper.xml
index fea01e7..acc3021 100644
--- a/src/main/java/org/springblade/modules/equipment/mapper/EquipmentMapper.xml
+++ b/src/main/java/org/springblade/modules/equipment/mapper/EquipmentMapper.xml
@@ -95,7 +95,7 @@
     <select id="lazyList" resultMap="deptVOResultMap">
         SELECT dept.id,dept.deviceName,dept.deviceNumber,dept.deviceType,dept.ownership,
         dept.ownerId,dept.devicestate,dept.stime,
-        ST_ASTEXT(dept.coordinate) as coordinate,dept.dtype,
+        ST_ASTEXT(dept.coordinate) as coordinate,dept.dtype,dept.serialNumber,dept.stype,dept.channelNumber,dept.pay,dept.expireTime,dept.heartbeat,
         dept.parent_id,FORMAT(dept.jd,6) as jd,FORMAT(dept.wd,6) as wd,dept.street as
         streeName,u.yname,d.addvnm,dept.addvcd,
         (

--
Gitblit v1.9.3