From a17145c35df80266a71368ab8eb5fa01d6f2b565 Mon Sep 17 00:00:00 2001
From: youjie <272855983@qq.com>
Date: Sun, 27 Nov 2022 11:03:30 +0800
Subject: [PATCH] 完善出库任务接口

---
 jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java |  4 ++--
 jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java                       | 15 +++++++++++++++
 2 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java
index 8f625b3..b614a26 100644
--- a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java
+++ b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java
@@ -284,9 +284,9 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi
         if(shipmentDetailTaskQty.compareTo(shipmentDetailQty) > 0) {
             return Result.error("配盘时, 出库详情的任务数量不能超过单据数量");
         } else if(inventoryDetailTaskQty.compareTo(inventoryDetailQty) == 0) {
-            shipmentDetail.setStatus(QuantityConstant.SHIPMENT_HEADER_COMPLETED);
+            shipmentDetail.setStatus(QuantityConstant.SHIPMENT_HEADER_WAITING_OFF_SHELF);
         } else if(inventoryDetailTaskQty.compareTo(inventoryDetailQty) < 0) {
-            shipmentDetail.setStatus(QuantityConstant.SHIPMENT_HEADER_OFF_SHELF);
+            shipmentDetail.setStatus(QuantityConstant.SHIPMENT_HEADER_WAITING_OFF_SHELF);
         }
         shipmentDetail.setTaskQty(shipmentDetailTaskQty);
         success = shipmentDetailService.updateById(shipmentDetail);
diff --git a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java
index e7bd245..488feed 100644
--- a/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java
+++ b/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java
@@ -26,6 +26,8 @@ import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentCon
 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerHeader;
 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.service.IShipmentContainerDetailService;
 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.service.IShipmentContainerHeaderService;
+import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentDetail;
+import org.jeecg.modules.wms.shipment.shipmentHeader.service.IShipmentDetailService;
 import org.jeecg.modules.wms.shipment.shipmentHeader.service.IShipmentHeaderService;
 import org.jeecg.modules.wms.task.taskHeader.entity.TaskDetail;
 import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader;
@@ -89,6 +91,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
 	@Resource
 	private IShipmentHeaderService shipmentHeaderService;
 	@Resource
+	private IShipmentDetailService shipmentDetailService;
+	@Resource
 	private IMaterialService materialService;
 	@Resource
 	private WcsService wcsService;
@@ -624,6 +628,17 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
 			if(shipmentContainerDetail == null) {
 				throw new ServiceException("完成出库任务, 出库任务没有找到出库组盘详情" + taskDetail.getShipmentContainerDetailId());
 			}
+			ShipmentDetail shipmentDetail = shipmentDetailService.getById(taskDetail.getShipmentDetailId());
+			if(shipmentDetail == null) {
+				throw new ServiceException("完成出库任务, 出库任务没有找到出库详情" + taskDetail.getShipmentDetailId());
+			}
+			if(shipmentDetail.getQty().compareTo(shipmentDetail.getTaskQty()) == 0) {
+				shipmentDetail.setStatus(QuantityConstant.SHIPMENT_HEADER_COMPLETED);
+			} else if(shipmentDetail.getQty().compareTo(shipmentDetail.getTaskQty()) > 0) {
+				shipmentDetail.setStatus(QuantityConstant.SHIPMENT_HEADER_OFF_SHELF);
+			} else if(shipmentDetail.getQty().compareTo(shipmentDetail.getTaskQty()) < 0) {
+				throw new ServiceException("完成出库任务时, 出库单 单据数量不能小于配盘数量");
+			}
 			InventoryDetail inventoryDetail =
 					inventoryDetailService.getById(taskDetail.getFromInventoryDetailId());
 			if(inventoryDetail == null) {
--
libgit2 0.22.2