|
@@ -14,6 +14,7 @@ import com.persagy.dmp.middleware.constant.CommonConsant;
|
|
import com.persagy.dmp.middleware.constant.enums.ClassCodeEnum;
|
|
import com.persagy.dmp.middleware.constant.enums.ClassCodeEnum;
|
|
import com.persagy.dmp.middleware.constant.enums.RelationTypeEnum;
|
|
import com.persagy.dmp.middleware.constant.enums.RelationTypeEnum;
|
|
import com.persagy.dmp.middleware.constant.enums.WdDefTypeEnum;
|
|
import com.persagy.dmp.middleware.constant.enums.WdDefTypeEnum;
|
|
|
|
+import com.persagy.dmp.middleware.constant.enums.WdModeCodeEnum;
|
|
import com.persagy.dmp.middleware.entity.dto.CommonRequestDTO;
|
|
import com.persagy.dmp.middleware.entity.dto.CommonRequestDTO;
|
|
import com.persagy.dmp.middleware.entity.dto.InstanceUrlParam;
|
|
import com.persagy.dmp.middleware.entity.dto.InstanceUrlParam;
|
|
import com.persagy.dmp.middleware.entity.response.CommonResult;
|
|
import com.persagy.dmp.middleware.entity.response.CommonResult;
|
|
@@ -103,15 +104,6 @@ public class SpaceServiceImpl implements ISpaceService {
|
|
//获取空间的BIM构建编码
|
|
//获取空间的BIM构建编码
|
|
String bimTypeId = space.getString(CommonConsant.ROOM_LOCAL_FUNC_TYPE_ID);
|
|
String bimTypeId = space.getString(CommonConsant.ROOM_LOCAL_FUNC_TYPE_ID);
|
|
|
|
|
|
- //查询中台基础空间类型
|
|
|
|
- List<JSONObject> dmpSpaceTypeList = getDmpBaseSpaceType(context);
|
|
|
|
- Set<String> dmpSpaceTypeCodes= new HashSet<>();
|
|
|
|
- if(CollUtil.isNotEmpty(dmpSpaceTypeList)){
|
|
|
|
- dmpSpaceTypeCodes = dmpSpaceTypeList.stream().map(k->k.getString("code")).collect(Collectors.toSet());
|
|
|
|
- }
|
|
|
|
- if(dmpSpaceTypeCodes.contains(bimTypeId)){
|
|
|
|
- bimTypeId = space.getString(CommonConsant.CLASS_CODE);
|
|
|
|
- }
|
|
|
|
//查询指定空间类型下的设备
|
|
//查询指定空间类型下的设备
|
|
List<JSONObject> content = queryEquipInSpace(context, request, bimTypeId);
|
|
List<JSONObject> content = queryEquipInSpace(context, request, bimTypeId);
|
|
return CommonResult.success(content);
|
|
return CommonResult.success(content);
|
|
@@ -132,17 +124,23 @@ public class SpaceServiceImpl implements ISpaceService {
|
|
//查询空间映射表
|
|
//查询空间映射表
|
|
WdDefineTypeRel defineTypeRel = new WdDefineTypeRel();
|
|
WdDefineTypeRel defineTypeRel = new WdDefineTypeRel();
|
|
defineTypeRel.setObjType(WdDefTypeEnum.SPACE.getValue());
|
|
defineTypeRel.setObjType(WdDefTypeEnum.SPACE.getValue());
|
|
|
|
+ defineTypeRel.setWdModelCode(WdModeCodeEnum.EQ.getValue());
|
|
|
|
+ defineTypeRel.setWdSystemCode(request.getSystemCode());
|
|
List<WdDefineTypeRel> spaceTypeRelList = iWdDefineTypeRelService.query(context,defineTypeRel);
|
|
List<WdDefineTypeRel> spaceTypeRelList = iWdDefineTypeRelService.query(context,defineTypeRel);
|
|
|
|
|
|
//根据空间的BimTypeId构建编码获取所在系统
|
|
//根据空间的BimTypeId构建编码获取所在系统
|
|
|
|
+/*
|
|
Map<String, List<WdDefineTypeRel>> spaceTypeRelMap = spaceTypeRelList.stream().collect(Collectors.groupingBy(WdDefineTypeRel::getBimTypeId));
|
|
Map<String, List<WdDefineTypeRel>> spaceTypeRelMap = spaceTypeRelList.stream().collect(Collectors.groupingBy(WdDefineTypeRel::getBimTypeId));
|
|
List<WdDefineTypeRel> defineTypeRels = spaceTypeRelMap.get(bimTypeId);
|
|
List<WdDefineTypeRel> defineTypeRels = spaceTypeRelMap.get(bimTypeId);
|
|
if(CollUtil.isEmpty(defineTypeRels)){
|
|
if(CollUtil.isEmpty(defineTypeRels)){
|
|
throw new Exception("空间所属系统不存在");
|
|
throw new Exception("空间所属系统不存在");
|
|
}
|
|
}
|
|
Set<String> wdSystemCodes = defineTypeRels.stream().filter(k-> StringUtils.isNotEmpty(k.getWdSystemCode())).map(k->k.getWdSystemCode()).collect(Collectors.toSet());
|
|
Set<String> wdSystemCodes = defineTypeRels.stream().filter(k-> StringUtils.isNotEmpty(k.getWdSystemCode())).map(k->k.getWdSystemCode()).collect(Collectors.toSet());
|
|
|
|
+*/
|
|
|
|
|
|
//获取万达系统类下的设备类/阀门
|
|
//获取万达系统类下的设备类/阀门
|
|
|
|
+ Set<String> wdSystemCodes = new HashSet<>();
|
|
|
|
+ wdSystemCodes.add(request.getSystemCode());
|
|
List<WdDefineTypeRel> equipByWdObjectType = getEquipByWdObjectType(wdSystemCodes);
|
|
List<WdDefineTypeRel> equipByWdObjectType = getEquipByWdObjectType(wdSystemCodes);
|
|
List<JSONObject> objects = new ArrayList<>();
|
|
List<JSONObject> objects = new ArrayList<>();
|
|
Set<String> bimTypeIds = new HashSet<>();
|
|
Set<String> bimTypeIds = new HashSet<>();
|
|
@@ -190,7 +188,7 @@ public class SpaceServiceImpl implements ISpaceService {
|
|
private List<JSONObject> queryDmpEquipInSpace(InstanceUrlParam context, CommonRequestDTO request,Set<String> bimTypeIds){
|
|
private List<JSONObject> queryDmpEquipInSpace(InstanceUrlParam context, CommonRequestDTO request,Set<String> bimTypeIds){
|
|
List<JSONObject> result = new ArrayList<>();
|
|
List<JSONObject> result = new ArrayList<>();
|
|
ObjectNode criteria = JsonNodeFactory.instance.objectNode();
|
|
ObjectNode criteria = JsonNodeFactory.instance.objectNode();
|
|
- ArrayNode arrayNode = criteria.withArray("bimTypeId");
|
|
|
|
|
|
+ ArrayNode arrayNode = criteria.withArray(CommonConsant.BIM_TYPE_ID);
|
|
bimTypeIds.forEach(item->arrayNode.add(item));
|
|
bimTypeIds.forEach(item->arrayNode.add(item));
|
|
|
|
|
|
//处理空间id
|
|
//处理空间id
|