From 87ba91cc982d089cb8993753de049d0d638c8228 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 07 Apr 2021 11:14:54 +0800
Subject: [PATCH] 主动报警警情确认时间接口新增
---
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java | 172 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 168 insertions(+), 4 deletions(-)
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java
index 52a28b1..8e75ddd 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java
@@ -17,16 +17,21 @@
package org.springblade.jfpt.alarm.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.jfpt.alarm.constant.AlarmTimeConstant;
import org.springblade.jfpt.alarm.entity.Alarm;
import org.springblade.jfpt.alarm.mapper.AlarmMapper;
import org.springblade.jfpt.alarm.service.IAlarmService;
import org.springblade.jfpt.alarm.vo.AlarmVO;
+import org.springblade.jfpt.parcel.util.DateUtils;
+import org.springblade.jfpt.parcel.vo.ConditionVo;
import org.springframework.stereotype.Service;
-import java.util.List;
-import java.util.Map;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
/**
* 服务实现类
@@ -93,8 +98,167 @@
}
@Override
- public void updateJtype(String id,String czTime,String bz) {
- baseMapper.updateJtype(id,czTime,bz);
+ public void updateJtype(String id,String jtype,String bz) {
+ baseMapper.updateJtype(id,jtype,bz);
}
+ @Override
+ public void updateVaddress(String vaddress, String jid) {
+ baseMapper.updateVaddress(vaddress, jid);
+ }
+
+ @Override
+ public void updatePoliceStatus(String id,String status) {
+ baseMapper.updatePoliceStatus(id,status);
+ }
+
+ @Override
+ public void updateAaddress(String aaddress, String jid) {
+ baseMapper.updateAaddress(aaddress, jid);
+ }
+
+ @Override
+ public List<Map<String, Object>> selectEq(String time) {
+ return baseMapper.selectEq(time);
+ }
+
+ /**
+ * 查询警情总数
+ * @param conditionVo status 0:本日 1:本周 2:本月
+ * @return
+ */
+ @Override
+ public Integer selectAlarmCount(ConditionVo conditionVo) {
+ return baseMapper.selectAlarmCount(conditionVo);
+ }
+
+ /**
+ * 查询7天内主动报警(紧急求助)每天的数量
+ * @return
+ */
+ @Override
+ public Map<String, Object> selectAlarmData() {
+ Map<String, Object> map = new HashMap<>();
+ //查询数据
+ List<Integer> list = baseMapper.selectAlarmData();
+ //封装数据
+ map.put("alarmData",list);
+ //返回数据
+ return map;
+ }
+
+ /**
+ * 主动报警统计 饼图展示
+ * @param conditionVo status 0:本日 1:本月 2:本月
+ * @return
+ */
+ @Override
+ public List<Map<String, Object>> selectAlarmSum(ConditionVo conditionVo) {
+ //status 不为空时
+ if (null!=conditionVo.getStatus()){
+ return baseMapper.selectAlarmSum(conditionVo);
+ }
+ //返回数据
+ return null;
+ }
+
+ @Override
+ public List<Map<String, Object>> queryPolice() {
+ return baseMapper.queryPolice();
+ }
+
+ @Override
+ public List<Map<String, Object>> queryPoliceTime(List policeIdArr) {
+ return baseMapper.queryPoliceTime(policeIdArr);
+ }
+
+ @Override
+ public List<Map<String, Object>> queryBa() {
+ return baseMapper.queryBa();
+ }
+
+ /**
+ * 查询当前时间段一键求助报警总次数
+ * @param conditionVo
+ * @return
+ */
+ @Override
+ public Integer selAlarmTimeCount(ConditionVo conditionVo) {
+ return baseMapper.selAlarmTimeCount(conditionVo);
+ }
+
+ /**
+ * 一键求助报警确认时间占比
+ * @param conditionVo 条件
+ * @return
+ */
+ @Override
+ public Object selConfirmTimePro(ConditionVo conditionVo) {
+ //查询当前时间段内一键求助报警的数据集合
+ List<Alarm> alarmList = baseMapper.selectAlarmList(conditionVo);
+ List<Integer> list = new ArrayList<>();
+ //一键求助报警总数
+ int count = alarmList.size();
+ int count05 = 0;
+ int count0510 = 0;
+ int count1030 = 0;
+ int count30 = 0;
+ //遍历集合
+ for (Alarm alarm:alarmList) {
+ if (null!=alarm.getCzTime() && alarm.getCzTime()!=""){
+ try {
+ long czTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(alarm.getCzTime()).getTime();
+ long alarmTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(alarm.getAlarmTime()).getTime();
+ //0-5分钟
+ if (czTime-alarmTime>0 && czTime-alarmTime<AlarmTimeConstant.FIVE){
+ count05+=1;
+ }
+ //5-10分钟
+ if (czTime-alarmTime>=AlarmTimeConstant.FIVE && czTime-alarmTime<AlarmTimeConstant.TEN){
+ count0510+=1;
+ }
+ //10-30分钟
+ if (czTime-alarmTime>=AlarmTimeConstant.TEN && czTime-alarmTime<AlarmTimeConstant.THIRTY){
+ count1030+=1;
+ }
+ //30分钟以上
+ if (czTime-alarmTime>=AlarmTimeConstant.THIRTY){
+ count30+=1;
+ }
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ }else {
+ long nowTime = new Date().getTime();
+ try {
+ long alarmTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(alarm.getAlarmTime()).getTime();
+ //0-5分钟
+ if (nowTime-alarmTime>0 && nowTime-alarmTime<AlarmTimeConstant.FIVE){
+ count05+=1;
+ }
+ //5-10分钟
+ if (nowTime-alarmTime>=AlarmTimeConstant.FIVE && nowTime-alarmTime<AlarmTimeConstant.TEN){
+ count0510+=1;
+ }
+ //10-30分钟
+ if (nowTime-alarmTime>=AlarmTimeConstant.TEN && nowTime-alarmTime<AlarmTimeConstant.THIRTY){
+ count1030+=1;
+ }
+ //30分钟以上
+ if (nowTime-alarmTime>=AlarmTimeConstant.THIRTY){
+ count30+=1;
+ }
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ //封装数据
+ list.add(count05);
+ list.add(count0510);
+ list.add(count1030);
+ list.add(count30);
+ //返回数据
+ return list;
+ }
}
--
Gitblit v1.9.3