|
@ -183,27 +183,21 @@ public class PropertyManagementServiceImpl implements PropertyManagementService |
|
|
@Override |
|
|
@Override |
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
public void delete(String id) { |
|
|
public void delete(String id) { |
|
|
CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(EpmetRequestHolder.getLoginUserCustomerId(), EpmetRequestHolder.getLoginUserId()); |
|
|
Date now = new Date(); |
|
|
// 查询当前物业,在本组织及下级范围内,管理的小区
|
|
|
// 删除物业与小区关联关系表
|
|
|
List<IcNeighborHoodDTO> originNeighborHoodList = icNeighborHoodPropertyDao.getNeighborHoodList(id, staffInfoCacheResult.getAgencyId()); |
|
|
|
|
|
// 如果存在记录,则解除物业与小区关联关系
|
|
|
|
|
|
originNeighborHoodList.forEach(origin -> { |
|
|
|
|
|
LambdaUpdateWrapper<IcNeighborHoodPropertyEntity> updateWrapper1 = new LambdaUpdateWrapper<>(); |
|
|
LambdaUpdateWrapper<IcNeighborHoodPropertyEntity> updateWrapper1 = new LambdaUpdateWrapper<>(); |
|
|
updateWrapper1.eq(IcNeighborHoodPropertyEntity::getPropertyId, id) |
|
|
updateWrapper1.eq(IcNeighborHoodPropertyEntity::getPropertyId, id) |
|
|
.eq(IcNeighborHoodPropertyEntity::getNeighborHoodId, origin.getId()) |
|
|
|
|
|
.set(IcNeighborHoodPropertyEntity::getDelFlag, NumConstant.ONE_STR) |
|
|
.set(IcNeighborHoodPropertyEntity::getDelFlag, NumConstant.ONE_STR) |
|
|
.set(IcNeighborHoodPropertyEntity::getUpdatedTime, new Date()) |
|
|
.set(IcNeighborHoodPropertyEntity::getUpdatedTime, now) |
|
|
.set(IcNeighborHoodPropertyEntity::getUpdatedBy, EpmetRequestHolder.getLoginUserId()); |
|
|
.set(IcNeighborHoodPropertyEntity::getUpdatedBy, EpmetRequestHolder.getLoginUserId()); |
|
|
icNeighborHoodPropertyDao.update(null, updateWrapper1); |
|
|
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(), "当前物业已与其他组织下的小区关联,无法删除", "当前物业已与其他组织下的小区关联,无法删除"); |
|
|
|
|
|
} |
|
|
|
|
|
// 删除物业表
|
|
|
// 删除物业表
|
|
|
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); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|