|
@@ -3,8 +3,12 @@ package com.persagy.proxy.adm.service.impl;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.fasterxml.jackson.databind.JsonNode;
|
|
|
+import com.fasterxml.jackson.databind.node.ArrayNode;
|
|
|
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
|
|
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
|
|
+import com.persagy.dmp.basic.model.QueryCriteria;
|
|
|
+import com.persagy.dmp.digital.entity.ObjectRelationProjectCal;
|
|
|
import com.persagy.proxy.adm.constant.AdmCommonConstant;
|
|
|
import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
|
|
|
import com.persagy.proxy.adm.model.*;
|
|
@@ -18,9 +22,8 @@ import org.apache.commons.lang.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import javax.management.Query;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* @ClassName AdmModelRelServiceImpl
|
|
@@ -43,6 +46,9 @@ public class AdmModelRelServiceImpl extends AbstractAdmBaseServiceImpl<AdmModelR
|
|
|
@Autowired
|
|
|
private IAdmISpaceService iSpaceService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IAdmObjectRelationCalService iAdmObjectRelationCalService;
|
|
|
+
|
|
|
/**
|
|
|
* 模型修改设备元空间的建筑楼层信息
|
|
|
* @param context
|
|
@@ -58,10 +64,15 @@ public class AdmModelRelServiceImpl extends AbstractAdmBaseServiceImpl<AdmModelR
|
|
|
floorCriteria.setModelId(vo.getModelId());
|
|
|
List<AdmFloor> floorList = queryFloorEntity(context,floorCriteria);
|
|
|
if(CollUtil.isNotEmpty(floorList)){
|
|
|
- List<String> floorQueryTypes = getFloorQueryTypes(floorList);
|
|
|
- //根据类型查询relation_type_project
|
|
|
- //更新边类型计算状态:computationalState为2
|
|
|
-
|
|
|
+ Set<String> floorQueryTypes = getFloorQueryTypes(floorList);
|
|
|
+ List<ObjectRelationProjectCal> relationProjectCals = iAdmObjectRelationCalService.queryCalRelByRelationType(context, floorQueryTypes);
|
|
|
+ if(CollUtil.isNotEmpty(relationProjectCals)){
|
|
|
+ //更新边类型计算状态:computationalState为2
|
|
|
+ relationProjectCals.forEach(item->{
|
|
|
+ item.setComputationalState(2);
|
|
|
+ });
|
|
|
+ iAdmObjectRelationCalService.updateObjectCalRel(context,relationProjectCals);
|
|
|
+ }
|
|
|
}
|
|
|
//2.修改设备和元空间的建筑楼层信息
|
|
|
String oldBimId = vo.getOldBimId();
|
|
@@ -315,6 +326,7 @@ public class AdmModelRelServiceImpl extends AbstractAdmBaseServiceImpl<AdmModelR
|
|
|
if(StringUtils.isNotEmpty(vo.getFloorId())){
|
|
|
criteria.setFilters("id = '"+vo.getFloorId()+"'");
|
|
|
}
|
|
|
+ criteria.setName("floor");
|
|
|
AdmResponse admResponse = floorService.doQuery(context, criteria, AdmFloor.class);
|
|
|
return (List<AdmFloor>)admResponse.getContent();
|
|
|
}
|
|
@@ -324,38 +336,38 @@ public class AdmModelRelServiceImpl extends AbstractAdmBaseServiceImpl<AdmModelR
|
|
|
* 获取楼层查询类型
|
|
|
* @param floorList
|
|
|
*/
|
|
|
- private List<String> getFloorQueryTypes(List<AdmFloor> floorList){
|
|
|
- List<String> types = new ArrayList<>();
|
|
|
+ private Set<String> getFloorQueryTypes(List<AdmFloor> floorList){
|
|
|
+ Set<String> types = new HashSet<>();
|
|
|
for (AdmFloor admFloor : floorList) {
|
|
|
if(CollUtil.isNotEmpty(admFloor.getOutline())){
|
|
|
- types.add("eq2fl");
|
|
|
- types.add("fl2sp");
|
|
|
- types.add("bd2sp");
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2FL.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.FL2SP.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.BD2SP.getRelCode());
|
|
|
}
|
|
|
- types.add(AdmRelationTypeEnum.EQ2SP_IN.getRelCode());
|
|
|
- types.add(AdmRelationTypeEnum.EQ2EQ_ACAIRNETWORK_2.getRelCode());
|
|
|
- types.add(AdmRelationTypeEnum.EQ2EQ_CONDWATERNETWORK_1.getRelCode());
|
|
|
- types.add(AdmRelationTypeEnum.EQ2EQ_VENTNETWORK_2.getRelCode());
|
|
|
- types.add(AdmRelationTypeEnum.EQ2EQ_ACAIRNETWORK_3.getRelCode());
|
|
|
- types.add(AdmRelationTypeEnum.EQ2EQ_HEATWATERLOOP_4.getRelCode());
|
|
|
- types.add(AdmRelationTypeEnum.EQ2EQ_HEATWATERLOOP_1.getRelCode());
|
|
|
- types.add(AdmRelationTypeEnum.EQ2EQ_DHWNETWORK_1.getRelCode());
|
|
|
- types.add(AdmRelationTypeEnum.EQ2EQ_RECYCLEWATERNETWORK_1.getRelCode());
|
|
|
- types.add(AdmRelationTypeEnum.EQ2EQ_FIREVENTNETWORK_1.getRelCode());
|
|
|
- types.add(AdmRelationTypeEnum.EQ2EQ_FIREWATERNETWORK_1.getRelCode());
|
|
|
- types.add(AdmRelationTypeEnum.EQ2EQ_VRFNETWORK_1.getRelCode());
|
|
|
- types.add(AdmRelationTypeEnum.EQ2EQ_CHILLWATERLOOP_2.getRelCode());
|
|
|
- types.add(AdmRelationTypeEnum.EQ2EQFRESHAIRNETWORK_1.getRelCode());
|
|
|
- types.add(AdmRelationTypeEnum.EQ2EQ_CHILLWATERLOOP_1.getRelCode());
|
|
|
- types.add(AdmRelationTypeEnum.EQ2EQ_DRINKINGWATERNETWORK_1.getRelCode());
|
|
|
- types.add(AdmRelationTypeEnum.EQ2EQ_COOLINGWATERLOOP_2.getRelCode());
|
|
|
- types.add(AdmRelationTypeEnum.EQ2EQ_VENTNETWORK_1.getRelCode());
|
|
|
- types.add(AdmRelationTypeEnum.EQ2EQ_HEATWATERLOOP_2.getRelCode());
|
|
|
- types.add(AdmRelationTypeEnum.EQ2EQ_COOLINGWATERLOOP_1.getRelCode());
|
|
|
- types.add(AdmRelationTypeEnum.EQ2EQ_ACAIRNETWORK_1.getRelCode());
|
|
|
- types.add(AdmRelationTypeEnum.EQ2EQ_SUPPLYWATERNETWORK_1.getRelCode());
|
|
|
- types.add(AdmRelationTypeEnum.EQ2EQ_DRAININGWATERNETWORK_1.getRelCode());
|
|
|
}
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2SP_IN.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2EQ_ACAIRNETWORK_2.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2EQ_CONDWATERNETWORK_1.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2EQ_VENTNETWORK_2.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2EQ_ACAIRNETWORK_3.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2EQ_HEATWATERLOOP_4.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2EQ_HEATWATERLOOP_1.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2EQ_DHWNETWORK_1.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2EQ_RECYCLEWATERNETWORK_1.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2EQ_FIREVENTNETWORK_1.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2EQ_FIREWATERNETWORK_1.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2EQ_VRFNETWORK_1.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2EQ_CHILLWATERLOOP_2.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2EQFRESHAIRNETWORK_1.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2EQ_CHILLWATERLOOP_1.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2EQ_DRINKINGWATERNETWORK_1.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2EQ_COOLINGWATERLOOP_2.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2EQ_VENTNETWORK_1.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2EQ_HEATWATERLOOP_2.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2EQ_COOLINGWATERLOOP_1.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2EQ_ACAIRNETWORK_1.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2EQ_SUPPLYWATERNETWORK_1.getRelCode());
|
|
|
+ types.add(AdmRelationTypeEnum.EQ2EQ_DRAININGWATERNETWORK_1.getRelCode());
|
|
|
return types;
|
|
|
}
|
|
|
}
|