|
@@ -89,8 +89,18 @@ public class EmsDeviceServiceImpl implements IEmsDeviceService {
|
|
|
List<EmsDevice> list = emsDeviceMapper.selectEmsDeviceList(queryDevice);
|
|
|
|
|
|
if (CollectionUtils.isNotEmpty(list)) {
|
|
|
+ List<Area> areas = areaService.selectAreaList(new Area());
|
|
|
+ Map<String, Area> areaMap = areas.stream()
|
|
|
+ .collect(Collectors.toMap(Area::getAreaCode, Function.identity()));
|
|
|
+ List<AreaBuilding> buildings = buildingService.selectAreaBuildingList(new AreaBuilding());
|
|
|
+ Map<String, AreaBuilding> buildingMap = buildings.stream()
|
|
|
+ .collect(Collectors.toMap(AreaBuilding::getBldgCode, Function.identity()));
|
|
|
+ List<AreaBuildingZoning> zonings = zoningService.selectAreaBuildingZoningList(new AreaBuildingZoning());
|
|
|
+ Map<String, AreaBuildingZoning> zoningMap = zonings.stream()
|
|
|
+ .collect(Collectors.toMap(AreaBuildingZoning::getZoningCode, Function.identity()));
|
|
|
+
|
|
|
for (EmsDevice device : list) {
|
|
|
- fillAreaName(device);
|
|
|
+ fillAreaName(device, areaMap, buildingMap, zoningMap);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -108,8 +118,18 @@ public class EmsDeviceServiceImpl implements IEmsDeviceService {
|
|
|
List<EmsDevice> list = emsDeviceMapper.selectByAreaTree(queryDevice);
|
|
|
|
|
|
if (CollectionUtils.isNotEmpty(list)) {
|
|
|
+ List<Area> areas = areaService.selectAreaList(new Area());
|
|
|
+ Map<String, Area> areaMap = areas.stream()
|
|
|
+ .collect(Collectors.toMap(Area::getAreaCode, Function.identity()));
|
|
|
+ List<AreaBuilding> buildings = buildingService.selectAreaBuildingList(new AreaBuilding());
|
|
|
+ Map<String, AreaBuilding> buildingMap = buildings.stream()
|
|
|
+ .collect(Collectors.toMap(AreaBuilding::getBldgCode, Function.identity()));
|
|
|
+ List<AreaBuildingZoning> zonings = zoningService.selectAreaBuildingZoningList(new AreaBuildingZoning());
|
|
|
+ Map<String, AreaBuildingZoning> zoningMap = zonings.stream()
|
|
|
+ .collect(Collectors.toMap(AreaBuildingZoning::getZoningCode, Function.identity()));
|
|
|
+
|
|
|
for (EmsDevice device : list) {
|
|
|
- fillAreaName(device);
|
|
|
+ fillAreaName(device, areaMap, buildingMap, zoningMap);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -125,6 +145,7 @@ public class EmsDeviceServiceImpl implements IEmsDeviceService {
|
|
|
@Override
|
|
|
public List<TreeEntity> getTreeByFacs(QueryDevice queryDevice) {
|
|
|
List<TreeEntity> retList = new ArrayList<>();
|
|
|
+
|
|
|
List<Area> areas = areaService.selectAreaList(new Area());
|
|
|
List<AreaBuilding> buildings = buildingService.selectAreaBuildingList(new AreaBuilding());
|
|
|
List<AreaBuildingZoning> zonings = zoningService.selectAreaBuildingZoningList(new AreaBuildingZoning());
|
|
@@ -161,8 +182,8 @@ public class EmsDeviceServiceImpl implements IEmsDeviceService {
|
|
|
return retList;
|
|
|
}
|
|
|
|
|
|
- private List<TreeEntity> buildFacsDevSub(QueryDevice queryParam, List<EmsFacs> facsList, List<Area> areas, List<AreaBuilding> buildings,
|
|
|
- List<AreaBuildingZoning> zonings) {
|
|
|
+ private List<TreeEntity> buildFacsDevSub(QueryDevice queryParam, List<EmsFacs> facsList, List<Area> areas,
|
|
|
+ List<AreaBuilding> buildings, List<AreaBuildingZoning> zonings) {
|
|
|
List<TreeEntity> retList = new ArrayList<>();
|
|
|
Map<String, Area> areaMap = areas.stream().collect(Collectors.toMap(Area::getAreaCode, Function.identity()));
|
|
|
Map<String, AreaBuilding> buildingMap = buildings.stream()
|
|
@@ -189,12 +210,14 @@ public class EmsDeviceServiceImpl implements IEmsDeviceService {
|
|
|
else if (StringUtils.equals(AreaTier.Zoning.name(), device.getAreaType())) {
|
|
|
AreaBuildingZoning zoning = zoningMap.get(device.getRefArea());
|
|
|
AreaBuilding building = zoning != null ? buildingMap.get(zoning.getBldgCode()) : null;
|
|
|
- namePrefix = (building != null ? building.getBldgName() : "") + "/"
|
|
|
- + (zoning != null ? zoning.getZoningName() : "");
|
|
|
+ namePrefix = (building != null ? building.getBldgName() : "") + "/" + (zoning != null ?
|
|
|
+ zoning.getZoningName() :
|
|
|
+ "");
|
|
|
}
|
|
|
|
|
|
- String label = StringUtils.isNotBlank(namePrefix) ? namePrefix + " - " + device.getDeviceName()
|
|
|
- : device.getDeviceName();
|
|
|
+ String label = StringUtils.isNotBlank(namePrefix) ?
|
|
|
+ namePrefix + " - " + device.getDeviceName() :
|
|
|
+ device.getDeviceName();
|
|
|
|
|
|
TreeEntity entity = new TreeEntity();
|
|
|
entity.setId(device.getDeviceCode());
|
|
@@ -314,6 +337,54 @@ public class EmsDeviceServiceImpl implements IEmsDeviceService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public void fillAreaName(EmsDevice emsDevice, Map<String, Area> areaMap, Map<String, AreaBuilding> buildingMap,
|
|
|
+ Map<String, AreaBuildingZoning> zoningMap) {
|
|
|
+ if (StringUtils.equals(emsDevice.getAreaType(), AreaTier.Area.name())) {
|
|
|
+ Area area = areaMap.get(emsDevice.getRefArea());
|
|
|
+
|
|
|
+ if (null != area) {
|
|
|
+ emsDevice.setRefAreaName(area.getAreaName());
|
|
|
+ emsDevice.setAreaPath(null != area.getShortName() ? area.getShortName() : area.getAreaName());
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ emsDevice.setRefAreaName("未知");
|
|
|
+ emsDevice.setAreaPath("未知/");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (StringUtils.equals(emsDevice.getAreaType(), AreaTier.Building.name())) {
|
|
|
+ AreaBuilding building = buildingMap.get(emsDevice.getRefArea());
|
|
|
+
|
|
|
+ if (null != building) {
|
|
|
+ emsDevice.setRefAreaName(building.getBldgName());
|
|
|
+ emsDevice.setAreaPath(building.getAreaShortName() + "/" + building.getBldgName());
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ emsDevice.setRefAreaName("未知");
|
|
|
+ emsDevice.setAreaPath("未知/");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (StringUtils.equals(emsDevice.getAreaType(), AreaTier.Zoning.name())) {
|
|
|
+ AreaBuildingZoning zoning = zoningMap.get(emsDevice.getRefArea());
|
|
|
+
|
|
|
+ if (null != zoning) {
|
|
|
+ emsDevice.setRefAreaName(zoning.getZoningName());
|
|
|
+
|
|
|
+ AreaBuilding building = buildingMap.get(zoning.getBldgCode());
|
|
|
+
|
|
|
+ if (null != building) {
|
|
|
+ emsDevice.setAreaPath(
|
|
|
+ building.getAreaShortName() + "/" + building.getBldgName() + "/" + zoning.getZoningName());
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ emsDevice.setAreaPath("未知/");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ emsDevice.setRefAreaName("未知");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<Map<String, Object>> cntDeviceStatus(String areaCode) {
|
|
|
return emsDeviceMapper.cntDeviceStatus(areaCode);
|