From abbaf2374fff7d02ecc3eecd6bf62504fbf27c4b Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Tue, 06 Apr 2021 22:33:25 +0800
Subject: [PATCH] 预警数量统计接口修改,预警数量分布接口修改,预警分类占比接口新增

---
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java                   |   10 +
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml                       |   27 +++
 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             |    9 +
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.java            |    8 +
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java              |  100 +++++++++++--
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.java            |    8 +
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/ParcelService.java                  |   13 +
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java         |   83 +++++++----
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/IEquipmentService.java           |    5 
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/controller/catalogController.java          |   28 +--
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/impl/HealthcodeServiceImpl.java |   11 +
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java           |   17 ++
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/AnimalHeatService.java          |    8 +
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/suser/service/impl/SuserServiceImpl.java           |    3 
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/util/DateUtils.java                         |   29 ++++
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java   |    6 
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/suser/service/ISuserService.java                   |    3 
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.xml             |    8 +
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/IhealthcodeService.java         |    8 +
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/impl/AnimalHeatServiceImpl.java |   11 +
 21 files changed, 319 insertions(+), 85 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 673024f..7a541d6 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
@@ -22,6 +22,7 @@
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
+import org.aspectj.weaver.patterns.Declare;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
@@ -380,7 +381,7 @@
 	 * @return
 	 */
 	@GetMapping("/selectAlertScount")
