diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/PropertyManagementController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/PropertyManagementController.java index 9adff02f7f..4c77e5472c 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/PropertyManagementController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/PropertyManagementController.java @@ -139,7 +139,20 @@ public class PropertyManagementController implements ResultDataResolver { public Result delete(@RequestBody IcPropertyManagementFormDTO formDTO){ //效验数据 ValidatorUtils.validateEntity(formDTO, IcPropertyManagementFormDTO.DeleteGroup.class); - propertyManagementService.delete(formDTO); + propertyManagementService.delete(formDTO.getId()); + return new Result(); + } + + /** + * 物业批量删除 + * @param ids + * @return + */ + @PostMapping("delete-batch") + public Result deleteBatch( @RequestBody List ids) { + if (CollectionUtils.isNotEmpty(ids)) { + propertyManagementService.deleteBatch(ids); + } return new Result(); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/PropertyManagementService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/PropertyManagementService.java index 301b730072..ccd2b27a38 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/PropertyManagementService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/PropertyManagementService.java @@ -38,7 +38,11 @@ public interface PropertyManagementService { String add(IcPropertyManagementFormDTO formDTO); void update(IcPropertyManagementFormDTO formDTO); - void delete(IcPropertyManagementFormDTO formDTO); + /** + * 物业管理批量删除 + * @param id + */ + void delete(String id); /** * 物业管理-列表查询 @@ -68,4 +72,10 @@ public interface PropertyManagementService { * @param taskId */ void execAsyncExcelImport(Path fileSavePath, String taskId); + + /** + * 物业管理批量删除 + * @param ids + */ + void deleteBatch(List ids); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/PropertyManagementServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/PropertyManagementServiceImpl.java index 77f30363d4..3e34e3c845 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/PropertyManagementServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/PropertyManagementServiceImpl.java @@ -177,19 +177,45 @@ public class PropertyManagementServiceImpl implements PropertyManagementService /** * 单个删除 - * @param formDTO + * @param id */ @Override @Transactional(rollbackFor = Exception.class) - public void delete(IcPropertyManagementFormDTO formDTO) { + public void delete(String id) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(IcNeighborHoodPropertyEntity::getPropertyId,formDTO.getId()); + queryWrapper.eq(IcNeighborHoodPropertyEntity::getPropertyId,id); if (icNeighborHoodPropertyDao.selectCount(queryWrapper) > 0) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"物业存在与小区关联,无法删除","已与小区关联,无法删除"); } - icPropertyManagementDao.deleteById(formDTO.getId()); + icPropertyManagementDao.deleteById(id); } + /** + * 物业管理批量删除 + * @param ids + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteBatch(List ids) { + if (CollectionUtils.isEmpty(ids)) { + return; + } + int failedNum = NumConstant.ZERO; + for (String id : ids) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(IcNeighborHoodPropertyEntity::getPropertyId, id); + if (icNeighborHoodPropertyDao.selectCount(queryWrapper) > 0) { + failedNum += 1; + } else { + icPropertyManagementDao.deleteById(id); + } + } + if (failedNum > NumConstant.ZERO) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "物业存在与小区关联,无法删除", String.format("%s个物业已与小区关联,无法批量删除,请先解除与小区关联关系", failedNum)); + } + } + + /** * 物业管理-列表查询 *