package com.persagy.proxy.adm.service; import java.util.List; import java.util.Map; import java.util.Set; import com.alibaba.fastjson.JSONObject; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.node.ObjectNode; import com.persagy.dmp.basic.model.QueryCriteria; import com.persagy.dmp.define.entity.GraphDefine; import com.persagy.dmp.define.entity.ObjectInfoDefine; import com.persagy.dmp.define.entity.ObjectTypeDefine; import com.persagy.dmp.define.entity.RelationDefine; import com.persagy.dmp.digital.entity.ObjectRelation; /** * 报表/模板下载 * * @version 1.0.0 * @company persagy * @author zhangqiankun * @date 2021年8月31日 下午4:42:51 */ public interface IRelationReportService { /** * 获取class类型定义数据 * * @param groupCode * @param projectId * @param classCode * @param objTypes * @param ascOrder * @return */ List queryClassList(String groupCode, String projectId, String classCode, Set objTypes, String ascOrder); /** * 根据信息点统计对象个数 * * @param groupCode * @param classCodes * @param objTypes * @param groups * @return */ List> queryObjectCountByObjInfos(String groupCode, Set classCodes, Set objTypes, List groups); /** * 根据条件查询对应的图类型数据 * * @param groupCode * @param projectId * @param graphCode */ List getGraphDefine(String groupCode, String projectId, String graphCode); /** * 根据条件查询对应的边类型数据 * * @param groupCode * @param projectId * @param graphCode * @param relCode */ List getRelationDefine(String groupCode, String projectId, String graphCode, String relCode); /** * 获取所有的项目计算二级树数据 * * @param groupCode * @param projectId * @return */ List getAllRelationProjectCalTree(String groupCode, String projectId); /** * 获取所有的项目计算数据 * * @param queryCriteria * @param groupCode * @param projectId * @return */ List getAllRelationProjectCal(QueryCriteria queryCriteria, String groupCode, String projectId); /** * 获取项目计算关系 * * @param groupCode * @param projectId * @param relType ADM-类型 * @return */ JSONObject getRelationProjectCal(String groupCode, String projectId, String relType); /** * 获取项目计算关系 * * @param groupCode * @param projectId * @param graphCode * @param relCode * @param zoneType * @return */ ObjectNode getRelationProjectCal(String groupCode, String projectId, String graphCode, String relCode, String zoneType); /** * 统计某类型下的关系数量 * * @param groupCode * @param projectId * @param graphCode * @param relCode * @param zoneType 业务分区类型 */ long countRelationObject(String groupCode, String projectId, String graphCode, String relCode, String zoneType); /** * 统计某类型下的对象数量 * * @param groupCode * @param projectId * @param classCode * @param objType * @return */ long countObject(String groupCode, String projectId, String classCode, String objType); /** * 获取指定对象信息 * * @param groupCode * @param projectId * @param id * @return 不会返回null */ ObjectNode getObjectNode(String groupCode, String projectId, String id); /** * 获取指定对象信息 *

定制接口,不建议兼容额外的处理方案

* * @param groupCode * @param projectId * @param objType * @param code ADM-中的code类型,请参考{@link com.persagy.proxy.adm.strategy.relationdata.QueryRelationObjectStrategy#OBJNAME_2_TYPE} * @param value 属性值 * @return */ List findObjectNodes(String groupCode, String projectId, String objType, String code, String value); /** * 获取对象,通过关系对象的id和rel_code * * @param groupCode * @param projectId * @param graphCode * @param relCode * @param objFrom 与objTo不可同时存在 * @param objTo 与objFrom不可同时存在 * @return 不会返回null */ ObjectNode getObjectByCodeAndId(String groupCode, String projectId, String graphCode, String relCode, String objFrom, String objTo); /** * 获取原始的对象数据 * * @param groupCode * @param projectId * @param id * @param classCode * @param objType * @param ascOrder * @return */ List queryObjects(String groupCode, String projectId, String id, String classCode, String objType, String ascOrder); /** * 获取原始的对象关系数据 * * @param groupCode * @param projectId * @param graphCode * @param relCode * @return */ List findRelationObjects(String groupCode, String projectId, String graphCode, String relCode); /** * 查询信息点定义 * * @param groupCode * @param projectId * @param classCodes * @param code * @param category * @return */ List queryFunidList(String groupCode, String projectId, Set classCodes, String code, String category); /** * 查询关系总览(空表,先插入) * @param content: 模糊查询卡片名称关键字 */ JSONObject overview(String content) throws JsonProcessingException; /** * 初始化项目关系计算数据 * * @param groupCode: 集团编码 * @param projectId: 项目id * @return */ boolean createRelationProjectCal(String groupCode, String projectId) throws JsonProcessingException; }