MechInArchEq2SpRelationObject.java 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package com.persagy.proxy.adm.strategy.relationdata;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import java.util.Set;
  5. import org.springframework.stereotype.Component;
  6. import com.fasterxml.jackson.databind.node.ObjectNode;
  7. import com.persagy.dmp.basic.dto.RequestData;
  8. import com.persagy.dmp.basic.model.QueryCriteria;
  9. import com.persagy.dmp.common.model.response.CommonResult;
  10. import com.persagy.dmp.digital.client.DigitalRelationFacade;
  11. import com.persagy.dmp.digital.entity.ObjectDigital;
  12. import com.persagy.dmp.digital.entity.ObjectRelation;
  13. import com.persagy.proxy.adm.constant.AdmCommonConstant;
  14. import com.persagy.proxy.adm.constant.AdmRelationType;
  15. import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
  16. import com.persagy.proxy.adm.constant.GraphCodeEnum;
  17. import com.persagy.proxy.adm.constant.RelCodeEnum;
  18. import com.persagy.proxy.report.model.AdmRelationObject;
  19. import com.persagy.proxy.report.service.IRelationReportService;
  20. import cn.hutool.core.collection.CollectionUtil;
  21. import cn.hutool.core.util.StrUtil;
  22. /**
  23. *
  24. * @version 1.0.0
  25. * @company persagy
  26. * @author zhangqiankun
  27. * @date 2021年9月3日 上午9:42:46
  28. */
  29. @Component(value = AdmRelationType.MECHINARCH_EQ2SP)
  30. public class MechInArchEq2SpRelationObject extends AbstractReportRelationObject {
  31. public MechInArchEq2SpRelationObject(IRelationReportService relationReportService) {
  32. super(relationReportService);
  33. }
  34. @Override
  35. public long countRelationObjects(String groupCode, String projectId) {
  36. QueryCriteria queryCriteria = new QueryCriteria();
  37. ObjectNode objectNode = OBJECT_MAPPER.createObjectNode();
  38. objectNode.put("graphCode", GraphCodeEnum.MechInArch.name());
  39. objectNode.put("relCode", RelCodeEnum.Eq2Sp.name());
  40. queryCriteria.setCriteria(objectNode);
  41. queryCriteria.setOnlyCount(true);
  42. CommonResult<List<ObjectRelation>> result = DigitalRelationFacade.queryPrototype(groupCode, projectId, AdmCommonConstant.APP_ID, AdmCommonConstant.USER_ID, queryCriteria);
  43. return result == null ? 0 : (result.getCount() == null ? 0 : result.getCount());
  44. }
  45. @Override
  46. public List<ObjectDigital> queryAllRelations(String groupCode, String projectId, String mainContent, Set<String> slaveContent) {
  47. RequestData requestData = new RequestData();
  48. requestData.setGraphCode(GraphCodeEnum.MechInArch.name());
  49. requestData.setRelCode(RelCodeEnum.Eq2Sp.name());
  50. if (StrUtil.isNotBlank(mainContent)) {
  51. requestData.setMainContent(mainContent);
  52. }
  53. if (CollectionUtil.isNotEmpty(slaveContent)) {
  54. requestData.setSlaveContent(slaveContent);
  55. }
  56. requestData.setPage(1L);
  57. requestData.setSize(500L);
  58. List<ObjectDigital> allDigitals = new ArrayList<ObjectDigital>();
  59. this.queryPageRelations(allDigitals, requestData, groupCode, projectId);
  60. return allDigitals;
  61. }
  62. @Override
  63. protected AdmRelationObject handleObjectDigital(ObjectDigital master, ObjectDigital slave, String groupCode, String projectId) {
  64. return this.convertObject(master, "设备", slave, "空间");
  65. }
  66. @Override
  67. public Object beforeSaveRelationObject(AdmRelationObject relationObject, String groupCode, String projectId, String code) {
  68. return this.beforeSaveRelationObject(relationObject, AdmRelationTypeEnum.EQ2SP_IN, groupCode, projectId, code);
  69. }
  70. }