EquipPowerSyBackupRelationObject.java 4.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package com.persagy.proxy.adm.strategy.relationdata;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import java.util.Map;
  5. import java.util.Set;
  6. import com.persagy.dmp.common.helper.SpringHelper;
  7. import org.springframework.stereotype.Component;
  8. import com.fasterxml.jackson.databind.node.ObjectNode;
  9. import com.persagy.dmp.basic.dto.RequestData;
  10. import com.persagy.dmp.basic.model.QueryCriteria;
  11. import com.persagy.dmp.common.model.response.CommonResult;
  12. import com.persagy.dmp.digital.client.DigitalRelationFacade;
  13. import com.persagy.dmp.digital.entity.ObjectDigital;
  14. import com.persagy.dmp.digital.entity.ObjectRelation;
  15. import com.persagy.proxy.adm.constant.AdmCommonConstant;
  16. import com.persagy.proxy.adm.constant.AdmObjectInfoConstant;
  17. import com.persagy.proxy.adm.constant.AdmRelationType;
  18. import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
  19. import com.persagy.proxy.report.model.AdmRelationObject;
  20. import com.persagy.proxy.report.service.IRelationReportService;
  21. import cn.hutool.core.collection.CollectionUtil;
  22. import cn.hutool.core.util.StrUtil;
  23. /**
  24. *
  25. * @version 1.0.0
  26. * @company persagy
  27. * @author zhangqiankun
  28. * @date 2021年9月3日 上午9:42:46
  29. */
  30. @Component(value = AdmRelationType.EQUIPPOWER_SYBACKUP)
  31. public class EquipPowerSyBackupRelationObject extends AbstractReportRelationObject {
  32. public EquipPowerSyBackupRelationObject(IRelationReportService relationReportService) {
  33. super(relationReportService);
  34. }
  35. @Override
  36. public long countRelationObjects(String groupCode, String projectId) {
  37. QueryCriteria queryCriteria = new QueryCriteria();
  38. ObjectNode objectNode = OBJECT_MAPPER.createObjectNode();
  39. objectNode.put("graphCode", AdmRelationTypeEnum.EQ2EQ_EQUIPPOWER_4.getGraphCode());
  40. objectNode.put("relCode", AdmRelationTypeEnum.EQ2EQ_EQUIPPOWER_4.getRelCode());
  41. objectNode.put("valid", 1);
  42. queryCriteria.setCriteria(objectNode);
  43. queryCriteria.setOnlyCount(true);
  44. CommonResult<List<ObjectRelation>> result = DigitalRelationFacade.queryPrototype(groupCode, projectId, AdmCommonConstant.APP_ID, AdmCommonConstant.USER_ID, queryCriteria);
  45. return result == null ? 0 : (result.getCount() == null ? 0 : result.getCount());
  46. }
  47. @Override
  48. public List<ObjectDigital> queryAllRelations(String groupCode, String projectId, String mainContent, Set<String> slaveContent) {
  49. RequestData requestData = new RequestData();
  50. requestData.setGraphCode(AdmRelationTypeEnum.EQ2EQ_EQUIPPOWER_4.getGraphCode());
  51. requestData.setRelCode(AdmRelationTypeEnum.EQ2EQ_EQUIPPOWER_4.getRelCode());
  52. if (StrUtil.isNotBlank(mainContent)) {
  53. requestData.setMainContent(mainContent);
  54. }
  55. if (CollectionUtil.isNotEmpty(slaveContent)) {
  56. requestData.setSlaveContent(slaveContent);
  57. }
  58. requestData.setPage(1L);
  59. requestData.setSize(SpringHelper.getLong("persagy.common.sql.limit",500L));
  60. List<ObjectDigital> allDigitals = new ArrayList<ObjectDigital>();
  61. this.queryPageRelations(allDigitals, requestData, groupCode, projectId);
  62. return allDigitals;
  63. }
  64. @Override
  65. protected AdmRelationObject handleObjectDigital(ObjectDigital master, ObjectDigital slave, String groupCode, String projectId) {
  66. return this.convertObject(master, "设备", slave, "系统");
  67. }
  68. @Override
  69. public Object beforeSaveRelationObject(AdmRelationObject relationObject, String groupCode, String projectId, String code) {
  70. return this.beforeSaveRelationObject(relationObject, AdmRelationTypeEnum.EQ2EQ_EQUIPPOWER_4, groupCode, projectId, code);
  71. }
  72. @Override
  73. public Map<String,Object> beforeSaveRelationObjects(List<AdmRelationObject> relationObjects, String groupCode, String projectId, String code) {
  74. return this.beforeSaveRelationObjects(relationObjects, AdmRelationTypeEnum.EQ2EQ_EQUIPPOWER_4, groupCode, projectId, code);
  75. }
  76. @Override
  77. protected String checkRelationObject(ObjectNode master, String masterClassCode, ObjectNode slave,
  78. String slaveClassCode) {
  79. if (!AdmObjectInfoConstant.CHECK_CLASS_CODES.contains(masterClassCode)) {
  80. return "主对象不属于低/高压开关柜,请参考规则";
  81. }
  82. return null;
  83. }
  84. }