|
@@ -4,11 +4,13 @@ import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
import com.alibaba.excel.EasyExcel;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
|
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.dto.RequestData;
|
|
|
import com.persagy.dmp.basic.model.QueryCriteria;
|
|
|
+import com.persagy.dmp.common.constant.CommonConstant;
|
|
|
import com.persagy.dmp.common.constant.ResponseCode;
|
|
|
import com.persagy.dmp.common.exception.BusinessException;
|
|
|
import com.persagy.dmp.common.model.entity.BaseEntity;
|
|
@@ -22,6 +24,7 @@ import com.persagy.dmp.digital.client.DigitalRelationFacade;
|
|
|
import com.persagy.dmp.digital.entity.ObjectRelation;
|
|
|
import com.persagy.dmp.simple.client.DigitalObjectSimpleFacade;
|
|
|
import com.persagy.proxy.adm.constant.AdmCommonConstant;
|
|
|
+import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
|
|
|
import com.persagy.proxy.adm.request.*;
|
|
|
import com.persagy.proxy.adm.service.IAdmRelationService;
|
|
|
import com.persagy.proxy.adm.utils.AdmContextUtil;
|
|
@@ -104,11 +107,14 @@ public class AdmSystemController {
|
|
|
QueryCriteria defineCriteria = new QueryCriteria();
|
|
|
ObjectNode criteria = JsonNodeFactory.instance.objectNode();
|
|
|
ArrayNode array = criteria.putObject("code").putArray("$in");
|
|
|
- admSystemMap.keySet().stream().forEach(classCode -> array.add(classCode));
|
|
|
+ admSystemMap.keySet().forEach(classCode -> array.add(classCode));
|
|
|
defineCriteria.setCriteria(criteria);
|
|
|
List<ObjectTypeDefine> defineList = DigitalDefineFacade.queryObjectType(AdmContextUtil.toDmpContext().getGroupCode(),AdmContextUtil.toDmpContext().getProjectId(),AdmContextUtil.toDmpContext().getAppId(),null,defineCriteria);
|
|
|
Map<String, ObjectTypeDefine> defineMap = CollUtil.fieldValueMap(defineList, "code");
|
|
|
- vos.stream().forEach(admSystem -> {
|
|
|
+ vos.forEach(admSystem -> {
|
|
|
+ if (StrUtil.isBlank(admSystem.getId())){
|
|
|
+ admSystem.setId("Sy"+ IdWorker.getIdStr());
|
|
|
+ }
|
|
|
if(StrUtil.isEmpty(admSystem.getName())){
|
|
|
if(CollUtil.isNotEmpty(defineList) && defineMap.containsKey(admSystem.getClassCode())){
|
|
|
admSystem.setName(ObjectNameUtil.objectName(defineMap.get(admSystem.getClassCode()).getName()+"系统-"));
|
|
@@ -117,34 +123,35 @@ public class AdmSystemController {
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
- List<AdmSystem> unRelationSys = new ArrayList<>();
|
|
|
List<AdmSystem> admSystemList = new ArrayList<>(vos.size());
|
|
|
List<RelationDTO> relationDTOS = new ArrayList<>(vos.size());
|
|
|
- vos.stream().forEach(admSystem -> {
|
|
|
+ vos.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();
|
|
|
+ String systemId = admSystem.getId();
|
|
|
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", "Sy2Fl", null, systemId , floorId));
|
|
|
+ relationDTOS.add(new RelationDTO(StrUtil
|
|
|
+ .format(CommonConstant.DEFAULT_GRAPH_ID_FORMAT, AdmRelationTypeEnum.SY2FL.getGraphCode()),
|
|
|
+ AdmRelationTypeEnum.SY2FL.getGraphCode(), AdmRelationTypeEnum.SY2FL.getRelCode(),
|
|
|
+ null, systemId , floorId));
|
|
|
}
|
|
|
if(StrUtil.isNotEmpty(buildID)){
|
|
|
- relationDTOS.add(new RelationDTO(null, "MechInArch", "Sy2Bd", null, systemId , buildID));
|
|
|
+ relationDTOS.add(new RelationDTO(StrUtil
|
|
|
+ .format(CommonConstant.DEFAULT_GRAPH_ID_FORMAT, AdmRelationTypeEnum.SY2BD_MECHINARCH.getGraphCode()),
|
|
|
+ AdmRelationTypeEnum.SY2BD_MECHINARCH.getGraphCode(), AdmRelationTypeEnum.SY2BD_MECHINARCH.getRelCode(),
|
|
|
+ null, systemId , buildID));
|
|
|
}
|
|
|
});
|
|
|
- admSystemList.addAll(admSystems);
|
|
|
- }else{
|
|
|
- unRelationSys.add(admSystem);
|
|
|
}
|
|
|
});
|
|
|
if(CollUtil.isNotEmpty(relationDTOS)){
|
|
|
relationService.doSave(AdmContextUtil.toDmpContext(), relationDTOS);
|
|
|
}
|
|
|
- if(CollUtil.isNotEmpty(unRelationSys)){
|
|
|
- List<AdmSystem> systemList = service.doInsert(AdmContextUtil.toDmpContext(), AdmSystem.class, unRelationSys);
|
|
|
+ if(CollUtil.isNotEmpty(vos)){
|
|
|
+ List<AdmSystem> systemList = service.doInsert(AdmContextUtil.toDmpContext(), AdmSystem.class, vos);
|
|
|
admSystemList.addAll(systemList);
|
|
|
}
|
|
|
return AdmCreateResponse.success(admSystemList);
|