@ -461,7 +461,7 @@ public class BasedataDeviceServiceImpl implements IBasedataDeviceService {
List < BasedataPatrolPoint > patrolPoints = basedataPatrolPointMapper . selectBasedataPatrolPointRelationListByDeviceIds ( new ArrayList < > ( deviceIds ) ) ;
/ / 按设备ID分组
Map < Long , List < BasedataPatrolPoint > > devicePatrolMap = patrolPoints . stream ( )
. collect ( Collectors . groupingBy ( BasedataPatrolPoint : : getDeviceId ) ) ;
. collect ( Collectors . groupingBy ( BasedataPatrolPoint : : getRelation DeviceId ) ) ;
/ / 递归设置统计值
setPointNumRelation ( treeList , devicePatrolMap ) ;
@ -514,7 +514,7 @@ public class BasedataDeviceServiceImpl implements IBasedataDeviceService {
List < BasedataPatrolPoint > patrolPoints = basedataPatrolPointMapper . selectBasedataPatrolPointRelationListByDeviceIds ( new ArrayList < > ( deviceIds ) ) ;
/ / 按设备ID分组
Map < Long , List < BasedataPatrolPoint > > devicePatrolMap = patrolPoints . stream ( )
. collect ( Collectors . groupingBy ( BasedataPatrolPoint : : getDeviceId ) ) ;
. collect ( Collectors . groupingBy ( BasedataPatrolPoint : : getRelation DeviceId ) ) ;
/ / 递归设置统计值和点位
setPointNumAndPatrolPoints ( treeList , devicePatrolMap ) ;
@ -526,15 +526,16 @@ public class BasedataDeviceServiceImpl implements IBasedataDeviceService {
HashMap < Long , BasedataDevice > deviceHashMap = new HashMap < > ( ) ;
List < AreaDeviceTreeSelect > areaVOS = new ArrayList < > ( ) ;
/ / 根据新的relationParentId和relationAncestors构建树结构
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 . setParentId ( String . valueOf ( area . getRelation ParentId ( ) ) ) ;
areaVO . setAreaId ( area . getAreaId ( ) ) ;
areaVO . setAreaFlag ( "Yes" ) ;
areaVO . setAreaParentId ( area . getParentId ( ) ) ;
areaVO . setAreaParentId ( area . getRelation ParentId ( ) ) ;
areaVO . setAreaName ( area . getAreaName ( ) ) ;
areaVO . setAreaType ( area . getAreaType ( ) ) ;
areaVOS . add ( areaVO ) ;
@ -544,6 +545,7 @@ public class BasedataDeviceServiceImpl implements IBasedataDeviceService {
Map < String , Object > params = new HashMap < > ( ) ;
params . put ( "areaIdList" , areaIdList ) ;
basedataDeviceQuery . setParams ( params ) ;
/ / 根据新的relation_area_id查询设备信息 , 构建树结构
List < BasedataDevice > deviceList = this . basedataDeviceMapper . selectBasedataDeviceRelationList ( basedataDeviceQuery ) ;
Iterator < BasedataDevice > iterator = deviceList . iterator ( ) ;
@ -560,10 +562,10 @@ public class BasedataDeviceServiceImpl implements IBasedataDeviceService {
AreaDeviceTreeSelect deviceVO = new AreaDeviceTreeSelect ( ) ;
StringBuilder idBuilder = new StringBuilder ( ) ;
StringBuilder pIdBuilder = new StringBuilder ( ) ;
this . getAreaDeviceTreeDeviceCode ( basedataDevice . getDeviceId ( ) , areaMap , deviceHashMap , idBuilder , pIdBuilder ) ;
this . getAreaDeviceTreeDeviceCodeRelation ( basedataDevice . getDeviceId ( ) , areaMap , deviceHashMap , idBuilder , pIdBuilder ) ;
deviceVO . setDataId ( idBuilder . toString ( ) ) ;
deviceVO . setParentId ( pIdBuilder . toString ( ) ) ;
deviceVO . setAreaId ( basedataDevice . getAreaId ( ) ) ;
deviceVO . setAreaId ( basedataDevice . getRelation AreaId ( ) ) ;
deviceVO . setDeviceParentId ( basedataDevice . getParentId ( ) ) ;
deviceVO . setDeviceId ( basedataDevice . getDeviceId ( ) ) ;
deviceVO . setDeviceName ( basedataDevice . getDeviceName ( ) ) ;
@ -596,10 +598,10 @@ public class BasedataDeviceServiceImpl implements IBasedataDeviceService {
areaMap . put ( area . getAreaId ( ) , area ) ;
AreaDeviceTreeSelect areaVO = new AreaDeviceTreeSelect ( ) ;
areaVO . setDataId ( String . valueOf ( area . getAreaId ( ) ) ) ;
areaVO . setParentId ( String . valueOf ( area . getParentId ( ) ) ) ;
areaVO . setParentId ( String . valueOf ( area . getRelation ParentId ( ) ) ) ;
areaVO . setAreaId ( area . getAreaId ( ) ) ;
areaVO . setAreaFlag ( "Yes" ) ;
areaVO . setAreaParentId ( area . getParentId ( ) ) ;
areaVO . setAreaParentId ( area . getRelation ParentId ( ) ) ;
areaVO . setAreaName ( area . getAreaName ( ) ) ;
areaVO . setAreaType ( area . getAreaType ( ) ) ;
areaVOS . add ( areaVO ) ;
@ -625,10 +627,10 @@ public class BasedataDeviceServiceImpl implements IBasedataDeviceService {
AreaDeviceTreeSelect deviceVO = new AreaDeviceTreeSelect ( ) ;
StringBuilder idBuilder = new StringBuilder ( ) ;
StringBuilder pIdBuilder = new StringBuilder ( ) ;
this . getAreaDeviceTreeDeviceCode ( basedataDevice . getDeviceId ( ) , areaMap , deviceHashMap , idBuilder , pIdBuilder ) ;
this . getAreaDeviceTreeDeviceCodeRelation ( basedataDevice . getDeviceId ( ) , areaMap , deviceHashMap , idBuilder , pIdBuilder ) ;
deviceVO . setDataId ( idBuilder . toString ( ) ) ;
deviceVO . setParentId ( pIdBuilder . toString ( ) ) ;
deviceVO . setAreaId ( basedataDevice . getAreaId ( ) ) ;
deviceVO . setAreaId ( basedataDevice . getRelation AreaId ( ) ) ;
deviceVO . setDeviceParentId ( basedataDevice . getParentId ( ) ) ;
deviceVO . setDeviceId ( basedataDevice . getDeviceId ( ) ) ;
deviceVO . setDeviceName ( basedataDevice . getDeviceName ( ) ) ;
@ -812,6 +814,31 @@ public class BasedataDeviceServiceImpl implements IBasedataDeviceService {
}
private void getAreaDeviceTreeDeviceCodeRelation ( Long deviceId , HashMap < Long , BaseDataArea > areaMap , HashMap < Long , BasedataDevice > deviceHashMap , StringBuilder idBuilder , StringBuilder pIdBuilder ) {
if ( deviceHashMap . containsKey ( deviceId ) ) {
BasedataDevice device = deviceHashMap . get ( deviceId ) ;
idBuilder . insert ( 0 , "-" + deviceId ) ;
Long parentId = device . getParentId ( ) ;
Long areaId ;
if ( deviceId . longValue ( ) = = parentId . longValue ( ) ) {
areaId = device . getRelationAreaId ( ) ;
idBuilder . insert ( 0 , areaId ) ;
pIdBuilder . insert ( 0 , areaId ) ;
return ;
}
if ( deviceHashMap . containsKey ( parentId ) ) {
pIdBuilder . insert ( 0 , "-" + parentId ) ;
this . getAreaDeviceTreeDeviceCodeRelation ( parentId , areaMap , deviceHashMap , idBuilder , pIdBuilder ) ;
} else {
areaId = device . getRelationAreaId ( ) ;
idBuilder . insert ( 0 , areaId ) ;
pIdBuilder . insert ( 0 , areaId ) ;
}
}
}
public List < BaseDataAreaProDeviceVO > getAreaDeviceList ( List < BaseDataArea > areas ) {
List < BaseDataAreaProDeviceVO > proDeviceVOS = new ArrayList < > ( ) ;
List < BasedataDevice > mainDeviceList = this . basedataDeviceMapper . selectBasedataDeviceMainEquBatchByAreas ( areas ) ;