From fe97f723660a5d353def77afed80c6405ea57275 Mon Sep 17 00:00:00 2001 From: lty <1179749281@qq.com> Date: Fri, 24 Feb 2023 13:54:44 +0800 Subject: [PATCH] 批量新增 减少查询 --- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryTransaction/service/IInventoryTransactionService.java | 4 ++++ huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryTransaction/service/impl/InventoryTransactionServiceImpl.java | 6 ++++++ huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/IReceiptDetailService.java | 2 ++ huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptDetailServiceImpl.java | 5 +++++ huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/IShipmentDetailService.java | 2 ++ huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentDetailServiceImpl.java | 5 +++++ huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java | 42 +++++++++++++++++++++++++++++++++++++----- 7 files changed, 61 insertions(+), 5 deletions(-) diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryTransaction/service/IInventoryTransactionService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryTransaction/service/IInventoryTransactionService.java index bc1ecb8..dfa1175 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryTransaction/service/IInventoryTransactionService.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryTransaction/service/IInventoryTransactionService.java @@ -3,6 +3,8 @@ package org.jeecg.modules.wms.inventory.inventoryTransaction.service; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.wms.inventory.inventoryTransaction.entity.InventoryTransaction; +import java.util.List; + /** * @Description: 库存交易记录 * @Author: jeecg-boot @@ -11,4 +13,6 @@ import org.jeecg.modules.wms.inventory.inventoryTransaction.entity.InventoryTran */ public interface IInventoryTransactionService extends IService<InventoryTransaction> { + boolean batchSave(List<InventoryTransaction> inventoryTransactionList); + } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryTransaction/service/impl/InventoryTransactionServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryTransaction/service/impl/InventoryTransactionServiceImpl.java index cf1a36a..f4e0f28 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryTransaction/service/impl/InventoryTransactionServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryTransaction/service/impl/InventoryTransactionServiceImpl.java @@ -7,6 +7,8 @@ import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.List; + /** * @Description: 库存交易记录 * @Author: jeecg-boot @@ -16,4 +18,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @Service public class InventoryTransactionServiceImpl extends ServiceImpl<InventoryTransactionMapper, InventoryTransaction> implements IInventoryTransactionService { + @Override + public boolean batchSave(List<InventoryTransaction> inventoryTransactionList) { + return this.saveBatch(inventoryTransactionList); + } } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/IReceiptDetailService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/IReceiptDetailService.java index ba908fd..81d025c 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/IReceiptDetailService.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/IReceiptDetailService.java @@ -18,4 +18,6 @@ public interface IReceiptDetailService extends IService<ReceiptDetail> { public List<ReceiptDetail> selectByMainId(String mainId); public Result saveReceiptDetail(ReceiptDetail receiptDetail); + + boolean batchSave(List<ReceiptDetail> receiptDetailList); } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptDetailServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptDetailServiceImpl.java index 71c442f..8111c47 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptDetailServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptDetailServiceImpl.java @@ -81,4 +81,9 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R } return Result.OK("添加成功!"); } + + @Override + public boolean batchSave(List<ReceiptDetail> receiptDetailList) { + return this.saveBatch(receiptDetailList); + } } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/IShipmentDetailService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/IShipmentDetailService.java index ab91751..19152cb 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/IShipmentDetailService.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/IShipmentDetailService.java @@ -20,4 +20,6 @@ public interface IShipmentDetailService extends IService<ShipmentDetail> { public Result saveShipmentDetail(ShipmentDetail shipmentDetail); public List<ShipmentDetail> getShipmentDetailListByShipmentId(Integer id); + + boolean batchSave(List<ShipmentDetail> shipmentDetailList); } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentDetailServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentDetailServiceImpl.java index c289400..64a70ac 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentDetailServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentDetailServiceImpl.java @@ -94,4 +94,9 @@ public class ShipmentDetailServiceImpl extends ServiceImpl<ShipmentDetailMapper, List<ShipmentDetail> shipmentDetailList = shipmentDetailService.list(shipmentDetailLambdaQueryWrapper); return shipmentDetailList; } + + @Override + public boolean batchSave(List<ShipmentDetail> shipmentDetailList) { + return this.saveBatch(shipmentDetailList); + } } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java index fb9311c..d201453 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java @@ -1561,6 +1561,15 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea String warehousingOrderCode=null; + + + + + + List<ShipmentDetail> shipmentDetailList = new ArrayList<>(); + List<ReceiptDetail> receiptDetailList=new ArrayList<>(); + List<InventoryTransaction> inventoryTransactionList=new ArrayList<>(); + //筛选明细 for (CycleCountDetailChild child : children) { if (!child.getChildStatus().equals(QuantityConstant.CYCLECOUNT_STATUS_REGISTERED)) @@ -1569,6 +1578,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea } + + //如果是有库存明细的 if (child.getInventoryDetaiId()!=null) { InventoryDetail inventoryDetail = inventoryDetailService.getById(child.getInventoryDetaiId()); @@ -1581,6 +1592,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea inventoryDetailService.updateById(inventoryDetail); }else { + //没库存明细就加一个 没库存明细就是盘盈多出来的一种物料 InventoryDetail inventoryDetail=new InventoryDetail(); inventoryDetail.setInventoryHeaderId(inventoryHeader.getId()); inventoryDetail.setWarehouseCode(inventoryHeader.getWarehouseCode()); @@ -1639,7 +1651,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea receiptDetail.setBatch(child.getBatch()); receiptDetail.setLot(child.getLot()); receiptDetail.setStatus(QuantityConstant.RECEIPT_HEADER_COMPLETED); - receiptDetailService.save(receiptDetail); + receiptDetailList.add(receiptDetail); +// receiptDetailService.save(receiptDetail); //增加库存交易记录 InventoryTransaction inventoryTransaction=new InventoryTransaction(); @@ -1658,7 +1671,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea inventoryTransaction.setQty(child.getCountedQty()); inventoryTransaction.setBatch(child.getBatch()); inventoryTransaction.setLot(child.getLot()); - inventoryTransactionService.save(inventoryTransaction); + inventoryTransactionList.add(inventoryTransaction); +// inventoryTransactionService.save(inventoryTransaction); } @@ -1709,7 +1723,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea shipmentDetail.setBatch(child.getBatch()); shipmentDetail.setLot(child.getLot()); shipmentDetail.setStatus(QuantityConstant.RECEIPT_HEADER_COMPLETED); - shipmentDetailService.save(shipmentDetail); + shipmentDetailList.add(shipmentDetail); InventoryTransaction inventoryTransaction=new InventoryTransaction(); inventoryTransaction.setWarehouseCode(taskHeader.getWarehouseCode()); @@ -1727,17 +1741,35 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea inventoryTransaction.setQty(child.getCountedQty()); inventoryTransaction.setBatch(child.getBatch()); inventoryTransaction.setLot(child.getLot()); - inventoryTransactionService.save(inventoryTransaction); + inventoryTransactionList.add(inventoryTransaction); } cycleCountDetailChildService.updateById(child); } - if (inventoryHeader.getTotalQty().compareTo(BigDecimal.ZERO)<1) { inventoryHeaderService.removeById(inventoryHeader); } + + + //保存出库明细 + if (!shipmentDetailService.batchSave(shipmentDetailList)) { + throw new ServiceException("出库明细失败!"); + } + + //保存入库明细 + if (!receiptDetailService.batchSave(receiptDetailList)) { + throw new ServiceException("保存入库明细失败!"); + } + + + //保存交易记录 + if (!inventoryTransactionService.batchSave(inventoryTransactionList)) { + throw new ServiceException("保存库存记录失败!"); + } + + inventoryHeaderService.updateById(inventoryHeader); //4.完成当前任务 -- libgit2 0.22.2