|
@@ -1930,7 +1930,32 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
public DeviceInfoDto.PageCount pageCountForPc(DeviceInfoDto.Page page) {
|
|
public DeviceInfoDto.PageCount pageCountForPc(DeviceInfoDto.Page page) {
|
|
- return baseMapper.pageCountForPc( page);
|
|
|
|
|
|
+ DeviceInfoDto.PageCount count = new DeviceInfoDto.PageCount().setActiveNum(0).setOffLineNum(0).setTotal(0).setOnlineNum(0).setNoActiveNum(0);
|
|
|
|
+
|
|
|
|
+ List<Long> myDeviceIds = page.getMyDeviceIds();
|
|
|
|
+ if(CollUtil.isEmpty(myDeviceIds)){
|
|
|
|
+ return count;
|
|
|
|
+ }
|
|
|
|
+ List<DeviceStatus> deviceStatuses = deviceStatusService.listByIds(page.getMyDeviceIds());
|
|
|
|
+ //分组统计
|
|
|
|
+ Map<Integer, Long> countNetstateMap = deviceStatuses.stream().collect(Collectors
|
|
|
|
+ .groupingBy(DeviceStatus::getNetState, Collectors.counting()));
|
|
|
|
+ Integer onlineDictValue = SysDictUtils.getValue(EnumDeviceOnlineStatus.Code.CODE.getCode(), EnumDeviceOnlineStatus.CONNECTED.getCode(), Integer.class);
|
|
|
|
+ Integer offlineDictValue = SysDictUtils.getValue(EnumDeviceOnlineStatus.Code.CODE.getCode(), EnumDeviceOnlineStatus.DISCONNECT.getCode(), Integer.class);
|
|
|
|
+
|
|
|
|
+ int onlineNum = countNetstateMap.get(onlineDictValue) == null ? 0 : countNetstateMap.get(onlineDictValue).intValue();
|
|
|
|
+ int offlineNum = countNetstateMap.get(offlineDictValue) == null ? 0 : countNetstateMap.get(offlineDictValue).intValue();
|
|
|
|
+ count.setOnlineNum(onlineNum);
|
|
|
|
+ count.setOffLineNum(offlineNum);
|
|
|
|
+ List<DeviceInfo> mercDevices = listByIds(page.getMyDeviceIds());
|
|
|
|
+ int total = mercDevices.size();
|
|
|
|
+ //待激活数量
|
|
|
|
+ Long unActiveNum = mercDevices.stream()
|
|
|
|
+ .filter(device -> device.getActiveState() == 2)
|
|
|
|
+ .count();
|
|
|
|
+ count.setNoActiveNum(unActiveNum.intValue());
|
|
|
|
+ count.setActiveNum(total-unActiveNum.intValue());
|
|
|
|
+ return count;
|
|
}
|
|
}
|
|
public PageBean<DeviceInfoDto.Vo2> queryPage(DeviceInfoDto.Page page) {
|
|
public PageBean<DeviceInfoDto.Vo2> queryPage(DeviceInfoDto.Page page) {
|
|
IPage<DeviceInfoQueryPage> iPage = baseMapper.queryPage(toIPage(page.getPage()), page);
|
|
IPage<DeviceInfoQueryPage> iPage = baseMapper.queryPage(toIPage(page.getPage()), page);
|