diff --git a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalExtController.java b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalExtController.java index 7409f28..5676b8e 100644 --- a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalExtController.java +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalExtController.java @@ -348,12 +348,16 @@ public class TerminalExtController extends BaseController { ServiceBody serviceBody = photoService.getPhotoList(requestIp, vo, termList); if (serviceBody.getCode() == ServiceStatus.SUCCESS) { TerminalPhotoSelectListModel model = serviceBody.getData(); - this.buildPhotoStat(termList, model.getList(), vo); - List idList = new ArrayList<>(); for (StatTerm st : termList) { idList.add(st.getTermId()); } + if (idList.size() < 1) { + idList.add(-1); + } + + this.buildPhotoStat(termList, idList, model.getList(), vo); + PageInfo weatherPage = weatherService.list(null, null, idList, vo.getStarttime().getTime() / 1000, vo.getEndtime().getTime() / 1000, 1, 100000); if (!CollectionUtils.isEmpty(weatherPage.getList())) { @@ -376,13 +380,29 @@ public class TerminalExtController extends BaseController { } } - private void buildPhotoStat(List termList, List list, TerminalPhotoSelectVo vo) throws Exception { + private void buildPhotoStat(List termList, List idList, + List list, TerminalPhotoSelectVo vo) throws Exception { for (StatTerm statTerm : termList) { List scheduleList = cameraScheduleService.list(statTerm.getTermId()); statTerm.initScheduleList(scheduleList, vo.getStarttime().getTime(), vo.getEndtime().getTime(), vo.getInterval()); + + long rebootCount = infoHistoryService.count(statTerm.getTermId(), vo.getStarttime().getTime() / 1000, vo.getEndtime().getTime() / 1000); + statTerm.setRebootCount(rebootCount); TerminalBasicInfoHistory info = infoHistoryService.getLast(statTerm.getTermId()); statTerm.setLastInfo(info); } + TerminalStatusExample example = new TerminalStatusExample(); + TerminalStatusExample.Criteria criteria = example.createCriteria(); + criteria.andTermIdIn(idList); + List terminalStatuses = terminalStatusDao.selectByExample(example); + for (StatTerm item : termList) { + for (TerminalStatus terminalStatus : terminalStatuses) { + if (item.getTermId() == terminalStatus.getTermId().intValue()) { + item.setWorkingStatus(terminalStatus); + break; + } + } + } if (list != null) { for (TerminalPhotoSelectListModel.PhotoBean photo : list) { StatTerm term = this.findStatTerm(termList, photo.getTermid(), photo.getCmdid()); diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatTerm.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatTerm.java index dd08c99..1060c82 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatTerm.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatTerm.java @@ -2,10 +2,7 @@ package com.shxy.xymanager_common.model; import com.fasterxml.jackson.annotation.JsonInclude; import com.shxy.xymanager_common.dto.ScheduleDetailsDto; -import com.shxy.xymanager_common.entity.CameraSchedule; -import com.shxy.xymanager_common.entity.LeadPulls; -import com.shxy.xymanager_common.entity.TerminalBasicInfoHistory; -import com.shxy.xymanager_common.entity.Weathers; +import com.shxy.xymanager_common.entity.*; import com.shxy.xymanager_common.util.DateUtil; import lombok.Data; import org.springframework.util.CollectionUtils; @@ -23,6 +20,9 @@ public class StatTerm implements Serializable { Object uploads; String cmdid; String devType; + String towerName; + Long rebootCount; + TerminalStatus workingStatus; List channels = new ArrayList<>(); List weatherScheduleList = new ArrayList<>(); List weatherTimeList = 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 0d01e46..16db1d7 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 @@ -139,7 +139,7 @@ public class TerminalPhotoServiceImpl implements TerminalPhotoService { } } criteria.andPhotoTimeBetween(BigInteger.valueOf(start).longValue(), BigInteger.valueOf(end).longValue()); - if (vo.getPresetId() != null){ + if (vo.getPresetId() != null) { criteria.andPresetIdEqualTo(vo.getPresetId()); } list = terminalPhotoDao.selectByExample(example); @@ -529,8 +529,8 @@ public class TerminalPhotoServiceImpl implements TerminalPhotoService { long start = MyDateUtils.TimeMillSecond2Second(DateTime.of(starttime)); long end = MyDateUtils.TimeMillSecond2Second(DateTime.of(endtime)); - List termidlist = new ArrayList<>(); - ArrayList channelidlist = new ArrayList<>(); + List termidlist = new ArrayList<>(); + ArrayList channelidlist = new ArrayList<>(); // List dtos = new ArrayList<>(); // @@ -610,58 +610,59 @@ public class TerminalPhotoServiceImpl implements TerminalPhotoService { // } // } - PageInfo result = terminalExtService.getTerminalPage(dyid, lineid, towerid, termid, - null, search, - null, null, null, vo.getActivityId(), - 1, 100000); - if (!CollectionUtils.isEmpty(result.getList())) { - for (View_Dy_Line_Tower_Terminals terminal : result.getList()) { - termidlist.add(terminal.getId()); - StatTerm statTerm = new StatTerm(); - statTerm.setTermId(terminal.getId()); - statTerm.setCmdid(terminal.getCmdid()); - statTerm.setDevType(terminal.getDevType()); - termList.add(statTerm); - } - } else { - termidlist.add(-1); + PageInfo result = terminalExtService.getTerminalPage(dyid, lineid, towerid, termid, + null, search, + null, null, null, vo.getActivityId(), + 1, 100000); + if (!CollectionUtils.isEmpty(result.getList())) { + for (View_Dy_Line_Tower_Terminals terminal : result.getList()) { + termidlist.add(terminal.getId()); + StatTerm statTerm = new StatTerm(); + statTerm.setTermId(terminal.getId()); + statTerm.setCmdid(terminal.getCmdid()); + statTerm.setDevType(terminal.getDevType()); + statTerm.setTowerName(terminal.getTowerName()); + termList.add(statTerm); } + } else { + termidlist.add(-1); + } - if (channelid == null || channelid.intValue() == -1) { + if (channelid == null || channelid.intValue() == -1) { - } else { - channelidlist.add(channelid); - } - PageUtils.SetPage(pageindex, pagesize); - List list = terminalPhotoDao.selectPhotoListByTermList(termidlist, channelidlist, vo.getPresetId(), BigInteger.valueOf(start), BigInteger.valueOf(end)); - boolean empty = CollectionUtil.isEmpty(list); - if (empty) { - model.setList(new ArrayList<>()); - } else { - Map terminalMap = newCacheService.getTerminalMap(); - Map lineMap = cacheService.getLineMap(); - Map towerMap = cacheService.getTowerMap(); - Map termchannelMap = cacheService.getTermChannelMap(); - Map termchannelMapMap = cacheService.getTermChannelMapMap(); - - List imgarlarmsList = new ArrayList<>(); - List idlist = new ArrayList<>(); - for (TerminalPhoto tp : list) { - if (tp.getOrginalId() != null) { - idlist.add(tp.getOrginalId()); - } - } - if (idlist.size() > 0) { - List labellist = new ArrayList<>(); - Map alarmParamMap = cacheService.getAlarmParamMap(); - alarmParamMap.forEach((key, value) -> { - labellist.add(value); - }); - imgarlarmsList = terminalImgAlarmsDao.selectAlarmsByTermidAndPhotoId(list, labellist); + } else { + channelidlist.add(channelid); + } + PageUtils.SetPage(pageindex, pagesize); + List list = terminalPhotoDao.selectPhotoListByTermList(termidlist, channelidlist, vo.getPresetId(), BigInteger.valueOf(start), BigInteger.valueOf(end)); + boolean empty = CollectionUtil.isEmpty(list); + if (empty) { + model.setList(new ArrayList<>()); + } else { + Map terminalMap = newCacheService.getTerminalMap(); + Map lineMap = cacheService.getLineMap(); + Map towerMap = cacheService.getTowerMap(); + Map termchannelMap = cacheService.getTermChannelMap(); + Map termchannelMapMap = cacheService.getTermChannelMapMap(); + + List imgarlarmsList = new ArrayList<>(); + List idlist = new ArrayList<>(); + for (TerminalPhoto tp : list) { + if (tp.getOrginalId() != null) { + idlist.add(tp.getOrginalId()); } - beans = TerminalUtils.fdsa(requestIp, list, terminalMap, lineMap, towerMap, termchannelMap, termchannelMapMap, imgarlarmsList); - model.setList(beans); } + if (idlist.size() > 0) { + List labellist = new ArrayList<>(); + Map alarmParamMap = cacheService.getAlarmParamMap(); + alarmParamMap.forEach((key, value) -> { + labellist.add(value); + }); + imgarlarmsList = terminalImgAlarmsDao.selectAlarmsByTermidAndPhotoId(list, labellist); + } + beans = TerminalUtils.fdsa(requestIp, list, terminalMap, lineMap, towerMap, termchannelMap, termchannelMapMap, imgarlarmsList); + model.setList(beans); + } PageInfo pageData = PageUtils.getPageData(list); int currentpage = pageData.getPageNum(); @@ -890,7 +891,7 @@ public class TerminalPhotoServiceImpl implements TerminalPhotoService { int pageindex = vo.getPageindex(); int pagesize = vo.getPagesize(); PageUtils.SetPage(pageindex, pagesize); - List list = terminalChannelMapperDao.selectAllByPhotoTime(CommonStatus.EFFECTIVE.value(), termpList , vo.getChannelid()); + List list = terminalChannelMapperDao.selectAllByPhotoTime(CommonStatus.EFFECTIVE.value(), termpList, vo.getChannelid()); ArrayList photolist = new ArrayList<>(); List beans = new ArrayList<>();