南昌市物联网技防平台-后台
Administrator
2021-04-07 eb3440d7c0c7baef5e6fc888fd0076b1787643d9
预警时间分布接口新增
14 files modified
542 ■■■■■ changed files
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/constant/AlarmTimeConstant.java 19 ●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java 37 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java 8 ●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java 102 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.java 7 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.xml 7 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/AnimalHeatService.java 7 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/impl/AnimalHeatServiceImpl.java 104 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.java 7 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.xml 7 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/IhealthcodeService.java 7 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/impl/HealthcodeServiceImpl.java 102 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/ParcelService.java 7 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java 121 ●●●●● patch | view | raw | blame | history
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;
}
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;
    }
}
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);
}
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);
    }
}
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);
}
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>
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);
}
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;
    }
}
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);
}
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>
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);
}
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;
    }
}
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);
}
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;
    }
}