| | |
| | | |
| | | 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.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.*; |
| | | |
| | | /** |
| | | * 服务实现类 |
| | |
| | | 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; |
| | | } |
| | | } |