From 6f2c07bbd6f50f1f9fe29bfa6fec5a6568897432 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Thu, 18 Mar 2021 10:43:01 +0800
Subject: [PATCH] 警情分发逻辑修改
---
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java | 149 ++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 128 insertions(+), 21 deletions(-)
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java
index 726417f..39d3519 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java
@@ -31,6 +31,11 @@
import org.springblade.jfpt.alarm.service.IAlarmService;
import org.springblade.jfpt.alarm.vo.AlarmVO;
import org.springblade.jfpt.alarm.wrapper.AlarmWrapper;
+import org.springblade.jfpt.animalheat.service.AnimalHeatService;
+import org.springblade.jfpt.healthcode.service.IhealthcodeService;
+import org.springblade.jfpt.parcel.service.ParcelService;
+import org.springblade.jfpt.parcel.util.DateUtils;
+import org.springblade.jfpt.parcel.vo.ConditionVo;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
@@ -52,6 +57,12 @@
public class AlarmController extends BladeController {
private final IAlarmService alarmService;
+
+ private final AnimalHeatService animalHeatService;
+
+ private IhealthcodeService ihealthcodeService;
+
+ private ParcelService parcelService;
/**
* 详情
@@ -152,7 +163,39 @@
if (alarm.getAlarmTime() != null && alarm.getAlarmTime().equals("")){
alarm.setAlarmTime(null);
}
- return R.status(alarmService.saveOrUpdate(alarm));
+ if (alarm.getCid() != null && alarm.getCid().equals("")){
+ alarm.setCid("0");
+ }
+
+
+ //警情分发测试代码
+ //查询所有在线的接警员
+ List<Map<String, Object>> policeList = alarmService.queryPolice();
+ List<Map<String, Object>> online_police = new ArrayList<>();
+ for (int i = 0; i < policeList.size(); i++) {
+ if (policeList.get(i).get("work_status").equals(0)){
+ System.out.println(policeList.get(i).get("real_name"));
+ online_police.add(policeList.get(i));
+ }
+ }
+
+ int size = 0;
+ if (online_police.size() == 0){
+ online_police = policeList;
+ size = policeList.size();
+ }else {
+ size = online_police.size();
+ }
+
+ int num=(int)(Math.random()*(size));
+ String name = (String) online_police.get(num).get("real_name");
+ String id = (String) online_police.get(num).get("id");
+
+ alarm.setAlarmPeople(name);
+ alarm.setAlarmId(name);
+
+ return null;
+ //return R.status(alarmService.saveOrUpdate(alarm));
}
@@ -275,7 +318,7 @@
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式
String time = df.format(new Date());// new Date()为获取当前系统时间
ArrayList<String> strings = pastDay(time);
- String[] str={"内部","周边","挟持","救护","旁路","火警","紧急","出入","防拆"};
+ 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>();
@@ -285,32 +328,32 @@
Object waringType = list.get(i).get("waringType");
String wname = waringType.toString();
switch(wname){
- case "内部" :
- map.put("内部",list.get(i).get("cou"));
+ 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"));
+ case "盗警" :
+ map.put("盗警",list.get(i).get("cou"));
break;
- case "出入" :
- map.put("出入",list.get(i).get("cou"));
+ 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"));
+ map.put("未知",list.get(i).get("cou"));
}
}
lists.add(map);
@@ -320,6 +363,8 @@
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);
@@ -329,6 +374,68 @@
return result;
}
+
+ /**
+ * 主动报警统计 饼图展示
+ * @param response
+ * @param conditionVo status 0:本日 1:本月 2:本月
+ * @return
+ */
+ @GetMapping("/selectAlarmSum")
+ public R selectAlarmSum(HttpServletResponse response, ConditionVo conditionVo) {
+ response.setHeader("Access-Control-Allow-Origin", "*");
+ response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
+ response.setHeader("Access-Control-Allow-Credentials","true");
+ //返回数据
+ return R.data(alarmService.selectAlarmSum(conditionVo));
+ }
+
+
+
+ /**
+ * 一周警情统计(主动报警+被动报警类型(体温异常,红码,违禁品)) 2021-3-16 arsn 柱状图展示
+ * @param response
+ * @return
+ */
+ @GetMapping("/selectAlertScount")
+ public R selectAlertScount(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");
+ //创建类型,时间对象,分别存取类型,时间数据
+ Map<String, Object> map = new HashMap<>();
+ List<String> types = new ArrayList<>();
+ List<String> times = new ArrayList<>();
+ List<Map<String, Object>> dataList = new ArrayList<>();
+ //获取类型集合数据
+ String [] type = {"一键求助","违禁品","红色健康码","体温异常"};
+ types = Arrays.asList(type);
+ //获取时间集合数据(今天及今天之前6天的日期)
+ times = DateUtils.pastDay(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
+ //1.统计7天内一键求助警情数量数据
+ Map<String,Object> alarmData = alarmService.selectAlarmData();
+ alarmData.put("name","一键求助");
+ //2.统计7天内违禁品的数量数据
+ Map<String,Object> parcelData = parcelService.selectParcelData();
+ parcelData.put("name","违禁品");
+ //3.统计7天内红色健康码人数数量数据
+ Map<String,Object> healthcodeData = ihealthcodeService.selectHealthcodeData();
+ healthcodeData.put("name","红色健康码");
+ //4.统计7天内体温异常人数数量数据
+ Map<String,Object> animalData = animalHeatService.selectAnimalData();
+ animalData.put("name","体温异常");
+ //封装数据
+ dataList.add(alarmData);
+ dataList.add(parcelData);
+ dataList.add(healthcodeData);
+ dataList.add(animalData);
+ map.put("types",types);
+ map.put("times",times);
+ map.put("dataList",dataList);
+ //返回数据
+ return R.data(map);
+ }
+
/**
* 查询7天内数据
* @param response
--
Gitblit v1.9.3