|
|
|
@ -27,8 +27,10 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
import java.math.BigInteger;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 装置通道实现层
|
|
|
|
@ -97,7 +99,7 @@ public class DyLevelServiceImpl implements DyLevelService {
|
|
|
|
|
Asserts.fail("权限解析错误");
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
ArrayList<DyLineTreeListModel.TerminalBean> favorList = new ArrayList<>();
|
|
|
|
|
ArrayList<Terminals> favorList = new ArrayList<>();
|
|
|
|
|
ArrayList<Integer> favoridlist = new ArrayList<>();
|
|
|
|
|
List<TerminalFavs> terminalFavs = terminalFavsDao.selectByUid(uid);
|
|
|
|
|
if (CollectionUtil.isNotEmpty(terminalFavs)) {
|
|
|
|
@ -108,312 +110,353 @@ public class DyLevelServiceImpl implements DyLevelService {
|
|
|
|
|
List<Integer> dypList = permissionDetail.getDypList();
|
|
|
|
|
List<Integer> linepList = permissionDetail.getLinepList();
|
|
|
|
|
List<Integer> towerpList = permissionDetail.getTowerpList();
|
|
|
|
|
List<Integer> termpList = permissionDetail.getTermpList();
|
|
|
|
|
Integer aSuper = permissionDetail.getIsSuper();
|
|
|
|
|
List<DyLineAndTerminalWithHeartDto> list = new ArrayList<>();
|
|
|
|
|
if (CollectionUtil.isNotEmpty(dypList) || CollectionUtil.isNotEmpty(linepList) || CollectionUtil.isNotEmpty(towerpList) || aSuper.intValue()==1) {
|
|
|
|
|
list = dyLevelDao.selectTreeList(CommonStatus.EFFECTIVE.value(), dypList, linepList, towerpList,aSuper);
|
|
|
|
|
|
|
|
|
|
DyLevelExample example = new DyLevelExample();
|
|
|
|
|
DyLevelExample.Criteria criteria = example.createCriteria().andStatusEqualTo(CommonStatus.EFFECTIVE.value());
|
|
|
|
|
if (CollectionUtil.isNotEmpty(dypList) && aSuper.equals(CommonStatus.DELETE.value())) {
|
|
|
|
|
criteria.andIdIn(dypList);
|
|
|
|
|
}
|
|
|
|
|
List<DyLevel> dyLevels = dyLevelDao.selectByExample(example);
|
|
|
|
|
|
|
|
|
|
LinesExample example1 = new LinesExample();
|
|
|
|
|
LinesExample.Criteria criteria1 = example1.createCriteria().andStatusEqualTo(CommonStatus.EFFECTIVE.value()).andDyLevelIdIsNotNull();
|
|
|
|
|
if (CollectionUtil.isNotEmpty(linepList) || aSuper.equals(CommonStatus.DELETE.value())) {
|
|
|
|
|
criteria1.andIdIn(linepList);
|
|
|
|
|
}
|
|
|
|
|
List<Lines> lines = linesDao.selectByExample(example1);
|
|
|
|
|
|
|
|
|
|
TowersExample example2 = new TowersExample();
|
|
|
|
|
TowersExample.Criteria criteria2 = example2.createCriteria().andStatusEqualTo(CommonStatus.EFFECTIVE.value()).andLineIdIsNotNull();
|
|
|
|
|
if (CollectionUtil.isNotEmpty(towerpList) || aSuper.equals(CommonStatus.DELETE.value())) {
|
|
|
|
|
criteria2.andIdIn(towerpList);
|
|
|
|
|
}
|
|
|
|
|
boolean empty = CollectionUtil.isEmpty(list);
|
|
|
|
|
if (empty) {
|
|
|
|
|
model.setList(new ArrayList<>());
|
|
|
|
|
} else {
|
|
|
|
|
int onlinenum = 0;
|
|
|
|
|
int totalnum = 0;
|
|
|
|
|
ArrayList<DyLineTreeListModel.DyListBean> dyListBeans = new ArrayList<>();
|
|
|
|
|
for (int i = 0; i < list.size(); i++) {
|
|
|
|
|
DyLineAndTerminalWithHeartDto dyDto = list.get(i);
|
|
|
|
|
List<LineAndTerminalWithHeartDto> linelist = dyDto.getList();
|
|
|
|
|
if (CollectionUtil.isEmpty(linelist)) {
|
|
|
|
|
continue;
|
|
|
|
|
List<Towers> towers = towerDao.selectByExample(example2);
|
|
|
|
|
|
|
|
|
|
TerminalsExample example3 = new TerminalsExample();
|
|
|
|
|
TerminalsExample.Criteria criteria3 = example3.createCriteria().andStatusEqualTo(CommonStatus.EFFECTIVE.value()).andTowerIdIsNotNull();
|
|
|
|
|
if (CollectionUtil.isNotEmpty(termpList) || aSuper.equals(CommonStatus.DELETE.value())) {
|
|
|
|
|
criteria3.andIdIn(termpList);
|
|
|
|
|
}
|
|
|
|
|
List<Terminals> terminals = terminalsDao.selectByExample(example3);
|
|
|
|
|
|
|
|
|
|
TerminalStatusExample example4 = new TerminalStatusExample();
|
|
|
|
|
if (CollectionUtil.isNotEmpty(termpList) || aSuper.equals(CommonStatus.EFFECTIVE.value())) {
|
|
|
|
|
example4.createCriteria().andTermIdIn(termpList);
|
|
|
|
|
}
|
|
|
|
|
List<TerminalStatus> terminalStatuses = terminalStatusDao.selectByExample(example4);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AtomicInteger onlinenum = new AtomicInteger();
|
|
|
|
|
AtomicInteger totalnum = new AtomicInteger();
|
|
|
|
|
if (CollectionUtil.isNotEmpty(dyLevels)) {
|
|
|
|
|
HashMap<Integer, DyLevel> dymap = new HashMap<>();
|
|
|
|
|
HashMap<Integer, Lines> linemap = new HashMap<>();
|
|
|
|
|
HashMap<Integer, Towers> towermap = new HashMap<>();
|
|
|
|
|
HashMap<Integer, Terminals> termmap = new HashMap<>();
|
|
|
|
|
HashMap<Integer, TerminalStatus> tsmap = new HashMap<>();
|
|
|
|
|
for (DyLevel ditem : dyLevels) {
|
|
|
|
|
dymap.put(ditem.getId(), ditem);
|
|
|
|
|
}
|
|
|
|
|
for (Lines litem : lines) {
|
|
|
|
|
Integer dyLevelId = litem.getDyLevelId();
|
|
|
|
|
if (dyLevelId != null) {
|
|
|
|
|
if (dymap.get(dyLevelId) != null) {
|
|
|
|
|
linemap.put(litem.getId(), litem);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
DyLineTreeListModel.DyListBean dyModel = new DyLineTreeListModel.DyListBean();
|
|
|
|
|
dyModel.setId(dyDto.getId());
|
|
|
|
|
dyModel.setDyValue(dyDto.getDyValue());
|
|
|
|
|
dyModel.setName(dyDto.getName());
|
|
|
|
|
ArrayList<DyLineTreeListModel.LineBean> lineBeans = new ArrayList<>();
|
|
|
|
|
for (int j = 0; j < linelist.size(); j++) {
|
|
|
|
|
LineAndTerminalWithHeartDto lineDto = linelist.get(j);
|
|
|
|
|
List<TerminalsWithHeart> termlist = lineDto.getList();
|
|
|
|
|
if (CollectionUtil.isEmpty(termlist)) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
for (Towers titem : towers) {
|
|
|
|
|
Integer lineId = titem.getLineId();
|
|
|
|
|
if (lineId != null) {
|
|
|
|
|
if (linemap.get(lineId) != null) {
|
|
|
|
|
towermap.put(titem.getId(), titem);
|
|
|
|
|
}
|
|
|
|
|
DyLineTreeListModel.LineBean lineBean = new DyLineTreeListModel.LineBean();
|
|
|
|
|
lineBean.setId(lineDto.getId());
|
|
|
|
|
lineBean.setName(lineDto.getName());
|
|
|
|
|
lineBean.setBsManufacturer(lineDto.getBsManufacturer());
|
|
|
|
|
|
|
|
|
|
ArrayList<DyLineTreeListModel.TerminalBean> beanlist = new ArrayList<>();
|
|
|
|
|
for (int k = 0; k < termlist.size(); k++) {
|
|
|
|
|
totalnum++;
|
|
|
|
|
TerminalsWithHeart terminalsWithHeart = termlist.get(k);
|
|
|
|
|
|
|
|
|
|
DyLineTreeListModel.TerminalBean bean = new DyLineTreeListModel.TerminalBean();
|
|
|
|
|
Integer id = terminalsWithHeart.getId();
|
|
|
|
|
bean.setId(id);
|
|
|
|
|
bean.setAddress(terminalsWithHeart.getAddress());
|
|
|
|
|
bean.setCmdid(terminalsWithHeart.getCmdid());
|
|
|
|
|
bean.setDisplayname(terminalsWithHeart.getDisplayname());
|
|
|
|
|
bean.setEquipname(terminalsWithHeart.getEquipname());
|
|
|
|
|
bean.setModel(terminalsWithHeart.getModel());
|
|
|
|
|
bean.setName(terminalsWithHeart.getName());
|
|
|
|
|
bean.setProtocol(terminalsWithHeart.getProtocol());
|
|
|
|
|
bean.setTowerid(terminalsWithHeart.getTowerid());
|
|
|
|
|
bean.setHasPan(terminalsWithHeart.getHasPan());
|
|
|
|
|
bean.setPhase(terminalsWithHeart.getPhase());
|
|
|
|
|
bean.setEquipmentType(terminalsWithHeart.getEquipmentType());
|
|
|
|
|
// Integer isfavor = terminalsWithHeart.getIsfavor();
|
|
|
|
|
boolean contains = favoridlist.contains(id);
|
|
|
|
|
if (contains) {
|
|
|
|
|
bean.setIsfavor(CommonStatus.EFFECTIVE.value());
|
|
|
|
|
} else {
|
|
|
|
|
bean.setIsfavor(CommonStatus.DELETE.value());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
BigInteger lastheartbeat = terminalsWithHeart.getLastheartbeat();
|
|
|
|
|
boolean b = TerminalUtils.judgeTerminalStatus(lastheartbeat);
|
|
|
|
|
if (type == null || type.intValue() == -1) {//查询全部
|
|
|
|
|
if (b) {
|
|
|
|
|
bean.setOnlinestatus(CommonStatus.EFFECTIVE.value());
|
|
|
|
|
onlinenum++;
|
|
|
|
|
} else {
|
|
|
|
|
bean.setOnlinestatus(CommonStatus.DELETE.value());
|
|
|
|
|
}
|
|
|
|
|
beanlist.add(bean);
|
|
|
|
|
} else if (type.intValue() == 0) {
|
|
|
|
|
if (b) {
|
|
|
|
|
onlinenum++;
|
|
|
|
|
bean.setOnlinestatus(CommonStatus.EFFECTIVE.value());
|
|
|
|
|
} else {
|
|
|
|
|
bean.setOnlinestatus(CommonStatus.DELETE.value());
|
|
|
|
|
beanlist.add(bean);
|
|
|
|
|
}
|
|
|
|
|
} else if (type.intValue() == 1) {
|
|
|
|
|
if (b) {
|
|
|
|
|
onlinenum++;
|
|
|
|
|
bean.setOnlinestatus(CommonStatus.EFFECTIVE.value());
|
|
|
|
|
beanlist.add(bean);
|
|
|
|
|
} else {
|
|
|
|
|
bean.setOnlinestatus(CommonStatus.DELETE.value());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// if (isfavor!=null && isfavor.intValue() == CommonStatus.EFFECTIVE.value()) {
|
|
|
|
|
if (contains) {
|
|
|
|
|
favorList.add(bean);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
for (Terminals termitem : terminals) {
|
|
|
|
|
Integer towerid = termitem.getTowerid();
|
|
|
|
|
if (towerid != null) {
|
|
|
|
|
if (towermap.get(towerid) != null) {
|
|
|
|
|
termmap.put(termitem.getId(), termitem);
|
|
|
|
|
}
|
|
|
|
|
lineBean.setList(beanlist);
|
|
|
|
|
lineBeans.add(lineBean);
|
|
|
|
|
}
|
|
|
|
|
dyModel.setList(lineBeans);
|
|
|
|
|
dyListBeans.add(dyModel);
|
|
|
|
|
}
|
|
|
|
|
model.setOnlineNum(onlinenum);
|
|
|
|
|
model.setTotalNum(totalnum);
|
|
|
|
|
model.setList(dyListBeans);
|
|
|
|
|
model.setFavorlist(favorList);
|
|
|
|
|
}
|
|
|
|
|
return Asserts.success(model);
|
|
|
|
|
}
|
|
|
|
|
for (TerminalStatus tsitem : terminalStatuses) {
|
|
|
|
|
tsmap.put(tsitem.getTermId(), tsitem);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public ServiceBody<DyLineTreeListModel> getzzdyTreeList(Integer type, List<Integer> idlist) {
|
|
|
|
|
DyLineTreeListModel model = new DyLineTreeListModel();
|
|
|
|
|
ArrayList<DyLineTreeListModel.TerminalBean> favorList = new ArrayList<>();
|
|
|
|
|
List<DyLineAndTerminalWithHeartDto> list = dyLevelDao.selectListTreeList(CommonStatus.EFFECTIVE.value(), idlist);
|
|
|
|
|
boolean empty = CollectionUtil.isEmpty(list);
|
|
|
|
|
if (empty) {
|
|
|
|
|
model.setList(new ArrayList<>());
|
|
|
|
|
} else {
|
|
|
|
|
int onlinenum = 0;
|
|
|
|
|
int totalnum = 0;
|
|
|
|
|
ArrayList<DyLineTreeListModel.DyListBean> dyListBeans = new ArrayList<>();
|
|
|
|
|
for (int i = 0; i < list.size(); i++) {
|
|
|
|
|
DyLineAndTerminalWithHeartDto dyDto = list.get(i);
|
|
|
|
|
List<LineAndTerminalWithHeartDto> linelist = dyDto.getList();
|
|
|
|
|
if (CollectionUtil.isEmpty(linelist)) {
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
|
|
linemap.forEach((key, value) -> {
|
|
|
|
|
Integer dyLevelId = value.getDyLevelId();
|
|
|
|
|
if (dyLevelId != null) {
|
|
|
|
|
DyLevel dyLevel = dymap.get(dyLevelId);
|
|
|
|
|
if (BeanUtil.isNotEmpty(dyLevel)) {
|
|
|
|
|
dyLevel.getList().add(value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
towermap.forEach((key, value) -> {
|
|
|
|
|
Integer lineId = value.getLineId();
|
|
|
|
|
if (lineId != null) {
|
|
|
|
|
Lines lines1 = linemap.get(lineId);
|
|
|
|
|
if (BeanUtil.isNotEmpty(lines1)) {
|
|
|
|
|
lines1.getList().add(value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
DyLineTreeListModel.DyListBean dyModel = new DyLineTreeListModel.DyListBean();
|
|
|
|
|
dyModel.setId(dyDto.getId());
|
|
|
|
|
dyModel.setDyValue(dyDto.getDyValue());
|
|
|
|
|
dyModel.setName(dyDto.getName());
|
|
|
|
|
ArrayList<DyLineTreeListModel.LineBean> lineBeans = new ArrayList<>();
|
|
|
|
|
for (int j = 0; j < linelist.size(); j++) {
|
|
|
|
|
LineAndTerminalWithHeartDto lineDto = linelist.get(j);
|
|
|
|
|
List<TerminalsWithHeart> termlist = lineDto.getList();
|
|
|
|
|
if (CollectionUtil.isEmpty(termlist)) {
|
|
|
|
|
continue;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
termmap.forEach((key, value) -> {
|
|
|
|
|
Integer towerid = value.getTowerid();
|
|
|
|
|
Towers towers1 = towermap.get(towerid);
|
|
|
|
|
if (BeanUtil.isNotEmpty(towers1)) {
|
|
|
|
|
Integer id = value.getId();
|
|
|
|
|
TerminalStatus terminalStatus = tsmap.get(id);
|
|
|
|
|
value.setLastheartbeat(terminalStatus.getLastHeartbeat());
|
|
|
|
|
boolean contains = favoridlist.contains(id);
|
|
|
|
|
if (contains) {
|
|
|
|
|
favorList.add(value);
|
|
|
|
|
}
|
|
|
|
|
DyLineTreeListModel.LineBean lineBean = new DyLineTreeListModel.LineBean();
|
|
|
|
|
lineBean.setId(lineDto.getId());
|
|
|
|
|
lineBean.setName(lineDto.getName());
|
|
|
|
|
lineBean.setBsManufacturer(lineDto.getBsManufacturer());
|
|
|
|
|
|
|
|
|
|
ArrayList<DyLineTreeListModel.TerminalBean> beanlist = new ArrayList<>();
|
|
|
|
|
for (int k = 0; k < termlist.size(); k++) {
|
|
|
|
|
totalnum++;
|
|
|
|
|
TerminalsWithHeart terminalsWithHeart = termlist.get(k);
|
|
|
|
|
|
|
|
|
|
DyLineTreeListModel.TerminalBean bean = new DyLineTreeListModel.TerminalBean();
|
|
|
|
|
bean.setId(terminalsWithHeart.getId());
|
|
|
|
|
bean.setAddress(terminalsWithHeart.getAddress());
|
|
|
|
|
bean.setCmdid(terminalsWithHeart.getCmdid());
|
|
|
|
|
bean.setDisplayname(terminalsWithHeart.getDisplayname());
|
|
|
|
|
bean.setEquipname(terminalsWithHeart.getEquipname());
|
|
|
|
|
bean.setModel(terminalsWithHeart.getModel());
|
|
|
|
|
bean.setName(terminalsWithHeart.getName());
|
|
|
|
|
bean.setProtocol(terminalsWithHeart.getProtocol());
|
|
|
|
|
bean.setTowerid(terminalsWithHeart.getTowerid());
|
|
|
|
|
bean.setHasPan(terminalsWithHeart.getHasPan());
|
|
|
|
|
bean.setPhase(terminalsWithHeart.getPhase());
|
|
|
|
|
bean.setEquipmentType(terminalsWithHeart.getEquipmentType());
|
|
|
|
|
Integer isfavor = terminalsWithHeart.getIsfavor();
|
|
|
|
|
bean.setIsfavor(isfavor);
|
|
|
|
|
BigInteger lastheartbeat = terminalsWithHeart.getLastheartbeat();
|
|
|
|
|
boolean b = TerminalUtils.judgeTerminalStatus(lastheartbeat);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (towerid != null) {
|
|
|
|
|
if (type == null || type.intValue() == -1) {//查询全部
|
|
|
|
|
if (b) {
|
|
|
|
|
bean.setOnlinestatus(CommonStatus.EFFECTIVE.value());
|
|
|
|
|
onlinenum++;
|
|
|
|
|
} else {
|
|
|
|
|
bean.setOnlinestatus(CommonStatus.DELETE.value());
|
|
|
|
|
|
|
|
|
|
totalnum.getAndIncrement();
|
|
|
|
|
Integer onlinestatus = value.getOnlinestatus();
|
|
|
|
|
if (onlinestatus.equals(CommonStatus.EFFECTIVE.value())) {
|
|
|
|
|
onlinenum.getAndIncrement();
|
|
|
|
|
}
|
|
|
|
|
beanlist.add(bean);
|
|
|
|
|
towers1.getList().add(value);
|
|
|
|
|
} else if (type.intValue() == 0) {
|
|
|
|
|
if (b) {
|
|
|
|
|
onlinenum++;
|
|
|
|
|
bean.setOnlinestatus(CommonStatus.EFFECTIVE.value());
|
|
|
|
|
|
|
|
|
|
totalnum.getAndIncrement();
|
|
|
|
|
Integer onlinestatus = value.getOnlinestatus();
|
|
|
|
|
if (onlinestatus.equals(CommonStatus.EFFECTIVE.value())) {
|
|
|
|
|
onlinenum.getAndIncrement();
|
|
|
|
|
} else {
|
|
|
|
|
bean.setOnlinestatus(CommonStatus.DELETE.value());
|
|
|
|
|
beanlist.add(bean);
|
|
|
|
|
|
|
|
|
|
towers1.getList().add(value);
|
|
|
|
|
}
|
|
|
|
|
} else if (type.intValue() == 1) {
|
|
|
|
|
if (b) {
|
|
|
|
|
onlinenum++;
|
|
|
|
|
bean.setOnlinestatus(CommonStatus.EFFECTIVE.value());
|
|
|
|
|
beanlist.add(bean);
|
|
|
|
|
} else {
|
|
|
|
|
bean.setOnlinestatus(CommonStatus.DELETE.value());
|
|
|
|
|
|
|
|
|
|
totalnum.getAndIncrement();
|
|
|
|
|
Integer onlinestatus = value.getOnlinestatus();
|
|
|
|
|
if (onlinestatus.equals(CommonStatus.EFFECTIVE.value())) {
|
|
|
|
|
onlinenum.getAndIncrement();
|
|
|
|
|
towers1.getList().add(value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (isfavor != null && isfavor.intValue() == CommonStatus.EFFECTIVE.value()) {
|
|
|
|
|
favorList.add(bean);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
lineBean.setList(beanlist);
|
|
|
|
|
lineBeans.add(lineBean);
|
|
|
|
|
}
|
|
|
|
|
dyModel.setList(lineBeans);
|
|
|
|
|
dyListBeans.add(dyModel);
|
|
|
|
|
}
|
|
|
|
|
model.setOnlineNum(onlinenum);
|
|
|
|
|
model.setTotalNum(totalnum);
|
|
|
|
|
model.setList(dyListBeans);
|
|
|
|
|
});
|
|
|
|
|
model.setOnlineNum(onlinenum.get());
|
|
|
|
|
model.setTotalNum(totalnum.get());
|
|
|
|
|
model.setFavorlist(favorList);
|
|
|
|
|
}
|
|
|
|
|
return Asserts.success(model);
|
|
|
|
|
return Asserts.success(model);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取电压等级列表
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public ServiceBody<DyListModel> getdyList() {
|
|
|
|
|
DyListModel model = new DyListModel();
|
|
|
|
|
List<DyLevel> list = dyLevelDao.selectAll(CommonStatus.EFFECTIVE.value());
|
|
|
|
|
boolean empty = CollectionUtil.isEmpty(list);
|
|
|
|
|
if (empty) {
|
|
|
|
|
model.setList(new ArrayList<>());
|
|
|
|
|
} else {
|
|
|
|
|
List<DyListModel.DyBean> models = BeanUtil.copyToList(list, DyListModel.DyBean.class);
|
|
|
|
|
model.setList(models);
|
|
|
|
|
@Override
|
|
|
|
|
public ServiceBody<DyLineTreeListModel> getzzdyTreeList (Integer type, List<Integer> idlist){
|
|
|
|
|
DyLineTreeListModel model = new DyLineTreeListModel();
|
|
|
|
|
// ArrayList<DyLineTreeListModel.TerminalBean> favorList = new ArrayList<>();
|
|
|
|
|
// List<DyLineAndTerminalWithHeartDto> list = dyLevelDao.selectListTreeList(CommonStatus.EFFECTIVE.value(), idlist);
|
|
|
|
|
// boolean empty = CollectionUtil.isEmpty(list);
|
|
|
|
|
// if (empty) {
|
|
|
|
|
// model.setList(new ArrayList<>());
|
|
|
|
|
// } else {
|
|
|
|
|
// int onlinenum = 0;
|
|
|
|
|
// int totalnum = 0;
|
|
|
|
|
// ArrayList<DyLineTreeListModel.DyListBean> dyListBeans = new ArrayList<>();
|
|
|
|
|
// for (int i = 0; i < list.size(); i++) {
|
|
|
|
|
// DyLineAndTerminalWithHeartDto dyDto = list.get(i);
|
|
|
|
|
// List<LineAndTerminalWithHeartDto> linelist = dyDto.getList();
|
|
|
|
|
// if (CollectionUtil.isEmpty(linelist)) {
|
|
|
|
|
// continue;
|
|
|
|
|
// }
|
|
|
|
|
// DyLineTreeListModel.DyListBean dyModel = new DyLineTreeListModel.DyListBean();
|
|
|
|
|
// dyModel.setId(dyDto.getId());
|
|
|
|
|
// dyModel.setDyValue(dyDto.getDyValue());
|
|
|
|
|
// dyModel.setName(dyDto.getName());
|
|
|
|
|
// ArrayList<DyLineTreeListModel.LineBean> lineBeans = new ArrayList<>();
|
|
|
|
|
// for (int j = 0; j < linelist.size(); j++) {
|
|
|
|
|
// LineAndTerminalWithHeartDto lineDto = linelist.get(j);
|
|
|
|
|
// List<TerminalsWithHeart> termlist = lineDto.getList();
|
|
|
|
|
// if (CollectionUtil.isEmpty(termlist)) {
|
|
|
|
|
// continue;
|
|
|
|
|
// }
|
|
|
|
|
// DyLineTreeListModel.LineBean lineBean = new DyLineTreeListModel.LineBean();
|
|
|
|
|
// lineBean.setId(lineDto.getId());
|
|
|
|
|
// lineBean.setName(lineDto.getName());
|
|
|
|
|
// lineBean.setBsManufacturer(lineDto.getBsManufacturer());
|
|
|
|
|
//
|
|
|
|
|
// ArrayList<DyLineTreeListModel.TerminalBean> beanlist = new ArrayList<>();
|
|
|
|
|
// for (int k = 0; k < termlist.size(); k++) {
|
|
|
|
|
// totalnum++;
|
|
|
|
|
// TerminalsWithHeart terminalsWithHeart = termlist.get(k);
|
|
|
|
|
//
|
|
|
|
|
// DyLineTreeListModel.TerminalBean bean = new DyLineTreeListModel.TerminalBean();
|
|
|
|
|
// bean.setId(terminalsWithHeart.getId());
|
|
|
|
|
// bean.setAddress(terminalsWithHeart.getAddress());
|
|
|
|
|
// bean.setCmdid(terminalsWithHeart.getCmdid());
|
|
|
|
|
// bean.setDisplayname(terminalsWithHeart.getDisplayname());
|
|
|
|
|
// bean.setEquipname(terminalsWithHeart.getEquipname());
|
|
|
|
|
// bean.setModel(terminalsWithHeart.getModel());
|
|
|
|
|
// bean.setName(terminalsWithHeart.getName());
|
|
|
|
|
// bean.setProtocol(terminalsWithHeart.getProtocol());
|
|
|
|
|
// bean.setTowerid(terminalsWithHeart.getTowerid());
|
|
|
|
|
// bean.setHasPan(terminalsWithHeart.getHasPan());
|
|
|
|
|
// bean.setPhase(terminalsWithHeart.getPhase());
|
|
|
|
|
// bean.setEquipmentType(terminalsWithHeart.getEquipmentType());
|
|
|
|
|
// Integer isfavor = terminalsWithHeart.getIsfavor();
|
|
|
|
|
// bean.setIsfavor(isfavor);
|
|
|
|
|
// BigInteger lastheartbeat = terminalsWithHeart.getLastheartbeat();
|
|
|
|
|
// boolean b = TerminalUtils.judgeTerminalStatus(lastheartbeat);
|
|
|
|
|
// if (type == null || type.intValue() == -1) {//查询全部
|
|
|
|
|
// if (b) {
|
|
|
|
|
// bean.setOnlinestatus(CommonStatus.EFFECTIVE.value());
|
|
|
|
|
// onlinenum++;
|
|
|
|
|
// } else {
|
|
|
|
|
// bean.setOnlinestatus(CommonStatus.DELETE.value());
|
|
|
|
|
// }
|
|
|
|
|
// beanlist.add(bean);
|
|
|
|
|
// } else if (type.intValue() == 0) {
|
|
|
|
|
// if (b) {
|
|
|
|
|
// onlinenum++;
|
|
|
|
|
// bean.setOnlinestatus(CommonStatus.EFFECTIVE.value());
|
|
|
|
|
// } else {
|
|
|
|
|
// bean.setOnlinestatus(CommonStatus.DELETE.value());
|
|
|
|
|
// beanlist.add(bean);
|
|
|
|
|
// }
|
|
|
|
|
// } else if (type.intValue() == 1) {
|
|
|
|
|
// if (b) {
|
|
|
|
|
// onlinenum++;
|
|
|
|
|
// bean.setOnlinestatus(CommonStatus.EFFECTIVE.value());
|
|
|
|
|
// beanlist.add(bean);
|
|
|
|
|
// } else {
|
|
|
|
|
// bean.setOnlinestatus(CommonStatus.DELETE.value());
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// if (isfavor != null && isfavor.intValue() == CommonStatus.EFFECTIVE.value()) {
|
|
|
|
|
// favorList.add(bean);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// lineBean.setList(beanlist);
|
|
|
|
|
// lineBeans.add(lineBean);
|
|
|
|
|
// }
|
|
|
|
|
// dyModel.setList(lineBeans);
|
|
|
|
|
// dyListBeans.add(dyModel);
|
|
|
|
|
// }
|
|
|
|
|
// model.setOnlineNum(onlinenum);
|
|
|
|
|
// model.setTotalNum(totalnum);
|
|
|
|
|
// model.setList(dyListBeans);
|
|
|
|
|
// model.setFavorlist(favorList);
|
|
|
|
|
// }
|
|
|
|
|
return Asserts.success(model);
|
|
|
|
|
}
|
|
|
|
|
return Asserts.success(model);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据电压或者线路获取所有杆塔和最新照片
|
|
|
|
|
*
|
|
|
|
|
* @param vo
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public ServiceBody<TerminalPhotosModel> getLastTowerList(String requestIp, LastTowerVo vo) {
|
|
|
|
|
TerminalPhotosModel model = new TerminalPhotosModel();
|
|
|
|
|
Integer id = vo.getId();
|
|
|
|
|
Integer type = vo.getType();
|
|
|
|
|
int pageindex = vo.getPageindex();
|
|
|
|
|
int pagesize = vo.getPagesize();
|
|
|
|
|
List<DyLineAndTowertDto> dtos = new ArrayList<>();
|
|
|
|
|
if (type == 1) {
|
|
|
|
|
dtos = dyLevelDao.selectDyAndLineAndTowerList(id, null, null, CommonStatus.EFFECTIVE.value());
|
|
|
|
|
} else {
|
|
|
|
|
dtos = dyLevelDao.selectDyAndLineAndTowerList(null, id, null, CommonStatus.EFFECTIVE.value());
|
|
|
|
|
}
|
|
|
|
|
if (CollectionUtil.isEmpty(dtos)) {
|
|
|
|
|
model.setList(new ArrayList<>());
|
|
|
|
|
} else {
|
|
|
|
|
ArrayList<Integer> towerlist = new ArrayList<>();
|
|
|
|
|
for (DyLineAndTowertDto item : dtos) {
|
|
|
|
|
Integer towerId = item.getTowerId();
|
|
|
|
|
towerlist.add(towerId);
|
|
|
|
|
/**
|
|
|
|
|
* 获取电压等级列表
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public ServiceBody<DyListModel> getdyList () {
|
|
|
|
|
DyListModel model = new DyListModel();
|
|
|
|
|
List<DyLevel> list = dyLevelDao.selectAll(CommonStatus.EFFECTIVE.value());
|
|
|
|
|
boolean empty = CollectionUtil.isEmpty(list);
|
|
|
|
|
if (empty) {
|
|
|
|
|
model.setList(new ArrayList<>());
|
|
|
|
|
} else {
|
|
|
|
|
List<DyListModel.DyBean> models = BeanUtil.copyToList(list, DyListModel.DyBean.class);
|
|
|
|
|
model.setList(models);
|
|
|
|
|
}
|
|
|
|
|
return Asserts.success(model);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (CollectionUtil.isEmpty(towerlist)) {
|
|
|
|
|
/**
|
|
|
|
|
* 根据电压或者线路获取所有杆塔和最新照片
|
|
|
|
|
*
|
|
|
|
|
* @param vo
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public ServiceBody<TerminalPhotosModel> getLastTowerList (String requestIp, LastTowerVo vo){
|
|
|
|
|
TerminalPhotosModel model = new TerminalPhotosModel();
|
|
|
|
|
Integer id = vo.getId();
|
|
|
|
|
Integer type = vo.getType();
|
|
|
|
|
int pageindex = vo.getPageindex();
|
|
|
|
|
int pagesize = vo.getPagesize();
|
|
|
|
|
List<DyLineAndTowertDto> dtos = new ArrayList<>();
|
|
|
|
|
if (type == 1) {
|
|
|
|
|
dtos = dyLevelDao.selectDyAndLineAndTowerList(id, null, null, CommonStatus.EFFECTIVE.value());
|
|
|
|
|
} else {
|
|
|
|
|
dtos = dyLevelDao.selectDyAndLineAndTowerList(null, id, null, CommonStatus.EFFECTIVE.value());
|
|
|
|
|
}
|
|
|
|
|
if (CollectionUtil.isEmpty(dtos)) {
|
|
|
|
|
model.setList(new ArrayList<>());
|
|
|
|
|
} else {
|
|
|
|
|
PageUtils.SetPage(pageindex, pagesize);
|
|
|
|
|
List<TerminalChannelMapper> list = terminalChannelMapperDao.selectTermAndMapByTowerId(CommonStatus.EFFECTIVE.value(), towerlist);
|
|
|
|
|
List<TerminalPhotosModel.PhotosBean> beans = new ArrayList<>();
|
|
|
|
|
if (CollectionUtil.isNotEmpty(list)) {
|
|
|
|
|
ArrayList<BigInteger> photolist = new ArrayList<>();
|
|
|
|
|
for (TerminalChannelMapper item : list) {
|
|
|
|
|
photolist.add(item.getPhotoId());
|
|
|
|
|
}
|
|
|
|
|
Map<Integer, LineAndDyNameDto> lineMap = cacheService.getLineMap();
|
|
|
|
|
Map<String, TerminalChannelMapper> termchannelMapMap = cacheService.getTermChannelMapMap();
|
|
|
|
|
Map<Integer, Terminals> terminalMap = cacheService.getTerminalMap();
|
|
|
|
|
Map<Integer, TerminalChannels> termchannelMap = cacheService.getTermChannelMap();
|
|
|
|
|
Map<Integer, TowerDto> towerMap = cacheService.getTowerMap();
|
|
|
|
|
List<TerminalPhoto> photoList = terminalPhotoDao.selectPhotosByIdList(photolist);
|
|
|
|
|
|
|
|
|
|
List<TerminalImgAlarmsDto> imgarlarmsList = new ArrayList<>();
|
|
|
|
|
List idlist = new ArrayList<>();
|
|
|
|
|
for (TerminalPhoto tp : photoList) {
|
|
|
|
|
if (tp.getOrginalId() != null) {
|
|
|
|
|
idlist.add(tp.getOrginalId());
|
|
|
|
|
ArrayList<Integer> towerlist = new ArrayList<>();
|
|
|
|
|
for (DyLineAndTowertDto item : dtos) {
|
|
|
|
|
Integer towerId = item.getTowerId();
|
|
|
|
|
towerlist.add(towerId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (CollectionUtil.isEmpty(towerlist)) {
|
|
|
|
|
model.setList(new ArrayList<>());
|
|
|
|
|
} else {
|
|
|
|
|
PageUtils.SetPage(pageindex, pagesize);
|
|
|
|
|
List<TerminalChannelMapper> list = terminalChannelMapperDao.selectTermAndMapByTowerId(CommonStatus.EFFECTIVE.value(), towerlist);
|
|
|
|
|
List<TerminalPhotosModel.PhotosBean> beans = new ArrayList<>();
|
|
|
|
|
if (CollectionUtil.isNotEmpty(list)) {
|
|
|
|
|
ArrayList<BigInteger> photolist = new ArrayList<>();
|
|
|
|
|
for (TerminalChannelMapper item : list) {
|
|
|
|
|
photolist.add(item.getPhotoId());
|
|
|
|
|
}
|
|
|
|
|
Map<Integer, LineAndDyNameDto> lineMap = cacheService.getLineMap();
|
|
|
|
|
Map<String, TerminalChannelMapper> termchannelMapMap = cacheService.getTermChannelMapMap();
|
|
|
|
|
Map<Integer, Terminals> terminalMap = cacheService.getTerminalMap();
|
|
|
|
|
Map<Integer, TerminalChannels> termchannelMap = cacheService.getTermChannelMap();
|
|
|
|
|
Map<Integer, TowerDto> towerMap = cacheService.getTowerMap();
|
|
|
|
|
List<TerminalPhoto> photoList = terminalPhotoDao.selectPhotosByIdList(photolist);
|
|
|
|
|
|
|
|
|
|
List<TerminalImgAlarmsDto> imgarlarmsList = new ArrayList<>();
|
|
|
|
|
List idlist = new ArrayList<>();
|
|
|
|
|
for (TerminalPhoto tp : photoList) {
|
|
|
|
|
if (tp.getOrginalId() != null) {
|
|
|
|
|
idlist.add(tp.getOrginalId());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (idlist.size() > 0) {
|
|
|
|
|
List<TerminalImgAlarmParams> labellist = new ArrayList<>();
|
|
|
|
|
Map<Integer, TerminalImgAlarmParams> alarmParamMap = cacheService.getAlarmParamMap();
|
|
|
|
|
alarmParamMap.forEach((key, value) -> {
|
|
|
|
|
labellist.add(value);
|
|
|
|
|
});
|
|
|
|
|
imgarlarmsList = terminalImgAlarmsDao.selectAlarmsByTermidAndPhotoId(photoList, labellist);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (idlist.size() > 0) {
|
|
|
|
|
List<TerminalImgAlarmParams> labellist = new ArrayList<>();
|
|
|
|
|
Map<Integer, TerminalImgAlarmParams> alarmParamMap = cacheService.getAlarmParamMap();
|
|
|
|
|
alarmParamMap.forEach((key, value) -> {
|
|
|
|
|
labellist.add(value);
|
|
|
|
|
});
|
|
|
|
|
imgarlarmsList = terminalImgAlarmsDao.selectAlarmsByTermidAndPhotoId(photoList, labellist);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
beans = TerminalUtils.setTowerPhotoList(requestIp, list, lineMap, termchannelMapMap, terminalMap, termchannelMap, towerMap, photoList, imgarlarmsList);
|
|
|
|
|
beans = TerminalUtils.setTowerPhotoList(requestIp, list, lineMap, termchannelMapMap, terminalMap, termchannelMap, towerMap, photoList, imgarlarmsList);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
model.setList(beans);
|
|
|
|
|
PageInfo pageData = PageUtils.getPageData(list);
|
|
|
|
|
int currentpage = pageData.getPageNum();
|
|
|
|
|
model.setCurrentpage(currentpage);
|
|
|
|
|
long total = pageData.getTotal();
|
|
|
|
|
model.setTotal(total);
|
|
|
|
|
|
|
|
|
|
int pageSize = pageData.getPageSize();
|
|
|
|
|
model.setPagesize(pageSize);
|
|
|
|
|
int pages = pageData.getPages();
|
|
|
|
|
model.setTotalpage(pages);
|
|
|
|
|
}
|
|
|
|
|
model.setList(beans);
|
|
|
|
|
PageInfo pageData = PageUtils.getPageData(list);
|
|
|
|
|
int currentpage = pageData.getPageNum();
|
|
|
|
|
model.setCurrentpage(currentpage);
|
|
|
|
|
long total = pageData.getTotal();
|
|
|
|
|
model.setTotal(total);
|
|
|
|
|
|
|
|
|
|
int pageSize = pageData.getPageSize();
|
|
|
|
|
model.setPagesize(pageSize);
|
|
|
|
|
int pages = pageData.getPages();
|
|
|
|
|
model.setTotalpage(pages);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return Asserts.success(model);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return Asserts.success(model);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|