IRelationReportService.java 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  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.alibaba.fastjson.JSONObject;
  6. import com.fasterxml.jackson.core.JsonProcessingException;
  7. import com.fasterxml.jackson.databind.node.ObjectNode;
  8. import com.persagy.dmp.define.entity.GraphDefine;
  9. import com.persagy.dmp.define.entity.ObjectInfoDefine;
  10. import com.persagy.dmp.define.entity.ObjectTypeDefine;
  11. import com.persagy.dmp.define.entity.RelationDefine;
  12. import com.persagy.dmp.digital.entity.ObjectRelation;
  13. /**
  14. * 报表/模板下载
  15. *
  16. * @version 1.0.0
  17. * @company persagy
  18. * @author zhangqiankun
  19. * @date 2021年8月31日 下午4:42:51
  20. */
  21. public interface IRelationReportService {
  22. /**
  23. * 获取class类型定义数据
  24. *
  25. * @param groupCode
  26. * @param projectId
  27. * @param classCode
  28. * @param objTypes
  29. * @param ascOrder
  30. * @return
  31. */
  32. List<ObjectTypeDefine> queryClassList(String groupCode, String projectId, String classCode, Set<String> objTypes, String ascOrder);
  33. /**
  34. * 根据信息点统计对象个数
  35. *
  36. * @param groupCode
  37. * @param classCodes
  38. * @param objTypes
  39. * @param groups
  40. * @return
  41. */
  42. List<Map<String,Object>> queryObjectCountByObjInfos(String groupCode, Set<String> classCodes, Set<String> objTypes, List<String> groups);
  43. /**
  44. * 根据条件查询对应的图类型数据
  45. *
  46. * @param groupCode
  47. * @param projectId
  48. * @param graphCode
  49. */
  50. List<GraphDefine> getGraphDefine(String groupCode, String projectId, String graphCode);
  51. /**
  52. * 根据条件查询对应的边类型数据
  53. *
  54. * @param groupCode
  55. * @param projectId
  56. * @param graphCode
  57. * @param relCode
  58. */
  59. List<RelationDefine> getRelationDefine(String groupCode, String projectId, String graphCode, String relCode);
  60. /**
  61. * 获取所有的项目计算二级树数据
  62. *
  63. * @param groupCode
  64. * @param projectId
  65. * @return
  66. */
  67. List<JSONObject> getAllRelationProjectCalTree(String groupCode, String projectId);
  68. /**
  69. * 获取所有的项目计算数据
  70. *
  71. * @param groupCode
  72. * @param projectId
  73. * @return
  74. */
  75. List<JSONObject> getAllRelationProjectCal(String groupCode, String projectId);
  76. /**
  77. * 获取项目计算关系
  78. *
  79. * @param groupCode
  80. * @param projectId
  81. * @param relType ADM-类型
  82. * @return
  83. */
  84. JSONObject getRelationProjectCal(String groupCode, String projectId, String relType);
  85. /**
  86. * 获取项目计算关系
  87. *
  88. * @param groupCode
  89. * @param projectId
  90. * @param graphCode
  91. * @param relCode
  92. * @param zoneType
  93. * @return
  94. */
  95. ObjectNode getRelationProjectCal(String groupCode, String projectId, String graphCode, String relCode, String zoneType);
  96. /**
  97. * 统计某类型下的关系数量
  98. *
  99. * @param groupCode
  100. * @param projectId
  101. * @param graphCode
  102. * @param relCode
  103. * @param zoneType 业务分区类型
  104. */
  105. long countRelationObject(String groupCode, String projectId, String graphCode, String relCode, String zoneType);
  106. /**
  107. * 统计某类型下的对象数量
  108. *
  109. * @param groupCode
  110. * @param projectId
  111. * @param classCode
  112. * @param objType
  113. * @return
  114. */
  115. long countObject(String groupCode, String projectId, String classCode, String objType);
  116. /**
  117. * 获取指定对象信息
  118. *
  119. * @param groupCode
  120. * @param projectId
  121. * @param id
  122. * @return 不会返回null
  123. */
  124. ObjectNode getObjectNode(String groupCode, String projectId, String id);
  125. /**
  126. * 获取指定对象信息
  127. * <p>定制接口,不建议兼容额外的处理方案</p>
  128. *
  129. * @param groupCode
  130. * @param projectId
  131. * @param objType
  132. * @param code ADM-中的code类型,请参考{@link com.persagy.proxy.adm.strategy.relationdata.QueryRelationObjectStrategy#OBJNAME_2_TYPE}
  133. * @param value 属性值
  134. * @return
  135. */
  136. List<ObjectNode> findObjectNodes(String groupCode, String projectId, String objType, String code, String value);
  137. /**
  138. * 获取对象,通过关系对象的id和rel_code
  139. *
  140. * @param groupCode
  141. * @param projectId
  142. * @param graphCode
  143. * @param relCode
  144. * @param objFrom 与objTo不可同时存在
  145. * @param objTo 与objFrom不可同时存在
  146. * @return 不会返回null
  147. */
  148. ObjectNode getObjectByCodeAndId(String groupCode, String projectId, String graphCode, String relCode, String objFrom, String objTo);
  149. /**
  150. * 获取原始的对象数据
  151. *
  152. * @param groupCode
  153. * @param projectId
  154. * @param id
  155. * @param classCode
  156. * @param objType
  157. * @param ascOrder
  158. * @return
  159. */
  160. List<ObjectNode> queryObjects(String groupCode, String projectId, String id, String classCode, String objType, String ascOrder);
  161. /**
  162. * 获取原始的对象关系数据
  163. *
  164. * @param groupCode
  165. * @param projectId
  166. * @param graphCode
  167. * @param relCode
  168. * @return
  169. */
  170. List<ObjectRelation> findRelationObjects(String groupCode, String projectId, String graphCode, String relCode);
  171. /**
  172. * 查询信息点定义
  173. *
  174. * @param groupCode
  175. * @param projectId
  176. * @param classCodes
  177. * @param code
  178. * @param category
  179. * @return
  180. */
  181. List<ObjectInfoDefine> queryFunidList(String groupCode, String projectId, Set<String> classCodes, String code, String category);
  182. /**
  183. * 查询关系总览(空表,先插入)
  184. * @param content: 模糊查询卡片名称关键字
  185. */
  186. JSONObject overview(String content) throws JsonProcessingException;
  187. /**
  188. * 初始化项目关系计算数据
  189. *
  190. * @param groupCode: 集团编码
  191. * @param projectId: 项目id
  192. * @return
  193. */
  194. boolean createRelationProjectCal(String groupCode, String projectId) throws JsonProcessingException;
  195. }