diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalWorkingStatusHistory.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalWorkingStatusHistory.java index c3be45a..a43b9c9 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalWorkingStatusHistory.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/entity/TerminalWorkingStatusHistory.java @@ -2,6 +2,7 @@ package com.shxy.xymanager_common.entity; import cn.hutool.core.date.DateTime; import cn.hutool.core.util.NumberUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; @@ -82,6 +83,7 @@ public class TerminalWorkingStatusHistory implements Serializable { return "断开"; } } + @ExcelIgnore @ApiModelProperty(value = "网络连接状态 ", example = "名称名称") private Integer connectionState; @@ -96,9 +98,14 @@ public class TerminalWorkingStatusHistory implements Serializable { private String sendFlowStr; public String getSendFlowStr() { - BigDecimal div = NumberUtil.div(sendFlow, 1024,2); - return div.toString(); + if (sendFlow != null) { + BigDecimal div = NumberUtil.div(sendFlow, 1024, 2); + return div.toString(); + } else { + return ""; + } } + @ExcelIgnore @ApiModelProperty(value = "当月接收流量", example = "123456") private BigInteger recvFlow; @@ -109,8 +116,12 @@ public class TerminalWorkingStatusHistory implements Serializable { private String recvFlowStr; public String getRecvFlowStr() { - BigDecimal div = NumberUtil.div(recvFlow, 1024,2); - return div.toString(); + if (recvFlow != null) { + BigDecimal div = NumberUtil.div(recvFlow, 1024, 2); + return div.toString(); + } else { + return ""; + } } @ExcelIgnore @@ -127,6 +138,7 @@ public class TerminalWorkingStatusHistory implements Serializable { DateTime date = MyDateUtils.date(time); return date.toString(); } + @ExcelIgnore public BigInteger wsUpdateTime; diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/DyLevelServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/DyLevelServiceImpl.java index e33cffa..f30b511 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/DyLevelServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/DyLevelServiceImpl.java @@ -211,6 +211,7 @@ public class DyLevelServiceImpl implements DyLevelService { PermissionDetail permissionList = userService.getPermissionList(); View_Dy_Line_Tower_TerminalsExample example = new View_Dy_Line_Tower_TerminalsExample(); + example.setGroupByClause("id"); View_Dy_Line_Tower_TerminalsExample.Criteria criteria = example.createCriteria(); if (CommonStatus.DELETE.value().equals(permissionList.getIsSuper())) { List dypList = permissionList.getDypList(); @@ -236,6 +237,8 @@ public class DyLevelServiceImpl implements DyLevelService { } else { or.andLineIdEqualTo(id); } + View_Dy_Line_Tower_TerminalsExample.Criteria or1 = example.or(); + or1.andIdIsNotNull(); List dtos = view_dy_line_tower_terminalsDao.selectByPermission(example); if (CollectionUtil.isEmpty(dtos)) { model.setList(new ArrayList<>()); diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalPhotoServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalPhotoServiceImpl.java index 07b96eb..153f92d 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalPhotoServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalPhotoServiceImpl.java @@ -266,6 +266,7 @@ public class TerminalPhotoServiceImpl implements TerminalPhotoService { termpList = permissionList.getTermpList(); } View_Dy_Line_Tower_TerminalsExample example = new View_Dy_Line_Tower_TerminalsExample(); + example.setGroupByClause("id"); View_Dy_Line_Tower_TerminalsExample.Criteria criteria = example.createCriteria(); if (CollectionUtil.isNotEmpty(dypList)) { criteria.andDyIdIn(dypList); @@ -307,6 +308,8 @@ public class TerminalPhotoServiceImpl implements TerminalPhotoService { View_Dy_Line_Tower_TerminalsExample.Criteria or3 = example.or(); or3.andIdEqualTo(termid); } + View_Dy_Line_Tower_TerminalsExample.Criteria or = example.or(); + or.andIdIsNotNull(); List lists = view_dy_line_tower_terminalsDao.selectByPermission(example); for (View_Dy_Line_Tower_Terminals item : lists) { diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalServiceImpl.java index 14bf975..cb46bd7 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalServiceImpl.java @@ -123,45 +123,69 @@ public class TerminalServiceImpl implements TerminalService { String search = vo.getSearch(); Integer isonline = vo.getIsonline(); BigInteger time = TerminalUtils.generateOnlineTime(); + + + PermissionDetail permissionListOver = userService.getPermissionList(); + List dypList = permissionListOver.getDypList(); + List linepList = permissionListOver.getLinepList(); + List towerpList = permissionListOver.getTowerpList(); + List termpList = permissionListOver.getTermpList(); + + TerminalStatisticsModel model = new TerminalStatisticsModel(); + View_Dy_Line_Tower_TerminalsExample example = new View_Dy_Line_Tower_TerminalsExample(); + example.setGroupByClause("id"); + example.setOrderByClause("id desc"); + View_Dy_Line_Tower_TerminalsExample.Criteria criteria = example.createCriteria(); + if (CommonStatus.DELETE.value().equals(permissionListOver.getIsSuper())) { + if (CollectionUtil.isNotEmpty(dypList)) { + criteria.andDyIdIn(dypList); + } + if (CollectionUtil.isNotEmpty(linepList)) { + criteria.andLineIdIn(linepList); + } + if (CollectionUtil.isNotEmpty(towerpList)) { + criteria.andTowerIdIn(towerpList); + } + if (CollectionUtil.isNotEmpty(termpList)) { + criteria.andLineIdIn(termpList); + } + } + View_Dy_Line_Tower_TerminalsExample.Criteria or1 = example.or(); + or1.andIdIsNotNull(); + View_Dy_Line_Tower_TerminalsExample.Criteria or = example.or(); if (StrUtil.isEmpty(search)) { search = null; } else { search = "%" + search + "%"; } - View_Dy_Line_Tower_TerminalsExample example = new View_Dy_Line_Tower_TerminalsExample(); - example.setOrderByClause("id desc"); - View_Dy_Line_Tower_TerminalsExample.Criteria criteria = example.createCriteria(); + if (StrUtil.isNotEmpty(search)) { + or.andDyNameLike(search).andLineNameLike(search).andTowerNameLike(search).andCmdidLike(search); + } + if (BeanUtil.isNotEmpty(dyid) && dyid.intValue() != -1) { - criteria.andDyIdEqualTo(dyid); + View_Dy_Line_Tower_TerminalsExample.Criteria or2 = example.or(); + or2.andDyIdEqualTo(dyid); } if (BeanUtil.isNotEmpty(lineid) && lineid.intValue() != -1) { - criteria.andLineIdEqualTo(lineid); + View_Dy_Line_Tower_TerminalsExample.Criteria or2 = example.or(); + or2.andLineIdEqualTo(lineid); } if (BeanUtil.isNotEmpty(tower) && tower.intValue() != -1) { - criteria.andTowerIdEqualTo(tower); + View_Dy_Line_Tower_TerminalsExample.Criteria or2 = example.or(); + or2.andTowerIdEqualTo(tower); } - if (BeanUtil.isNotEmpty(isonline)) { + View_Dy_Line_Tower_TerminalsExample.Criteria or2= example.or(); if (CommonStatus.EFFECTIVE.value().equals(isonline)) { - criteria.andLastHeartbeatGreaterThanOrEqualTo(time.longValue()); + or2.andLastHeartbeatGreaterThanOrEqualTo(time.longValue()); } else { - criteria.andLastHeartbeatLessThanOrEqualTo(time.longValue()); - } - } - if (StrUtil.isNotEmpty(search)) { - criteria.andOptionsLikeOr("dy_name like " + search + "or line_name like " + search + " or tower_name like " + search + " or cmdid like" + search); - } - PermissionDetail permissionDetail = userService.getPermissionListOver(); - if (CommonStatus.DELETE.value().equals(permissionDetail.getIsSuper())) { - List termpList = permissionDetail.getTermpList(); - if (CollectionUtil.isNotEmpty(termpList)) { - criteria.andIdIn(termpList); + or2.andLastHeartbeatLessThanOrEqualTo(time.longValue()); } } int pageindex = vo.getPageindex(); int pagesize = vo.getPagesize(); PageUtils.SetPage(pageindex, pagesize); - List list = view_dy_line_tower_terminalsDao.selectByExample(example); + List list = view_dy_line_tower_terminalsDao.selectByPermission(example); if (CollectionUtil.isNotEmpty(list)) { for (View_Dy_Line_Tower_Terminals item : list) { if (BeanUtil.isNotEmpty(item)) { @@ -577,25 +601,25 @@ public class TerminalServiceImpl implements TerminalService { double onlinePercent = 0; double offlinePercent = 0; View_Dy_Line_Tower_TerminalsExample example = new View_Dy_Line_Tower_TerminalsExample(); + example.setGroupByClause("id"); + View_Dy_Line_Tower_TerminalsExample.Criteria criteria = example.createCriteria(); if (CommonStatus.DELETE.value().equals(permissionListOver.getIsSuper())) { if (CollectionUtil.isNotEmpty(dypList)) { - View_Dy_Line_Tower_TerminalsExample.Criteria criteria = example.or(); criteria.andDyIdIn(dypList); } if (CollectionUtil.isNotEmpty(linepList)) { - View_Dy_Line_Tower_TerminalsExample.Criteria criteria = example.or(); criteria.andLineIdIn(linepList); } if (CollectionUtil.isNotEmpty(towerpList)) { - View_Dy_Line_Tower_TerminalsExample.Criteria criteria = example.or(); criteria.andTowerIdIn(towerpList); } if (CollectionUtil.isNotEmpty(termpList)) { - View_Dy_Line_Tower_TerminalsExample.Criteria criteria = example.or(); criteria.andLineIdIn(termpList); } } - List list = view_dy_line_tower_terminalsDao.selectByExample(example); + View_Dy_Line_Tower_TerminalsExample.Criteria or = example.or(); + or.andIdIsNotNull(); + List list = view_dy_line_tower_terminalsDao.selectByPermission(example); boolean empty = CollectionUtil.isEmpty(list); if (!empty) { totalnum = list.size();