南昌市物联网技防平台-后台
Administrator
2021-04-07 ca9f3dd541747f4b8bb6a6c06f7635a962da0412
预警数量统计接口修改,mybatis 使用sql 变量问题解决
13 files modified
180 ■■■■■ changed files
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java 11 ●●●● 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 20 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java 7 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java 18 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.java 9 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.xml 20 ●●●●● 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 24 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.java 9 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.xml 20 ●●●●● 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 19 ●●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java
@@ -396,17 +396,17 @@
        if (null!=conditionVo){
            //获取时间集合数据
            times = DateUtils.getTimeOverOneDate(conditionVo.getStartTime(), conditionVo.getEndTime());
            //1.统计时间段内一键求助警情数量数据    3-20 修改展示紧急求助
            Map<String, Object> alarmData = alarmService.selectAlarmData();
            //1.统计时间段内一键求助警情数量数据    4-7 修改展示紧急求助
            Map<String, Object> alarmData = alarmService.selectAlarmTimeData(conditionVo);
            alarmData.put("name", "一键求助");
            //2.统计时间段内违禁品的数量数据
            Map<String, Object> parcelData = parcelService.selectParcelData(conditionVo);
            parcelData.put("name", "违禁品");
            //3.统计时间段内红色健康码人数数量数据
            Map<String, Object> healthcodeData = ihealthcodeService.selectHealthcodeData();
            Map<String, Object> healthcodeData = ihealthcodeService.selectHealthcodeTimeData(conditionVo);
            healthcodeData.put("name", "红色健康码");
            //4.统计时间段内体温异常人数数量数据
            Map<String, Object> animalData = animalHeatService.selectAnimalData();
            Map<String, Object> animalData = animalHeatService.selectAnimalTimeData(conditionVo);
            animalData.put("name", "体温异常");
            //封装数据
            dataList.add(alarmData);
@@ -587,8 +587,7 @@
            List<Integer> alarmTimeDis = alarmService.selAlarmTimeDis(conditionVo);
            //查询当前时间段区间时间违禁品个数
            List<Integer> parcelTimeDis = parcelService.selParcelTimeDis(conditionVo);
            //查询当前时间段区间时间红色健康码个数
             //查询当前时间段区间时间红色健康码个数
            List<Integer> healthcodeTimeDis = ihealthcodeService.selHealthcodeTimeDis(conditionVo);
            //查询当前时间段区间时间体温异常次数
            List<Integer> animalTimeDis = animalHeatService.selAnimalTimeDis(conditionVo);
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java
@@ -16,6 +16,7 @@
 */
package org.springblade.jfpt.alarm.mapper;
import com.baomidou.mybatisplus.annotation.SqlParser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
@@ -98,4 +99,12 @@
     * @return
     */
    List<Alarm> selectAlarmList(@Param("conditionVo")ConditionVo conditionVo);
    /**
     * 统计时间段内一键求助警情数量数据
     * @param conditionVo
     * @return
     */
    @SqlParser(filter = true)
    List<Integer> selectAlarmTimeData(@Param("conditionVo")ConditionVo conditionVo);
}
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
@@ -474,4 +474,24 @@
        where waringType='紧急求救'
        and alarmTime between #{conditionVo.startTime} and #{conditionVo.endTime}
    </select>
    <!--统计时间段内一键求助警情数量数据-->
    <select id="selectAlarmTimeData" resultType="java.lang.Integer">
        select 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>
