Quellcode durchsuchen

Merge remote-tracking branch 'origin/develop' into develop

lijie vor 3 Jahren
Ursprung
Commit
6367691a90

+ 1 - 1
src/main/java/com/persagy/proxy/adm/controller/AdmEquipShaftController.java

@@ -243,7 +243,7 @@ public class AdmEquipShaftController {
         ObjectNode criteriaRel = JsonNodeFactory.instance.objectNode();
         criteriaRel.put("graphCode", "ArchSubset");
         criteriaRel.put("relCode", "Sh2Sp");
-        criteriaRel.put("refValue", objectType);
+        criteriaRel.put("relValue", objectType);
         criteriaRel.put("objFrom", shaftId);
         queryRequest.setCriteria(criteriaRel);
         List<ObjectRelation> relations = relationService.queryByCondition(context, queryRequest);

+ 3 - 3
src/main/java/com/persagy/proxy/adm/controller/AdmSpaceController.java

@@ -65,7 +65,7 @@ public class AdmSpaceController {
      * @throws Exception
      */
     @PostMapping("/create")
-    public AdmResponse create(@RequestBody AdmCreateRequest<AdmSpace> createRequest, @QueryParam("projectId") String projectId) throws Exception {
+    public AdmResponse create(@RequestBody AdmCreateRequest<AdmSpace> createRequest) throws Exception {
         List<AdmSpace> vos = CollUtil.newArrayList(createRequest.getContent());
         String msg = null;
         for (AdmSpace admSpace : vos) {
@@ -255,7 +255,7 @@ public class AdmSpaceController {
      * @throws Exception
      */
     @PostMapping("/update-outline")
-    public AdmResponse updateOutLine(@RequestBody AdmCreateRequest<AdmSpace> createRequest, @QueryParam("projectId") String projectId) throws Exception {
+    public AdmResponse updateOutLine(@RequestBody AdmCreateRequest<AdmSpace> createRequest) throws Exception {
         List<AdmSpace> vos = CollUtil.newArrayList(createRequest.getContent());
         vos = service.doUpdate( AdmContextUtil.toDmpContext(), AdmSpace.class, vos);
         //TODO 更新计算关系ZoneSpaceBaseService.upDateOutline
@@ -295,7 +295,7 @@ public class AdmSpaceController {
      * @throws Exception
      */
     @PostMapping("/space-type")
-    public List<JSONObject> querySpaceType(@QueryParam("projectId") String projectId) throws Exception {
+    public List<JSONObject> querySpaceType() throws Exception {
         return service.doQuerySpaceTypes( AdmContextUtil.toDmpContext());
     }
 

+ 37 - 11
src/main/java/com/persagy/proxy/adm/controller/AdmSystemController.java

@@ -20,24 +20,19 @@ import com.persagy.proxy.adm.model.*;
 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.IAdmBuildingService;
-import com.persagy.proxy.adm.service.IAdmDictService;
-import com.persagy.proxy.adm.service.IAdmFloorService;
-import com.persagy.proxy.adm.service.IAdmSystemService;
+import com.persagy.proxy.adm.service.*;
 import com.persagy.proxy.adm.utils.AdmContextUtil;
 import com.persagy.proxy.adm.utils.AdmQueryCriteriaHelper;
 import com.persagy.proxy.adm.utils.ObjectNameUtil;
 import com.persagy.proxy.common.entity.DmpResult;
+import com.persagy.proxy.common.entity.RelationDTO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.json.JsonObject;
 import javax.validation.constraints.NotNull;
 import javax.ws.rs.QueryParam;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * Adm 系统 API
@@ -56,6 +51,8 @@ public class AdmSystemController {
     private IAdmFloorService floorService;
     @Autowired
     private IAdmDictService dictService;
+    @Autowired
+    private IAdmRelationService relationService;
 
     /**
      * 统计
@@ -91,7 +88,7 @@ public class AdmSystemController {
      * @throws Exception
      */
     @PostMapping("/create-bd-fl")
-    public AdmResponse createBdFl(@RequestBody AdmCreateRequest<AdmSystem> createRequest, @QueryParam("projectId") String projectId) throws Exception {
+    public AdmResponse createBdFl(@RequestBody AdmCreateRequest<AdmSystem> createRequest) throws Exception {
         List<AdmSystem> vos = CollUtil.newArrayList(createRequest.getContent());
 
         Map<String, AdmSystem> admSystemMap = CollUtil.fieldValueMap(vos, "classCode");
@@ -112,8 +109,37 @@ public class AdmSystemController {
                 }
             }
         });
-        vos = service.doInsert(AdmContextUtil.toDmpContext(), AdmSystem.class, vos);
-        return AdmResponse.success(vos);
+        List<AdmSystem> unRelationSys = new ArrayList<>();
+        List<AdmSystem> admSystemList = new ArrayList<>(vos.size());
+        vos.stream().forEach(admSystem -> {
+            if(CollUtil.isNotEmpty(admSystem.getBuildingFloorInfoList())){
+                List<AdmSystem> admSystems = service.doInsert(AdmContextUtil.toDmpContext(), AdmSystem.class, CollUtil.newArrayList(admSystem));
+                //添加关系
+                String systemId = admSystems.get(0).getId();
+                List<RelationDTO> relationDTOS = new ArrayList<>(admSystem.getBuildingFloorInfoList().size());
+                admSystem.getBuildingFloorInfoList().forEach(info -> {
+                    String floorId = info.get("FloorID") == null ? null : info.get("FloorID").textValue();
+                    String buildID = info.get("BuildID") == null ? null : info.get("BuildID").textValue();
+                    if(StrUtil.isNotEmpty(floorId)){
+                        relationDTOS.add(new RelationDTO(null, "MechInArch", "Bd2Fl", null, systemId , floorId));
+                    }
+                    if(StrUtil.isNotEmpty(buildID)){
+                        relationDTOS.add(new RelationDTO(null, "MechForArch", "Sy2Bd", null, systemId , buildID));
+                    }
+                });
+                if(CollUtil.isNotEmpty(relationDTOS)){
+                    relationService.doSave(AdmContextUtil.toDmpContext(), relationDTOS);
+                }
+                admSystemList.addAll(admSystems);
+            }else{
+                unRelationSys.add(admSystem);
+            }
+        });
+        if(CollUtil.isNotEmpty(unRelationSys)){
+            List<AdmSystem> systemList = service.doInsert(AdmContextUtil.toDmpContext(), AdmSystem.class, unRelationSys);
+            admSystemList.addAll(systemList);
+        }
+        return AdmResponse.success(admSystemList);
     }
 
     /**

+ 2 - 2
src/main/java/com/persagy/proxy/adm/service/impl/AdmSpaceServiceImpl.java

@@ -210,7 +210,7 @@ public class AdmSpaceServiceImpl extends AbstractAdmBaseServiceImpl<AdmSpace> im
         ObjectNode criteriaRel = JsonNodeFactory.instance.objectNode();
         criteriaRel.put("graphCode", "ArchSubset");
         criteriaRel.put("relCode", "Fl2Sp");
-        criteriaRel.put("refValue", spaceType);
+        criteriaRel.put("relValue", spaceType);
         ArrayNode objNode = criteriaRel.putArray("objFrom");
         floorIds.forEach(floorId -> objNode.add(floorId));
         queryRequest.setCriteria(criteriaRel);
@@ -243,7 +243,7 @@ public class AdmSpaceServiceImpl extends AbstractAdmBaseServiceImpl<AdmSpace> im
         QueryCriteria queryRequest = new QueryCriteria();
         ObjectNode criteriaRel = JsonNodeFactory.instance.objectNode();
         criteriaRel.put("graphCode", "TrafficNetwork");
-        criteriaRel.put("refValue", spaceType);
+        criteriaRel.put("relValue", spaceType);
         ArrayNode objNode = criteriaRel.putArray(isFrom?"objFrom":"objTo");
         spaceIds.forEach(spaceId -> objNode.add(spaceId));
         queryRequest.setCriteria(criteriaRel);