From e6d4ca1a2415c9ecf11cf6e74ad490e70fa2795e Mon Sep 17 00:00:00 2001
From: kilo <wan.ren@foxmail.com>
Date: Thu, 2 Nov 2023 22:10:54 +0800
Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E9=80=81=E7=AD=BE=E6=94=B6=E8=B0=83?=
 =?UTF-8?q?=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../impl/DistributionAddvalueServiceImpl.java |  2 +-
 .../DistributionDeliveryListServiceImpl.java  | 24 ++++++++++---------
 .../DistributionReservationServiceImpl.java   |  6 +++++
 .../impl/DistributionSignforServiceImpl.java  | 15 ++++++++++++
 4 files changed, 35 insertions(+), 12 deletions(-)

diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueServiceImpl.java
index c94cbc85f..515cd470b 100644
--- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueServiceImpl.java
+++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAddvalueServiceImpl.java
@@ -345,8 +345,8 @@ public class DistributionAddvalueServiceImpl extends BaseServiceImpl<Distributio
 			DistributionAddvalueDetailEntity addvalueDetailEntity = distributionAddvalueDetailService.getOne(Wrappers.<DistributionAddvalueDetailEntity>query().lambda()
 				.eq(DistributionAddvalueDetailEntity::getAddvalueId, distributionAddvalueEntity.getId()));
 			distributionAddvaluePackageMapper.deleteAddvaluePackageList(distributionAppAddvalueDTO.getReservationId(), addvalueDetailEntity.getId());
-			distributionAddvalueDetailMapper.deleteAddvalueDetail(distributionAddvalueEntity.getId());
 			distributionAddvalueMapper.deleteAddvalue(distributionAppAddvalueDTO.getReservationId(), distributionAppAddvalueDTO.getAddvalueType());
+			distributionAddvalueDetailMapper.deleteAddvalueDetail(distributionAddvalueEntity.getId());
 			return Resp.scanSuccess("操作成功","操作成功");
 		}
 		switch (distributionAppAddvalueDTO.getAddvalueType()) {
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 7b823d5c4..21a66eb65 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
@@ -50,6 +50,7 @@ import com.logpm.warehouse.vo.TrayTypeDataVO;
 import lombok.AllArgsConstructor;
 import lombok.extern.log4j.Log4j2;
 import org.apache.commons.lang.StringUtils;
+import org.apache.ibatis.scripting.xmltags.ForEachSqlNode;
 import org.jetbrains.annotations.NotNull;
 import org.springblade.common.constant.DistributionTypeConstant;
 import org.springblade.common.constant.Inventory.InventoryLoadingStatusConstant;
@@ -1268,6 +1269,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
 				case "0":
 					//订制品
 					v.forEach(ord -> {
+
 						List<DistributionParcelListEntity> parcelListEntities = distributionReservationMapper.selectPackageByReservationAndStockArticle(distrilbutionloadingscanDTO.getReservationId(), ord.getStockArticleId());
 						for (DistributionParcelListEntity parcelListEntity : parcelListEntities) {
 							DistributionLoadscanEntity loadscanEntity = new DistributionLoadscanEntity();
@@ -1313,15 +1315,15 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
 							if (Func.isNotEmpty(distrilbutionloadingscanDTO.getDeliveryId())) {
 								loadscanEntity.setDeliveryId(distrilbutionloadingscanDTO.getDeliveryId());
 							}
-							parcelListEntity.setOrderPackageLoadingStatus(OrderPackageLoadingStatusConstant.yizhuangche.getValue());
-							distributionParcelListService.updateById(parcelListEntity);
+//							parcelListEntity.setOrderPackageLoadingStatus(OrderPackageLoadingStatusConstant.yizhuangche.getValue());
+//							distributionParcelListService.updateById(parcelListEntity);
 							distributionLoadscanService.save(loadscanEntity);
 							Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId());
 
 							Integer j = distributionSignforMapper.updateloadByReservationId(loadscanEntity.getDeliveryId(), loadscanEntity.getReservationId(), loadscanEntity.getPackageNub());
 							warehouseUpdownTypeClient.downPackage(parcelListEntity.getOrderPackageCode(), myCurrentWarehouse.getId());
 							//异步修改包件状态
-							distributionAsyncService.changeMarketDeliveryListStatus(loadscanEntity.getOrderPackageCode(), loadscanEntity.getDeliveryId());
+//							distributionAsyncService.changeMarketDeliveryListStatus(loadscanEntity.getOrderPackageCode(), loadscanEntity.getDeliveryId());
 						}
 					});
 					break;
