|
@@ -3,13 +3,11 @@ package com.persagy.dmp.middleware.service.impl;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
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.ObjectRelation;
|
|
|
import com.persagy.dmp.middleware.constant.CommonConsant;
|
|
|
import com.persagy.dmp.middleware.constant.enums.RelationTypeEnum;
|
|
|
import com.persagy.dmp.middleware.dao.WdConstructDescriptionMapper;
|
|
@@ -17,7 +15,6 @@ import com.persagy.dmp.middleware.dao.WdDefineTypeRelMapper;
|
|
|
import com.persagy.dmp.middleware.entity.dto.CommonRequestDTO;
|
|
|
import com.persagy.dmp.middleware.entity.dto.InstanceUrlParam;
|
|
|
import com.persagy.dmp.middleware.entity.response.CommonResult;
|
|
|
-import com.persagy.dmp.middleware.entity.vo.WdConstructDescription;
|
|
|
import com.persagy.dmp.middleware.entity.vo.WdDefineTypeRel;
|
|
|
import com.persagy.dmp.middleware.service.IBaseService;
|
|
|
import com.persagy.dmp.middleware.service.IEquipService;
|
|
@@ -59,23 +56,20 @@ public class EquipServiceImpl implements IEquipService {
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public CommonResult query(InstanceUrlParam context, CommonRequestDTO request) {
|
|
|
-
|
|
|
+ public List<JSONObject> query(InstanceUrlParam context, CommonRequestDTO request) {
|
|
|
+ //查询设备设施模块下的设备/阀门
|
|
|
List<JSONObject> result = new ArrayList<>();
|
|
|
-
|
|
|
//查询系统下的设备
|
|
|
List<JSONObject> equipList = querySystemEquipList(context, request);
|
|
|
if(CollUtil.isNotEmpty(equipList)){
|
|
|
result.addAll(equipList);
|
|
|
}
|
|
|
-
|
|
|
//查询系统下的阀门
|
|
|
List<JSONObject> materiaList = querySystemMateriaList(context, request);
|
|
|
if(CollUtil.isNotEmpty(materiaList)){
|
|
|
result.addAll(materiaList);
|
|
|
}
|
|
|
-
|
|
|
- return CommonResult.success(result);
|
|
|
+ return result;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -86,27 +80,28 @@ public class EquipServiceImpl implements IEquipService {
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public CommonResult queryHavcSystem(InstanceUrlParam context, CommonRequestDTO request) throws Exception {
|
|
|
+ public List<JSONObject> queryHavcSystem(InstanceUrlParam context, CommonRequestDTO request) throws Exception {
|
|
|
// 查询冷却塔设备类下的设备,制冷机房空间下的设备/阀门信息
|
|
|
List<JSONObject> result = new ArrayList<>();
|
|
|
|
|
|
//1.查询冷却塔设备类下的设备/阀门
|
|
|
List<WdDefineTypeRel> coolTowerDefineTypeRels = queryGldHavcTypeRel(CommonConsant.ACCCOT_BIMTYPEID,CommonConsant.WD_HAVC_SYSTEM_CODE);
|
|
|
List<JSONObject> coolTowerObjects = queryEquipObjectByInfoCode(context, coolTowerDefineTypeRels, request, CommonConsant.BIM_TYPE_ID);
|
|
|
- if(CollUtil.isNotEmpty(coolTowerObjects)){
|
|
|
- result.addAll(coolTowerObjects);
|
|
|
+ List<JSONObject> coolTowerContent = combineQueryEquipResultData(coolTowerDefineTypeRels, coolTowerObjects, CommonConsant.BIM_TYPE_ID);
|
|
|
+ if(CollUtil.isNotEmpty(coolTowerContent)){
|
|
|
+ result.addAll(coolTowerContent);
|
|
|
}
|
|
|
|
|
|
//2. 查询制冷机房空间下的所有空间
|
|
|
QueryCriteria queryCriteria = new QueryCriteria();
|
|
|
ObjectNode objectNode = JsonNodeFactory.instance.objectNode();
|
|
|
- objectNode.put(CommonConsant.BIM_TYPE_ID,CommonConsant.ACCCOT_SPACE_BIMTYPEID);
|
|
|
+ objectNode.put(CommonConsant.ROOM_LOCAL_FUNC_TYPE_ID,CommonConsant.ACCCOT_SPACE_BIMTYPEID);
|
|
|
queryCriteria.setCriteria(objectNode);
|
|
|
CommonResult commonResult = baseService.doQuery(context, queryCriteria, JSONObject.class);
|
|
|
List<JSONObject> spaceList = (List<JSONObject>) commonResult.getContent();
|
|
|
|
|
|
if(CollUtil.isEmpty(spaceList)){
|
|
|
- return CommonResult.success(result);
|
|
|
+ return result;
|
|
|
}
|
|
|
|
|
|
//3.查询空间下的设备/阀门
|
|
@@ -117,7 +112,7 @@ public class EquipServiceImpl implements IEquipService {
|
|
|
result.addAll(content);
|
|
|
}
|
|
|
|
|
|
- return CommonResult.success(result);
|
|
|
+ return result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -128,23 +123,25 @@ public class EquipServiceImpl implements IEquipService {
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
@Override
|
|
|
- public CommonResult querysubCatchment(InstanceUrlParam context, CommonRequestDTO request) throws Exception {
|
|
|
+ public List<JSONObject> querysubCatchment(InstanceUrlParam context, CommonRequestDTO request) throws Exception {
|
|
|
// 查询分水器/集水器下的对象信息
|
|
|
List<JSONObject> result = new ArrayList<>();
|
|
|
|
|
|
//1.查询分水器
|
|
|
List<WdDefineTypeRel> divideDefineTypeRels = queryGldHavcTypeRel(CommonConsant.DIVIDE_BREECH_BIMTYPEID,CommonConsant.WD_HAVC_SYSTEM_CODE);
|
|
|
List<JSONObject> divideBreechObjects = queryEquipObjectByInfoCode(context, divideDefineTypeRels, request, CommonConsant.BIM_TYPE_ID);
|
|
|
- if(CollUtil.isNotEmpty(divideBreechObjects)){
|
|
|
- result.addAll(divideBreechObjects);
|
|
|
+ List<JSONObject> divideContent = combineQueryEquipResultData(divideDefineTypeRels, divideBreechObjects, CommonConsant.BIM_TYPE_ID);
|
|
|
+ if(CollUtil.isNotEmpty(divideContent)){
|
|
|
+ result.addAll(divideContent);
|
|
|
}
|
|
|
//2. 查询集水器
|
|
|
List<WdDefineTypeRel> collectDefineTypeRels = queryGldHavcTypeRel(CommonConsant.COLLECT_BREECH_BIMTYPEID,CommonConsant.WD_HAVC_SYSTEM_CODE);
|
|
|
List<JSONObject> collectBreechObjects = queryEquipObjectByInfoCode(context, collectDefineTypeRels, request, CommonConsant.BIM_TYPE_ID);
|
|
|
- if(CollUtil.isNotEmpty(collectBreechObjects)){
|
|
|
- result.addAll(collectBreechObjects);
|
|
|
+ List<JSONObject> collectContent = combineQueryEquipResultData(collectDefineTypeRels, collectBreechObjects, CommonConsant.BIM_TYPE_ID);
|
|
|
+ if(CollUtil.isNotEmpty(collectContent)){
|
|
|
+ result.addAll(collectContent);
|
|
|
}
|
|
|
- return CommonResult.success(result);
|
|
|
+ return result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -171,7 +168,7 @@ public class EquipServiceImpl implements IEquipService {
|
|
|
//根据系统过滤
|
|
|
if(StringUtils.isNotEmpty(request.getSystemCode())){
|
|
|
String systemCode = request.getSystemCode();
|
|
|
- defineTypeRels = defineTypeRels.stream().filter(k->!systemCode.equals(k.getWdSystemCode())).collect(Collectors.toList());
|
|
|
+ defineTypeRels = defineTypeRels.stream().filter(k->systemCode.equals(k.getWdSystemCode())).collect(Collectors.toList());
|
|
|
}
|
|
|
//根据广联达设备类型查询设备信息
|
|
|
List<JSONObject> equipList = queryEquipByGldTypeRel(context, defineTypeRels, request);
|
|
@@ -190,7 +187,7 @@ public class EquipServiceImpl implements IEquipService {
|
|
|
//根据系统过滤
|
|
|
if(StringUtils.isNotEmpty(request.getSystemCode())){
|
|
|
String systemCode = request.getSystemCode();
|
|
|
- defineTypeRels = defineTypeRels.stream().filter(k->!systemCode.equals(k.getWdSystemCode())).collect(Collectors.toList());
|
|
|
+ defineTypeRels = defineTypeRels.stream().filter(k->systemCode.equals(k.getWdSystemCode())).collect(Collectors.toList());
|
|
|
}
|
|
|
//根据广联达设备类型查询设备信息
|
|
|
List<JSONObject> equipList = queryMateriaByGldTypeRel(context, defineTypeRels, request);
|
|
@@ -219,9 +216,9 @@ public class EquipServiceImpl implements IEquipService {
|
|
|
@Override
|
|
|
public List<JSONObject> queryEquipByGldTypeRel(InstanceUrlParam context, List<WdDefineTypeRel> defineTypeRels, CommonRequestDTO request){
|
|
|
// 根据bimTypeId查询楼层下的设备
|
|
|
- List<JSONObject> bimTypeSpace = queryEquipObjectByInfoCode(context, defineTypeRels, request, "bimTypeId");
|
|
|
+ List<JSONObject> bimTypeSpace = queryEquipObjectByInfoCode(context, defineTypeRels, request, CommonConsant.BIM_TYPE_ID);
|
|
|
// 数据组装:根据bimTypeId查询楼层下的设备结果
|
|
|
- List<JSONObject> result = combineQueryEquipResultData(defineTypeRels, bimTypeSpace, "bimTypeId");
|
|
|
+ List<JSONObject> result = combineQueryEquipResultData(defineTypeRels, bimTypeSpace, CommonConsant.BIM_TYPE_ID);
|
|
|
return result;
|
|
|
}
|
|
|
|
|
@@ -235,6 +232,9 @@ public class EquipServiceImpl implements IEquipService {
|
|
|
*/
|
|
|
@Override
|
|
|
public List<JSONObject> queryEquipObjectByInfoCode(InstanceUrlParam context, List<WdDefineTypeRel> defineTypeRels, CommonRequestDTO request, String infoCode){
|
|
|
+ if(CollUtil.isEmpty(defineTypeRels)){
|
|
|
+ return new ArrayList<>();
|
|
|
+ }
|
|
|
//1. 根据bimTypeId查询楼层下的设备
|
|
|
Set<String> bimTypeIdSets = defineTypeRels.stream().filter(k-> StringUtils.isNotEmpty(k.getBimTypeId())).map(k->k.getBimTypeId()).collect(Collectors.toSet());
|
|
|
ObjectNode criteria = JsonNodeFactory.instance.objectNode();
|
|
@@ -277,9 +277,9 @@ public class EquipServiceImpl implements IEquipService {
|
|
|
@Override
|
|
|
public List<JSONObject> queryMateriaByGldTypeRel(InstanceUrlParam context, List<WdDefineTypeRel> defineTypeRels, CommonRequestDTO request){
|
|
|
// 根据bimTypeId查询楼层下的设备
|
|
|
- List<JSONObject> bimTypeSpace = queryEquipObjectByInfoCode(context, defineTypeRels, request,"bimTypeId");
|
|
|
+ List<JSONObject> bimTypeSpace = queryEquipObjectByInfoCode(context, defineTypeRels, request,CommonConsant.BIM_TYPE_ID);
|
|
|
// 数据组装:根据bimTypeId查询楼层下的设备结果
|
|
|
- List<JSONObject> result = combineQueryEquipResultData(defineTypeRels, bimTypeSpace, "bimTypeId");
|
|
|
+ List<JSONObject> result = combineQueryEquipResultData(defineTypeRels, bimTypeSpace, CommonConsant.BIM_TYPE_ID);
|
|
|
return result;
|
|
|
}
|
|
|
|
|
@@ -304,13 +304,14 @@ public class EquipServiceImpl implements IEquipService {
|
|
|
data.put("bimTypeId",defineTypeRel.getBimTypeId());
|
|
|
data.put("className",defineTypeRel.getWdClassName());
|
|
|
data.put("systemCode",defineTypeRel.getWdSystemCode());
|
|
|
+ data.put("objType",defineTypeRel.getObjType());
|
|
|
|
|
|
List<JSONObject> objects = new ArrayList<>();
|
|
|
if(CollUtil.isNotEmpty(spaceMap)){
|
|
|
- spaceMap.get(defineTypeRel.getBimTypeId());
|
|
|
+ objects = spaceMap.get(defineTypeRel.getBimTypeId());
|
|
|
}
|
|
|
data.put("objects",objects);
|
|
|
- data.put("count",objects.size());
|
|
|
+ data.put("count",objects == null ? 0:objects.size());
|
|
|
result.add(data);
|
|
|
}
|
|
|
return result;
|