-	public R selectAlertScount(HttpServletResponse response) {
+	public R selectAlertScount(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");
@@ -392,25 +393,48 @@
 		//获取类型集合数据
 		String [] type = {"一键求助","违禁品","红色健康码","体温异常"};
 		types = Arrays.asList(type);
-		//获取时间集合数据(今天及今天之前6天的日期)
-		times = DateUtils.pastDay(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
-		//1.统计7天内一键求助警情数量数据    3-20 修改展示紧急求助
-		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);
+		if (null!=conditionVo){
+			//获取时间集合数据
+			times = DateUtils.getTimeOverOneDate(conditionVo.getStartTime(), conditionVo.getEndTime());
+			//1.统计时间段内一键求助警情数量数据    3-20 修改展示紧急求助
+			Map<String, Object> alarmData = alarmService.selectAlarmData();
+			alarmData.put("name", "一键求助");
+			//2.统计时间段内违禁品的数量数据
+			Map<String, Object> parcelData = parcelService.selectParcelData(conditionVo);
+			parcelData.put("name", "违禁品");
+			//3.统计时间段内红色健康码人数数量数据
+			Map<String, Object> healthcodeData = ihealthcodeService.selectHealthcodeData();
+			healthcodeData.put("name", "红色健康码");
+			//4.统计时间段内体温异常人数数量数据
+			Map<String, Object> animalData = animalHeatService.selectAnimalData();
+			animalData.put("name", "体温异常");
+			//封装数据
+			dataList.add(alarmData);
+			dataList.add(parcelData);
+			dataList.add(healthcodeData);
+			dataList.add(animalData);
+		}else {
+			//获取时间集合数据(今天及今天之前6天的日期)
+			times = DateUtils.pastDay(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
+			//1.统计7天内一键求助警情数量数据    3-20 修改展示紧急求助
+			Map<String, Object> alarmData = alarmService.selectAlarmData();
+			alarmData.put("name", "一键求助");
+			//2.统计7天内违禁品的数量数据
+			conditionVo.setStatus(1);
+			Map<String, Object> parcelData = parcelService.selectParcelData(conditionVo);
+			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);
@@ -487,4 +511,40 @@
 		return R.data(lists);
 	}
 
+
+	/**
+	 * 警情日平均占比
+	 * @param response 跨域配置
+	 * @param conditionVo 条件
+	 * @return
+	 */
+	@GetMapping("/selAlarmDayAveragePro")
+	public R selAlarmDayAveragePro(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");
+		List<Integer> list = new ArrayList<>();
+		//获取时间天数
+		if (null!= conditionVo.getStartTime() && conditionVo.getStartTime()!=""
+			&& null!=conditionVo.getEndTime() && conditionVo.getEndTime()!="") {
+			int times = DateUtils.getTimeOverOneDate(conditionVo.getStartTime(), conditionVo.getEndTime()).size();
+			//查询当前时间段一键求助报警总次数
+			int alarmTimeCount = alarmService.selAlarmTimeCount(conditionVo);
+			//查询当前时间段违禁品总个数
+			int parcelTimeCount = parcelService.selParcelTimeCount(conditionVo);
+			//查询当前时间段红色健康码总个数
+			int healthcodeTimeCount = ihealthcodeService.selHealthcodeTimeCount(conditionVo);
+			//查询当前时间段体温异常总次数
+			int animalTimeCount = animalHeatService.selAnimalTimeCount(conditionVo);
+			//封装数据
+			list.add(alarmTimeCount);
+			list.add(parcelTimeCount);
+			list.add(healthcodeTimeCount);
+			list.add(animalTimeCount);
+			//返回数据
+			return R.data(list);
+		}
+		return null;
+	}
+
 }
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 8f12aad..29bbdc0 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
@@ -64,7 +64,7 @@
 	 * 查询警情总数
 	 * @return
 	 */
-    Integer selectAlarmCount();
+    Integer selectAlarmCount(@Param("conditionVo") ConditionVo conditionVo);
 
 	/**
 	 * 查询7天内主动报警(紧急求助)每天的数量
@@ -84,4 +84,11 @@
 	List<Map<String, Object>> queryPoliceTime(List policeIdArr);
 
 	List<Map<String, Object>> queryBa();
+
+	/**
+	 * 查询当前时间段一键求助报警总次数
+	 * @param conditionVo
+	 * @return
+	 */
+	Integer selAlarmTimeCount(@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 f5642ef..1ae2085 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
@@ -332,6 +332,25 @@
 		 order by a.click_date asc
     </select>
 
+    <!--查询警情当前时间段内每天的数据-->
+<!--    <select id="selectTimeAlarmData" resultType="java.lang.Integer">-->
+<!--       select a.days, 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 ) &lt; 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>-->
 
 <!--    &lt;!&ndash;查询本日,本周,本月 主动报警的数量&ndash;&gt;-->
 <!--    <select id="selectAlarmSum" resultType="java.util.HashMap">-->
@@ -440,4 +459,12 @@
     <select id="selectEq" resultType="java.util.HashMap">
         SELECT COUNT(deviceNumber) as cou,deviceNumber  FROM `sys_alarm` WHERE alarmTime like concat(concat('%', #{time}), '%') and waringType NOT IN("系统测试","主机重新上电") group by deviceNumber
     </select>
+
+    <select id="selAlarmTimeCount" resultType="java.lang.Integer">
+        select count(*) from sys_alarm
+        where waringType = '紧急求救'
+        <if test="conditionVo.startTime!=null and conditionVo.startTime!='' and conditionVo.endTime!=null and conditionVo.endTime!=''">
+            and alarmTime between #{conditionVo.startTime} and #{conditionVo.endTime}
+        </if>
+    </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 7ef93d4..c124c49 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
@@ -59,10 +59,10 @@
 
 	/**
 	 * 查询警情总数
-	 * @param status  0:本日   1:本周   2:本月  3:近7天
+	 * @param conditionVo status  0:本日   1:本周   2:本月  3:近7天
 	 * @return
 	 */
-    Integer selectAlarmCount(Integer status);
+    Integer selectAlarmCount(ConditionVo conditionVo);
 
 	/**
 	 * 查询7天内主动报警(紧急求助)每天的数量
@@ -83,4 +83,10 @@
 
 	List<Map<String, Object>> queryBa();
 
+	/**
+	 * 查询当前时间段一键求助报警总次数
+	 * @param conditionVo
+	 * @return
+	 */
+	Integer selAlarmTimeCount(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 7dffae4..7c6aaf3 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
@@ -24,6 +24,7 @@
 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;
 
@@ -124,12 +125,12 @@
 
 	/**
 	 * 查询警情总数
-	 * @param status  0:本日   1:本周   2:本月
+	 * @param conditionVo status  0:本日   1:本周   2:本月
 	 * @return
 	 */
 	@Override
-	public Integer selectAlarmCount(Integer status) {
-		return baseMapper.selectAlarmCount();
+	public Integer selectAlarmCount(ConditionVo conditionVo) {
+		return baseMapper.selectAlarmCount(conditionVo);
 	}
 
 	/**
@@ -176,4 +177,14 @@
 	public List<Map<String, Object>> queryBa() {
 		return baseMapper.queryBa();
 	}
+
+	/**
+	 * 查询当前时间段一键求助报警总次数
+	 * @param conditionVo
+	 * @return
+	 */
+	@Override
+	public Integer selAlarmTimeCount(ConditionVo conditionVo) {
+		return baseMapper.selAlarmTimeCount(conditionVo);
+	}
 }
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 21657d9..4b38813 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
@@ -6,6 +6,7 @@
 import org.springblade.jfpt.animalheat.entity.BladeAnimalHeat;
 import org.springblade.jfpt.animalheat.vo.AnimalHeatVo;
 import org.springblade.jfpt.animalheat.vo.StatisVo;
+import org.springblade.jfpt.parcel.vo.ConditionVo;
 
 import java.util.List;
 import java.util.Map;
@@ -52,4 +53,11 @@
 	 * @return
 	 */
     List<Integer> selectAnimalHeatDataStatis();
+
+	/**
+	 * 查询当前时间段体温异常总次数
+	 * @param conditionVo
+	 * @return
+	 */
+    Integer selAnimalTimeCount(@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 46afca9..aa06736 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
@@ -118,4 +118,13 @@
 		 a.click_date = b.datetime
 		 order by a.click_date asc
     </select>
+
+    <!--查询当前时间段体温异常总次数-->
+    <select id="selAnimalTimeCount" resultType="java.lang.Integer">
+        select count(*) from blade_animal_heat
+        where status=1
+        <if test="conditionVo.startTime!=null and conditionVo.startTime!='' and conditionVo.endTime!=null and conditionVo.endTime!=''">
+            and create_time between #{conditionVo.startTime} and #{conditionVo.endTime}
+        </if>
+    </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 c1263e9..e3e6a07 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
@@ -5,6 +5,7 @@
 import org.springblade.jfpt.animalheat.entity.BladeAnimalHeat;
 import org.springblade.jfpt.animalheat.vo.AnimalHeatVo;
 import org.springblade.jfpt.animalheat.vo.StatisVo;
+import org.springblade.jfpt.parcel.vo.ConditionVo;
 
 import java.util.List;
 import java.util.Map;
@@ -45,4 +46,11 @@
 	 * @return
 	 */
     Map<String, Object> selectAnimalData();
+
+	/**
+	 * 查询当前时间段体温异常总次数
+	 * @param conditionVo
+	 * @return
+	 */
+	Integer selAnimalTimeCount(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 da08853..7d14840 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
@@ -9,6 +9,7 @@
 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.parcel.vo.ConditionVo;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -150,4 +151,14 @@
 		//返回数据
 		return map;
 	}
+
+	/**
+	 * 查询当前时间段体温异常总次数
+	 * @param conditionVo
+	 * @return
+	 */
+	@Override
+	public Integer selAnimalTimeCount(ConditionVo conditionVo) {
+		return baseMapper.selAnimalTimeCount(conditionVo);
+	}
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/controller/catalogController.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/controller/catalogController.java
index 43ab996..3be319f 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/controller/catalogController.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/controller/catalogController.java
@@ -214,17 +214,13 @@
 		response.setHeader("Access-Control-Allow-Origin", "*");
 		response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
 		response.setHeader("Access-Control-Allow-Credentials","true");
-		if (conditionVo.getStatus()!=null){
-			//数据返回
-			return R.data(getIndexCountData(conditionVo));
-		}
 		//数据返回
-		return null;
+		return R.data(getIndexCountData(conditionVo));
 	}
 
 	/**
 	 * 按时间条件查询统计数据
-	 * @param conditionVo 条件  status  0:本日   1:本周   2:本月
+	 * @param conditionVo 条件  status  0:本日   1:本周   2:本月    startTime endTime时间条件查询
 	 * @return
 	 */
 	private List<Map<String, Object>> getIndexCountData(ConditionVo conditionVo) {
@@ -236,21 +232,17 @@
 		Map<String, Object> mapsu = new HashMap<String, Object>();
 		Integer alarmCount = null;
 		List<Integer> parcelCount = new ArrayList<>();
-		Integer contrabandCount = null;
 		Integer equipmentCount = null;
 		Integer suserCount = null;
-		Integer status = conditionVo.getStatus();
-		if (conditionVo.getStatus()==0){
-			//1.查询警情总数
-			alarmCount = iAlarmService.selectAlarmCount(status);
-			//2.查询包裹总数,违禁品总数
-			parcelCount = parcelService.selectParcelCount(status);
-			//3.查询在线设备总数
-			equipmentCount = iEquipmentService.selectEquipmentCount(status);
-
-		}
+		//查询今日警情
+		//1.查询警情总数
+		alarmCount = iAlarmService.selectAlarmCount(conditionVo);
+		//2.查询包裹总数,违禁品总数
+		parcelCount = parcelService.selectParcelCount(conditionVo);
+		//3.查询在线设备总数
+		equipmentCount = iEquipmentService.selectEquipmentCount(conditionVo);
 		//4.查询业主总数
-		suserCount = iSuserService.selectSuserCount();
+		suserCount = iSuserService.selectSuserCount(conditionVo);
 
 		//1.警情总数
 		mapa.put("value",alarmCount);
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/IEquipmentService.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/IEquipmentService.java
index 75ed48e..a2713ad 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/IEquipmentService.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/IEquipmentService.java
@@ -22,6 +22,7 @@
 import org.springblade.jfpt.equipment.entity.Equipment;
 import org.springblade.jfpt.equipment.vo.EquipmentVO;
 import org.springblade.jfpt.equipment.vo.EquipmentVOS;
+import org.springblade.jfpt.parcel.vo.ConditionVo;
 
 import java.util.List;
 import java.util.Map;
@@ -80,10 +81,10 @@
 
 	/**
 	 * 查询在线设备总数
-	 * @param status 状态码   0:本日   1:本周   2:本月
+	 * @param conditionVo status 状态码   0:本日   1:本周   2:本月
 	 * @return
 	 */
-    Integer selectEquipmentCount(Integer status);
+    Integer selectEquipmentCount(ConditionVo conditionVo);
 	void updateexpireTime(String expireTime, String deviceNumber);
 	void updateExstate(String state,String reason, String deviceNumber);
 
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java
index a0b40c0..24b0863 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java
@@ -27,6 +27,7 @@
 import org.springblade.jfpt.equipment.service.IEquipmentService;
 import org.springblade.jfpt.equipment.vo.EquipmentVO;
 import org.springblade.jfpt.equipment.vo.EquipmentVOS;
+import org.springblade.jfpt.parcel.vo.ConditionVo;
 import org.springblade.system.cache.SysCache;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -141,17 +142,18 @@
 
 	/**
 	 * 查询在线设备总数
-	 * @param status 状态码   0:本日   1:本周   2:本月
+	 * @param conditionVo status 状态码   0:本日   1:本周   2:本月
 	 * @return
 	 */
 	@Override
-	public Integer selectEquipmentCount(Integer status) {
+	public Integer selectEquipmentCount(ConditionVo conditionVo) {
 		//先查询所有的设备
 		List<EquipmentVO> equipmentVOS = baseMapper.listAll();
 		long time = new Date().getTime();
 		int equipmentCount = 0;
 		long hearbeat = 0;
 		//遍历集合数据,对比心跳时间,得出在线的设备数量
+		int status =0;
 		if (status==0 && equipmentVOS.size()>0){
 			for (EquipmentVO e:equipmentVOS) {
 				try {
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 2194e07..eb62ef6 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
@@ -21,6 +21,7 @@
 import org.apache.ibatis.annotations.Param;
 import org.springblade.jfpt.healthcode.entity.Healthcode;
 import org.springblade.jfpt.healthcode.vo.HealthcodeVO;
+import org.springblade.jfpt.parcel.vo.ConditionVo;
 
 import java.util.List;
 import java.util.Map;
@@ -48,4 +49,11 @@
 	 * @return
 	 */
     List<Healthcode> selectHealthcodeListPage(IPage<Healthcode> page,@Param("healthcodeVO") HealthcodeVO healthcodeVO);
+
+	/**
+	 * 查询当前时间段红色健康码总个数
+	 * @param conditionVo
+	 * @return
+	 */
+    Integer selHealthcodeTimeCount(@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 cd2985f..d7a271d 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
@@ -153,4 +153,12 @@
         ORDER BY dtime desc
     </select>
 
+    <!--查询当前时间段红色健康码总个数-->
+    <select id="selHealthcodeTimeCount" resultType="java.lang.Integer">
+        select count(*) from healthcode
+        where type = 3
+        <if test="conditionVo.startTime!=null and conditionVo.startTime!='' and conditionVo.endTime!=null and conditionVo.endTime!=''">
+            and dtime between #{conditionVo.startTime} and #{conditionVo.endTime}
+        </if>
+    </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 eba8253..482cb6a 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
@@ -20,6 +20,7 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.springblade.jfpt.healthcode.entity.Healthcode;
 import org.springblade.jfpt.healthcode.vo.HealthcodeVO;
+import org.springblade.jfpt.parcel.vo.ConditionVo;
 
 import java.util.List;
 import java.util.Map;
@@ -48,4 +49,11 @@
 	 * @return
 	 */
 	IPage<Healthcode> selectHealthcodeListPage(IPage<Healthcode> page, HealthcodeVO healthcodeVO);
+
+	/**
+	 * 查询当前时间段红色健康码总个数
+	 * @param conditionVo
+	 * @return
+	 */
+    Integer selHealthcodeTimeCount(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 59c4427..7d1aa78 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
@@ -22,6 +22,7 @@
 import org.springblade.jfpt.healthcode.mapper.healthcodeMapper;
 import org.springblade.jfpt.healthcode.service.IhealthcodeService;
 import org.springblade.jfpt.healthcode.vo.HealthcodeVO;
+import org.springblade.jfpt.parcel.vo.ConditionVo;
 import org.springframework.stereotype.Service;
 
 import java.util.HashMap;
@@ -77,4 +78,14 @@
 	public IPage<Healthcode> selectHealthcodeListPage(IPage<Healthcode> page, HealthcodeVO healthcodeVO) {
 		return page.setRecords(baseMapper.selectHealthcodeListPage(page,healthcodeVO));
 	}
+
+	/**
+	 * 查询当前时间段红色健康码总个数
+	 * @param conditionVo
+	 * @return
+	 */
+	@Override
+	public Integer selHealthcodeTimeCount(ConditionVo conditionVo) {
+		return baseMapper.selHealthcodeTimeCount(conditionVo);
+	}
 }
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 585c19d..fbe4469 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
@@ -25,16 +25,16 @@
 
 	/**
 	 * 查询包裹总数,违禁品总数
-	 * @param status 状态码 0:本天    1:本周   2:本月
+	 * @param conditionVo status 状态码 0:本天    1:本周   2:本月
 	 * @return
 	 */
-	List<Integer> selectParcelCount(Integer status);
+	List<Integer> selectParcelCount(ConditionVo conditionVo);
 
 	/**
 	 * 查询7天内违禁品每天的数量
 	 * @return
 	 */
-    Map<String, Object> selectParcelData();
+    Map<String, Object> selectParcelData(ConditionVo conditionVo);
 
 
 	/**
@@ -57,4 +57,11 @@
 	 * @return
 	 */
     Object getParcelkindDetailPage(ConditionVo conditionVo);
+
+	/**
+	 * 查询当前时间段违禁品总个数
+	 * @param conditionVo
+	 * @return
+	 */
+	Integer selParcelTimeCount(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 ef3f18a..bca65ef 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
@@ -156,7 +156,7 @@
 				//12.封装数据
 				list.add(listTime);
 				list.add(parcelList);
-				list.add(getKindServenDataList());
+				list.add(getKindServenDataList(conditionVo));
 				//13.返回
 				return list;
 			}
@@ -179,28 +179,38 @@
 		String startDate = null;
 		String endDate = null;
 		//2.2查询本天的数据
-		if (conditionVo.getStatus() == 0) {
-			//3.获取本天开始时间和结束时间
-			startDate = DateUtils.getToday();
-			endDate = DateUtils.getToday();
+		if (null!=conditionVo.getStatus()) {
+			if (conditionVo.getStatus() == 0) {
+				//3.获取本天开始时间和结束时间
+				startDate = DateUtils.getToday();
+				endDate = DateUtils.getToday();
+			}
+			//2.2查询过去6天及当天的的数据
+			if (conditionVo.getStatus() == 1) {
+				//3.获取过去6天及当天开始时间和结束时间
+				startDate = DateUtils.getPastDate(6, now());
+				endDate = DateUtils.getToday();
+			}
+			//2.4查询本周的数据
+			if (conditionVo.getStatus() == 3) {
+				//3.获取过去6天及当天开始时间和结束时间
+				startDate = DateUtils.getWeekStart();
+				endDate = DateUtils.getWeekEnd();
+			}
+			//2.2查询本月的数据
+			if (conditionVo.getStatus() == 2) {
+				//3.获取本月开始时间和结束时间
+				startDate = DateUtils.getMonthStart();
+				endDate = DateUtils.getMonthEnd();
+			}
 		}
-		//2.2查询过去6天及当天的的数据
-		if (conditionVo.getStatus() == 1) {
-			//3.获取过去6天及当天开始时间和结束时间
-			startDate = DateUtils.getPastDate(6,now());
-			endDate = DateUtils.getToday();
-		}
-		//2.4查询本周的数据
-		if (conditionVo.getStatus() == 3) {
-			//3.获取过去6天及当天开始时间和结束时间
-			startDate = DateUtils.getWeekStart();
-			endDate = DateUtils.getWeekEnd();
-		}
-		//2.2查询本月的数据
-		if (conditionVo.getStatus() == 2) {
-			//3.获取本月开始时间和结束时间
-			startDate = DateUtils.getMonthStart();
-			endDate = DateUtils.getMonthEnd();
+		//2.5 按时间条件查询
+		if (null!=conditionVo.getStartTime() && conditionVo.getStartTime()!=""
+			&& null != conditionVo.getEndTime() && conditionVo.getEndTime()!=""){
+			startDate = conditionVo.getStartTime().substring(0,10);
+			System.out.println("startDate = " + startDate);
+			endDate = conditionVo.getEndTime().substring(0,10);
+			System.out.println("endDate = " + endDate);
 		}
 		map.put("startDate", startDate);
 		map.put("endDate", endDate);
@@ -218,21 +228,20 @@
 
 	/**
 	 * 查询包裹,违禁品总数
-	 * @param status 状态码 0:本天    1:本周   2:本月
+	 * @param conditionVo status 状态码 0:本天    1:本周   2:本月
 	 * @return
 	 */
 	@Override
-	public List<Integer> selectParcelCount(Integer status) {
+	public List<Integer> selectParcelCount(ConditionVo conditionVo) {
 		List<Integer> list = new ArrayList<>();
-		ConditionVo conditionVo = new ConditionVo();
-		conditionVo.setStatus(status);
 		//获取包裹数据
 		List<Object> parcelData = getParcelData(conditionVo, PARCEL_URL, PARCEL_KEY, PARCEL_SECRET);
 		if (null!=parcelData) {
 			//查询当天的包裹总数
 			Integer dangerCount = null;
 			Integer contrabandCount = null;
-			if (status == 0) {
+			conditionVo.setStatus(0);
+			if (conditionVo.getStatus() == 0) {
 				for (Object object : parcelData) {
 					//取出list里面的值转为map
 					Map<String, Object> objectMap = (Map<String, Object>) object;
@@ -254,9 +263,9 @@
 	 * @return
 	 */
 	@Override
-	public Map<String, Object> selectParcelData() {
+	public Map<String, Object> selectParcelData(ConditionVo conditionVo) {
 		HashMap<String, Object> map = new HashMap<>();
-		map.put("parcelData",getKindServenDataList());
+		map.put("parcelData",getKindServenDataList(conditionVo));
 		return map;
 	}
 
@@ -264,9 +273,10 @@
 	 * 获取危险违禁品7天内每天的数量集合
 	 * @return
 	 */
-	public List<Integer> getKindServenDataList(){
-		ConditionVo conditionVo = new ConditionVo();
-		conditionVo.setStatus(1);//近7天status 为 1
+	public List<Integer> getKindServenDataList(ConditionVo conditionVo){
+		if (null==conditionVo){
+			conditionVo.setStatus(1);//近7天status 为 1
+		}
 		//获取数据
 		List<Object> objectList = getParcelData(conditionVo,PARCEL_CONTRABAND_URL,PARCEL_KEY,PARCEL_SECRET);
 		if (null!=objectList) {
@@ -415,4 +425,13 @@
 		return null;
 	}
 
+	/**
+	 * 查询当前时间段违禁品总个数
+	 * @param conditionVo
+	 * @return
+	 */
+	@Override
+	public Integer selParcelTimeCount(ConditionVo conditionVo) {
+		return selectParcelCount(conditionVo).get(1);
+	}
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/util/DateUtils.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/util/DateUtils.java
index 964b0d7..1f80eaa 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/util/DateUtils.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/util/DateUtils.java
@@ -5,6 +5,7 @@
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 日期工具类
@@ -124,4 +125,32 @@
 		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
 		return sdf.format(today);
 	}
+
+	/**
+	 * 获取时间段内每天的日期
+	 *
+	 * @param startDate 开始日期  yyyy-MM-dd HH:mm:ss
+	 * @param endDate 结束日期 yyyy-MM-dd HH:mm:ss
+	 * @return
+	 */
+	public static List<String> getTimeOverOneDate(String startDate, String endDate) {
+		List<String> times = new ArrayList<>();
+		try {
+			Date startTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(startDate);
+			Date endTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(endDate);
+			int gap = (int) ((endTime.getTime() - startTime.getTime()) / (24*60*60*1000));
+			times.clear();
+			Calendar cld = Calendar.getInstance();
+			cld.setTime(startTime);
+			for (int i = 0; i < gap +1; i++) {
+				times.add(new SimpleDateFormat("yyyy-MM-dd").format(cld.getTime()));
+				cld.add(Calendar.DATE,1);
+			}
+			return times;
+		} catch (ParseException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/suser/service/ISuserService.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/suser/service/ISuserService.java
index be4553c..7b764e4 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/suser/service/ISuserService.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/suser/service/ISuserService.java
@@ -18,6 +18,7 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.jfpt.parcel.vo.ConditionVo;
 import org.springblade.jfpt.suser.entity.Suser;
 import org.springblade.jfpt.suser.vo.SuserVOs;
 
@@ -50,5 +51,5 @@
 	 * 查询业主总数
 	 * @return
 	 */
-    Integer selectSuserCount();
+    Integer selectSuserCount(ConditionVo conditionVo);
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/suser/service/impl/SuserServiceImpl.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/suser/service/impl/SuserServiceImpl.java
index a08fdb1..acb1f26 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/suser/service/impl/SuserServiceImpl.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/suser/service/impl/SuserServiceImpl.java
@@ -19,6 +19,7 @@
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.jfpt.parcel.vo.ConditionVo;
 import org.springblade.jfpt.suser.entity.Suser;
 import org.springblade.jfpt.suser.mapper.SuserMapper;
 import org.springblade.jfpt.suser.service.ISuserService;
@@ -82,7 +83,7 @@
 	 * @return
 	 */
 	@Override
-	public Integer selectSuserCount() {
+	public Integer selectSuserCount(ConditionVo conditionVo) {
 		return baseMapper.selectSuserCount();
 	}
 }

--
Gitblit v1.9.3