Quellcode durchsuchen

先暂停管网计算

lijie vor 3 Jahren
Ursprung
Commit
75f1bb63de

+ 9 - 5
src/main/java/com/persagy/proxy/adm/controller/AdmCalcSpecialController.java

@@ -1,18 +1,18 @@
 package com.persagy.proxy.adm.controller;
 
 import cn.hutool.core.util.StrUtil;
+import com.persagy.dmp.common.exception.BusinessException;
 import com.persagy.proxy.adm.constant.AdmCommonConstant;
-import com.persagy.proxy.adm.model.AdmMepSourceTypeEntity;
-import com.persagy.proxy.adm.request.AdmCreateRequest;
+import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
+import com.persagy.proxy.adm.constant.BusinessErrorRwdCode;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.AdmCalcSpecialService;
-import com.persagy.proxy.adm.service.AdmMepSystemCalcService;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 
-import javax.ws.rs.QueryParam;
+import java.util.Map;
 
 /***
  * Description: 机电管网系统关系计算
@@ -49,7 +49,11 @@ public class AdmCalcSpecialController {
         InstanceUrlParam context = new InstanceUrlParam(StrUtil.isNotBlank(groupCode)?groupCode:this.groupCode,
                 null, projectId, StrUtil.isNotBlank(appId)?appId:AdmCommonConstant.APP_ID,
                 StrUtil.isNotBlank(userId)?userId:AdmCommonConstant.USER_ID);
-        return admCalcSpecialService.sysBolck(context, relationType);
+        Map<String, AdmRelationTypeEnum> relationTypeMap = AdmRelationTypeEnum.getRelationTypeMap();
+        if (!relationTypeMap.containsKey(relationType)){
+            throw new BusinessException(BusinessErrorRwdCode.A7201.getCode(),BusinessErrorRwdCode.A7201.getDesc());
+        }
+        return admCalcSpecialService.sysBlock(context, relationTypeMap.get(relationType));
     }
     /***
      * Description: 管网计算

+ 3 - 2
src/main/java/com/persagy/proxy/adm/service/AdmCalcSpecialService.java

@@ -1,5 +1,6 @@
 package com.persagy.proxy.adm.service;
 
+import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
 
@@ -13,13 +14,13 @@ public interface AdmCalcSpecialService {
     /***
      * Description: 管网系统设备分块  +  计算流向
      * @param context : 基本请求参数
-     * @param relationType : 关系类型
+     * @param admRelationTypeEnum : 关系类型枚举对象
      * @return : com.persagy.proxy.adm.request.AdmResponse
      * @author : lijie
      * @date :2021/9/29 11:12
      * Update By lijie 2021/9/29 11:12
      */
-    AdmResponse sysBolck(InstanceUrlParam context, String relationType);
+    AdmResponse sysBlock(InstanceUrlParam context, AdmRelationTypeEnum admRelationTypeEnum);
     /***
      * Description: 管网计算
      * @param context : 基本请求参数

+ 17 - 4
src/main/java/com/persagy/proxy/adm/service/impl/AdmCalcSpecialServiceImpl.java

@@ -1,5 +1,10 @@
 package com.persagy.proxy.adm.service.impl;
 
+import cn.hutool.core.util.StrUtil;
+import com.persagy.dmp.basic.dto.RequestData;
+import com.persagy.dmp.common.constant.CommonConstant;
+import com.persagy.dmp.digital.client.DigitalRelationCaclFacade;
+import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
 import com.persagy.proxy.adm.request.AdmResponse;
 import com.persagy.proxy.adm.service.AdmCalcSpecialService;
 import com.persagy.proxy.common.entity.InstanceUrlParam;
@@ -20,15 +25,23 @@ public class AdmCalcSpecialServiceImpl implements AdmCalcSpecialService {
     /***
      * Description: 管网系统设备分块  +  计算流向
      * @param context : 基本请求参数
-     * @param relationType : 关系类型
+     * @param admRelationTypeEnum : 关系类型枚举对象
      * @return : com.persagy.proxy.adm.request.AdmResponse
      * @author : lijie
      * @date :2021/9/29 11:12
      * Update By lijie 2021/9/29 11:12
      */
     @Override
-    public AdmResponse sysBolck(InstanceUrlParam context, String relationType) {
-        return null;
+    public AdmResponse sysBlock(InstanceUrlParam context, AdmRelationTypeEnum admRelationTypeEnum) {
+        RequestData requestData = RequestData.builder()
+                .graphCode(admRelationTypeEnum.getGraphCode())
+                .relCode(admRelationTypeEnum.getRelCode())
+                .calBeforeRelFlag(true)
+                .build();
+        // 调用中台的计算逻辑
+        DigitalRelationCaclFacade.calculatingObjRelationPrototype(context.getGroupCode(),context.getProjectId(),
+                context.getAppId(), CommonConstant.DEFAULT_ID, requestData);
+        return AdmResponse.success();
     }
     /***
      * Description: 管网计算
@@ -59,6 +72,6 @@ public class AdmCalcSpecialServiceImpl implements AdmCalcSpecialService {
         // 2.4.3.3.5 低楼层x,y与高楼层的x,y的勾股和小于直线范围则符合
 
 
-        return null;
+        return AdmResponse.success();
     }
 }