@@ -1442,7 +1444,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
 										signforEntity.setLoadedNumber(loadedNumber.subtract(packageLoadingNub).add(reservationNum).intValue());
 										distributionSignforService.updateById(signforEntity);
 										//异步修改包件状态
-										distributionAsyncService.checkZeroStockArticleLoadingStatus(parcelNumberEntity);
+//										distributionAsyncService.checkZeroStockArticleLoadingStatus(parcelNumberEntity);
 									}
 								}
 							}
@@ -1511,7 +1513,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
 					Integer j = distributionSignforMapper.updateloadByinvn(loadscaninvnEntity.getDeliveryId(), loadscaninvnEntity.getReservationId(), loadscaninvnEntity.getPackageNub());
 //						warehouseUpdownTypeClient.downStock()
 					//异步修改包件状态   //对于存在库存品的这里还需要将库存品从对应的信息中进行扣除
-					distributionAsyncService.changeMarketDeliveryListStatus(loadscaninvnEntity.getOrderPackageCode(), loadscaninvnEntity.getDeliveryId());
+//					distributionAsyncService.changeMarketDeliveryListStatus(loadscaninvnEntity.getOrderPackageCode(), loadscaninvnEntity.getDeliveryId());
 					DistributionStockListEntity stockListEntity = distributionStockListMapper.selectOne(Wrappers.<DistributionStockListEntity>query().lambda().eq(DistributionStockListEntity::getId, loadscaninvnEntity.getInventoryId()));
 					stockListEntity.setQuantityStock(stockListEntity.getQuantityStock() - loadscaninvnEntity.getPackageNub());
 					stockListEntity.setQuantityOccupied(stockListEntity.getQuantityOccupied() - loadscaninvnEntity.getPackageNub());
@@ -1520,7 +1522,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
 				}
 			}
 		}
-		return R.success("成功");
+		return Resp.scanSuccess("操作成功","装车成功");
 	}
 
 
