IRelationReportService.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. package com.persagy.proxy.adm.service;
  2. import java.util.List;
  3. import java.util.Map;
  4. import java.util.Set;
  5. import com.fasterxml.jackson.databind.node.ObjectNode;
  6. import com.persagy.dmp.define.entity.GraphDefine;
  7. import com.persagy.dmp.define.entity.RelationDefine;
  8. import com.persagy.dmp.digital.entity.ObjectRelation;
  9. /**
  10. * 报表/模板下载
  11. *
  12. * @version 1.0.0
  13. * @company persagy
  14. * @author zhangqiankun
  15. * @date 2021年8月31日 下午4:42:51
  16. */
  17. public interface IRelationReportService {
  18. /**
  19. * 根据信息点统计对象个数
  20. *
  21. * @param groupCode
  22. * @param classCodes
  23. * @param objTypes
  24. * @param groups
  25. * @return
  26. */
  27. List<Map<String,Object>> queryObjectCountByObjInfos(String groupCode, Set<String> classCodes, Set<String> objTypes, List<String> groups);
  28. /**
  29. * 根据条件查询对应的边类型数据
  30. *
  31. * @param groupCode
  32. * @param projectId
  33. * @param graphCode
  34. */
  35. List<GraphDefine> getGraphDefine(String groupCode, String projectId, String graphCode);
  36. /**
  37. * 根据条件查询对应的边类型数据
  38. *
  39. * @param groupCode
  40. * @param projectId
  41. * @param graphCode
  42. * @param relCode
  43. */
  44. List<RelationDefine> getRelationDefine(String groupCode, String projectId, String graphCode, String relCode);
  45. /**
  46. * 获取项目计算关系
  47. *
  48. * @param groupCode
  49. * @param projectId
  50. * @param relType ADM-类型
  51. * @return
  52. */
  53. ObjectNode getRelationProjectCal(String groupCode, String projectId, String relType);
  54. /**
  55. * 获取项目计算关系
  56. *
  57. * @param groupCode
  58. * @param projectId
  59. * @param graphCode
  60. * @param relCode
  61. * @param zoneType
  62. * @return
  63. */
  64. ObjectNode getRelationProjectCal(String groupCode, String projectId, String graphCode, String relCode, String zoneType);
  65. /**
  66. * 统计某类型下的关系数量
  67. *
  68. * @param groupCode
  69. * @param projectId
  70. * @param graphCode
  71. * @param relCode
  72. * @param zoneType 业务分区类型
  73. */
  74. long countRelationObject(String groupCode, String projectId, String graphCode, String relCode, String zoneType);
  75. /**
  76. * 统计某类型下的对象数量
  77. *
  78. * @param groupCode
  79. * @param projectId
  80. * @param classCode
  81. * @param objType
  82. * @return
  83. */
  84. long countObject(String groupCode, String projectId, String classCode, String objType);
  85. /**
  86. * 获取指定对象信息
  87. *
  88. * @param groupCode
  89. * @param projectId
  90. * @param id
  91. * @return 不会返回null
  92. */
  93. ObjectNode getObjectNode(String groupCode, String projectId, String id);
  94. /**
  95. * 获取指定对象信息
  96. * <p>定制接口,不建议兼容额外的处理方案</p>
  97. *
  98. * @param groupCode
  99. * @param projectId
  100. * @param objType
  101. * @param code ADM-中的code类型,请参考{@link com.persagy.proxy.adm.strategy.relationdata.QueryRelationObjectStrategy#OBJNAME_2_TYPE}
  102. * @param value 属性值
  103. * @return
  104. */
  105. List<ObjectNode> findObjectNodes(String groupCode, String projectId, String objType, String code, String value);
  106. /**
  107. * 获取对象,通过关系对象的id和rel_code
  108. *
  109. * @param groupCode
  110. * @param projectId
  111. * @param graphCode
  112. * @param relCode
  113. * @param objFrom 与objTo不可同时存在
  114. * @param objTo 与objFrom不可同时存在
  115. * @return 不会返回null
  116. */
  117. ObjectNode getObjectByCodeAndId(String groupCode, String projectId, String graphCode, String relCode, String objFrom, String objTo);
  118. /**
  119. * 获取对象关系数据
  120. *
  121. * @param groupCode
  122. * @param projectId
  123. * @param graphCode
  124. * @param relCode
  125. * @return
  126. */
  127. List<ObjectRelation> findObjectRelationList(String groupCode, String projectId, String graphCode, String relCode);
  128. /**
  129. * 查询出所有的关系信息
  130. * <p>因原代码中,不存在zoneType类型不为空时对应的方法,所以此处不再进行此数据的判断</p>
  131. *
  132. * @param groupCode
  133. * @param projectId
  134. * @param relType
  135. * @param code
  136. * @param zoneType
  137. * @return 可以被直接导出的数据集
  138. */
  139. //List<AdmRelationObject> reportRelationObject(String groupCode, String projectId, String relType, String code, String zoneType);
  140. }