预警数量统计接口修改,mybatis 使用sql 变量问题解决
| | |
| | | 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); |
| | |
| | | List<Integer> alarmTimeDis = alarmService.selAlarmTimeDis(conditionVo); |
| | | //查询当前时间段区间时间违禁品个数 |
| | | List<Integer> parcelTimeDis = parcelService.selParcelTimeDis(conditionVo); |
| | | |
| | | //查询当前时间段区间时间红色健康码个数 |
| | | //查询当前时间段区间时间红色健康码个数 |
| | | List<Integer> healthcodeTimeDis = ihealthcodeService.selHealthcodeTimeDis(conditionVo); |
| | | //查询当前时间段区间时间体温异常次数 |
| | | List<Integer> animalTimeDis = animalHeatService.selAnimalTimeDis(conditionVo); |
| | |
| | | */ |
| | | 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; |
| | |
| | | * @return |
| | | */ |
| | | List<Alarm> selectAlarmList(@Param("conditionVo")ConditionVo conditionVo); |
| | | |
| | | /** |
| | | * 统计时间段内一键求助警情数量数据 |
| | | * @param conditionVo |
| | | * @return |
| | | */ |
| | | @SqlParser(filter = true) |
| | | List<Integer> selectAlarmTimeData(@Param("conditionVo")ConditionVo conditionVo); |
| | | } |
| | |
| | | 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 ) < 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> |
| | |
| | | * @return |
| | | */ |
| | | List<Integer> selAlarmTimeDis(ConditionVo conditionVo); |
| | | |
| | | /** |
| | | * 统计时间段内一键求助警情数量数据 |
| | | * @param conditionVo |
| | | * @return |
| | | */ |
| | | Map<String, Object> selectAlarmTimeData(ConditionVo conditionVo); |
| | | } |
| | |
| | | } |
| | | 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; |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | * @return |
| | | */ |
| | | List<BladeAnimalHeat> selAnimalTimeData(@Param("conditionVo")ConditionVo conditionVo); |
| | | |
| | | /** |
| | | * 统计时间段内体温异常人数数量数据 |
| | | * @param conditionVo |
| | | * @return |
| | | */ |
| | | @SqlParser(filter = true) |
| | | List<Integer> selectAnimalTimeData(@Param("conditionVo")ConditionVo conditionVo); |
| | | } |
| | |
| | | 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 ) < 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> |
| | |
| | | * @return |
| | | */ |
| | | List<Integer> selAnimalTimeDis(ConditionVo conditionVo); |
| | | |
| | | /** |
| | | * 统计时间段内体温异常人数数量数据 |
| | | * @param conditionVo |
| | | * @return |
| | | */ |
| | | Map<String, Object> selectAnimalTimeData(ConditionVo conditionVo); |
| | | } |
| | |
| | | //遍历集合 |
| | | 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; |
| | | } |
| | |
| | | if (hours>=AlarmTimeConstant.TWENTY_TWO && hours<AlarmTimeConstant.TWENTY_FOUR){ |
| | | count2224+=1; |
| | | } |
| | | } catch (ParseException e) { |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | |
| | | //返回数据 |
| | | 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; |
| | | } |
| | | } |
| | |
| | | */ |
| | | 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; |
| | |
| | | * @return |
| | | */ |
| | | List<Healthcode> selRedCodeTimeData(@Param("conditionVo")ConditionVo conditionVo); |
| | | |
| | | /** |
| | | * 统计时间段内红色健康码人数数量数据 |
| | | * @param conditionVo |
| | | * @return |
| | | */ |
| | | @SqlParser(filter = true) |
| | | List<Integer> selectHealthcodeTimeData(@Param("conditionVo")ConditionVo conditionVo); |
| | | } |
| | |
| | | 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 ) < 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> |
| | |
| | | * @return |
| | | */ |
| | | List<Integer> selHealthcodeTimeDis(ConditionVo conditionVo); |
| | | |
| | | /** |
| | | * 统计时间段内红色健康码人数数量数据 |
| | | * @param conditionVo |
| | | * @return |
| | | */ |
| | | Map<String, Object> selectHealthcodeTimeData(ConditionVo conditionVo); |
| | | } |
| | |
| | | //返回数据 |
| | | 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; |
| | | } |
| | | } |