diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml index 9bd8b0a27..f9fbb9d12 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml @@ -206,10 +206,12 @@ lddl.id = lds.delivery_id ) signingNumber, GROUP_CONCAT(DISTINCT ldr.consignee SEPARATOR ',') clineName, - GROUP_CONCAT(DISTINCT ldr.mall_name SEPARATOR ',') mallName + GROUP_CONCAT(DISTINCT ldr.mall_name SEPARATOR ',') mallName, + (SELECT group_concat( DISTINCT ldsa.order_code SEPARATOR ',' ) FROM logpm_distribution_delivery_list lddll LEFT JOIN logpm_distribution_signfor lds ON lddll.id = lds.delivery_id LEFT JOIN logpm_distribution_reservation_stockarticle AS ldrs ON lds.reservation_id = ldrs.reservation_id AND ldrs.stock_article_status != 2 LEFT JOIN logpm_distribution_stock_article AS ldsa ON ldrs.stock_article_id = ldsa.id WHERE lddll.id = lddl.id GROUP BY lddl.id ) AS orderCode FROM logpm_distribution_delivery_list lddl left JOIN logpm_distribution_signfor lds on lddl.id = lds.delivery_id LEFT JOIN logpm_distribution_reservation ldr on ldr.id = lds.reservation_id + LEFT JOIN (SELECT lddl.id,ldsa.order_code FROM logpm_distribution_delivery_list lddl LEFT JOIN logpm_distribution_signfor lds ON lddl.id = lds.delivery_id LEFT JOIN logpm_distribution_reservation_stockarticle AS ldrs ON lds.reservation_id = ldrs.reservation_id AND ldrs.stock_article_status != 2 LEFT JOIN logpm_distribution_stock_article AS ldsa ON ldrs.stock_article_id = ldsa.id ) AS y ON y.id = lddl.id lddl.is_deleted = 0 AND (IF(lddl.delivery_number is null ,0,lddl.delivery_number) + IF(lddl.inventory_nub is null ,0,lddl.inventory_nub)) > 0 AND (lddl.customers_number > 0 AND ldr.reservation_num + ldr.reservation_stock_list_num) >0 @@ -239,6 +241,9 @@ and lddl.loading_team_name like concat('%',#{param.loadingTeamName},'%') + + and y.order_code like concat('%',#{param.orderCode},'%') + and lddl.kind = #{param.kind} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationStocklistMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationStocklistMapper.java index 87e7de041..2fd00333b 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationStocklistMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationStocklistMapper.java @@ -81,4 +81,13 @@ public interface DistributionReservationStocklistMapper extends BaseMapper selectInventory(@Param("reservationId") Long id); + + /** + * 扣减计划库存品数量 + * @param reservationId + * @param stockListId + * @param num + * @return + */ + int deductionStockListReservationNum(@Param("reservationId") Long reservationId,@Param("stockListId") Long stockListId,@Param("num") Integer num); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationStocklistMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationStocklistMapper.xml index 6968fb003..c80d5e64a 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationStocklistMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationStocklistMapper.xml @@ -22,6 +22,9 @@ + + UPDATE logpm_distribution_reservation_stocklist SET reservation_num = (reservation_num -#{num}) WHERE reservation_id = #{reservationId} AND stocklist_id = #{stockListId} + DELETE FROM logpm_distribution_reservation_stocklist WHERE reservation_id=#{id} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java index d7ef9bf96..92193c5a4 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java @@ -1612,7 +1612,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl packageList = s.getPackageListInfo(); @@ -3140,19 +3138,19 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl list = Func.toLongList(distributionCancelReservationPackageDTO.getPackageIds()); switch (distributionCancelReservationPackageDTO.getType()){ case 1: //取消包件 - if (Func.isEmpty(distributionCancelReservationPackageDTO.getPackageIds())){ - log.error(method+"packageId参数缺失"); - return R.fail("请联系管理员...."); - } String[] split = distributionCancelReservationPackageDTO.getPackageIds().split(","); List distributionParcelListEntities = distributionReservationMapper.selectPackageListByReservationId(distributionCancelReservationPackageDTO.getReservationId()); String orderCodes = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getOrderCode).distinct().collect(Collectors.joining(",")); @@ -3660,16 +3664,35 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl inventoryPackageList = disStockListDetailService.list(Wrappers.query().lambda() + .eq(DisStockListDetailEntity::getReservationId, distributionCancelReservationPackageDTO.getReservationId()) + .in(DisStockListDetailEntity::getId, list) + .ne(DisStockListDetailEntity::getStockPackageStatus, ReservationPackageStatusConstant.quxiao.getValue()) + ); + //取消库存品包件 + for (DisStockListDetailEntity disStockListDetailEntity : inventoryPackageList) { + disStockListDetailEntity.setStockPackageStatus(ReservationPackageStatusConstant.quxiao.getValue()); + disStockListDetailService.updateById(disStockListDetailEntity); + //扣减库存品计划取消数量 + log.info("##############扣减库存品计划数量:{}",disStockListDetailEntity); + int a = distributionReservationStocklistMapper.deductionStockListReservationNum(disStockListDetailEntity.getReservationId(),disStockListDetailEntity.getStockListId(),disStockListDetailEntity.getNum()); + } + //维护对应库存品信息 + distributionReservationStocklistService.maintenanceReservationStockList(distributionCancelReservationPackageDTO.getReservationId()); + break; + } + //维护预约单状态 + this.maintenanceReservationInfo(distributionCancelReservationPackageDTO.getReservationId()); + //维护预约单数量 + this.maintenanceReservationNum(distributionCancelReservationPackageDTO.getReservationId()); + //维护配送任务状态 + distributionDeliveryListService.maintenanceDeliveryInfo(distributionCancelReservationPackageDTO.getDeliveryId()); + //维护配送任务数量 + distributionDeliveryListService.maintenanceDeliveryNum(distributionCancelReservationPackageDTO.getDeliveryId()); return R.status(true); }