|
@@ -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);
|
|
|
}
|
|
|
|
|
|
/**
|