| | |
| | | |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * 服务实现类 |
| | |
| | | */ |
| | | @Override |
| | | public Map<String, Object> selEqTypeSum() { |
| | | //查詢之前先更新设备状态 |
| | | //查询所有的设备,不包含故障和警情状态 |
| | | List<Equipment> equipment = baseMapper.selAllEq(); |
| | | long time = new Date().getTime(); |
| | | long hearbeat = 0; |
| | | List<Long> equipmentListz = new ArrayList<>(); |
| | | List<Long> equipmentListl = new ArrayList<>(); |
| | | for (Equipment e:equipment) { |
| | | try { |
| | | if(null!=e.getHeartbeat()) { |
| | | hearbeat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(e.getHeartbeat()).getTime(); |
| | | } |
| | | } catch (ParseException parseException) { |
| | | parseException.printStackTrace(); |
| | | } |
| | | //对比心跳时间,在线 |
| | | if (time-hearbeat<TIME_DIFFERENCE){ |
| | | if (null==e.getDtype() || e.getDtype()!="1"){ |
| | | equipmentListz.add(e.getId()); |
| | | } |
| | | } |
| | | if (time-hearbeat>=TIME_DIFFERENCE){ |
| | | if (null==e.getDtype() || e.getDtype()!="0"){ |
| | | equipmentListl.add(e.getId()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | System.out.println("equipmentListl = " + equipmentListl); |
| | | System.out.println("equipmentListz = " + equipmentListz); |
| | | //批量更新数据 |
| | | if (equipmentListz.size()>0){ |
| | | baseMapper.updateEqListz(equipmentListz); |
| | | } |
| | | if (equipmentListl.size()>0){ |
| | | baseMapper.updateEqListl(equipmentListl); |
| | | } |
| | | //设备在线数量 |
| | | Integer integerz = baseMapper.selectEqCz(); |
| | | //设备掉线数量 |