diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionDeliveryListController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionDeliveryListController.java index c22afa381..12c721edf 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionDeliveryListController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionDeliveryListController.java @@ -482,4 +482,21 @@ public class DistributionDeliveryListController extends BladeController { R r = distributionSignforService.signforInPC(distrilbutionloadingscanDTO); return r; } + + + + @PostMapping("/cancelDelivery") + @ApiOperationSupport(order = 2) + @ApiOperation(value = "PC签收包件") + public R cancelDelivery(@Valid @RequestBody DistrilbutionAppsignforDTO distrilbutionloadingscanDTO) { + R r = distributionDeliveryListService.cancelDelivery(distrilbutionloadingscanDTO.getDeliveryId()); + return r; + } + + + + + + + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml index 12c99489b..254ecd992 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml @@ -335,7 +335,7 @@ LEFT JOIN logpm_distribution_stock_list ldsl ON ldrs.stocklist_id = ldsl.id WHERE ldrs.reservation_id = #{reservationId} - AND ldsl.mall_name = #{mallName} + AND ldsl.market_name = #{mallName} group by ldsl.cargo_number ) t LEFT JOIN logpm_distribution_stock_list ldslNew ON t.cargo_number = ldslNew.cargo_number diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.java index 23c2ea57d..37e274f25 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.java @@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.logpm.distribution.dto.DistributionSignforDTO; import com.logpm.distribution.dto.app.DistributionAppDeliveryListDTO; import com.logpm.distribution.entity.DistributionParcelListEntity; +import com.logpm.distribution.entity.DistributionReservationEntity; import com.logpm.distribution.entity.DistributionSignforEntity; import com.logpm.distribution.excel.DistributionSignforExcel; import com.logpm.distribution.vo.*; @@ -313,4 +314,10 @@ public interface DistributionSignforMapper extends BaseMapper signingPackageDetail(@Param("reservationId") Long reservationId); + + /** + * 查询配送单关联预约 + * @param deliveryId + */ + List selectReservationByDeliveryId(Long deliveryId); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml index 8907b947f..032563948 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionSignforMapper.xml @@ -1279,4 +1279,7 @@ ldr.id = #{reservationId} + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java index bd8587232..0a7ae5613 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java @@ -25,6 +25,7 @@ import com.logpm.distribution.dto.DistributionDeliveryListDTO; import com.logpm.distribution.dto.app.DistributionAppDeliveryListDTO; import com.logpm.distribution.dto.app.DistrilbutionloadingscanDTO; import com.logpm.distribution.entity.DistributionDeliveryListEntity; +import com.logpm.distribution.entity.DistributionLoadscanEntity; import com.logpm.distribution.entity.DistributionParcelListEntity; import com.logpm.distribution.excel.DistributionDeliveryListExcel; import com.logpm.distribution.vo.*; @@ -405,6 +406,19 @@ public interface IDistributionDeliveryListService extends BaseService selectAbnormalLoadingBydeliveryId(Long deliveryId); + /** * 查询签收预约客户包件信息 diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java index 3b69adcec..75ee5e378 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java @@ -22,6 +22,7 @@ import com.logpm.distribution.dto.DistributionAddvalueDTO; import com.logpm.distribution.dto.DistributionSignforDTO; import com.logpm.distribution.dto.DistrilbutionAppsignforDTO; import com.logpm.distribution.dto.app.DistributionAppDeliveryListDTO; +import com.logpm.distribution.entity.DistributionReservationEntity; import com.logpm.distribution.entity.DistributionSignPrintEntity; import com.logpm.distribution.entity.DistributionSignforEntity; import com.logpm.distribution.excel.DistributionSignforExcel; @@ -275,4 +276,11 @@ public interface IDistributionSignforService extends BaseService selectReservationByDeliveryId(Long deliveryId); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java index 8a8f552ad..23d1d944b 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java @@ -6758,6 +6758,51 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl reservationEntities = distributionSignforService.selectReservationByDeliveryId(deliveryId); + if (Func.isEmpty(reservationEntities)){ + log.info(method + "预约查询失败:{}", deliveryId); + throw new RuntimeException("服务器正忙!!!"); + } + String reservationCodes = reservationEntities.stream().filter(f -> !f.getLoadingStatus().equals(ReservationLoadingStatusConstant.daizhuangche.getValue())).map(DistributionReservationEntity::getReservationCode).collect(Collectors.joining(",")); + if (Func.isNotEmpty(reservationCodes)){ + log.info(method + "存在装车数据:{}", deliveryId); + return R.fail(reservationCodes+"存在装车数据!!!"); + } + //该配送是否存在异常装车或者异常签收数据 + List loadscanEntityList = distributionDeliveryListService.selectAbnormalLoadingBydeliveryId(deliveryId); + if (Func.isNotEmpty(loadscanEntityList)){ + log.info(method + "存在异常装车数据:{}", deliveryId); + return R.fail(reservationCodes+"存在异常装车、签收包条!!!"); + } + boolean flag = false; + for (DistributionReservationEntity reservationEntity : reservationEntities) { + DistributionReservationDTO reservationDTO = Func.copy(reservationEntity, DistributionReservationDTO.class); + flag = distributionReservationService.cancelReservation(reservationDTO); + if (!flag){ + log.info(method + "取消预约失败:{}", deliveryId); + throw new RuntimeException("取消配送计划失败,请联系管理员"); + } + } + return R.status(flag); + } + + @Override + public List selectAbnormalLoadingBydeliveryId(Long deliveryId) { + return distributionLoadscanService.list(Wrappers.query().lambda() + .eq(DistributionLoadscanEntity::getDeliveryId,deliveryId) + .eq(DistributionLoadscanEntity::getScanStatus,LoadingStatusConstant.quxiao.getValue()) + .eq(DistributionLoadscanEntity::getIsAbnormalLoading,2) + ); + } + @Override @Transactional public void maintenanceDeliveryInfo(Long deliveryId) { diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java index 4e07e32a5..24746dfcf 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java @@ -490,7 +490,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl selectReservationByDeliveryId(Long deliveryId) { + + return baseMapper.selectReservationByDeliveryId(deliveryId); + } + private boolean judgmentSignIsHavePackage(Long reservationId) { boolean flag = false; List distributionParcelListEntities = distributionReservationMapper.selectPackageListByReservationId(reservationId); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java index d55d33684..13bc31eb2 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java @@ -1159,7 +1159,6 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl