xujiaheng 3 lat temu
rodzic
commit
e13c70260b

+ 64 - 0
src/main/java/com/persagy/proxy/adm/controller/AdmRelationController.java

@@ -0,0 +1,64 @@
+package com.persagy.proxy.adm.controller;
+
+import cn.hutool.core.collection.CollUtil;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.JsonNodeFactory;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import com.persagy.dmp.basic.model.QueryCriteria;
+import com.persagy.dmp.common.helper.SpringHelper;
+import com.persagy.dmp.digital.entity.ObjectRelation;
+import com.persagy.proxy.adm.constant.AdmCommonConstant;
+import com.persagy.proxy.adm.model.AdmFloor;
+import com.persagy.proxy.adm.model.AdmGraphicType;
+import com.persagy.proxy.adm.model.AdmRelationType;
+import com.persagy.proxy.adm.model.AdmWindow;
+import com.persagy.proxy.adm.request.AdmCreateRequest;
+import com.persagy.proxy.adm.request.AdmQueryCriteria;
+import com.persagy.proxy.adm.request.AdmResponse;
+import com.persagy.proxy.adm.service.IAdmGraphicTypeService;
+import com.persagy.proxy.adm.service.IAdmRelationService;
+import com.persagy.proxy.adm.service.IAdmRelationTypeService;
+import com.persagy.proxy.adm.service.IAdmWindowService;
+import com.persagy.proxy.common.entity.InstanceUrlParam;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.ws.rs.QueryParam;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * ADM 窗户 API
+ * @author xujiaheng
+ * @date 2021-09-3
+ */
+@RestController
+@RequestMapping("/rel")
+public class AdmRelationController {
+
+    @Autowired
+    private IAdmGraphicTypeService service;
+
+    @Value("${middleware.group.code}")
+    private String groupCode;
+
+    /**
+     * 创建
+     * @param
+     * @return
+     * @throws Exception
+     */
+    @PostMapping("/equip/category")
+    public AdmResponse equipRel(@QueryParam("projectId") String projectId) {
+        //组装上下文条件
+        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        AdmResponse res = service.query(context);
+        return res;
+    }
+}

+ 49 - 0
src/main/java/com/persagy/proxy/adm/controller/AdmRelationObjectController.java

@@ -0,0 +1,49 @@
+package com.persagy.proxy.adm.controller;
+
+import com.persagy.proxy.adm.constant.AdmCommonConstant;
+import com.persagy.proxy.adm.model.AdmDtRelation;
+import com.persagy.proxy.adm.model.AdmGraphicType;
+import com.persagy.proxy.adm.request.AdmQueryCriteria;
+import com.persagy.proxy.adm.request.AdmResponse;
+import com.persagy.proxy.adm.service.IAdmDtRelationService;
+import com.persagy.proxy.adm.service.IAdmGraphicTypeService;
+import com.persagy.proxy.common.entity.InstanceUrlParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.ws.rs.QueryParam;
+
+/**
+ * ADM 窗户 API
+ * @author xujiaheng
+ * @date 2021-09-3
+ */
+@RestController
+@RequestMapping("/rel/obj")
+public class AdmRelationObjectController {
+
+    @Autowired
+    private IAdmDtRelationService service;
+
+    @Value("${middleware.group.code}")
+    private String groupCode;
+
+    /**
+     * 创建
+     * @param
+     * @return
+     * @throws Exception
+     */
+    @PostMapping("/equip/query")
+    public AdmResponse equipRel(@QueryParam("projectId") String projectId) {
+        //组装上下文条件
+        InstanceUrlParam context = new InstanceUrlParam(groupCode, null, projectId, AdmCommonConstant.APP_ID);
+        AdmQueryCriteria criteria = new AdmQueryCriteria();
+        criteria.setFilters("projectId = "+projectId);
+        AdmResponse admResponse = service.doQuery(context, criteria, AdmDtRelation.class);
+        return admResponse;
+    }
+}

+ 49 - 0
src/main/java/com/persagy/proxy/adm/model/AdmDtRelation.java

@@ -0,0 +1,49 @@
+package com.persagy.proxy.adm.model;
+
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * ADM 建筑 实体
+ * @author xujiaheng
+ * @date 2021-09-06
+ */
+@Data
+public class AdmDtRelation {
+
+    /** ID */
+    private String id;
+    private String group_code;
+    private String project_id;
+    /** 图主键 */
+    private String graph_id;
+    /** 图编码 */
+    private String graph_code;
+    /** 关系编码 */
+    private String rel_code;
+    /** 关系值 */
+    private String rel_value;
+    /** 来源对象 */
+    private String obj_from;
+    /** 目标对象 */
+    private String obj_to;
+    /** 创建应用 */
+    private String create_app;
+    /** 最后更新应用 */
+    private String update_app;
+    /** 创建人 */
+    private String creator;
+    /** 创建时间 */
+    private String creation_time;
+    /** 最后修改人 */
+    private String modifier;
+    /** 最后修改时间 */
+    private String modified_time;
+    /** 合法标识 */
+    private Integer valid;
+    /** 乐观锁 */
+    private Date ts;
+
+}

+ 35 - 0
src/main/java/com/persagy/proxy/adm/model/AdmGraphicType.java

@@ -0,0 +1,35 @@
+package com.persagy.proxy.adm.model;
+
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * ADM 建筑 实体
+ * @author xujiaheng
+ * @date 2021-09-06
+ */
+@Data
+public class AdmGraphicType {
+
+    /** ID */
+    private String id;
+    /** 名称 */
+    private String name;
+    /** 图类型编码 */
+    private String code;
+    /** 说明 */
+    private String note;
+    /** 更新时间 */
+    private Date lastUpdate;
+    /** 创建时间 */
+    private Date createTime;
+    /** 大分类id */
+    private String parentId;
+    /** 排序 */
+    private int sort;
+    /** 级联-状态信息 */
+    List<AdmRelationType> relationTypeList;
+
+}

+ 73 - 0
src/main/java/com/persagy/proxy/adm/model/AdmRelationType.java

@@ -0,0 +1,73 @@
+package com.persagy.proxy.adm.model;
+
+import lombok.Data;
+
+import javax.json.Json;
+import java.util.Date;
+
+/**
+ * ADM 关联类型 实体
+ * @author xujiaheng
+ * @date 2021-09-06
+ */
+@Data
+public class AdmRelationType {
+    /** ID */
+    private String id;
+    /** 名称 */
+    private String name;
+    /** 图类型编码 */
+    private String code;
+    /** 图类型id */
+    private String graphicId;
+    /** 说明 */
+    private String note;
+    /** 连接对象 */
+    private String conneObject;
+    /** 是否需要配置源末端 */
+    private Integer isSource;
+    /** 是否自动计算类型 */
+    private Integer isAutomatic;
+    /** 手动计算类型 1 禁用  2提示引导 3手动维护 */
+    private Integer manual;
+    /** 提示信息 */
+    private String prompting;
+    /** 更新时间 */
+    private Date lastUpdate;
+    /** 创建时间 */
+    private Date createTime;
+    /** 关系表名 */
+    private String tableName;
+    /** 关系是否双向 */
+    private Integer isThorough;
+    /** 关系类型,数据中心用 */
+    private String relationType;
+    /** 业务分区类型 */
+    private String zoneType;
+    /** 风系统1,水系统0 */
+    private Integer systemType;
+    /** 手动计算查询函数 */
+    private String manualQuery;
+    /** 手动计算主对象类型 */
+    private String mainType;
+    /** 手动计算从对象类型 */
+    private String fromType;
+    /** 添加关系 */
+    private String addRel;
+    /** 删除关系 */
+    private String delRel;
+    /** 手动计算关系类型 */
+    private String relManualType;
+    /** 主对象 */
+    private String mainObject;
+    /** 从对象 */
+    private String fromObject;
+    /** 机电系统类型 */
+    private Json mepSystemType;
+    /** 图类型 */
+    private String graphicType;
+    /** 边类型 */
+    private String relCode;
+    /** 文件名 */
+    private String fileName;
+}

+ 17 - 0
src/main/java/com/persagy/proxy/adm/service/IAdmDtRelationService.java

@@ -0,0 +1,17 @@
+package com.persagy.proxy.adm.service;
+
+import com.persagy.proxy.adm.model.AdmDtRelation;
+import com.persagy.proxy.adm.model.AdmGraphicType;
+import com.persagy.proxy.adm.request.AdmResponse;
+import com.persagy.proxy.common.entity.InstanceUrlParam;
+
+/**
+ * ADM 图解接口
+ * @author lvxy
+ * @date 2021/8/18
+ */
+public interface IAdmDtRelationService extends IAdmBaseService<AdmDtRelation>{
+
+
+
+}

+ 16 - 0
src/main/java/com/persagy/proxy/adm/service/IAdmGraphicTypeService.java

@@ -0,0 +1,16 @@
+package com.persagy.proxy.adm.service;
+
+import com.persagy.proxy.adm.model.AdmGraphicType;
+import com.persagy.proxy.adm.request.AdmResponse;
+import com.persagy.proxy.common.entity.InstanceUrlParam;
+
+/**
+ * ADM 图解接口
+ * @author lvxy
+ * @date 2021/8/18
+ */
+public interface IAdmGraphicTypeService extends IAdmBaseService<AdmGraphicType>{
+
+
+    AdmResponse query(InstanceUrlParam context);
+}

+ 13 - 0
src/main/java/com/persagy/proxy/adm/service/IAdmRelationTypeService.java

@@ -0,0 +1,13 @@
+package com.persagy.proxy.adm.service;
+
+import com.persagy.proxy.adm.model.AdmRelationType;
+
+/**
+ * ADM 图解接口
+ * @author lvxy
+ * @date 2021/8/18
+ */
+public interface IAdmRelationTypeService extends IAdmBaseService<AdmRelationType>{
+
+
+}

+ 21 - 0
src/main/java/com/persagy/proxy/adm/service/impl/AdmDtRelationServiceImpl.java

@@ -0,0 +1,21 @@
+package com.persagy.proxy.adm.service.impl;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.persagy.proxy.adm.model.AdmDtRelation;
+import com.persagy.proxy.adm.service.IAdmDtRelationService;
+import com.persagy.proxy.common.client.DmpRwdClient;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * ADM 设备 实现
+ * @author lvxy
+ * @date 2021/8/18
+ */
+@Slf4j
+@Service
+public class AdmDtRelationServiceImpl extends AbstractAdmBaseServiceImpl<AdmDtRelation> implements IAdmDtRelationService {
+
+
+}

+ 59 - 0
src/main/java/com/persagy/proxy/adm/service/impl/AdmGraphicTypeServiceImpl.java

@@ -0,0 +1,59 @@
+package com.persagy.proxy.adm.service.impl;
+
+import com.persagy.proxy.adm.model.AdmGraphicType;
+import com.persagy.proxy.adm.model.AdmRelationType;
+import com.persagy.proxy.adm.request.AdmQueryCriteria;
+import com.persagy.proxy.adm.request.AdmResponse;
+import com.persagy.proxy.adm.service.IAdmGraphicTypeService;
+import com.persagy.proxy.adm.service.IAdmRelationTypeService;
+import com.persagy.proxy.common.entity.InstanceUrlParam;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * ADM 图解类型 实现
+ * @author xujiaheng
+ * @date 2021/09/08
+ */
+@Slf4j
+@Service
+public class AdmGraphicTypeServiceImpl extends AbstractAdmBaseServiceImpl<AdmGraphicType> implements IAdmGraphicTypeService {
+
+    @Autowired
+    private IAdmGraphicTypeService service;
+    @Autowired
+    private IAdmRelationTypeService admRelationTypeService;
+
+    @Override
+    public AdmResponse query(InstanceUrlParam context) {
+        //查询类型
+        AdmQueryCriteria criteria = new AdmQueryCriteria();
+        criteria.setFilters("graphTypeName in ('强电类', '暖通空调类', '给排水类', '消防类', '测控类')");
+        AdmResponse admResponse = service.doQuery(context, criteria, AdmGraphicType.class);
+        List<AdmGraphicType> typeList = (List<AdmGraphicType>) admResponse.getContent();
+        //id列表
+        List<String> idList = typeList.stream().map(AdmGraphicType::getId).collect(Collectors.toList());
+        //查询二级类型
+        String idString = "(\'" + String.join("\',\'", idList) + "\')";
+        AdmQueryCriteria admQueryCriteria = new AdmQueryCriteria();
+        admQueryCriteria.setFilters("parentId in ("+idString+")");
+        AdmResponse response = service.doQuery(context, admQueryCriteria, AdmGraphicType.class);
+        List<AdmGraphicType> graphicTypeList = (List<AdmGraphicType>) response.getContent();
+        graphicTypeList.forEach(graphicType->{
+            //查询三级类型
+            AdmQueryCriteria queryCriteria = new AdmQueryCriteria();
+            queryCriteria.setFilters("graphicId = "+graphicType.getId());
+            AdmResponse doQueryResponse = admRelationTypeService.doQuery(context, queryCriteria, AdmRelationType.class);
+            List<AdmRelationType> relationTypes = (List<AdmRelationType>) doQueryResponse.getContent();
+            graphicType.setRelationTypeList(relationTypes);
+        });
+        AdmResponse res = new AdmResponse();
+        res.setTotal(Long.valueOf(graphicTypeList.size()));
+        res.setContent(graphicTypeList);
+        return res;
+    }
+}

+ 28 - 0
src/main/java/com/persagy/proxy/adm/service/impl/AdmRelationTypeServiceImpl.java

@@ -0,0 +1,28 @@
+package com.persagy.proxy.adm.service.impl;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.persagy.proxy.adm.model.AdmGraphicType;
+import com.persagy.proxy.adm.model.AdmRelationType;
+import com.persagy.proxy.adm.service.IAdmGraphicTypeService;
+import com.persagy.proxy.adm.service.IAdmRelationTypeService;
+import com.persagy.proxy.common.client.DmpRwdClient;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * ADM 设备 实现
+ * @author lvxy
+ * @date 2021/8/18
+ */
+@Slf4j
+@Service
+public class AdmRelationTypeServiceImpl extends AbstractAdmBaseServiceImpl<AdmRelationType> implements IAdmRelationTypeService {
+
+    @Autowired
+    private DmpRwdClient rwdClient;
+    @Autowired
+    private ObjectMapper objectMapper;
+
+
+}