Browse Source

修复多个不同楼宇空间名字重复的时候,批量导入更新问题的bug

zhc
zhczyx@163.com 3 weeks ago
parent
commit
75343bb92d
  1. 11
      data-center-business-service/src/main/java/com/techsor/datacenter/business/service/impl/SpaceServiceImpl.java

11
data-center-business-service/src/main/java/com/techsor/datacenter/business/service/impl/SpaceServiceImpl.java

@ -1595,8 +1595,7 @@ public class SpaceServiceImpl implements SpaceService {
} else {
BasicSpaceExample basicSpaceExample = new BasicSpaceExample();
BasicSpaceExample.Criteria criteria = basicSpaceExample.createCriteria();
Long tempSpaceId = getSpaceIdFromList(dbSpaceList,basicSpace.getUdfSpaceId(),"udf_space_id");
criteria.andSpaceIdEqualTo(tempSpaceId).andCompanyIdIn(commonOpt.getSelfAndSubCompanyId(companyId));
Long tempSpaceId = getSpaceIdFromList(dbSpaceList,basicSpace.getUdfSpaceId(),"udf_space_id",basicBuilding.getBuildingId()); criteria.andSpaceIdEqualTo(tempSpaceId).andCompanyIdIn(commonOpt.getSelfAndSubCompanyId(companyId));
basicSpace.setSpaceId(tempSpaceId);
basicSpace.setFlag(0);
basicSpaceMapperExt.updateByExample(basicSpace,basicSpaceExample);
@ -1611,7 +1610,7 @@ public class SpaceServiceImpl implements SpaceService {
} else {
BasicSpaceExample basicSpaceExample = new BasicSpaceExample();
BasicSpaceExample.Criteria criteria = basicSpaceExample.createCriteria();
Long tempSpaceId = getSpaceIdFromList(dbSpaceList,basicSpace.getName(),"name");
Long tempSpaceId = getSpaceIdFromList(dbSpaceList,basicSpace.getName(),"name",basicBuilding.getBuildingId());
criteria.andSpaceIdEqualTo(tempSpaceId).andCompanyIdIn(commonOpt.getSelfAndSubCompanyId(companyId));
basicSpace.setSpaceId(tempSpaceId);
basicSpace.setFlag(0);
@ -1636,12 +1635,12 @@ public class SpaceServiceImpl implements SpaceService {
}
}
private Long getSpaceIdFromList(List<SpacePageVO> spaceList, String value,String valueType) {
private Long getSpaceIdFromList(List<SpacePageVO> spaceList, String value,String valueType,Long buildingId) {
switch (valueType){
case "udf_space_id":
for (SpacePageVO spaceItem : spaceList) {
if (spaceItem.getUdfSpaceId()!=null){
if (spaceItem.getUdfSpaceId().equals(value)) {
if (spaceItem.getUdfSpaceId().equals(value) && spaceItem.getBuildingId().equals(buildingId)) {
return spaceItem.getSpaceId();
}
}
@ -1649,7 +1648,7 @@ public class SpaceServiceImpl implements SpaceService {
break;
case "name":
for (SpacePageVO spaceItem : spaceList) {
if (spaceItem.getSpaceName().equals(value)) {
if (spaceItem.getSpaceName().equals(value) && spaceItem.getBuildingId().equals(buildingId)) {
return spaceItem.getSpaceId();
}
}

Loading…
Cancel
Save