diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/Lease/LeaseApplicationService.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/Lease/LeaseApplicationService.java index 9d08d1ce5..66cf872e0 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/Lease/LeaseApplicationService.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/Lease/LeaseApplicationService.java @@ -149,7 +149,7 @@ public class LeaseApplicationService { leaseDO.setOrganizationName(loginUser.getUserPo().getOrganizationName()); leaseDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); } - List timeOverlapSimple = isTimeOverlapSimple(leaseDO.getCargoOwnerName(), leaseDO.getStartDate(), leaseDO.getEndDate(), null); + List timeOverlapSimple = isTimeOverlapSimple(leaseDO.getCargoOwnerName(), leaseDO.getStartDate(), leaseDO.getEndDate(), null,leaseDO.getWarehouseId()); if (ObjectUtil.isNotEmpty(timeOverlapSimple)) { throw new ServiceException("同一货主租赁信息时间不能重叠"); } @@ -166,12 +166,13 @@ public class LeaseApplicationService { leaseDO.setWarehouseName(warehouseFeignPO.getWarehouseName()); } - private List isTimeOverlapSimple(String cargoOwnerName, Date startDate, Date endDate, Long excludeId) { + private List isTimeOverlapSimple(String cargoOwnerName, Date startDate, Date endDate, Long excludeId,Long warehouseId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(Lease::getCargoOwnerName, cargoOwnerName) .eq(Lease::getDelFlag, 1) // 只查询正常状态 .le(Lease::getStartDate, endDate) - .ge(Lease::getEndDate, startDate); + .ge(Lease::getEndDate, startDate) + .eq(Lease::getWarehouseId, warehouseId); if (excludeId != null) { wrapper.ne(Lease::getId, excludeId); } @@ -182,7 +183,7 @@ public class LeaseApplicationService { * 修改租赁管理 */ public Boolean update(LeaseDO leaseDO) { - List timeOverlapSimple = isTimeOverlapSimple(leaseDO.getCargoOwnerName(), leaseDO.getStartDate(), leaseDO.getEndDate(), leaseDO.getId()); + List timeOverlapSimple = isTimeOverlapSimple(leaseDO.getCargoOwnerName(), leaseDO.getStartDate(), leaseDO.getEndDate(), leaseDO.getId(),leaseDO.getWarehouseId()); if (ObjectUtil.isNotEmpty(timeOverlapSimple)) { throw new ServiceException("同一货主租赁信息时间不能重叠"); }