From 89b6bfe34b3aa9d4d0a9769f29d9220aef428c8e Mon Sep 17 00:00:00 2001 From: youjie <272855983@qq.com> Date: Thu, 25 Jan 2024 15:57:01 +0800 Subject: [PATCH] 1. 选择的时候 不能合计 2. 入库时,可收数量由后台计算 --- ant-design-vue-jeecg/src/views/system/inventory/SimpleInventoryDetailList.vue | 4 +++- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/SelfCheck.java | 15 ++++++++++----- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiving/service/impl/ReceiveServiceImpl.java | 11 ++++++----- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentContainerAdvice/service/impl/ShipmentContainerAdviceServiceImpl.java | 6 +++++- 4 files changed, 24 insertions(+), 12 deletions(-) diff --git a/ant-design-vue-jeecg/src/views/system/inventory/SimpleInventoryDetailList.vue b/ant-design-vue-jeecg/src/views/system/inventory/SimpleInventoryDetailList.vue index f7b2f1a..f476afc 100644 --- a/ant-design-vue-jeecg/src/views/system/inventory/SimpleInventoryDetailList.vue +++ b/ant-design-vue-jeecg/src/views/system/inventory/SimpleInventoryDetailList.vue @@ -402,7 +402,8 @@ export default { { title:'序列号', align:"center", - dataIndex: 'sn' + dataIndex: 'sn', + ellipsis: true, }, { title: '入库日期', @@ -693,6 +694,7 @@ export default { if (selectedRowKeys != null && selectedRowKeys.length > 0) { this.selectedMainId = selectedRowKeys[0].toString(); } + selectedRowKeys = selectedRowKeys.filter((item) => item !== '合计'); this.selectedRowKeys = selectedRowKeys; this.selectRecord = selectionRows; }, diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/SelfCheck.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/SelfCheck.java index 505f66d..6c3ddc4 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/SelfCheck.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/SelfCheck.java @@ -72,7 +72,8 @@ public class SelfCheck implements Job { LambdaQueryWrapper<InventoryHeader> inventoryHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); LambdaQueryWrapper<Location> locationLambdaQueryWrapper = Wrappers.lambdaQuery(); // 锁定的容器查看是否有任务 - containerLambdaQueryWrapper.eq(Container::getStatus, QuantityConstant.STATUS_CONTAINER_LOCK); + containerLambdaQueryWrapper.eq(Container::getStatus, QuantityConstant.STATUS_CONTAINER_LOCK).ne(Container::getContainerTypeCode, + QuantityConstant.CONTAINER_TYPE_LS); containerList = containerService.list(containerLambdaQueryWrapper); if (!CollectionUtils.isEmpty(containerList)) { container = containerList.stream().map(i -> i.getCode()).collect(Collectors.toList()); @@ -112,7 +113,8 @@ public class SelfCheck implements Job { // } // 有货或满盘的容器 查看是否有库存 containerLambdaQueryWrapper = Wrappers.lambdaQuery(); - containerLambdaQueryWrapper.in(Container::getFillStatus, QuantityConstant.STATUS_CONTAINER_FILL_SOME, QuantityConstant.STATUS_CONTAINER_FILL_FULL); + containerLambdaQueryWrapper.ne(Container::getContainerTypeCode, QuantityConstant.CONTAINER_TYPE_LS).in(Container::getFillStatus, + QuantityConstant.STATUS_CONTAINER_FILL_SOME, QuantityConstant.STATUS_CONTAINER_FILL_FULL); containerList = containerService.list(containerLambdaQueryWrapper); if (!CollectionUtils.isEmpty(containerList)) { container = containerList.stream().map(i -> i.getCode()).collect(Collectors.toList()); @@ -133,7 +135,8 @@ public class SelfCheck implements Job { } // 空盘容器 是否有库存 containerLambdaQueryWrapper = Wrappers.lambdaQuery(); - containerLambdaQueryWrapper.in(Container::getFillStatus, QuantityConstant.STATUS_CONTAINER_EMPTY, QuantityConstant.STATUS_CONTAINER_FILL_MANY); + containerLambdaQueryWrapper.ne(Container::getContainerTypeCode, QuantityConstant.CONTAINER_TYPE_LS).in(Container::getFillStatus, + QuantityConstant.STATUS_CONTAINER_EMPTY, QuantityConstant.STATUS_CONTAINER_FILL_MANY); containerList = containerService.list(containerLambdaQueryWrapper); if (!CollectionUtils.isEmpty(containerList)) { container = containerList.stream().map(i -> i.getCode()).collect(Collectors.toList()); @@ -150,7 +153,8 @@ public class SelfCheck implements Job { } // 容器有库位=对应库位有这个容器 containerLambdaQueryWrapper = Wrappers.lambdaQuery(); - containerLambdaQueryWrapper.ne(Container::getLocationCode, QuantityConstant.EMPTY_STRING); + containerLambdaQueryWrapper.ne(Container::getContainerTypeCode, QuantityConstant.CONTAINER_TYPE_LS).ne(Container::getLocationCode, + QuantityConstant.EMPTY_STRING); containerList = containerService.list(containerLambdaQueryWrapper); if (!CollectionUtils.isEmpty(containerList)) { common = new ArrayList<>(); @@ -213,7 +217,8 @@ public class SelfCheck implements Job { // } // 容器没库位 查看库位是否有容器 containerLambdaQueryWrapper = Wrappers.lambdaQuery(); - containerLambdaQueryWrapper.eq(Container::getLocationCode, QuantityConstant.EMPTY_STRING); + containerLambdaQueryWrapper.ne(Container::getContainerTypeCode, QuantityConstant.CONTAINER_TYPE_LS).eq(Container::getLocationCode, + QuantityConstant.EMPTY_STRING); containerList = containerService.list(containerLambdaQueryWrapper); if (!CollectionUtils.isEmpty(containerList)) { container = containerList.stream().map(i -> i.getCode()).collect(Collectors.toList()); diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiving/service/impl/ReceiveServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiving/service/impl/ReceiveServiceImpl.java index 014850b..15ac740 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiving/service/impl/ReceiveServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiving/service/impl/ReceiveServiceImpl.java @@ -224,8 +224,12 @@ public class ReceiveServiceImpl extends ServiceImpl<ReceiveMapper, Receive> impl List<ReceiptDetail> receiptDetailList = new ArrayList<>(); List<ReceiptContainerDetail> receiptContainerDetailList = new ArrayList<>(); for (Receive receive : receiveList) { + ReceiptDetail receiptDetail = receiptDetailService.getById(receive.getId()); + if (receiptDetail == null) { + throw new JeecgBootException("入库组盘,没有找到入库单详情ID:" + receive.getId()); + } // 可收数量 - BigDecimal qty = receive.getQty(); + BigDecimal qty = receiptDetail.getQty().subtract(receiptDetail.getTaskQty()); // 收货数量 BigDecimal taskQty = receive.getTaskQty(); if (qty == null || taskQty == null) { @@ -241,10 +245,6 @@ public class ReceiveServiceImpl extends ServiceImpl<ReceiveMapper, Receive> impl if (taskQty.compareTo(BigDecimal.ZERO) <= 0) { continue; } - ReceiptDetail receiptDetail = receiptDetailService.getById(receive.getId()); - if (receiptDetail == null) { - throw new JeecgBootException("入库组盘,没有找到入库单详情ID:" + receive.getId()); - } ReceiptHeader receiptHeader = receiptHeaderService.getById(receiptDetail.getReceiptId()); if (receiptHeader == null) { throw new JeecgBootException("入库组盘,没有找到入库单ID:" + receiptDetail.getReceiptId()); @@ -281,6 +281,7 @@ public class ReceiveServiceImpl extends ServiceImpl<ReceiveMapper, Receive> impl LambdaQueryWrapper<ReceiptContainerDetail> receiptContainerDetailLambdaQueryWrapper = Wrappers.lambdaQuery(); receiptContainerDetailLambdaQueryWrapper.eq(ReceiptContainerDetail::getReceiptId, receiptDetail.getReceiptId()) .eq(ReceiptContainerDetail::getReceiptDetailId, receiptDetail.getId()) + .eq(StringUtils.isNotEmpty(receive.getSn()), ReceiptContainerDetail::getSn, receive.getSn()) .eq(ReceiptContainerDetail::getReceiptContainerId, receiptContainerHeader.getId()); ReceiptContainerDetail receiptContainerDetail = receiptContainerDetailService.getOne(receiptContainerDetailLambdaQueryWrapper); if (receiptContainerDetail != null) { diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentContainerAdvice/service/impl/ShipmentContainerAdviceServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentContainerAdvice/service/impl/ShipmentContainerAdviceServiceImpl.java index c40256d..e361ec2 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentContainerAdvice/service/impl/ShipmentContainerAdviceServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentContainerAdvice/service/impl/ShipmentContainerAdviceServiceImpl.java @@ -280,10 +280,14 @@ public class ShipmentContainerAdviceServiceImpl extends ServiceImpl<ShipmentCont throw new JeecgBootException("预配盘扣减库存失败, 没有找到" + containerCode + "库存表头"); } List<InventoryDetail> inventoryDetailList1 = inventoryDetailService.getInventoryDetailListByInventoryHeaderId(inventoryHeader.getId()); - if (inventoryDetailList1.size() == 0) { + if (CollectionUtils.isEmpty(inventoryDetailList1)) { if (!inventoryHeaderService.removeById(inventoryHeader.getId())) { throw new JeecgBootException("预配盘扣减库存失败,删除库存头失败" + inventoryHeader.getId()); } + } else { + if (!taskHeaderService.combineInventoryDetail(containerCode, warehouseCode)) { + throw new JeecgBootException("预配盘扣减库存失败,托盘:" + containerCode + "调整库存失败"); + } } return Result.OK("预配盘扣减库存成功"); } -- libgit2 0.22.2