南昌市物联网技防平台-后台
Administrator
2021-04-06 abbaf2374fff7d02ecc3eecd6bf62504fbf27c4b
预警数量统计接口修改,预警数量分布接口修改,预警分类占比接口新增
21 files modified
404 ■■■■ changed files
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java 100 ●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java 9 ●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml 27 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java 10 ●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java 17 ●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.java 8 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.xml 9 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/AnimalHeatService.java 8 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/impl/AnimalHeatServiceImpl.java 11 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/controller/catalogController.java 28 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/IEquipmentService.java 5 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/equipment/service/impl/EquipmentServiceImpl.java 6 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.java 8 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.xml 8 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/IhealthcodeService.java 8 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/impl/HealthcodeServiceImpl.java 11 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/ParcelService.java 13 ●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/service/impl/ParcelServiceImpl.java 83 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/parcel/util/DateUtils.java 29 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/suser/service/ISuserService.java 3 ●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/suser/service/impl/SuserServiceImpl.java 3 ●●●● patch | view | raw | blame | history
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;
    }
}
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);
}
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>
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);
}
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);
    }
}
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);
}
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>
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);
}
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);
    }
}
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);
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);
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 {
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);
}
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>
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);
}
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);
    }
}
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);
}
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);
    }
}
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;
    }
}
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);
}
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();
    }
}