diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java index f25c8eee1..d71018b78 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java @@ -134,4 +134,10 @@ public interface DistributionParcelListMapper extends BaseMapper packageIds); + + /** + * 批量修改包件装车和签收状态 + * @param packageIds + */ + void updateLoadingAndSigningByIds(@Param("packageIds")List packageIds); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml index d27b9d7a2..61c46e757 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml @@ -880,6 +880,12 @@ #{item} + + UPDATE logpm_distribution_parcel_list SET order_package_loading_status = 20 and order_package_status = 70 WHERE id IN + + #{item} + + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java index d093ac3bd..e5a8ab7c6 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionAsyncService.java @@ -264,4 +264,11 @@ public interface IDistributionAsyncService { * @param updatePackageList */ void updatepackageListLoadingStatus(List updatePackageList,Long warehouseId); + + /** + * 处理包件一键签收状态 + * @param packageIds + * @param id + */ + void handlPakcage(List packageIds, Long id); } 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 056c407c8..597d4b625 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 @@ -54,6 +54,7 @@ import java.util.Objects; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; +import java.util.function.Function; import java.util.stream.Collectors; @@ -1357,6 +1358,31 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { // 进行批量下架 } + @Override + public void handlPakcage(List packageIds, Long id) { + List distributionParcelListEntities = distributionParcelListService.listByIds(packageIds); + if (Func.isNotEmpty(distributionParcelListEntities)){ + //进行批量修改 + distributionParcelListMapper.updateLoadingAndSigningByIds(packageIds); + String orderPackCode = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getOrderPackageCode).collect(Collectors.joining(",")); + warehouseUpdownTypeClient.downPackageOrDelTray(orderPackCode,id); + + Map> orderPackageMap = distributionParcelListEntities.stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getStockArticleId)); + orderPackageMap.forEach((k,v)->{ + DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(k); + Integer signNum = distributionLoadscanMapper.selectOrderSignNum(k); + if (signNum.equals(stockArticleEntity.getHandQuantity())){ + stockArticleEntity.setOrderStatus(OrderStatusConstant.qianshou.getValue()); + }else { + stockArticleEntity.setOrderStatus(OrderStatusConstant.bufenchuku.getValue()); + } + distributionStockArticleService.updateById(stockArticleEntity); + }); + } + + + } + /** * 维护配送数量和状态 * 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 3feddf94c..117b52fc0 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 @@ -2231,6 +2231,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl packageIds = new ArrayList<>(); if (Func.isNotEmpty(parcelListEntityList)) { for (DistributionParcelListEntity parcelListEntity : parcelListEntityList) { //查询是否进行装车 @@ -2326,8 +2328,10 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl