Browse Source

经与项目经理确认,删除物业,直接删除无需判断下面是否关联小区。 且别的社区在用此物业,也可以删除。清除所有小区的关系

master
yinzuomei 2 years ago
parent
commit
9608a4fb86
  1. 34
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/PropertyManagementServiceImpl.java

34
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/PropertyManagementServiceImpl.java

@ -183,27 +183,21 @@ public class PropertyManagementServiceImpl implements PropertyManagementService
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String id) {
CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(EpmetRequestHolder.getLoginUserCustomerId(), EpmetRequestHolder.getLoginUserId());
// 查询当前物业,在本组织及下级范围内,管理的小区
List<IcNeighborHoodDTO> originNeighborHoodList = icNeighborHoodPropertyDao.getNeighborHoodList(id, staffInfoCacheResult.getAgencyId());
// 如果存在记录,则解除物业与小区关联关系
originNeighborHoodList.forEach(origin -> {
LambdaUpdateWrapper<IcNeighborHoodPropertyEntity> updateWrapper1 = new LambdaUpdateWrapper<>();
updateWrapper1.eq(IcNeighborHoodPropertyEntity::getPropertyId, id)
.eq(IcNeighborHoodPropertyEntity::getNeighborHoodId, origin.getId())
.set(IcNeighborHoodPropertyEntity::getDelFlag, NumConstant.ONE_STR)
.set(IcNeighborHoodPropertyEntity::getUpdatedTime, new Date())
.set(IcNeighborHoodPropertyEntity::getUpdatedBy, EpmetRequestHolder.getLoginUserId());
icNeighborHoodPropertyDao.update(null, updateWrapper1);
});
// 再查询是否存在其他组织下的小区,与该物业有关联,存在则不允许删除
LambdaQueryWrapper<IcNeighborHoodPropertyEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(IcNeighborHoodPropertyEntity::getPropertyId, id);
if (icNeighborHoodPropertyDao.selectCount(queryWrapper) > 0) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "当前物业已与其他组织下的小区关联,无法删除", "当前物业已与其他组织下的小区关联,无法删除");
}
Date now = new Date();
// 删除物业与小区关联关系表
LambdaUpdateWrapper<IcNeighborHoodPropertyEntity> updateWrapper1 = new LambdaUpdateWrapper<>();
updateWrapper1.eq(IcNeighborHoodPropertyEntity::getPropertyId, id)
.set(IcNeighborHoodPropertyEntity::getDelFlag, NumConstant.ONE_STR)
.set(IcNeighborHoodPropertyEntity::getUpdatedTime, now)
.set(IcNeighborHoodPropertyEntity::getUpdatedBy, EpmetRequestHolder.getLoginUserId());
icNeighborHoodPropertyDao.update(null, updateWrapper1);
// 删除物业表
icPropertyManagementDao.deleteById(id);
LambdaUpdateWrapper<IcPropertyManagementEntity> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(IcPropertyManagementEntity::getId, id)
.set(IcPropertyManagementEntity::getDelFlag, NumConstant.ONE_STR)
.set(IcPropertyManagementEntity::getUpdatedTime, now)
.set(IcPropertyManagementEntity::getUpdatedBy, EpmetRequestHolder.getLoginUserId());
icPropertyManagementDao.update(null, updateWrapper);
}

Loading…
Cancel
Save