123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- package com.persagy.proxy.adm.strategy.relationdata;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.Set;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.fasterxml.jackson.databind.node.ObjectNode;
- import com.persagy.dmp.basic.dto.RequestData;
- import com.persagy.dmp.common.helper.SpringHelper;
- import com.persagy.dmp.digital.entity.ObjectDigital;
- import com.persagy.proxy.adm.model.AdmRelationObject;
- /**
- *
- * @version 1.0.0
- * @company persagy
- * @author zhangqiankun
- * @date 2021年9月2日 下午10:46:03
- */
- public interface RelationObjectStrategy {
- String WHERE_IN = "$in";
-
- String OBJ_TYPE = "objType";
-
- ObjectMapper OBJECT_MAPPER = SpringHelper.getBean(ObjectMapper.class);
-
- static Map<String, String> OBJNAME_2_TYPE = new HashMap<String,String>(){
- private static final long serialVersionUID = 1L;
- {
- put("对象ID", "id");
- put("对象名称", "name");
- put("对象本地编码", "local_id");
- put("对象本地名称", "local_name");
- put("设计图纸中编码", "cad_id");
- }
- };
-
- /**
- * 统计关系总数
- *
- * @param groupCode
- * @param projectId
- * @return
- */
- long countRelationObjects(String groupCode, String projectId);
-
- /**
- * 查询出所有的关系信息
- *
- * @param groupCode 集团编码
- * @param projectId 项目ID
- * @return 不会返回null
- */
- List<AdmRelationObject> exportRelationObject(String groupCode, String projectId);
-
- /**
- * 查询出所有的关系对象数据
- *
- * @param groupCode 集团编码
- * @param projectId 项目ID
- * @param mainContent 主对象的筛选关键字,筛选范围为id,name,local_id,local_name,cADID.为关系左侧对象
- * @param slaveContent 从对象的筛选关键字.objTo对应的对象,筛选范围为id,name,local_id,local_name.为关系右侧对象
- * @return 不会返回null
- */
- List<ObjectDigital> queryAllRelations(String groupCode, String projectId, String mainContent, Set<String> slaveContent);
-
- /**
- * 分页查询关系对象数据
- *
- * @param masterObjs 查询的数据集存储地方
- * @param requestData 请求参数
- * @param groupCode 集团编码
- * @param projectId 项目ID
- */
- void queryPageRelations(List<ObjectDigital> masterObjs, RequestData requestData, String groupCode, String projectId);
-
- /**
- * 保存之前校验数据的合法性
- *
- * @param relationObject 需要校验的对象
- * @param groupCode
- * @param projectId
- * @param code 参考 OBJNAME_2_TYPE
- * @return String - 校验失败的原因, ObjectNode -- BDTP接口的参数,不会返回null,请用instanceOf 判断返回值
- */
- Object beforeSaveRelationObject(AdmRelationObject relationObject, String groupCode, String projectId, String code);
- /**
- * 保存对象之间的关系
- *
- * @param relationObject
- * @param groupCode
- * @param projectId
- * @return
- */
- boolean saveRelationObject(ObjectNode relationObject, String groupCode, String projectId);
-
- /**
- * 批量保存对象之间的关系
- *
- * @param relationObjects
- * @param groupCode
- * @param projectId
- * @return
- */
- boolean saveRelationObjects(List<ObjectNode> relationObjects, String groupCode, String projectId);
- }
|