From ca9f3dd541747f4b8bb6a6c06f7635a962da0412 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 07 Apr 2021 23:47:43 +0800
Subject: [PATCH] 预警数量统计接口修改,mybatis 使用sql 变量问题解决
---
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java | 7 ++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml | 20 ++++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java | 9 +++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.xml | 20 ++++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.java | 9 +++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java | 11 +--
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.java | 9 +++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/impl/HealthcodeServiceImpl.java | 19 ++++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java | 18 ++++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/AnimalHeatService.java | 7 ++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.xml | 20 ++++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/IhealthcodeService.java | 7 ++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/impl/AnimalHeatServiceImpl.java | 24 +++++++
13 files changed, 172 insertions(+), 8 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 f2d3f12..8852614 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
@@ -396,17 +396,17 @@
if (null!=conditionVo){
//获取时间集合数据
times = DateUtils.getTimeOverOneDate(conditionVo.getStartTime(), conditionVo.getEndTime());
- //1.统计时间段内一键求助警情数量数据 3-20 修改展示紧急求助
- Map<String, Object> alarmData = alarmService.selectAlarmData();
+ //1.统计时间段内一键求助警情数量数据 4-7 修改展示紧急求助
+ Map<String, Object> alarmData = alarmService.selectAlarmTimeData(conditionVo);
alarmData.put("name", "一键求助");
//2.统计时间段内违禁品的数量数据
Map<String, Object> parcelData = parcelService.selectParcelData(conditionVo);
parcelData.put("name", "违禁品");
//3.统计时间段内红色健康码人数数量数据
- Map<String, Object> healthcodeData = ihealthcodeService.selectHealthcodeData();
+ Map<String, Object> healthcodeData = ihealthcodeService.selectHealthcodeTimeData(conditionVo);
healthcodeData.put("name", "红色健康码");
//4.统计时间段内体温异常人数数量数据
- Map<String, Object> animalData = animalHeatService.selectAnimalData();
+ Map<String, Object> animalData = animalHeatService.selectAnimalTimeData(conditionVo);
animalData.put("name", "体温异常");
//封装数据
dataList.add(alarmData);
@@ -587,8 +587,7 @@
List<Integer> alarmTimeDis = alarmService.selAlarmTimeDis(conditionVo);
//查询当前时间段区间时间违禁品个数
List<Integer> parcelTimeDis = parcelService.selParcelTimeDis(conditionVo);
-
- //查询当前时间段区间时间红色健康码个数
+ //查询当前时间段区间时间红色健康码个数
List<Integer> healthcodeTimeDis = ihealthcodeService.selHealthcodeTimeDis(conditionVo);
//查询当前时间段区间时间体温异常次数
List<Integer> animalTimeDis = animalHeatService.selAnimalTimeDis(conditionVo);
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java
index d6fd45e..908bc07 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java
@@ -16,6 +16,7 @@
*/
package org.springblade.jfpt.alarm.mapper;
+import com.baomidou.mybatisplus.annotation.SqlParser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
@@ -98,4 +99,12 @@
* @return
*/
List<Alarm> selectAlarmList(@Param("conditionVo")ConditionVo conditionVo);
+
+ /**
+ * 统计时间段内一键求助警情数量数据
+ * @param conditionVo
+ * @return
+ */
+ @SqlParser(filter = true)
+ List<Integer> selectAlarmTimeData(@Param("conditionVo")ConditionVo conditionVo);
}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
index 7d50353..c13c9d9 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
@@ -474,4 +474,24 @@
where waringType='紧急求救'
and alarmTime between #{conditionVo.startTime} and #{conditionVo.endTime}
</select>
+
+ <!--统计时间段内一键求助警情数量数据-->
+ <select id="selectAlarmTimeData" resultType="java.lang.Integer">
+ select ifnull(count,0) count from
+ (
+ SELECT @date := DATE_ADD( @date, INTERVAL + 1 DAY ) days FROM
+ (
+ SELECT @date := DATE_ADD( #{conditionVo.startTime}, INTERVAL - 1 DAY ) FROM sys_date
+ ) time
+ WHERE to_days( @date ) < to_days( #{conditionVo.endTime} )
+ ) a
+ left join
+ (
+ select DATE_FORMAT(alarmTime,'%Y-%m-%d') as datetime, count(*) as count from sys_alarm
+ where waringType = '紧急求救'
+ group by DATE_FORMAT(alarmTime,'%Y-%m-%d')
+ ) b
+ on
+ a.days = b.datetime
+ </select>
</mapper>
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java
index 2d1c49c..ca5b64b 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java
@@ -104,4 +104,11 @@
* @return
*/
List<Integer> selAlarmTimeDis(ConditionVo conditionVo);
+
+ /**
+ * 统计时间段内一键求助警情数量数据
+ * @param conditionVo
+ * @return
+ */
+ Map<String, Object> selectAlarmTimeData(ConditionVo conditionVo);
}
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 d7d9e37..5859a5f 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
@@ -347,4 +347,22 @@
}
return Arrays.asList(0,0,0,0,0,0,0,0,0,0,0,0);
}
+
+ /**
+ * 统计时间段内一键求助警情数量数据
+ * @param conditionVo
+ * @return
+ */
+ @Override
+ public Map<String, Object> selectAlarmTimeData(ConditionVo conditionVo) {
+ conditionVo.setStartTime(conditionVo.getStartTime().substring(0,10));
+ conditionVo.setEndTime(conditionVo.getEndTime().substring(0,10));
+ Map<String, Object> map = new HashMap<>();
+ //查询数据
+ List<Integer> list = baseMapper.selectAlarmTimeData(conditionVo);
+ //封装数据
+ map.put("alarmData",list);
+ //返回数据
+ return map;
+ }
}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.java
index 4322ec3..fcc4a02 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.java
@@ -1,5 +1,6 @@
package org.springblade.jfpt.animalheat.mapper;
+import com.baomidou.mybatisplus.annotation.SqlParser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
@@ -67,4 +68,12 @@
* @return
*/
List<BladeAnimalHeat> selAnimalTimeData(@Param("conditionVo")ConditionVo conditionVo);
+
+ /**
+ * 统计时间段内体温异常人数数量数据
+ * @param conditionVo
+ * @return
+ */
+ @SqlParser(filter = true)
+ List<Integer> selectAnimalTimeData(@Param("conditionVo")ConditionVo conditionVo);
}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.xml b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.xml
index 869e1af..f871bc3 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.xml
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.xml
@@ -134,4 +134,24 @@
where status=1
and create_time between #{conditionVo.startTime} and #{conditionVo.endTime}
</select>
+
+ <!--统计时间段内体温异常人数数量数据-->
+ <select id="selectAnimalTimeData" resultType="java.lang.Integer">
+ select ifnull(count,0) count from
+ (
+ SELECT @date := DATE_ADD( @date, INTERVAL + 1 DAY ) days FROM
+ (
+ SELECT @date := DATE_ADD( #{conditionVo.startTime}, INTERVAL - 1 DAY ) FROM sys_date
+ ) time
+ WHERE to_days( @date ) < to_days( #{conditionVo.endTime} )
+ ) a
+ left join
+ (
+ select DATE_FORMAT(create_time,'%Y-%m-%d') as datetime, count(*) as count from blade_animal_heat
+ where status=1
+ group by DATE_FORMAT(create_time,'%Y-%m-%d')
+ ) b
+ on
+ a.days = b.datetime
+ </select>
</mapper>
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/AnimalHeatService.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/AnimalHeatService.java
index 05beba9..4c35b60 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/AnimalHeatService.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/AnimalHeatService.java
@@ -60,4 +60,11 @@
* @return
*/
List<Integer> selAnimalTimeDis(ConditionVo conditionVo);
+
+ /**
+ * 统计时间段内体温异常人数数量数据
+ * @param conditionVo
+ * @return
+ */
+ Map<String, Object> selectAnimalTimeData(ConditionVo conditionVo);
}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/impl/AnimalHeatServiceImpl.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/impl/AnimalHeatServiceImpl.java
index 3c96851..f2134fe 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/impl/AnimalHeatServiceImpl.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/impl/AnimalHeatServiceImpl.java
@@ -202,7 +202,8 @@
//遍历集合
for (BladeAnimalHeat animalHeat:collect) {
try {
- long hours = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(animalHeat.getCreateTime().toString()).getHours();
+ System.out.println("animalHeat.getCreateTime() = " + animalHeat.getCreateTime());
+ long hours = animalHeat.getCreateTime().getHours();
if (hours>0 && hours< AlarmTimeConstant.TWO){
count02+=1;
}
@@ -239,7 +240,7 @@
if (hours>=AlarmTimeConstant.TWENTY_TWO && hours<AlarmTimeConstant.TWENTY_FOUR){
count2224+=1;
}
- } catch (ParseException e) {
+ } catch (Exception e) {
e.printStackTrace();
}
}
@@ -259,4 +260,23 @@
//返回数据
return list;
}
+
+ /**
+ * 统计时间段内体温异常人数数量数据
+ * @param conditionVo
+ * @return
+ */
+ @Override
+ public Map<String, Object> selectAnimalTimeData(ConditionVo conditionVo) {
+ conditionVo.setStartTime(conditionVo.getStartTime().substring(0,10));
+ conditionVo.setEndTime(conditionVo.getEndTime().substring(0,10));
+ //创建map对象
+ Map<String, Object> map = new HashMap<>();
+ //查询统计数据
+ List<Integer> list = baseMapper.selectAnimalTimeData(conditionVo);
+ //封装数据
+ map.put("animalData",list);
+ //返回数据
+ return map;
+ }
}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.java
index f456ed4..97df574 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.java
@@ -16,6 +16,7 @@
*/
package org.springblade.jfpt.healthcode.mapper;
+import com.baomidou.mybatisplus.annotation.SqlParser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
@@ -63,4 +64,12 @@
* @return
*/
List<Healthcode> selRedCodeTimeData(@Param("conditionVo")ConditionVo conditionVo);
+
+ /**
+ * 统计时间段内红色健康码人数数量数据
+ * @param conditionVo
+ * @return
+ */
+ @SqlParser(filter = true)
+ List<Integer> selectHealthcodeTimeData(@Param("conditionVo")ConditionVo conditionVo);
}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.xml b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.xml
index 3225b9b..fa65340 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.xml
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.xml
@@ -168,4 +168,24 @@
where type =3
and dtime between #{conditionVo.startTime} and #{conditionVo.endTime}
</select>
+
+ <!--统计时间段内红色健康码人数数量数据-->
+ <select id="selectHealthcodeTimeData" resultType="java.lang.Integer">
+ select ifnull(count,0) count from
+ (
+ SELECT @date := DATE_ADD( @date, INTERVAL + 1 DAY ) days FROM
+ (
+ SELECT @date := DATE_ADD( #{conditionVo.startTime}, INTERVAL - 1 DAY ) FROM sys_date
+ ) time
+ WHERE to_days( @date ) < to_days( #{conditionVo.endTime} )
+ ) a
+ left join
+ (
+ select DATE_FORMAT(dtime,'%Y-%m-%d') as datetime, count(*) as count from healthcode
+ where type=3
+ group by DATE_FORMAT(dtime,'%Y-%m-%d')
+ ) b
+ on
+ a.days = b.datetime
+ </select>
</mapper>
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/IhealthcodeService.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/IhealthcodeService.java
index 47b22a4..3b2d04f 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/IhealthcodeService.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/IhealthcodeService.java
@@ -63,4 +63,11 @@
* @return
*/
List<Integer> selHealthcodeTimeDis(ConditionVo conditionVo);
+
+ /**
+ * 统计时间段内红色健康码人数数量数据
+ * @param conditionVo
+ * @return
+ */
+ Map<String, Object> selectHealthcodeTimeData(ConditionVo conditionVo);
}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/impl/HealthcodeServiceImpl.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/impl/HealthcodeServiceImpl.java
index 635c4e0..a3e8fbd 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/impl/HealthcodeServiceImpl.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/impl/HealthcodeServiceImpl.java
@@ -184,4 +184,23 @@
//返回数据
return list;
}
+
+ /**
+ * 统计时间段内红色健康码人数数量数据
+ * @param conditionVo
+ * @return
+ */
+ @Override
+ public Map<String, Object> selectHealthcodeTimeData(ConditionVo conditionVo) {
+ conditionVo.setStartTime(conditionVo.getStartTime().substring(0,10));
+ conditionVo.setEndTime(conditionVo.getEndTime().substring(0,10));
+ //创建map对象
+ Map<String, Object> map = new HashMap<>();
+ //查询统计数据
+ List<Integer> list = baseMapper.selectHealthcodeTimeData(conditionVo);
+ //封装数据
+ map.put("healthcodeData",list);
+ //返回数据
+ return map;
+ }
}
--
Gitblit v1.9.3