IAdmSpaceService.java 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package com.persagy.proxy.object.service;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.persagy.proxy.adm.request.AdmDCSQueryRequest;
  4. import com.persagy.proxy.adm.service.IAdmBaseService;
  5. import com.persagy.proxy.object.model.AdmSpace;
  6. import com.persagy.proxy.adm.request.AdmResponse;
  7. import com.persagy.proxy.common.entity.InstanceUrlParam;
  8. import javax.servlet.http.HttpServletRequest;
  9. import java.util.List;
  10. import java.util.Map;
  11. import java.util.Set;
  12. /**
  13. * ADM 空间 接口
  14. * @author lvxy
  15. * @date 2021/8/18
  16. */
  17. public interface IAdmSpaceService extends IAdmBaseService<AdmSpace> {
  18. /**
  19. * 新增
  20. * @param context
  21. * @param clazz
  22. * @param voList
  23. * @return
  24. */
  25. List<AdmSpace> doInsertExt(InstanceUrlParam context, Class<AdmSpace> clazz, List<AdmSpace> voList);
  26. /**
  27. * 查询业务空间所有类型
  28. */
  29. AdmResponse doQueryType(InstanceUrlParam context, AdmDCSQueryRequest request);
  30. /**
  31. * 查询业务空间 级联查询:建筑(buildingList),楼层(floorlList),空间类型(objectType)未明确楼层(isnull),未明确建筑(isnull)
  32. */
  33. AdmResponse doQuerySpaces(InstanceUrlParam context, AdmDCSQueryRequest request);
  34. List<JSONObject> doQuerySpaceTypes(InstanceUrlParam context);
  35. /**
  36. * 查询指定竖井下指定空间类型的空间
  37. * @param context
  38. * @param shaftId
  39. * @param spaceType
  40. * @return
  41. */
  42. List<AdmSpace> querySpaceInShaft(InstanceUrlParam context, String shaftId, String spaceType);
  43. /**
  44. * 查询指定建筑下指定空间类型的空间
  45. * @param context
  46. * @param buildingId
  47. * @param spaceType
  48. * @return
  49. */
  50. List<AdmSpace> querySpaceInBuilding(InstanceUrlParam context, String buildingId, String spaceType);
  51. /**
  52. * 查询楼层与空间关系映射
  53. * @param context
  54. * @param floorIds
  55. * @param spaceType
  56. * @return Map<FloorID, List<SpaceID>>
  57. */
  58. Map<String, List<String>> querySpaceMapInFloors(InstanceUrlParam context, List<String> floorIds, String spaceType);
  59. /**
  60. * 查询垂直交通关系映射
  61. * @param context
  62. * @param spaceIds
  63. * @return
  64. */
  65. Map<String, Set<String>> queryTrafficSpaceMap(InstanceUrlParam context, Iterable<String> spaceIds, String spaceType);
  66. void ensureSpecialValues(InstanceUrlParam context, List<AdmSpace> vos);
  67. /***
  68. * Description: 查询多建筑楼层下的空间id
  69. * @param request : 请求参数
  70. * @return : java.util.Set<java.lang.String>
  71. * @author : lijie
  72. * @date :2021/10/28 17:56
  73. * Update By lijie 2021/10/28 17:56
  74. */
  75. Set<String> queryMultiBuildingOrFloorSpaceIds(HttpServletRequest request);
  76. /***
  77. * Description: 查询多建筑楼层下的空间列表
  78. * @param request : 请求参数
  79. * @return : java.util.Set<java.lang.String>
  80. * @author : lijie
  81. * @date :2021/10/28 17:56
  82. * Update By lijie 2021/10/28 17:56
  83. */
  84. AdmResponse queryMultiBuildingOrFloorSpaces(HttpServletRequest request);
  85. }