From 36afc3a1f1437b8a3283dc0bf6475e96fded05a7 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Mon, 12 Apr 2021 22:35:36 +0800
Subject: [PATCH] 新增主动报警alarm,健康码,体温,包裹,违禁品导出数据接口

---
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/impl/HealthcodeServiceImpl.java |  131 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 128 insertions(+), 3 deletions(-)

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..a6d968b 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,16 +18,18 @@
 
 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;
+import org.springblade.jfpt.healthcode.vo.HealthcodeExcel;
 import org.springblade.jfpt.healthcode.vo.HealthcodeVO;
 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 +90,127 @@
 	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;
+	}
+
+	/**
+	 * 统计时间段内红色健康码人数数量数据
+	 * @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;
+	}
+
+	/**
+	 * 导出健康码数据表格
+	 * @param healthcodeVO 查询条件
+	 */
+	@Override
+	public List<HealthcodeExcel> exportHealthcode(HealthcodeVO healthcodeVO) {
+		return baseMapper.exportHealthcode(healthcodeVO);
+	}
 }

--
Gitblit v1.9.3