From 051b1936b19ed06092832f78dba80195a425952e Mon Sep 17 00:00:00 2001 From: youjie <272855983@qq.com> Date: Mon, 29 May 2023 16:15:41 +0800 Subject: [PATCH] 出库加入并发控制 --- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java | 2 +- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/IHuahengMultiHandlerService.java | 3 +++ huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/impl/HuahengMultiHandlerServiceImpl.java | 13 +++++++++++++ huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/entity/InventoryHeader.java | 4 ++-- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptDetail.java | 2 +- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/controller/ShipmentCombinationController.java | 2 +- 6 files changed, 21 insertions(+), 5 deletions(-) diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java index 900ced0..ff4f158 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java @@ -223,7 +223,7 @@ public class MesServiceImpl implements IMesService { if (!success) { throw new JeecgBootException("MES下发出库信息,更新出库组盘头失败"); } - Result result = shipmentCombinationService.createShipmentTask(shipmentContainerHeader, warehouseCode, shipmentOrder, sequence, sequenceNumber); + Result result = huahengMultiHandlerService.createShipmentTask(shipmentContainerHeader, warehouseCode, shipmentOrder, sequence, sequenceNumber); if (!result.isSuccess()) { throw new JeecgBootException(result.getMessage()); } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/IHuahengMultiHandlerService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/IHuahengMultiHandlerService.java index a402b51..07fd580 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/IHuahengMultiHandlerService.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/IHuahengMultiHandlerService.java @@ -3,6 +3,7 @@ package org.jeecg.modules.wms.framework.service; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.wms.receipt.receiptContainerHeader.entity.ReceiptContainerHeader; import org.jeecg.modules.wms.shipment.shipmentCombination.entity.CombinationModel; +import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerHeader; import org.jeecg.modules.wms.shipment.shipmentHeader.entity.CombinationParam; import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader; @@ -22,4 +23,6 @@ public interface IHuahengMultiHandlerService { Result cancelCombine(Integer id); Result autoCombination(String shipmentCode, String warehouseCode); + + Result createShipmentTask(ShipmentContainerHeader shipmentContainerHeader, String warehouseCode, long shipmentOrder, int sequence, int sequenceNumber); } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/impl/HuahengMultiHandlerServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/impl/HuahengMultiHandlerServiceImpl.java index bc954de..6b751dc 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/impl/HuahengMultiHandlerServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/framework/service/impl/HuahengMultiHandlerServiceImpl.java @@ -13,6 +13,7 @@ import org.jeecg.modules.wms.receipt.receiptContainerHeader.entity.ReceiptContai import org.jeecg.modules.wms.receipt.receiptContainerHeader.service.IReceiptContainerHeaderService; import org.jeecg.modules.wms.shipment.shipmentCombination.entity.CombinationModel; import org.jeecg.modules.wms.shipment.shipmentCombination.service.IShipmentCombinationService; +import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerHeader; import org.jeecg.modules.wms.shipment.shipmentContainerHeader.service.IShipmentContainerHeaderService; import org.jeecg.modules.wms.shipment.shipmentHeader.entity.CombinationParam; import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentDetail; @@ -129,4 +130,16 @@ public class HuahengMultiHandlerServiceImpl extends HuahengBaseController implem return result; } + @Override + public Result createShipmentTask(ShipmentContainerHeader shipmentContainerHeader, String warehouseCode, long shipmentOrder, int sequence, int sequenceNumber) { + Result result = handleMultiProcess("createShipmentTask", new MultiProcessListener() { + @Override + public Result<?> doProcess() { + Result result = shipmentCombinationService.createShipmentTask(shipmentContainerHeader, warehouseCode, shipmentOrder, sequence, sequenceNumber); + return result; + } + }); + return result; + } + } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/entity/InventoryHeader.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/entity/InventoryHeader.java index c0efc57..a5aa413 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/entity/InventoryHeader.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/entity/InventoryHeader.java @@ -99,8 +99,8 @@ public class InventoryHeader implements Serializable { private Date updateTime; public void setTotalQty(BigDecimal totalQty) { - if (totalQty.compareTo(BigDecimal.ZERO) <= 0) { - throw new JeecgBootException("总数量必须大于0"); + if (totalQty.compareTo(BigDecimal.ZERO) < 0) { + throw new JeecgBootException("总数量必须大于等于0"); } this.totalQty = totalQty; } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptDetail.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptDetail.java index 5a96504..756bb6e 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptDetail.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptDetail.java @@ -134,7 +134,7 @@ public class ReceiptDetail implements Serializable { } public void setTaskQty(BigDecimal taskQty) { - if (qty.compareTo(BigDecimal.ZERO) < 0) { + if (taskQty.compareTo(BigDecimal.ZERO) < 0) { throw new JeecgBootException("已收数量必须大于等于0"); } this.taskQty = taskQty; diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/controller/ShipmentCombinationController.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/controller/ShipmentCombinationController.java index 29e2fd8..a3235d0 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/controller/ShipmentCombinationController.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/controller/ShipmentCombinationController.java @@ -112,7 +112,7 @@ public class ShipmentCombinationController { @ResponseBody public Result createShipmentTask(@RequestBody ShipmentContainerHeader shipmentContainerHeader, HttpServletRequest req) { String warehouseCode = HuahengJwtUtil.getWarehouseCodeByToken(req); - return shipmentCombinationService.createShipmentTask(shipmentContainerHeader, warehouseCode, 0, 0, 0); + return huahengMultiHandlerService.createShipmentTask(shipmentContainerHeader, warehouseCode, 0, 0, 0); } /** -- libgit2 0.22.2