|
@@ -35,11 +35,12 @@ import com.persagy.dmp.rwd.basic.utils.DigitalMessageHelper;
|
|
import com.persagy.dmp.rwd.define.service.IObjectInfoService;
|
|
import com.persagy.dmp.rwd.define.service.IObjectInfoService;
|
|
import com.persagy.dmp.rwd.define.service.IObjectTypeService;
|
|
import com.persagy.dmp.rwd.define.service.IObjectTypeService;
|
|
import com.persagy.dmp.rwd.digital.dao.ObjectDigitalMapper;
|
|
import com.persagy.dmp.rwd.digital.dao.ObjectDigitalMapper;
|
|
-import com.persagy.dmp.rwd.digital.dao.ObjectRelationMapper;
|
|
|
|
import com.persagy.dmp.rwd.digital.service.IObjectDigitalService;
|
|
import com.persagy.dmp.rwd.digital.service.IObjectDigitalService;
|
|
|
|
+import com.persagy.dmp.rwd.digital.service.IObjectRelationService;
|
|
import com.persagy.dmp.rwd.parser.service.InfoDataFactory;
|
|
import com.persagy.dmp.rwd.parser.service.InfoDataFactory;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
@@ -58,30 +59,35 @@ import java.util.stream.Collectors;
|
|
@Slf4j
|
|
@Slf4j
|
|
public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, ObjectDigital> implements IObjectDigitalService {
|
|
public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, ObjectDigital> implements IObjectDigitalService {
|
|
|
|
|
|
- private final ObjectDigitalMapper objectDigitalMapper;
|
|
|
|
- private final DigitalMessageHelper messageSender;
|
|
|
|
- private final IObjectInfoService infoService;
|
|
|
|
- private final IObjectTypeService typeService;
|
|
|
|
- private final ObjectRelationMapper objectRelationMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private ObjectDigitalMapper dao;
|
|
|
|
+ @Autowired
|
|
|
|
+ private DigitalMessageHelper messageSender;
|
|
|
|
+ @Autowired
|
|
|
|
+ private IObjectInfoService infoService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private IObjectTypeService typeService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private IObjectRelationService relationService;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public ObjectDigital load(String id) {
|
|
public ObjectDigital load(String id) {
|
|
- return objectDigitalMapper.selectById(id);
|
|
|
|
|
|
+ return dao.selectById(id);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public List<ObjectDigital> queryByCondition(Wrapper<ObjectDigital> queryWrapper) {
|
|
public List<ObjectDigital> queryByCondition(Wrapper<ObjectDigital> queryWrapper) {
|
|
- return objectDigitalMapper.selectList(queryWrapper);
|
|
|
|
|
|
+ return list(queryWrapper);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public Integer queryCount(Wrapper<ObjectDigital> queryWrapper) {
|
|
public Integer queryCount(Wrapper<ObjectDigital> queryWrapper) {
|
|
- return objectDigitalMapper.selectCount(queryWrapper);
|
|
|
|
|
|
+ return count(queryWrapper);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public Page queryByCondition(Page page, Wrapper<ObjectDigital> queryWrapper) {
|
|
public Page queryByCondition(Page page, Wrapper<ObjectDigital> queryWrapper) {
|
|
- return objectDigitalMapper.selectPage(page, queryWrapper);
|
|
|
|
|
|
+ return page(page, queryWrapper);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -105,7 +111,7 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
|
|
vo.setObjType(typeMap.get(vo.getClassCode()));
|
|
vo.setObjType(typeMap.get(vo.getClassCode()));
|
|
vo.setValid(ValidEnum.TRUE.getType());
|
|
vo.setValid(ValidEnum.TRUE.getType());
|
|
// 新增
|
|
// 新增
|
|
- objectDigitalMapper.insert(vo);
|
|
|
|
|
|
+ dao.insert(vo);
|
|
// 新增后消息
|
|
// 新增后消息
|
|
messageSender.sendMessage(DigitalMessageConstant.OPERATE_AFTER_INSERT, null, vo, false);
|
|
messageSender.sendMessage(DigitalMessageConstant.OPERATE_AFTER_INSERT, null, vo, false);
|
|
});
|
|
});
|
|
@@ -121,7 +127,7 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
|
|
Map<String, Set<String>> removeMap = convertRemoveInfo(voList);
|
|
Map<String, Set<String>> removeMap = convertRemoveInfo(voList);
|
|
//查询数据库中存在的数据
|
|
//查询数据库中存在的数据
|
|
List<String> idList = CollUtil.getFieldValues(voList, BaseEntity.PROP_ID, String.class);
|
|
List<String> idList = CollUtil.getFieldValues(voList, BaseEntity.PROP_ID, String.class);
|
|
- List<ObjectDigital> dbList = objectDigitalMapper.selectBatchIds(idList);
|
|
|
|
|
|
+ List<ObjectDigital> dbList = listByIds(idList);
|
|
Map<String, ObjectDigital> dbMap = CollectionUtil.fieldValueMap(dbList, BaseEntity.PROP_ID);
|
|
Map<String, ObjectDigital> dbMap = CollectionUtil.fieldValueMap(dbList, BaseEntity.PROP_ID);
|
|
|
|
|
|
//填充classCode
|
|
//填充classCode
|
|
@@ -140,7 +146,7 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
|
|
// 更新数据的属性合并和删除
|
|
// 更新数据的属性合并和删除
|
|
ensureUpdateInfos(vo, dbVO, removeMap.get(vo.getId()));
|
|
ensureUpdateInfos(vo, dbVO, removeMap.get(vo.getId()));
|
|
// 修改
|
|
// 修改
|
|
- objectDigitalMapper.updateById(vo);
|
|
|
|
|
|
+ dao.updateById(vo);
|
|
// 修改后消息
|
|
// 修改后消息
|
|
messageSender.sendMessage(DigitalMessageConstant.OPERATE_AFTER_UPDATE, dbVO, vo, false);
|
|
messageSender.sendMessage(DigitalMessageConstant.OPERATE_AFTER_UPDATE, dbVO, vo, false);
|
|
});
|
|
});
|
|
@@ -223,16 +229,16 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
|
|
vo.setValid(ValidEnum.FALSE.getType());
|
|
vo.setValid(ValidEnum.FALSE.getType());
|
|
LambdaQueryWrapper<ObjectDigital> objQueryWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<ObjectDigital> objQueryWrapper = new LambdaQueryWrapper<>();
|
|
objQueryWrapper.in(ObjectDigital::getId,idList);
|
|
objQueryWrapper.in(ObjectDigital::getId,idList);
|
|
- this.update(vo,objQueryWrapper);
|
|
|
|
|
|
+ update(vo, objQueryWrapper);
|
|
// 2.批量删除关系
|
|
// 2.批量删除关系
|
|
- LambdaQueryWrapper<ObjectRelation> relationQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
- relationQueryWrapper.in(ObjectRelation::getObjFrom,idList);
|
|
|
|
- relationQueryWrapper.or(wrapper->wrapper.in(ObjectRelation::getObjTo,idList));
|
|
|
|
|
|
+ LambdaQueryWrapper<ObjectRelation> relWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ relWrapper.in(ObjectRelation::getObjFrom, idList);
|
|
|
|
+ relWrapper.or(wrapper->wrapper.in(ObjectRelation::getObjTo, idList));
|
|
ObjectRelation objectRelation = new ObjectRelation();
|
|
ObjectRelation objectRelation = new ObjectRelation();
|
|
objectRelation.setValid(ValidEnum.FALSE.getType());
|
|
objectRelation.setValid(ValidEnum.FALSE.getType());
|
|
- objectRelationMapper.update(objectRelation,relationQueryWrapper);
|
|
|
|
|
|
+ relationService.delete(relWrapper);
|
|
// 3.发送删除消息
|
|
// 3.发送删除消息
|
|
- List<ObjectDigital> dbList = objectDigitalMapper.selectBatchIds(idList);
|
|
|
|
|
|
+ List<ObjectDigital> dbList = listByIds(idList);
|
|
Map<String, ObjectDigital> dbMap = CollectionUtil.fieldValueMap(dbList, BaseEntity.PROP_ID);
|
|
Map<String, ObjectDigital> dbMap = CollectionUtil.fieldValueMap(dbList, BaseEntity.PROP_ID);
|
|
idList.forEach(id -> {
|
|
idList.forEach(id -> {
|
|
ObjectDigital dbVO = MapUtil.get(dbMap, id, ObjectDigital.class);
|
|
ObjectDigital dbVO = MapUtil.get(dbMap, id, ObjectDigital.class);
|
|
@@ -266,7 +272,7 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
|
|
// 3.1 获取关系code列表
|
|
// 3.1 获取关系code列表
|
|
fillSubordinateRelCode(requestData);
|
|
fillSubordinateRelCode(requestData);
|
|
// 3.2 调用查询语句查询相关内容
|
|
// 3.2 调用查询语句查询相关内容
|
|
- return analysisQueryResultList(objectDigitalMapper
|
|
|
|
|
|
+ return analysisQueryResultList(dao
|
|
.queryObjectListBySuperiorId(DigitalCommonUtils
|
|
.queryObjectListBySuperiorId(DigitalCommonUtils
|
|
.computePageObject(requestData),requestData),requestData,false,true);
|
|
.computePageObject(requestData),requestData),requestData,false,true);
|
|
}
|
|
}
|
|
@@ -284,7 +290,7 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
|
|
requestData.setRelCode(DigitalRelCode.FL_2_SP.getIndex());
|
|
requestData.setRelCode(DigitalRelCode.FL_2_SP.getIndex());
|
|
requestData.setObjType(DigitalObjectType.SPACE.getIndex());
|
|
requestData.setObjType(DigitalObjectType.SPACE.getIndex());
|
|
requestData.setRelId(requestData.getFloorId());
|
|
requestData.setRelId(requestData.getFloorId());
|
|
- Page<ObjectDigital> dataResult = objectDigitalMapper
|
|
|
|
|
|
+ Page<ObjectDigital> dataResult = dao
|
|
.queryObjectListByFloorIdAndRoomFuncType(DigitalCommonUtils.computePageObject(requestData),requestData);
|
|
.queryObjectListByFloorIdAndRoomFuncType(DigitalCommonUtils.computePageObject(requestData),requestData);
|
|
return commonAnalysisPageResult(dataResult);
|
|
return commonAnalysisPageResult(dataResult);
|
|
}
|
|
}
|
|
@@ -302,7 +308,7 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
|
|
requestData.setRelCode(DigitalRelCode.EQ_2_SP.getIndex());
|
|
requestData.setRelCode(DigitalRelCode.EQ_2_SP.getIndex());
|
|
requestData.setObjType(DigitalObjectType.EQUIPMENT.getIndex());
|
|
requestData.setObjType(DigitalObjectType.EQUIPMENT.getIndex());
|
|
requestData.setRelId(requestData.getSpaceId());
|
|
requestData.setRelId(requestData.getSpaceId());
|
|
- Page<ObjectDigital> dataResult = objectDigitalMapper
|
|
|
|
|
|
+ Page<ObjectDigital> dataResult = dao
|
|
.queryObjectListByRelIdAndClassCode(DigitalCommonUtils.computePageObject(requestData),requestData);
|
|
.queryObjectListByRelIdAndClassCode(DigitalCommonUtils.computePageObject(requestData),requestData);
|
|
return ResultHelper.multi(dataResult.getRecords(),dataResult.getTotal());
|
|
return ResultHelper.multi(dataResult.getRecords(),dataResult.getTotal());
|
|
}
|
|
}
|
|
@@ -318,7 +324,7 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
|
|
public CommonResult<List<ObjectDigital>> queryEquipListByClassCode(RequestData requestData) {
|
|
public CommonResult<List<ObjectDigital>> queryEquipListByClassCode(RequestData requestData) {
|
|
// 2.使用Fl2Sp关系查询楼层下的空间
|
|
// 2.使用Fl2Sp关系查询楼层下的空间
|
|
requestData.setObjType(DigitalObjectType.EQUIPMENT.getIndex());
|
|
requestData.setObjType(DigitalObjectType.EQUIPMENT.getIndex());
|
|
- Page<ObjectDigital> dataResult = objectDigitalMapper
|
|
|
|
|
|
+ Page<ObjectDigital> dataResult = dao
|
|
.queryEquipListByClassCode(DigitalCommonUtils.computePageObject(requestData),requestData);
|
|
.queryEquipListByClassCode(DigitalCommonUtils.computePageObject(requestData),requestData);
|
|
return commonAnalysisPageResult(dataResult);
|
|
return commonAnalysisPageResult(dataResult);
|
|
}
|
|
}
|
|
@@ -336,7 +342,7 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
|
|
requestData.setRelId(requestData.getSystemId());
|
|
requestData.setRelId(requestData.getSystemId());
|
|
requestData.setObjType(DigitalObjectType.EQUIPMENT.getIndex());
|
|
requestData.setObjType(DigitalObjectType.EQUIPMENT.getIndex());
|
|
requestData.setRelCode(DigitalRelCode.SY_2_EQ.getIndex());
|
|
requestData.setRelCode(DigitalRelCode.SY_2_EQ.getIndex());
|
|
- Page<ObjectDigital> dataResult = objectDigitalMapper
|
|
|
|
|
|
+ Page<ObjectDigital> dataResult = dao
|
|
.queryObjectListByRelIdAndClassCode(DigitalCommonUtils.computePageObject(requestData),requestData);
|
|
.queryObjectListByRelIdAndClassCode(DigitalCommonUtils.computePageObject(requestData),requestData);
|
|
return ResultHelper.multi(dataResult.getRecords(),dataResult.getTotal());
|
|
return ResultHelper.multi(dataResult.getRecords(),dataResult.getTotal());
|
|
}
|
|
}
|
|
@@ -378,7 +384,7 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
|
|
}
|
|
}
|
|
queryWrapper.in("JSON_UNQUOTE(JSON_EXTRACT(infos,'$.roomFuncType'))",codes);
|
|
queryWrapper.in("JSON_UNQUOTE(JSON_EXTRACT(infos,'$.roomFuncType'))",codes);
|
|
Page<ObjectDigital> page = new Page<>(requestData.getPage(), requestData.getSize(), true);
|
|
Page<ObjectDigital> page = new Page<>(requestData.getPage(), requestData.getSize(), true);
|
|
- Page<ObjectDigital> digitalPage = objectDigitalMapper.selectPage(page, queryWrapper);
|
|
|
|
|
|
+ Page<ObjectDigital> digitalPage = dao.selectPage(page, queryWrapper);
|
|
return ResultHelper.multi(digitalPage.getRecords(),digitalPage.getTotal());
|
|
return ResultHelper.multi(digitalPage.getRecords(),digitalPage.getTotal());
|
|
}
|
|
}
|
|
|
|
|
|
@@ -392,7 +398,7 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public CommonResult<List<ObjectDigital>> queryObjectListByGraphCodeAndRelCode(RequestData requestData) {
|
|
public CommonResult<List<ObjectDigital>> queryObjectListByGraphCodeAndRelCode(RequestData requestData) {
|
|
- Page<ObjectDigital> objList = objectDigitalMapper
|
|
|
|
|
|
+ Page<ObjectDigital> objList = dao
|
|
.queryObjectListByGraphCodeAndRelCode(DigitalCommonUtils.computePageObject(requestData),requestData);
|
|
.queryObjectListByGraphCodeAndRelCode(DigitalCommonUtils.computePageObject(requestData),requestData);
|
|
return analysisQueryResultList(objList,requestData,false,false);
|
|
return analysisQueryResultList(objList,requestData,false,false);
|
|
}
|
|
}
|
|
@@ -417,22 +423,15 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
|
|
}
|
|
}
|
|
// 2.校验对象是否都存在以及对象要更新的classCode是否符合
|
|
// 2.校验对象是否都存在以及对象要更新的classCode是否符合
|
|
// 2.1 获得对象id集合
|
|
// 2.1 获得对象id集合
|
|
- Set<String> objIds = objectDigitals.stream()
|
|
|
|
- .map(BaseEntity::getId)
|
|
|
|
- .collect(Collectors.toSet());
|
|
|
|
- Map<String, ObjectDigital> digitalMap = objectDigitals
|
|
|
|
- .stream()
|
|
|
|
- .collect(Collectors.toMap(ObjectDigital::getId, obj -> obj, (k1, k2) -> k1));
|
|
|
|
|
|
+ Set<String> objIds = objectDigitals.stream().map(BaseEntity::getId).collect(Collectors.toSet());
|
|
|
|
+ Map<String, ObjectDigital> digitalMap = objectDigitals.stream().collect(Collectors.toMap(ObjectDigital::getId, obj -> obj, (k1, k2) -> k1));
|
|
// 2.2 根据对象id查询对象信息及对象的分类对应的classCode集合
|
|
// 2.2 根据对象id查询对象信息及对象的分类对应的classCode集合
|
|
- List<ObjectDigital> queryObjs = objectDigitalMapper.queryObjectListByIds(objIds);
|
|
|
|
|
|
+ List<ObjectDigital> queryObjs = dao.queryObjectListByIds(objIds);
|
|
if (CollUtil.isEmpty(queryObjs)){
|
|
if (CollUtil.isEmpty(queryObjs)){
|
|
- throw new BusinessException(ResponseCode.A0400.getCode(),
|
|
|
|
- StrUtil.format("id不存在:{}",objIds));
|
|
|
|
|
|
+ throw new BusinessException(ResponseCode.A0400.getCode(), StrUtil.format("id不存在:{}",objIds));
|
|
}
|
|
}
|
|
// 2.3 校验对象是否都存在
|
|
// 2.3 校验对象是否都存在
|
|
- Map<String, ObjectDigital> queryObjMap = queryObjs
|
|
|
|
- .stream()
|
|
|
|
- .collect(Collectors.toMap(BaseEntity::getId, obj -> obj, (k1, k2) -> k1));
|
|
|
|
|
|
+ Map<String, ObjectDigital> queryObjMap = queryObjs.stream().collect(Collectors.toMap(BaseEntity::getId, obj -> obj, (k1, k2) -> k1));
|
|
List<ObjectDigital> updateObjs = new ArrayList<>();
|
|
List<ObjectDigital> updateObjs = new ArrayList<>();
|
|
for (String objId : objIds) {
|
|
for (String objId : objIds) {
|
|
if (!queryObjMap.containsKey(objId)){
|
|
if (!queryObjMap.containsKey(objId)){
|
|
@@ -465,7 +464,7 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
|
|
@Override
|
|
@Override
|
|
public List<String> queryObjectClassCode(QueryWrapper<ObjectDigital> queryWrapper) {
|
|
public List<String> queryObjectClassCode(QueryWrapper<ObjectDigital> queryWrapper) {
|
|
queryWrapper.select("distinct class_code");
|
|
queryWrapper.select("distinct class_code");
|
|
- List<ObjectDigital> objectDigitals = objectDigitalMapper.selectList(queryWrapper);
|
|
|
|
|
|
+ List<ObjectDigital> objectDigitals = dao.selectList(queryWrapper);
|
|
if(CollUtil.isEmpty(objectDigitals)){
|
|
if(CollUtil.isEmpty(objectDigitals)){
|
|
return new ArrayList<>();
|
|
return new ArrayList<>();
|
|
}
|
|
}
|
|
@@ -537,7 +536,7 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
|
|
private CommonResult<List<ObjectDigital>> queryObjectListByProjectId(RequestData requestData) {
|
|
private CommonResult<List<ObjectDigital>> queryObjectListByProjectId(RequestData requestData) {
|
|
// 1.查询结果集
|
|
// 1.查询结果集
|
|
Page<ObjectDigital> resultList =
|
|
Page<ObjectDigital> resultList =
|
|
- objectDigitalMapper.queryObjectDigitalsByProjectId(DigitalCommonUtils.computePageObject(requestData),requestData);
|
|
|
|
|
|
+ dao.queryObjectDigitalsByProjectId(DigitalCommonUtils.computePageObject(requestData),requestData);
|
|
return analysisQueryResultList(resultList,requestData,true,true);
|
|
return analysisQueryResultList(resultList,requestData,true,true);
|
|
}
|
|
}
|
|
/***
|
|
/***
|
|
@@ -571,15 +570,14 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
|
|
|
|
|
|
/***
|
|
/***
|
|
* Description: 当只有项目时需要填充关系id
|
|
* Description: 当只有项目时需要填充关系id
|
|
- * @param pageResult : 查询的结果集
|
|
|
|
|
|
+ * @param vos : 查询的结果集
|
|
* @param fillRelFlag : 0-不注入关系数据,1-注入关系数据
|
|
* @param fillRelFlag : 0-不注入关系数据,1-注入关系数据
|
|
* @return : void
|
|
* @return : void
|
|
* @author : lijie
|
|
* @author : lijie
|
|
* @date :2021/9/4 22:39
|
|
* @date :2021/9/4 22:39
|
|
* Update By lijie 2021/9/4 22:39
|
|
* Update By lijie 2021/9/4 22:39
|
|
*/
|
|
*/
|
|
- private void fillRelIds(List<ObjectDigital> pageResult,
|
|
|
|
- Boolean fillRelFlag) {
|
|
|
|
|
|
+ private void fillRelIds(List<ObjectDigital> vos, Boolean fillRelFlag) {
|
|
if (null==fillRelFlag || !fillRelFlag){
|
|
if (null==fillRelFlag || !fillRelFlag){
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
@@ -589,30 +587,29 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
|
|
// 2.3 根据设备id查询建筑id
|
|
// 2.3 根据设备id查询建筑id
|
|
// 2.4 根据系统id查询建筑id
|
|
// 2.4 根据系统id查询建筑id
|
|
// 2.5 根据竖井id查询建筑id
|
|
// 2.5 根据竖井id查询建筑id
|
|
- Set<String> objIds = pageResult.stream()
|
|
|
|
|
|
+ Set<String> objIds = vos.stream()
|
|
.filter(object->!DigitalObjectType.BUILDING.getIndex().equals(object.getObjType()))
|
|
.filter(object->!DigitalObjectType.BUILDING.getIndex().equals(object.getObjType()))
|
|
.map(ObjectDigital::getId)
|
|
.map(ObjectDigital::getId)
|
|
.collect(Collectors.toSet());
|
|
.collect(Collectors.toSet());
|
|
if (CollUtil.isEmpty(objIds)){
|
|
if (CollUtil.isEmpty(objIds)){
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- List<ObjectDigital> objectDigitals = objectRelationMapper.selectRelCodesByObjIdsAndRelCodes(objIds, CollUtil
|
|
|
|
|
|
+ List<ObjectDigital> relVOs = relationService.queryRelatedObjects(objIds, CollUtil
|
|
.newHashSet(DigitalRelCode.EQ_2_EC.getIndex(), DigitalRelCode.BD_2_FL.getIndex(),
|
|
.newHashSet(DigitalRelCode.EQ_2_EC.getIndex(), DigitalRelCode.BD_2_FL.getIndex(),
|
|
DigitalRelCode.BD_2_SP.getIndex(), DigitalRelCode.SY_2_BD.getIndex(),
|
|
DigitalRelCode.BD_2_SP.getIndex(), DigitalRelCode.SY_2_BD.getIndex(),
|
|
DigitalRelCode.EQ_2_BD.getIndex(),DigitalRelCode.BD_2_SH.getIndex()));
|
|
DigitalRelCode.EQ_2_BD.getIndex(),DigitalRelCode.BD_2_SH.getIndex()));
|
|
- if (CollUtil.isEmpty(objectDigitals)){
|
|
|
|
|
|
+ if (CollUtil.isEmpty(relVOs)){
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- Map<String, ObjectDigital> digitalMap = objectDigitals.stream()
|
|
|
|
- .collect(Collectors.toMap(ObjectDigital::getId, objectDigital -> objectDigital, (k1, k2) -> k1));
|
|
|
|
- for (ObjectDigital objectDigital : pageResult) {
|
|
|
|
- if (!digitalMap.containsKey(objectDigital.getId())){
|
|
|
|
|
|
+ Map<String, ObjectDigital> digitalMap = relVOs.stream()
|
|
|
|
+ .collect(Collectors.toMap(ObjectDigital::getId, relVO -> relVO, (k1, k2) -> k1));
|
|
|
|
+ for (ObjectDigital vo : vos) {
|
|
|
|
+ if (!digitalMap.containsKey(vo.getId())){
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
- objectDigital.setObjToIds(CollUtil
|
|
|
|
- .defaultIfEmpty(digitalMap.get(objectDigital.getId()).getObjToIds(),new HashSet<>()));
|
|
|
|
- objectDigital.setObjFromIds(CollUtil
|
|
|
|
- .defaultIfEmpty(digitalMap.get(objectDigital.getId()).getObjFromIds(),new HashSet<>()));
|
|
|
|
|
|
+ ObjectDigital relVO = digitalMap.get(vo.getId());
|
|
|
|
+ vo.setObjToIds(CollUtil.defaultIfEmpty(relVO.getObjToIds(),new HashSet<>()));
|
|
|
|
+ vo.setObjFromIds(CollUtil.defaultIfEmpty(relVO.getObjFromIds(),new HashSet<>()));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -636,7 +633,7 @@ public class ObjectDigitalServiceImpl extends ServiceImpl<ObjectDigitalMapper, O
|
|
if (CollUtil.isEmpty(spaceIds)){
|
|
if (CollUtil.isEmpty(spaceIds)){
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- List<ObjectDigital> relResult = objectRelationMapper.selectRelCodesByObjToIdsAndRelCode(spaceIds,DigitalRelCode.FL_2_SP.getIndex());
|
|
|
|
|
|
+ List<ObjectDigital> relResult = relationService.queryRelatedObjects(spaceIds, CollUtil.newHashSet(DigitalRelCode.FL_2_SP.getIndex()));
|
|
if (CollUtil.isEmpty(relResult)){
|
|
if (CollUtil.isEmpty(relResult)){
|
|
return;
|
|
return;
|
|
}
|
|
}
|