|
|
|
@ -184,6 +184,136 @@ public class BasedataDeviceServiceImpl implements IBasedataDeviceService { |
|
|
|
return AreaDeviceTreeSelectUtil.buildDeviceTree(areaVOS); |
|
|
|
} |
|
|
|
|
|
|
|
public List<AreaDeviceTreeSelect> buildAreaDeviceTreeSelectByAreasFilterByPreset(List<BaseDataArea> areas, List<String> filterNamelist) { |
|
|
|
ArrayList<Long> areaIdList = new ArrayList<>(); |
|
|
|
HashMap<Long, BaseDataArea> areaMap = new HashMap<>(); |
|
|
|
HashMap<Long, BasedataDevice> deviceHashMap = new HashMap<>(); |
|
|
|
List<AreaDeviceTreeSelect> areaVOS = new ArrayList<>(); |
|
|
|
|
|
|
|
for (BaseDataArea area : areas) { |
|
|
|
areaIdList.add(area.getAreaId()); |
|
|
|
areaMap.put(area.getAreaId(), area); |
|
|
|
AreaDeviceTreeSelect areaVO = new AreaDeviceTreeSelect(); |
|
|
|
areaVO.setDataId(String.valueOf(area.getAreaId())); |
|
|
|
areaVO.setParentId(String.valueOf(area.getParentId())); |
|
|
|
areaVO.setAreaId(area.getAreaId()); |
|
|
|
areaVO.setAreaFlag("Yes"); |
|
|
|
areaVO.setAreaParentId(area.getParentId()); |
|
|
|
areaVO.setAreaName(area.getAreaName()); |
|
|
|
areaVO.setAreaType(area.getAreaType()); |
|
|
|
areaVOS.add(areaVO); |
|
|
|
} |
|
|
|
|
|
|
|
BasedataDevice basedataDeviceQuery = new BasedataDevice(); |
|
|
|
Map<String, Object> params = new HashMap<>(); |
|
|
|
params.put("areaIdList", areaIdList); |
|
|
|
basedataDeviceQuery.setParams(params); |
|
|
|
List<BasedataDevice> deviceList = this.basedataDeviceMapper.selectBasedataDeviceList(basedataDeviceQuery); |
|
|
|
Iterator<BasedataDevice> iterator = deviceList.iterator(); |
|
|
|
|
|
|
|
BasedataDevice basedataDevice; |
|
|
|
while (iterator.hasNext()) { |
|
|
|
basedataDevice = iterator.next(); |
|
|
|
deviceHashMap.put(basedataDevice.getDeviceId(), basedataDevice); |
|
|
|
} |
|
|
|
|
|
|
|
iterator = deviceList.iterator(); |
|
|
|
|
|
|
|
while (iterator.hasNext()) { |
|
|
|
basedataDevice = iterator.next(); |
|
|
|
AreaDeviceTreeSelect deviceVO = new AreaDeviceTreeSelect(); |
|
|
|
StringBuilder idBuilder = new StringBuilder(); |
|
|
|
StringBuilder pIdBuilder = new StringBuilder(); |
|
|
|
this.getAreaDeviceTreeDeviceCode(basedataDevice.getDeviceId(), areaMap, deviceHashMap, idBuilder, pIdBuilder); |
|
|
|
deviceVO.setDataId(idBuilder.toString()); |
|
|
|
deviceVO.setParentId(pIdBuilder.toString()); |
|
|
|
deviceVO.setAreaId(basedataDevice.getAreaId()); |
|
|
|
deviceVO.setDeviceParentId(basedataDevice.getParentId()); |
|
|
|
deviceVO.setDeviceId(basedataDevice.getDeviceId()); |
|
|
|
deviceVO.setDeviceName(basedataDevice.getDeviceName()); |
|
|
|
deviceVO.setPowerMainEquFlag(basedataDevice.getPowerMainEquFlag()); |
|
|
|
deviceVO.setPositionX(basedataDevice.getPositionX()); |
|
|
|
deviceVO.setPositionY(basedataDevice.getPositionY()); |
|
|
|
deviceVO.setPositionZ(basedataDevice.getPositionZ()); |
|
|
|
deviceVO.setDeviceLength(basedataDevice.getDeviceLength()); |
|
|
|
deviceVO.setDeviceWidth(basedataDevice.getDeviceWidth()); |
|
|
|
deviceVO.setDeviceHigh(basedataDevice.getDeviceHeight()); |
|
|
|
areaVOS.add(deviceVO); |
|
|
|
} |
|
|
|
|
|
|
|
return AreaDeviceTreeSelectUtil.buildDeviceTreeFilterByAreaName(areaVOS, filterNamelist); |
|
|
|
} |
|
|
|
|
|
|
|
public List<AreaDeviceTreeSelect> buildAreaDeviceTreeSelectByAreasFilterByMeter(List<BaseDataArea> areas) { |
|
|
|
ArrayList<Long> areaIdList = new ArrayList<>(); |
|
|
|
HashMap<Long, BaseDataArea> areaMap = new HashMap<>(); |
|
|
|
HashMap<Long, BasedataDevice> deviceHashMap = new HashMap<>(); |
|
|
|
List<AreaDeviceTreeSelect> areaVOS = new ArrayList<>(); |
|
|
|
|
|
|
|
for (BaseDataArea area : areas) { |
|
|
|
areaIdList.add(area.getAreaId()); |
|
|
|
areaMap.put(area.getAreaId(), area); |
|
|
|
AreaDeviceTreeSelect areaVO = new AreaDeviceTreeSelect(); |
|
|
|
areaVO.setDataId(String.valueOf(area.getAreaId())); |
|
|
|
areaVO.setParentId(String.valueOf(area.getParentId())); |
|
|
|
areaVO.setAreaId(area.getAreaId()); |
|
|
|
areaVO.setAreaFlag("Yes"); |
|
|
|
areaVO.setAreaParentId(area.getParentId()); |
|
|
|
areaVO.setAreaName(area.getAreaName()); |
|
|
|
areaVO.setAreaType(area.getAreaType()); |
|
|
|
areaVOS.add(areaVO); |
|
|
|
} |
|
|
|
|
|
|
|
BasedataDevice basedataDeviceQuery = new BasedataDevice(); |
|
|
|
Map<String, Object> params = new HashMap<>(); |
|
|
|
params.put("areaIdList", areaIdList); |
|
|
|
basedataDeviceQuery.setParams(params); |
|
|
|
List<BasedataDevice> deviceList = basedataDeviceMapper.selectBasedataDeviceListFilterByMeter(basedataDeviceQuery); |
|
|
|
Iterator<BasedataDevice> iterator = deviceList.iterator(); |
|
|
|
|
|
|
|
BasedataDevice basedataDevice; |
|
|
|
while (iterator.hasNext()) { |
|
|
|
basedataDevice = iterator.next(); |
|
|
|
deviceHashMap.put(basedataDevice.getDeviceId(), basedataDevice); |
|
|
|
} |
|
|
|
|
|
|
|
iterator = deviceList.iterator(); |
|
|
|
|
|
|
|
while (iterator.hasNext()) { |
|
|
|
basedataDevice = iterator.next(); |
|
|
|
logger.info("!!!!!!!!!patrolPointId: {}, patrolPointName: {}", basedataDevice.getPatrolPointId(), basedataDevice.getPatrolPointName()); |
|
|
|
AreaDeviceTreeSelect deviceVO = new AreaDeviceTreeSelect(); |
|
|
|
StringBuilder idBuilder = new StringBuilder(); |
|
|
|
StringBuilder pIdBuilder = new StringBuilder(); |
|
|
|
getAreaDeviceTreeDeviceCode(basedataDevice.getDeviceId(), areaMap, deviceHashMap, idBuilder, pIdBuilder); |
|
|
|
deviceVO.setDataId(idBuilder.toString()); |
|
|
|
deviceVO.setParentId(pIdBuilder.toString()); |
|
|
|
deviceVO.setAreaId(basedataDevice.getAreaId()); |
|
|
|
deviceVO.setDeviceParentId(basedataDevice.getParentId()); |
|
|
|
deviceVO.setDeviceId(basedataDevice.getDeviceId()); |
|
|
|
deviceVO.setDeviceName(basedataDevice.getDeviceName()); |
|
|
|
deviceVO.setPowerMainEquFlag(basedataDevice.getPowerMainEquFlag()); |
|
|
|
deviceVO.setPositionX(basedataDevice.getPositionX()); |
|
|
|
deviceVO.setPositionY(basedataDevice.getPositionY()); |
|
|
|
deviceVO.setPositionZ(basedataDevice.getPositionZ()); |
|
|
|
deviceVO.setDeviceLength(basedataDevice.getDeviceLength()); |
|
|
|
deviceVO.setDeviceWidth(basedataDevice.getDeviceWidth()); |
|
|
|
deviceVO.setDeviceHigh(basedataDevice.getDeviceHeight()); |
|
|
|
deviceVO.setPatrolPointId(basedataDevice.getPatrolPointId()); |
|
|
|
deviceVO.setPatrolPointName(basedataDevice.getPatrolPointName()); |
|
|
|
deviceVO.setDeviceName(basedataDevice.getPatrolPointName()); |
|
|
|
areaVOS.add(deviceVO); |
|
|
|
} |
|
|
|
|
|
|
|
List<AreaDeviceTreeSelect> results = AreaDeviceTreeSelectUtil.buildDeviceTreeByAreaMeter(areaVOS); |
|
|
|
for (AreaDeviceTreeSelect area : results) { |
|
|
|
area.cleanEmptyPatrolPoints(); |
|
|
|
} |
|
|
|
return results; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void getAreaDeviceTreeDeviceCode(Long deviceId, HashMap<Long, BaseDataArea> areaMap, HashMap<Long, BasedataDevice> deviceHashMap, StringBuilder idBuilder, StringBuilder pIdBuilder) { |
|
|
|
if (deviceHashMap.containsKey(deviceId)) { |
|
|
|
BasedataDevice device = deviceHashMap.get(deviceId); |
|
|
|
|