From a365c38268f6857fb48df22c42e993c80da04c75 Mon Sep 17 00:00:00 2001
From: PigBaoBei <2739175034@qq.com>
Date: Tue, 21 Nov 2023 01:47:20 +0800
Subject: [PATCH] =?UTF-8?q?=E6=BB=9E=E7=95=99=E5=A2=9E=E5=8A=A0=E8=AE=A2?=
 =?UTF-8?q?=E5=8D=95=E9=A2=84=E7=BA=A6=E8=A3=85=E8=BD=A6=E7=8A=B6=E6=80=81?=
 =?UTF-8?q?=E7=BB=B4=E6=8A=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../service/IDistributionAsyncService.java    |  4 ++--
 .../impl/DistributionAsyncServiceImpl.java    | 22 ++++++++++++++-----
 .../DistributionDeliveryListServiceImpl.java  |  1 +
 .../WarehouseRetentionRecordServiceImpl.java  |  5 ++---
 4 files changed, 22 insertions(+), 10 deletions(-)

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 e2fbe3ee7..951e19b35 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
@@ -206,10 +206,10 @@ public interface IDistributionAsyncService {
 	void checkOrderLoadingStatus(Long packageId);
 
 	/**
-	 * 维护包件、订单预约状态
+	 * 维护订单预约、装车状态
 	 * @param parcelListEntity
 	 */
-    void checkReservationStatusByPackage(DistributionParcelListEntity parcelListEntity);
+    void checkReservationStatusAndLoadingStatusByPackage(DistributionParcelListEntity parcelListEntity);
 
 	/**
 	 * 修改零担备货状态
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 867ee85da..da6100326 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
@@ -886,22 +886,33 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
 	}
 
 	@Override
-	public void checkReservationStatusByPackage(DistributionParcelListEntity parcelListEntity) {
+	public void checkReservationStatusAndLoadingStatusByPackage(DistributionParcelListEntity parcelListEntity) {
 		List<DistributionParcelListEntity> parcelListEntities = distributionParcelListService.list(Wrappers.<DistributionParcelListEntity>query().lambda()
 			.eq(DistributionParcelListEntity::getStockArticleId, parcelListEntity.getStockArticleId()));
 		DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(parcelListEntity.getStockArticleId());
-		boolean flag = parcelListEntities.stream().allMatch(p -> p.getOrderPackageReservationStatus().equals(OrderPackageReservationStatusConstant.yiyueyue.getValue()));
-		if (flag) {
+		boolean reservationStatusFlag = parcelListEntities.stream().allMatch(p -> p.getOrderPackageReservationStatus().equals(OrderPackageReservationStatusConstant.yiyueyue.getValue()));
+		if (reservationStatusFlag) {
 			stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue());
 		} else {
-			flag = parcelListEntities.stream().allMatch(p -> p.getOrderPackageReservationStatus().equals(OrderPackageReservationStatusConstant.daiyuyue.getValue()));
-			if (flag) {
+			reservationStatusFlag = parcelListEntities.stream().allMatch(p -> p.getOrderPackageReservationStatus().equals(OrderPackageReservationStatusConstant.daiyuyue.getValue()));
+			if (reservationStatusFlag) {
 				stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.daiyuyue.getValue());
 			} else {
 				stockArticleEntity.setReservationStatus(OrderReservationStatusConstant.bufenyuyue.getValue());
 
 			}
 		}
+		boolean loadingStatusFlag = parcelListEntities.stream().allMatch(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.yizhuangche.getValue()));
+		if (loadingStatusFlag) {
+			stockArticleEntity.setOrderStatus(OrderStatusConstant.chuku.getValue());
+		} else {
+			loadingStatusFlag = parcelListEntities.stream().allMatch(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue()));
+			if (loadingStatusFlag) {
+				stockArticleEntity.setOrderStatus(OrderStatusConstant.ruku.getValue());
+			} else {
+				stockArticleEntity.setOrderStatus(OrderStatusConstant.bufenchuku.getValue());
+			}
+		}
 		distributionStockArticleService.updateById(stockArticleEntity);
 	}
 
@@ -1169,6 +1180,7 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
 					}
 				}
 			}
+
 			//维护预约的预约数量
 			maintenanceReservationPackageNum(reservationId);
 			maintenanceDeliveryPackageNum(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 f67aa8d85..3b7de90d2 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
@@ -5355,6 +5355,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
 				distributionLoadscanService.updateById(loadscanEntity);
 //						对应签收信息的装车数量要进行扣减
 				int a = distributionSignforMapper.deductionLoadingPacjageNum(loadscanEntity.getReservationId(), loadscanEntity.getDeliveryId(), loadscanEntity.getLoadedNub());
+				distributionAsyncService.checkReservationStatusAndLoadingStatusByPackage(parcelListEntity);
 			}
 			//进行了一条包件任务的取消,此时就应该对预约、配送任务进行数量的维护
 			distributionAsyncService.checkRetentionReservationAndDeliveryInfo(reservationId, deliveryId);
diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionRecordServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionRecordServiceImpl.java
index f7bbed1be..c8d44c93d 100644
--- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionRecordServiceImpl.java
+++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionRecordServiceImpl.java
@@ -174,7 +174,8 @@ public class WarehouseRetentionRecordServiceImpl extends BaseServiceImpl<Warehou
 		warehouseRetentionRecordEntity.setRetentionCarId(warehouseRetentionRecordDTO.getLoadingId());
 		warehouseRetentionRecordEntity.setRetentionWarehouseId(myCurrentWarehouse.getId());
 		warehouseRetentionRecordEntity.setRetentionWarehouseName(myCurrentWarehouse.getName());
-		warehouseRetentionRecordEntity.setRetentionType(RetentionTypeConstant.peisongzhiliu.getValue());
+		warehouseRetentionRecordEntity.setAssembleCarPersonId(warehouseRetentionRecordDTO.getAssembleCarPersonId());
+		warehouseRetentionRecordEntity.setAssembleCarPersonName(warehouseRetentionRecordDTO.getAssembleCarPersonName());
 		warehouseRetentionRecordEntity.setRetentionCreateUserId(user.getUserId());
 		warehouseRetentionRecordEntity.setRetentionCreateUserName(user.getUserName());
 		this.save(warehouseRetentionRecordEntity);
@@ -196,7 +197,6 @@ public class WarehouseRetentionRecordServiceImpl extends BaseServiceImpl<Warehou
 				r.setRetentionScanTime(new Date());
 				r.setRetentionScanUserId(user.getUserId());
 				r.setRetentionScanUsername(user.getNickName());
-
 				r.setRetentionQuantity(r.getRetentionQuantity());
 				retentionTotal.getAndAdd(r.getRetentionQuantity());
 				r.setDeliveryId(warehouseRetentionRecordDTO.getDeliveryId());
@@ -234,7 +234,6 @@ public class WarehouseRetentionRecordServiceImpl extends BaseServiceImpl<Warehou
 
 	@Override
 	public List<WarehouseRetentionRecordExcel> exportWarehouseRetentionRecord(Map<String, Object> paramMap) {
-
 		// 获取当前登录的仓库信息
 		BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
 		if (ObjectUtils.isNull(myCurrentWarehouse)) {