diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java index 62078a990..1a0c596ca 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java @@ -893,7 +893,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { } //维护预约的预约数量 - maintenanceReservationStatus(reservationId); + maintenanceReservationStatus(reservationId,deliveryId); // maintenanceReservationPackageNum(reservationId); maintenanceDeliveryPackageNum(deliveryId); } @@ -1805,6 +1805,19 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { } } } + private void maintenanceDeliveryStatus(Long deliveryId) { + DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(deliveryId); + if (Func.isNotEmpty(distributionDeliveryListEntity)) { + List distributionReservationEntities = distributionDeliveryListMapper.selectReservationByDeliveryListId(distributionDeliveryListEntity.getId()); + Integer planNum = 0 ; + if (Func.isNotEmpty(distributionReservationEntities)) { + planNum += distributionReservationEntities.stream().mapToInt(DistributionReservationEntity::getReservationNum).sum() + distributionReservationEntities.stream().mapToInt(DistributionReservationEntity::getReservationStockListNum).sum(); + } + if (planNum == 0) { + distributionDeliveryListMapper.deleteById(distributionDeliveryListEntity); + } + } + } /** * 维护预约数量和状态 @@ -1838,7 +1851,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { } } - private void maintenanceReservationStatus(Long reservationId) { + private void maintenanceReservationStatus(Long reservationId,Long deliveryId) { DistributionReservationEntity distributionReservationEntity = distributionReservationMapper.selectById(reservationId); if (Func.isNotEmpty(distributionReservationEntity)) { List distributionReservationStockarticleEntities = distributionReservationMapper.selectStockArticleByReservationId(distributionReservationEntity.getId()); @@ -1857,6 +1870,8 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { distributionReservationEntity.setCancelReason("无计划数据,系统取消"); distributionReservationEntity.setReservationStatus(ReservationStatusConstant.yiquexiao.getValue()); distributionReservationMapper.updateById(distributionReservationEntity); + //删除签收表数据 + distributionSignforMapper.deleteByReservationAndDeliveryId(reservationId,deliveryId); } } }