同一货主可以在多个仓库进行租赁

This commit is contained in:
zhou-hongcheng
2026-03-02 09:10:20 +08:00
parent 0227379e07
commit 6b3c73f25a
@@ -149,7 +149,7 @@ public class LeaseApplicationService {
leaseDO.setOrganizationName(loginUser.getUserPo().getOrganizationName());
leaseDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());
}
List<Lease> timeOverlapSimple = isTimeOverlapSimple(leaseDO.getCargoOwnerName(), leaseDO.getStartDate(), leaseDO.getEndDate(), null);
List<Lease> 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<Lease> isTimeOverlapSimple(String cargoOwnerName, Date startDate, Date endDate, Long excludeId) {
private List<Lease> isTimeOverlapSimple(String cargoOwnerName, Date startDate, Date endDate, Long excludeId,Long warehouseId) {
LambdaQueryWrapper<Lease> 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<Lease> timeOverlapSimple = isTimeOverlapSimple(leaseDO.getCargoOwnerName(), leaseDO.getStartDate(), leaseDO.getEndDate(), leaseDO.getId());
List<Lease> timeOverlapSimple = isTimeOverlapSimple(leaseDO.getCargoOwnerName(), leaseDO.getStartDate(), leaseDO.getEndDate(), leaseDO.getId(),leaseDO.getWarehouseId());
if (ObjectUtil.isNotEmpty(timeOverlapSimple)) {
throw new ServiceException("同一货主租赁信息时间不能重叠");
}