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