@@ -2445,7 +2447,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
 			List<DistributionLoadscanEntity> loadscanEntityList = new ArrayList<>();
 			List<WarehouseTrayGoodsEntity> trayList = new ArrayList<>();
 			for (DistributionReservationStockarticleEntity reservationStockarticleEntity : reservationStockarticleEntityList) {
-				if (reservationStockarticleEntity.equals(IsOrNoConstant.no.getValue())){
+				if (reservationStockarticleEntity.getIsZero().equals(IsOrNoConstant.no.getValue())){
 					//查询订制品备货数量
 					List<DistributionStockEntity> packageListStockUpScan = distributionStockMapper.selectList(Wrappers.<DistributionStockEntity>query().lambda()
 						.eq(DistributionStockEntity::getType, 1)
@@ -2475,7 +2477,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
 						loadscanEntityList.addAll(packageListLoadingScan);
 					}
 
-				}else if (reservationStockarticleEntity.equals(IsOrNoConstant.yes.getValue())){
+				}else if (reservationStockarticleEntity.getIsZero().equals(IsOrNoConstant.yes.getValue())){
 					//查询零担备货数量
 					List<DistributionStockEntity> zeroPackageListStockUpScan = distributionStockMapper.selectList(Wrappers.<DistributionStockEntity>query().lambda()
 						.eq(DistributionStockEntity::getType, 2)
@@ -2507,9 +2509,9 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
 			}else {
 				distributionAppReservationVO.setIsstock("否");
 			}
-			int packageListScanNum = loadscanEntityList.stream().mapToInt(DistributionLoadscanEntity::getLoadedNub).sum();
-			long inventoryListScanNum = stockListDetailEntityList.stream().filter(i -> Func.isNotEmpty(i.getStockPackageCode()) && i.getStockLockingStatus().equals(InventoryLoadingStatusConstant.yizhuangche.getValue())).count();
-
+			Integer packageListScanNum = loadscanEntityList.stream().mapToInt(DistributionLoadscanEntity::getLoadedNub).sum();
+			Long inventoryListScanNum = stockListDetailEntityList.stream().filter(i -> Func.isNotEmpty(i.getStockPackageCode()) && i.getStockLockingStatus().equals(InventoryLoadingStatusConstant.yizhuangche.getValue())).count();
+			distributionAppReservationVO.setLoadingNub(packageListScanNum + inventoryListScanNum.intValue());
 			if (packageListScanNum +  inventoryListScanNum ==distributionAppReservationVO.getReservationNum() ) {
 				distributionAppReservationVO.setIsload("是");
 			} else {
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 10953e25f..56c60b3fc 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
@@ -2709,6 +2709,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
 				return R.fail("订单已预约!!!");
 			}
 			stockArticleList.forEach(s -> {
+				if (Func.isNotEmpty(s.getAllocation())){
+					s.setAllocation(null);
+				}
 				DistributionStockArticleDTO stockArticleDTO = Func.copy(s, DistributionStockArticleDTO.class);
 				if (s.getIsZero().equals("0")) {
 					WayBillEntity wayBillEntity = wayBillClient.getByWaybillNo(s.getWaybillNumber());
@@ -2786,6 +2789,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
 						});
 						s.setReservationStatus(OrderReservationStatusConstant.yiyueyue.getValue());
 						s.setAvailableQuantity(0);
+						if (Func.isNotEmpty(s.getAllocation())){
+							s.setAllocation(null);
+						}
 						distributionStockArticleService.updateById(s);
 
 					} else {
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 eebc5ea33..df8280f52 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
@@ -765,6 +765,21 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
 		//查询客户
 		List<DistributionAppSignforVO> customList = baseMapper.selectAppcustomListPage(page, distributionDeliveryList.getId());
 		for (DistributionAppSignforVO distributionAppReservationVO : customList) {
+			//查询装车数量
+			List<DistributionLoadscanEntity> packageScanList = distributionLoadscanService.list(Wrappers.<DistributionLoadscanEntity>query().lambda()
+				.eq(DistributionLoadscanEntity::getReservationId, distributionAppReservationVO.getId())
+				.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()));
+			AtomicInteger loadingNum = new AtomicInteger();
+			List<DistributionLoadscaninvnEntity> inventoryScanList = distributionLoadscaninvnService.list(Wrappers.<DistributionLoadscaninvnEntity>query().lambda()
+				.eq(DistributionLoadscaninvnEntity::getReservationId, distributionAppReservationVO.getId())
+				.ne(DistributionLoadscaninvnEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()));
+			if (Func.isNotEmpty(packageScanList)){
+				loadingNum.getAndAdd(packageScanList.stream().mapToInt(DistributionLoadscanEntity::getLoadedNub).sum());
+			}
+			if (Func.isNotEmpty(inventoryScanList)){
+				loadingNum.getAndAdd(inventoryScanList.stream().mapToInt(DistributionLoadscaninvnEntity::getLoadedNub).sum());
+			}
+			distributionAppReservationVO.setLoadedNumber(loadingNum.get());
 			//查询配送状态
 			distributionAppReservationVO.setDeliveryStatus("配送中");
 			if (distributionAppReservationVO.getDriverSigning().equals("2") || distributionAppReservationVO.getSigningStatus().equals("2")) {