|
@@ -192,13 +192,11 @@ public class ObjectDigitalServiceImpl implements IObjectDigitalService {
|
|
|
&& StrUtil.isBlank(requestData.getEquipmentId())){
|
|
|
return queryObjectListByProjectId(requestData);
|
|
|
}
|
|
|
- // 3.存在建筑id/楼层id/设备id,获取关系code列表
|
|
|
- querySubordinateRelCode(requestData);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- return null;
|
|
|
+ // 3.存在建筑id/楼层id/设备id
|
|
|
+ // 3.1 获取关系code列表
|
|
|
+ fillSubordinateRelCode(requestData);
|
|
|
+ // 3.2 调用查询语句查询相关内容
|
|
|
+ return analysisQueryResultList(objectDigitalMapper.queryObjectListBySuperiorId(requestData),requestData);
|
|
|
}
|
|
|
/***
|
|
|
* Description: 根据对象id获取下级关系code数组
|
|
@@ -208,24 +206,30 @@ public class ObjectDigitalServiceImpl implements IObjectDigitalService {
|
|
|
* @date :2021/8/24 21:20
|
|
|
* Update By lijie 2021/8/24 21:20
|
|
|
*/
|
|
|
- private void querySubordinateRelCode(RequestData requestData) {
|
|
|
+ private void fillSubordinateRelCode(RequestData requestData) {
|
|
|
if (StrUtil.isNotBlank(requestData.getEquipmentId())){
|
|
|
// 设备下的部件
|
|
|
requestData.setRelCodes(CollUtil.newHashSet(DigitalRelCode.EQ_2_EC.getIndex()));
|
|
|
return;
|
|
|
}
|
|
|
if (StrUtil.isNotBlank(requestData.getFloorId())){
|
|
|
- // 楼层下的部件
|
|
|
+ // 楼层下的空间,设备,系统
|
|
|
requestData.setRelCodes(CollUtil.newHashSet(DigitalRelCode.FL_2_SP.getIndex(),
|
|
|
- DigitalRelCode.EQ_2_FL.getIndex(),DigitalRelCode.SY_2_FL.getIndex(),
|
|
|
- DigitalRelCode.EQ_2_EC.getIndex()));
|
|
|
+ DigitalRelCode.EQ_2_FL.getIndex(),DigitalRelCode.SY_2_FL.getIndex()));
|
|
|
+ // 设置设备查询部件
|
|
|
+ requestData.setQueryEcFlag(true);
|
|
|
+ requestData.setEcRelCodes(CollUtil.newHashSet(DigitalRelCode.EQ_2_EC.getIndex()));
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ if (StrUtil.isNotBlank(requestData.getBuildingId())){
|
|
|
+ // 建筑下的楼层,空间,设备,系统
|
|
|
+ requestData.setRelCodes(CollUtil.newHashSet(DigitalRelCode.BD_2_FL.getIndex(),
|
|
|
+ DigitalRelCode.BD_2_SP.getIndex(),DigitalRelCode.SY_2_BD.getIndex(),
|
|
|
+ DigitalRelCode.EQ_2_BD.getIndex()));
|
|
|
+ // 设置设备查询部件
|
|
|
+ requestData.setQueryEcFlag(true);
|
|
|
+ requestData.setEcRelCodes(CollUtil.newHashSet(DigitalRelCode.EQ_2_EC.getIndex()));
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/***
|
|
@@ -240,6 +244,19 @@ public class ObjectDigitalServiceImpl implements IObjectDigitalService {
|
|
|
// 1.查询结果集
|
|
|
List<List<ObjectDigital>> resultList =
|
|
|
objectDigitalMapper.queryObjectDigitalsByProjectId(requestData,requestData.getSkip(),requestData.getSize());
|
|
|
+ return analysisQueryResultList(resultList,requestData);
|
|
|
+
|
|
|
+ }
|
|
|
+ /***
|
|
|
+ * Description: 解析结果集
|
|
|
+ * @param resultList : 结果集
|
|
|
+ * @param requestData : 请求参数
|
|
|
+ * @return : com.persagy.dmp.common.model.response.CommonResult<java.util.List<com.persagy.dmp.digital.entity.ObjectDigital>>
|
|
|
+ * @author : lijie
|
|
|
+ * @date :2021/8/25 13:16
|
|
|
+ * Update By lijie 2021/8/25 13:16
|
|
|
+ */
|
|
|
+ private CommonResult<List<ObjectDigital>> analysisQueryResultList(List<List<ObjectDigital>> resultList,RequestData requestData) {
|
|
|
if (CollUtil.isEmpty(resultList)){
|
|
|
return ResultHelper.multi(new ArrayList<>(),0);
|
|
|
}
|
|
@@ -252,18 +269,31 @@ public class ObjectDigitalServiceImpl implements IObjectDigitalService {
|
|
|
// 只返回数
|
|
|
return ResultHelper.multi(new ArrayList<>(),totalCount.get(0).getTotalCount());
|
|
|
}
|
|
|
- if (CollUtil.isEmpty(requestData.getReturnInfos())){
|
|
|
- return ResultHelper.multi(pageResult,totalCount.get(0).getTotalCount());
|
|
|
- }
|
|
|
// 2.过滤信息点
|
|
|
- for (ObjectDigital objectDigital : pageResult) {
|
|
|
+ retainObjInfos(pageResult,requestData.getReturnInfos());
|
|
|
+ return ResultHelper.multi(pageResult,totalCount.get(0).getTotalCount());
|
|
|
+ }
|
|
|
+
|
|
|
+ /***
|
|
|
+ * Description: 过滤掉不需要的信息点
|
|
|
+ * @param objectDigitals : 查询结果集
|
|
|
+ * @param returnInfos : 返回的信息点key
|
|
|
+ * @return : void
|
|
|
+ * @author : lijie
|
|
|
+ * @date :2021/8/25 13:13
|
|
|
+ * Update By lijie 2021/8/25 13:13
|
|
|
+ */
|
|
|
+ private void retainObjInfos(List<ObjectDigital> objectDigitals, Set<String> returnInfos) {
|
|
|
+ if (CollUtil.isEmpty(returnInfos) || CollUtil.isEmpty(objectDigitals)){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ for (ObjectDigital objectDigital : objectDigitals) {
|
|
|
ObjectNode infos = objectDigital.getInfos();
|
|
|
if (null==infos || infos.size()<=0){
|
|
|
continue;
|
|
|
}
|
|
|
- infos.retain(requestData.getReturnInfos());
|
|
|
+ infos.retain(returnInfos);
|
|
|
}
|
|
|
- return ResultHelper.multi(pageResult,totalCount.get(0).getTotalCount());
|
|
|
}
|
|
|
|
|
|
/**
|