From eb3440d7c0c7baef5e6fc888fd0076b1787643d9 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 07 Apr 2021 16:14:18 +0800
Subject: [PATCH] 预警时间分布接口新增
---
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/constant/AlarmTimeConstant.java | 19 +
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java | 8
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.xml | 7
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.java | 7
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java | 37 +++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.java | 7
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/ParcelService.java | 7
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java | 121 ++++++++++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/impl/HealthcodeServiceImpl.java | 102 +++++++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java | 102 +++++++++
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 | 7
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 | 104 ++++++++++
14 files changed, 523 insertions(+), 19 deletions(-)
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/constant/AlarmTimeConstant.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/constant/AlarmTimeConstant.java
index 7cf9440..cd068af 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/constant/AlarmTimeConstant.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/constant/AlarmTimeConstant.java
@@ -5,8 +5,21 @@
*/
public interface AlarmTimeConstant {
int ZERO = 0;
- int FIVE = 5*60;
- int TEN = 10*60;
- int THIRTY = 30*60;
+ int TWO = 2;
+ int FOUR = 4;
+ int SIX = 6;
+ int EIGHT = 8;
+ int TEN = 10;
+ int TWEKVE = 12;
+ int FOURTEEN = 14;
+ int SIXTEEN = 16;
+ int EIGHTEEN = 18;
+ int TWENTY = 20;
+ int TWENTY_TWO = 22;
+ int TWENTY_FOUR = 24;
+ int FIVE_TIME = 5*60;
+ int TEN_TIME = 10*60;
+ int THIRTY_TIME = 30*60;
+
}
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 0e6c787..f2d3f12 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
@@ -566,4 +566,41 @@
return null;
}
+
+ /**
+ * 警情时间分布 0-2 2-4 4-6 6-8 .... 22-24
+ * @param response 跨域配置
+ * @param conditionVo 条件
+ * @return
+ */
+ @GetMapping("/selAlarmTimeDis")
+ public R selAlarmTimeDis(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");
+ Map<String, Object> map = new HashMap<>();
+ //获取时间天数
+ if (null!= conditionVo.getStartTime() && conditionVo.getStartTime()!=""
+ && null!=conditionVo.getEndTime() && conditionVo.getEndTime()!="") {
+ int times = DateUtils.getTimeOverOneDate(conditionVo.getStartTime(), conditionVo.getEndTime()).size();
+ //查询当前时间段区间时间一键求助报警个数
+ List<Integer> alarmTimeDis = alarmService.selAlarmTimeDis(conditionVo);
+ //查询当前时间段区间时间违禁品个数
+ List<Integer> parcelTimeDis = parcelService.selParcelTimeDis(conditionVo);
+
+ //查询当前时间段区间时间红色健康码个数
+ List<Integer> healthcodeTimeDis = ihealthcodeService.selHealthcodeTimeDis(conditionVo);
+ //查询当前时间段区间时间体温异常次数
+ List<Integer> animalTimeDis = animalHeatService.selAnimalTimeDis(conditionVo);
+ //封装数据
+ map.put("alarmTimeDis",alarmTimeDis);
+ map.put("parcelTimeDis",parcelTimeDis);
+ map.put("healthcodeTimeDis",healthcodeTimeDis);
+ map.put("animalTimeDis",animalTimeDis);
+ //返回数据
+ return R.data(map);
+ }
+ return null;
+ }
+
}
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 837497d..2d1c49c 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
@@ -93,9 +93,15 @@
/**
* 一键求助报警确认时间占比
- * @param response 跨域配置
* @param conditionVo 条件
* @return
*/
Object selConfirmTimePro(ConditionVo conditionVo);
+
+ /**
+ * 查询当前时间段区间时间一键求助报警个数
+ * @param conditionVo
+ * @return
+ */
+ List<Integer> selAlarmTimeDis(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 8e75ddd..d7d9e37 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
@@ -210,19 +210,19 @@
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){
+ if (czTime-alarmTime>0 && czTime-alarmTime<AlarmTimeConstant.FIVE_TIME){
count05+=1;
}
//5-10分钟
- if (czTime-alarmTime>=AlarmTimeConstant.FIVE && czTime-alarmTime<AlarmTimeConstant.TEN){
+ if (czTime-alarmTime>=AlarmTimeConstant.FIVE_TIME && czTime-alarmTime<AlarmTimeConstant.TEN_TIME){
count0510+=1;
}
//10-30分钟
- if (czTime-alarmTime>=AlarmTimeConstant.TEN && czTime-alarmTime<AlarmTimeConstant.THIRTY){
+ if (czTime-alarmTime>=AlarmTimeConstant.TEN_TIME && czTime-alarmTime<AlarmTimeConstant.THIRTY_TIME){
count1030+=1;
}
//30分钟以上
- if (czTime-alarmTime>=AlarmTimeConstant.THIRTY){
+ if (czTime-alarmTime>=AlarmTimeConstant.THIRTY_TIME){
count30+=1;
}
} catch (ParseException e) {
@@ -233,19 +233,19 @@
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){
+ if (nowTime-alarmTime>0 && nowTime-alarmTime<AlarmTimeConstant.FIVE_TIME){
count05+=1;
}
//5-10分钟
- if (nowTime-alarmTime>=AlarmTimeConstant.FIVE && nowTime-alarmTime<AlarmTimeConstant.TEN){
+ if (nowTime-alarmTime>=AlarmTimeConstant.FIVE_TIME && nowTime-alarmTime<AlarmTimeConstant.TEN_TIME){
count0510+=1;
}
//10-30分钟
- if (nowTime-alarmTime>=AlarmTimeConstant.TEN && nowTime-alarmTime<AlarmTimeConstant.THIRTY){
+ if (nowTime-alarmTime>=AlarmTimeConstant.TEN_TIME && nowTime-alarmTime<AlarmTimeConstant.THIRTY_TIME){
count1030+=1;
}
//30分钟以上
- if (nowTime-alarmTime>=AlarmTimeConstant.THIRTY){
+ if (nowTime-alarmTime>=AlarmTimeConstant.THIRTY_TIME){
count30+=1;
}
} catch (ParseException e) {
@@ -261,4 +261,90 @@
//返回数据
return list;
}
+
+ /**
+ * 查询当前时间段区间时间一键求助报警个数
+ * @param conditionVo
+ * @return
+ */
+ @Override
+ public List<Integer> selAlarmTimeDis(ConditionVo conditionVo) {
+ //查询当前时间段内一键求助报警的数据集合
+ List<Alarm> alarmList = baseMapper.selectAlarmList(conditionVo);
+ if (alarmList.size()>0) {
+ List<Integer> list = new ArrayList<>();
+ int count02 = 0;
+ int count0204 = 0;
+ int count0406 = 0;
+ int count0608 = 0;
+ int count0810 = 0;
+ int count1012 = 0;
+ int count1214 = 0;
+ int count1416 = 0;
+ int count1618 = 0;
+ int count1820 = 0;
+ int count2022 = 0;
+ int count2224 = 0;
+ //遍历集合
+ for (Alarm alarm : alarmList) {
+ try {
+ int hours = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(alarm.getAlarmTime()).getHours();
+ if (hours > 0 && hours < AlarmTimeConstant.TWO) {
+ count02 += 1;
+ }
+ if (hours >= AlarmTimeConstant.TWO && hours < AlarmTimeConstant.FOUR) {
+ count0204 += 1;
+ }
+ if (hours >= AlarmTimeConstant.FOUR && hours < AlarmTimeConstant.SIX) {
+ count0406 += 1;
+ }
+ if (hours >= AlarmTimeConstant.SIX && hours < AlarmTimeConstant.EIGHT) {
+ count0608 += 1;
+ }
+ if (hours >= AlarmTimeConstant.EIGHT && hours < AlarmTimeConstant.TEN) {
+ count0810 += 1;
+ }
+ if (hours >= AlarmTimeConstant.TEN && hours < AlarmTimeConstant.TWEKVE) {
+ count1012 += 1;
+ }
+ if (hours >= AlarmTimeConstant.TWEKVE && hours < AlarmTimeConstant.FOURTEEN) {
+ count1214 += 1;
+ }
+ if (hours >= AlarmTimeConstant.FOURTEEN && hours < AlarmTimeConstant.SIXTEEN) {
+ count1416 += 1;
+ }
+ if (hours >= AlarmTimeConstant.SIXTEEN && hours < AlarmTimeConstant.EIGHTEEN) {
+ count1618 += 1;
+ }
+ if (hours >= AlarmTimeConstant.EIGHTEEN && hours < AlarmTimeConstant.TWENTY) {
+ count1820 += 1;
+ }
+ if (hours >= AlarmTimeConstant.TWENTY && hours < AlarmTimeConstant.TWENTY_TWO) {
+ count2022 += 1;
+ }
+ if (hours >= AlarmTimeConstant.TWENTY_TWO && hours < AlarmTimeConstant.TWENTY_FOUR) {
+ count2224 += 1;
+ }
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ }
+ //封装数据
+ list.add(count02);
+ list.add(count0204);
+ list.add(count0406);
+ list.add(count0608);
+ list.add(count0810);
+ list.add(count1012);
+ list.add(count1214);
+ list.add(count1416);
+ list.add(count1618);
+ list.add(count1820);
+ list.add(count2022);
+ list.add(count2224);
+ //返回数据
+ return list;
+ }
+ return Arrays.asList(0,0,0,0,0,0,0,0,0,0,0,0);
+ }
}
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 4b38813..4322ec3 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
@@ -60,4 +60,11 @@
* @return
*/
Integer selAnimalTimeCount(@Param("conditionVo") ConditionVo conditionVo);
+
+ /**
+ * 查询当前时间段区间时间体温异常次数
+ * @param conditionVo
+ * @return
+ */
+ List<BladeAnimalHeat> selAnimalTimeData(@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 aa06736..869e1af 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
@@ -127,4 +127,11 @@
and create_time between #{conditionVo.startTime} and #{conditionVo.endTime}
</if>
</select>
+
+ <!--查询当前时间段区间时间体温异常次数-->
+ <select id="selAnimalTimeData" resultType="org.springblade.jfpt.animalheat.entity.BladeAnimalHeat">
+ select status,create_time from blade_animal_heat
+ where status=1
+ and create_time between #{conditionVo.startTime} and #{conditionVo.endTime}
+ </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 e3e6a07..05beba9 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
@@ -53,4 +53,11 @@
* @return
*/
Integer selAnimalTimeCount(ConditionVo conditionVo);
+
+ /**
+ * 查询当前时间段区间时间体温异常次数
+ * @param conditionVo
+ * @return
+ */
+ List<Integer> selAnimalTimeDis(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 7d14840..3c96851 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
@@ -3,21 +3,24 @@
import com.alibaba.fastjson.JSONObject;
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.animalheat.entity.BladeAnimalHeat;
import org.springblade.jfpt.animalheat.mapper.AnimalHeatMapper;
import org.springblade.jfpt.animalheat.service.AnimalHeatService;
import org.springblade.jfpt.animalheat.util.ImageUtil;
import org.springblade.jfpt.animalheat.vo.AnimalHeatVo;
import org.springblade.jfpt.animalheat.vo.StatisVo;
+import org.springblade.jfpt.healthcode.entity.Healthcode;
import org.springblade.jfpt.parcel.vo.ConditionVo;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.validation.Valid;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
import static org.springblade.core.tool.utils.DateUtil.now;
/**
@@ -161,4 +164,99 @@
public Integer selAnimalTimeCount(ConditionVo conditionVo) {
return baseMapper.selAnimalTimeCount(conditionVo);
}
+
+ /**
+ * 查询当前时间段区间时间体温异常次数
+ * @param conditionVo
+ * @return
+ */
+ @Override
+ public List<Integer> selAnimalTimeDis(ConditionVo conditionVo) {
+ //获取当前时间段内异常体温数据集合
+ List<BladeAnimalHeat> animalHeats = baseMapper.selAnimalTimeData(conditionVo);
+ if (animalHeats.size()>0){
+ return getHealthcodeTimeDis(animalHeats);
+ }
+ return Arrays.asList(0,0,0,0,0,0,0,0,0,0,0,0);
+ }
+
+ /**
+ * 筛选数据,分类返回
+ * @param collect 集合数据
+ * @return
+ */
+ private List<Integer> getHealthcodeTimeDis(List<BladeAnimalHeat> collect) {
+ List<Integer> list = new ArrayList<>();
+ int count02 = 0;
+ int count0204 = 0;
+ int count0406 = 0;
+ int count0608 = 0;
+ int count0810 = 0;
+ int count1012 = 0;
+ int count1214 = 0;
+ int count1416 = 0;
+ int count1618 = 0;
+ int count1820 = 0;
+ int count2022 = 0;
+ int count2224 = 0;
+ //遍历集合
+ for (BladeAnimalHeat animalHeat:collect) {
+ try {
+ long hours = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(animalHeat.getCreateTime().toString()).getHours();
+ if (hours>0 && hours< AlarmTimeConstant.TWO){
+ count02+=1;
+ }
+ if (hours>=AlarmTimeConstant.TWO && hours<AlarmTimeConstant.FOUR){
+ count0204+=1;
+ }
+ if (hours>=AlarmTimeConstant.FOUR && hours<AlarmTimeConstant.SIX){
+ count0406+=1;
+ }
+ if (hours>=AlarmTimeConstant.SIX && hours<AlarmTimeConstant.EIGHT){
+ count0608+=1;
+ }
+ if (hours>=AlarmTimeConstant.EIGHT && hours<AlarmTimeConstant.TEN){
+ count0810+=1;
+ }
+ if (hours>=AlarmTimeConstant.TEN && hours<AlarmTimeConstant.TWEKVE){
+ count1012+=1;
+ }
+ if (hours>=AlarmTimeConstant.TWEKVE && hours<AlarmTimeConstant.FOURTEEN){
+ count1214+=1;
+ }
+ if (hours>=AlarmTimeConstant.FOURTEEN && hours<AlarmTimeConstant.SIXTEEN){
+ count1416+=1;
+ }
+ if (hours>=AlarmTimeConstant.SIXTEEN && hours<AlarmTimeConstant.EIGHTEEN){
+ count1618+=1;
+ }
+ if (hours>=AlarmTimeConstant.EIGHTEEN && hours<AlarmTimeConstant.TWENTY){
+ count1820+=1;
+ }
+ if (hours>=AlarmTimeConstant.TWENTY && hours<AlarmTimeConstant.TWENTY_TWO){
+ count2022+=1;
+ }
+ if (hours>=AlarmTimeConstant.TWENTY_TWO && hours<AlarmTimeConstant.TWENTY_FOUR){
+ count2224+=1;
+ }
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ }
+ //封装数据
+ list.add(count02);
+ list.add(count0204);
+ list.add(count0406);
+ list.add(count0608);
+ list.add(count0810);
+ list.add(count1012);
+ list.add(count1214);
+ list.add(count1416);
+ list.add(count1618);
+ list.add(count1820);
+ list.add(count2022);
+ list.add(count2224);
+ //返回数据
+ return list;
+ }
}
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 eb62ef6..f456ed4 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
@@ -56,4 +56,11 @@
* @return
*/
Integer selHealthcodeTimeCount(@Param("conditionVo")ConditionVo conditionVo);
+
+ /**
+ * 查询当前时间段区间时间红色健康码个数
+ * @param conditionVo
+ * @return
+ */
+ List<Healthcode> selRedCodeTimeData(@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 d7a271d..3225b9b 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
@@ -161,4 +161,11 @@
and dtime between #{conditionVo.startTime} and #{conditionVo.endTime}
</if>
</select>
+
+ <!--查询当前时间段区间时间红色健康码个数-->
+ <select id="selRedCodeTimeData" resultType="org.springblade.jfpt.healthcode.entity.Healthcode">
+ SELECT type,dtime FROM healthcode
+ where type =3
+ and dtime between #{conditionVo.startTime} and #{conditionVo.endTime}
+ </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 482cb6a..47b22a4 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
@@ -56,4 +56,11 @@
* @return
*/
Integer selHealthcodeTimeCount(ConditionVo conditionVo);
+
+ /**
+ * 查询当前时间段区间时间红色健康码个数
+ * @param conditionVo
+ * @return
+ */
+ List<Integer> selHealthcodeTimeDis(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 7d1aa78..635c4e0 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
@@ -18,6 +18,7 @@
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.healthcode.entity.Healthcode;
import org.springblade.jfpt.healthcode.mapper.healthcodeMapper;
import org.springblade.jfpt.healthcode.service.IhealthcodeService;
@@ -25,9 +26,9 @@
import org.springblade.jfpt.parcel.vo.ConditionVo;
import org.springframework.stereotype.Service;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
/**
* 服务实现类
@@ -88,4 +89,99 @@
public Integer selHealthcodeTimeCount(ConditionVo conditionVo) {
return baseMapper.selHealthcodeTimeCount(conditionVo);
}
+
+ /**
+ * 查询当前时间段区间时间红色健康码个数
+ * @param conditionVo
+ * @return
+ */
+ @Override
+ public List<Integer> selHealthcodeTimeDis(ConditionVo conditionVo) {
+ //查询当前时间段内的红色健康码数据集合
+ List<Healthcode> healthcodeList = baseMapper.selRedCodeTimeData(conditionVo);
+ if (healthcodeList.size()>0){
+ return getHealthcodeTimeDis(healthcodeList);
+ }
+ return Arrays.asList(0,0,0,0,0,0,0,0,0,0,0,0);
+ }
+
+ /**
+ * 筛选数据,分类返回
+ * @param collect 集合数据
+ * @return
+ */
+ private List<Integer> getHealthcodeTimeDis(List<Healthcode> collect) {
+ List<Integer> list = new ArrayList<>();
+ int count02 = 0;
+ int count0204 = 0;
+ int count0406 = 0;
+ int count0608 = 0;
+ int count0810 = 0;
+ int count1012 = 0;
+ int count1214 = 0;
+ int count1416 = 0;
+ int count1618 = 0;
+ int count1820 = 0;
+ int count2022 = 0;
+ int count2224 = 0;
+ //遍历集合
+ for (Healthcode healthcode:collect) {
+ try {
+ long hours = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(healthcode.getDtime()).getHours();
+ if (hours>0 && hours< AlarmTimeConstant.TWO){
+ count02+=1;
+ }
+ if (hours>=AlarmTimeConstant.TWO && hours<AlarmTimeConstant.FOUR){
+ count0204+=1;
+ }
+ if (hours>=AlarmTimeConstant.FOUR && hours<AlarmTimeConstant.SIX){
+ count0406+=1;
+ }
+ if (hours>=AlarmTimeConstant.SIX && hours<AlarmTimeConstant.EIGHT){
+ count0608+=1;
+ }
+ if (hours>=AlarmTimeConstant.EIGHT && hours<AlarmTimeConstant.TEN){
+ count0810+=1;
+ }
+ if (hours>=AlarmTimeConstant.TEN && hours<AlarmTimeConstant.TWEKVE){
+ count1012+=1;
+ }
+ if (hours>=AlarmTimeConstant.TWEKVE && hours<AlarmTimeConstant.FOURTEEN){
+ count1214+=1;
+ }
+ if (hours>=AlarmTimeConstant.FOURTEEN && hours<AlarmTimeConstant.SIXTEEN){
+ count1416+=1;
+ }
+ if (hours>=AlarmTimeConstant.SIXTEEN && hours<AlarmTimeConstant.EIGHTEEN){
+ count1618+=1;
+ }
+ if (hours>=AlarmTimeConstant.EIGHTEEN && hours<AlarmTimeConstant.TWENTY){
+ count1820+=1;
+ }
+ if (hours>=AlarmTimeConstant.TWENTY && hours<AlarmTimeConstant.TWENTY_TWO){
+ count2022+=1;
+ }
+ if (hours>=AlarmTimeConstant.TWENTY_TWO && hours<AlarmTimeConstant.TWENTY_FOUR){
+ count2224+=1;
+ }
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ }
+ //封装数据
+ list.add(count02);
+ list.add(count0204);
+ list.add(count0406);
+ list.add(count0608);
+ list.add(count0810);
+ list.add(count1012);
+ list.add(count1214);
+ list.add(count1416);
+ list.add(count1618);
+ list.add(count1820);
+ list.add(count2022);
+ list.add(count2224);
+ //返回数据
+ return list;
+ }
}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/ParcelService.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/ParcelService.java
index fbe4469..931ca2b 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/ParcelService.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/ParcelService.java
@@ -64,4 +64,11 @@
* @return
*/
Integer selParcelTimeCount(ConditionVo conditionVo);
+
+ /**
+ *查询当前时间段区间时间违禁品个数
+ * @param conditionVo
+ * @return
+ */
+ List<Integer> selParcelTimeDis(ConditionVo conditionVo);
}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java
index bca65ef..d44455b 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java
@@ -4,6 +4,7 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import io.swagger.models.auth.In;
+import org.springblade.jfpt.alarm.constant.AlarmTimeConstant;
import org.springblade.jfpt.animalheat.util.ImageUtil;
import org.springblade.jfpt.parcel.service.ParcelService;
import org.springblade.jfpt.parcel.util.DateUtils;
@@ -14,8 +15,10 @@
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
+import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.stream.Collectors;
import static org.springblade.core.tool.utils.DateUtil.now;
@@ -69,7 +72,6 @@
//将所有的违禁包裹编码存起来
mapCode.put(objectMap.get("objCode").toString(),objectMap.get("objCode").toString());
}
- System.out.println("mapCode = " + mapCode);
//遍历违禁编码map数据
List<Map<String,Object>> list = new ArrayList<>();
for (String value:mapCode.values()) {
@@ -434,4 +436,121 @@
public Integer selParcelTimeCount(ConditionVo conditionVo) {
return selectParcelCount(conditionVo).get(1);
}
+
+ /**
+ *查询当前时间段区间时间违禁品个数
+ * @param conditionVo
+ * @return
+ */
+ @Override
+ public List<Integer> selParcelTimeDis(ConditionVo conditionVo) {
+ ArrayList<List<Object>> objectArrayList = new ArrayList<>();
+ //设置页码数
+ conditionVo.setCurrentPage(1);
+ conditionVo.setPageSize(100);
+ //获取数据
+ Map<String,Object> result =(Map<String,Object>) getParcelDataPageList(conditionVo, PARCEL_KIND_URL, PARCEL_KEY, PARCEL_SECRET).get("result");
+ if (null!=result) {
+ List<Object> dataList = JSONArray.parseArray(result.get("data").toString());
+ objectArrayList.add(dataList);
+ //取第一次获取到的数据总数,每次取100条,多于100分批次取
+ int totalSize = Integer.parseInt(result.get("totalSize").toString());
+ int i = totalSize/100+1;
+ if (i>1){
+ for (int j=1;j<i;j++) {
+ conditionVo.setCurrentPage(j+1);
+ //获取数据
+ Map<String,Object> result0 =(Map<String,Object>) getParcelDataPageList(conditionVo, PARCEL_KIND_URL, PARCEL_KEY, PARCEL_SECRET).get("result");
+ List<Object> dataLists = JSONArray.parseArray(result0.get("data").toString());
+ objectArrayList.add(dataLists);
+ }
+ }
+ //合并集合
+ List<Object> collect = objectArrayList.stream().flatMap(List::stream).collect(Collectors.toList());
+ //筛选数据,返回数据
+ return getParcelTimeDis(collect);
+ }
+ return Arrays.asList(0,0,0,0,0,0,0,0,0,0,0,0);
+ }
+
+ /**
+ * 筛选数据,分类返回
+ * @param collect 集合数据
+ * @return
+ */
+ private List<Integer> getParcelTimeDis(List<Object> collect) {
+ List<Integer> list = new ArrayList<>();
+ int count02 = 0;
+ int count0204 = 0;
+ int count0406 = 0;
+ int count0608 = 0;
+ int count0810 = 0;
+ int count1012 = 0;
+ int count1214 = 0;
+ int count1416 = 0;
+ int count1618 = 0;
+ int count1820 = 0;
+ int count2022 = 0;
+ int count2224 = 0;
+ //遍历集合
+ for (Object data:collect) {
+ Map<String,Object> parcelData =(Map<String,Object>)data;
+ try {
+ long hours = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(parcelData.get("createTime").toString()).getHours();
+ if (hours>0 && hours< AlarmTimeConstant.TWO){
+ count02+=1;
+ }
+ if (hours>=AlarmTimeConstant.TWO && hours<AlarmTimeConstant.FOUR){
+ count0204+=1;
+ }
+ if (hours>=AlarmTimeConstant.FOUR && hours<AlarmTimeConstant.SIX){
+ count0406+=1;
+ }
+ if (hours>=AlarmTimeConstant.SIX && hours<AlarmTimeConstant.EIGHT){
+ count0608+=1;
+ }
+ if (hours>=AlarmTimeConstant.EIGHT && hours<AlarmTimeConstant.TEN){
+ count0810+=1;
+ }
+ if (hours>=AlarmTimeConstant.TEN && hours<AlarmTimeConstant.TWEKVE){
+ count1012+=1;
+ }
+ if (hours>=AlarmTimeConstant.TWEKVE && hours<AlarmTimeConstant.FOURTEEN){
+ count1214+=1;
+ }
+ if (hours>=AlarmTimeConstant.FOURTEEN && hours<AlarmTimeConstant.SIXTEEN){
+ count1416+=1;
+ }
+ if (hours>=AlarmTimeConstant.SIXTEEN && hours<AlarmTimeConstant.EIGHTEEN){
+ count1618+=1;
+ }
+ if (hours>=AlarmTimeConstant.EIGHTEEN && hours<AlarmTimeConstant.TWENTY){
+ count1820+=1;
+ }
+ if (hours>=AlarmTimeConstant.TWENTY && hours<AlarmTimeConstant.TWENTY_TWO){
+ count2022+=1;
+ }
+ if (hours>=AlarmTimeConstant.TWENTY_TWO && hours<AlarmTimeConstant.TWENTY_FOUR){
+ count2224+=1;
+ }
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ }
+ //封装数据
+ list.add(count02);
+ list.add(count0204);
+ list.add(count0406);
+ list.add(count0608);
+ list.add(count0810);
+ list.add(count1012);
+ list.add(count1214);
+ list.add(count1416);
+ list.add(count1618);
+ list.add(count1820);
+ list.add(count2022);
+ list.add(count2224);
+ //返回数据
+ return list;
+ }
}
--
Gitblit v1.9.3