</mapper>
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java
@@ -104,4 +104,11 @@
     * @return
     */
    List<Integer> selAlarmTimeDis(ConditionVo conditionVo);
    /**
     * 统计时间段内一键求助警情数量数据
     * @param conditionVo
     * @return
     */
    Map<String, Object> selectAlarmTimeData(ConditionVo conditionVo);
}
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java
@@ -347,4 +347,22 @@
        }
        return Arrays.asList(0,0,0,0,0,0,0,0,0,0,0,0);
    }
    /**
     * 统计时间段内一键求助警情数量数据
     * @param conditionVo
     * @return
     */
    @Override
    public Map<String, Object> selectAlarmTimeData(ConditionVo conditionVo) {
        conditionVo.setStartTime(conditionVo.getStartTime().substring(0,10));
        conditionVo.setEndTime(conditionVo.getEndTime().substring(0,10));
        Map<String, Object> map = new HashMap<>();
        //查询数据
        List<Integer> list = baseMapper.selectAlarmTimeData(conditionVo);
        //封装数据
        map.put("alarmData",list);
        //返回数据
        return map;
    }
}
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.java
@@ -1,5 +1,6 @@
package org.springblade.jfpt.animalheat.mapper;
import com.baomidou.mybatisplus.annotation.SqlParser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
@@ -67,4 +68,12 @@
     * @return
     */
    List<BladeAnimalHeat> selAnimalTimeData(@Param("conditionVo")ConditionVo conditionVo);
    /**
     * 统计时间段内体温异常人数数量数据
     * @param conditionVo
     * @return
     */
    @SqlParser(filter = true)
    List<Integer> selectAnimalTimeData(@Param("conditionVo")ConditionVo conditionVo);
}
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/mapper/AnimalHeatMapper.xml
@@ -134,4 +134,24 @@
            where status=1
        and create_time between #{conditionVo.startTime} and #{conditionVo.endTime}
    </select>
    <!--统计时间段内体温异常人数数量数据-->
    <select id="selectAnimalTimeData" resultType="java.lang.Integer">
        select 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(create_time,'%Y-%m-%d') as datetime, count(*) as count from blade_animal_heat
            where status=1
            group by DATE_FORMAT(create_time,'%Y-%m-%d')
        ) b
        on
        a.days = b.datetime
    </select>
</mapper>
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/AnimalHeatService.java
@@ -60,4 +60,11 @@
     * @return
     */
    List<Integer> selAnimalTimeDis(ConditionVo conditionVo);
    /**
     * 统计时间段内体温异常人数数量数据
     * @param conditionVo
     * @return
     */
    Map<String, Object> selectAnimalTimeData(ConditionVo conditionVo);
}
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/animalheat/service/impl/AnimalHeatServiceImpl.java
@@ -202,7 +202,8 @@
        //遍历集合
        for (BladeAnimalHeat animalHeat:collect) {
            try {
                long hours = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(animalHeat.getCreateTime().toString()).getHours();
                System.out.println("animalHeat.getCreateTime() = " + animalHeat.getCreateTime());
                long hours = animalHeat.getCreateTime().getHours();
                if (hours>0 && hours< AlarmTimeConstant.TWO){
                    count02+=1;
                }
@@ -239,7 +240,7 @@
                if (hours>=AlarmTimeConstant.TWENTY_TWO && hours<AlarmTimeConstant.TWENTY_FOUR){
                    count2224+=1;
                }
            } catch (ParseException e) {
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
@@ -259,4 +260,23 @@
        //返回数据
        return list;
    }
    /**
     * 统计时间段内体温异常人数数量数据
     * @param conditionVo
     * @return
     */
    @Override
    public Map<String, Object> selectAnimalTimeData(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.selectAnimalTimeData(conditionVo);
        //封装数据
        map.put("animalData",list);
        //返回数据
        return map;
    }
}
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.java
@@ -16,6 +16,7 @@
 */
package org.springblade.jfpt.healthcode.mapper;
import com.baomidou.mybatisplus.annotation.SqlParser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
@@ -63,4 +64,12 @@
     * @return
     */
    List<Healthcode> selRedCodeTimeData(@Param("conditionVo")ConditionVo conditionVo);
    /**
     * 统计时间段内红色健康码人数数量数据
     * @param conditionVo
     * @return
     */
    @SqlParser(filter = true)
    List<Integer> selectHealthcodeTimeData(@Param("conditionVo")ConditionVo conditionVo);
}
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/mapper/healthcodeMapper.xml
@@ -168,4 +168,24 @@
            where type =3
        and dtime between #{conditionVo.startTime} and #{conditionVo.endTime}
    </select>
    <!--统计时间段内红色健康码人数数量数据-->
    <select id="selectHealthcodeTimeData" resultType="java.lang.Integer">
        select 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(dtime,'%Y-%m-%d') as datetime, count(*) as count from healthcode
            where type=3
            group by DATE_FORMAT(dtime,'%Y-%m-%d')
        ) b
        on
        a.days = b.datetime
    </select>
</mapper>
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/IhealthcodeService.java
@@ -63,4 +63,11 @@
     * @return
     */
    List<Integer> selHealthcodeTimeDis(ConditionVo conditionVo);
    /**
     * 统计时间段内红色健康码人数数量数据
     * @param conditionVo
     * @return
     */
    Map<String, Object> selectHealthcodeTimeData(ConditionVo conditionVo);
}
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/healthcode/service/impl/HealthcodeServiceImpl.java
@@ -184,4 +184,23 @@
        //返回数据
        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;
    }
}