From a382fedba62fa46b3d73c2e988fa6908412a99c9 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期四, 27 三月 2025 14:44:47 +0800 Subject: [PATCH] bug修改 --- medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitRouteServiceImpl.java | 19 +++++++++++++++++++ 1 files changed, 19 insertions(+), 0 deletions(-) diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitRouteServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitRouteServiceImpl.java index d5327f9..d3a84e4 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitRouteServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwTransitRouteServiceImpl.java @@ -5,11 +5,14 @@ import com.sinata.common.entity.PageDTO; import com.sinata.common.exception.ServiceException; import com.sinata.common.utils.BeanUtils; +import com.sinata.common.utils.CollUtils; import com.sinata.common.utils.StringUtils; import com.sinata.system.domain.MwTransitRoute; import com.sinata.system.domain.MwTransitRouteCar; import com.sinata.system.domain.MwTransitRoutePoints; +import com.sinata.system.domain.SysDepartment; import com.sinata.system.domain.dto.MwTransitRouteDTO; +import com.sinata.system.domain.dto.MwTransitRoutePointsDTO; import com.sinata.system.domain.query.MwTransitRouteQuery; import com.sinata.system.domain.vo.MwTransitRouteVO; import com.sinata.system.mapper.MwTransitRouteMapper; @@ -83,6 +86,8 @@ @Override @Transactional(rollbackFor = Exception.class) public void add(MwTransitRouteDTO dto) { + //校验医院是否有关联线路 + validateHospitalUnique(dto); MwTransitRoute mwTransitRoute = BeanUtils.copyBean(dto, MwTransitRoute.class); mwTransitRoute.setHospitalQuantity(dto.getHostpitalList().size()); save(mwTransitRoute); @@ -100,6 +105,19 @@ mwTransitRouteCarService.saveBatch(mwTransitRouteCars); } + private void validateHospitalUnique(MwTransitRouteDTO dto) { + //医院id列表 + List<Long> departmentIdList = dto.getHostpitalList().stream().map(MwTransitRoutePointsDTO::getDepartmentId).collect(Collectors.toList()); + List<MwTransitRoutePoints> list = mwTransitRoutePointsService.lambdaQuery() + .in(MwTransitRoutePoints::getDepartmentId, departmentIdList) + .ne(Objects.nonNull(dto.getId()), MwTransitRoutePoints::getRouteId, dto.getId()) + .list(); + if (CollUtils.isNotEmpty(list)) { + SysDepartment department = sysDepartmentService.getById(list.get(0).getDepartmentId()); + throw new ServiceException(department.getDepartmentName() + "已关联转运线路!"); + } + } + /** * 编辑 * @@ -112,6 +130,7 @@ if (Objects.isNull(dto.getId())) { throw new ServiceException("线路id不能为空"); } + validateHospitalUnique(dto); MwTransitRoute mwTransitRoute = BeanUtils.copyBean(dto, MwTransitRoute.class); mwTransitRoute.setHospitalQuantity(dto.getHostpitalList().size()); updateById(mwTransitRoute); -- Gitblit v1.7.1