From 0350c4972640ddb5771a808b595c0faf6882451a Mon Sep 17 00:00:00 2001
From: zengxiangping <318732054@qq.com>
Date: Sat, 7 Oct 2023 09:11:19 +0800
Subject: [PATCH] 库存锁定不能冻结和解冻

---
 ant-design-vue-jeecg/src/views/system/inventory/SimpleInventoryDetailList.vue                                               |  1 +
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/impl/InventoryDetailServiceImpl.java | 20 ++++++++++++++++----
 huaheng-wms-core/src/main/java/org/jeecg/utils/constant/QuantityConstant.java                                               |  3 +++
 3 files changed, 20 insertions(+), 4 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 7999cdf..5158fa2 100644
--- a/ant-design-vue-jeecg/src/views/system/inventory/SimpleInventoryDetailList.vue
+++ b/ant-design-vue-jeecg/src/views/system/inventory/SimpleInventoryDetailList.vue
@@ -447,6 +447,7 @@ export default {
         '待确认	': 'grey',
         '次品': 'red',
         '锁定': 'red',
+        '冻结': 'red',
         default: 'blue'
       };
       return colors[status] || colors.default;
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/impl/InventoryDetailServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/impl/InventoryDetailServiceImpl.java
index 5d5185d..77f2d95 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/impl/InventoryDetailServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/impl/InventoryDetailServiceImpl.java
@@ -288,6 +288,12 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe
         }
         List<InventoryDetail> inventoryDetailUpdateList = new ArrayList<>();
         for (InventoryDetail inventoryDetail : inventoryDetailList) {
+            if (inventoryDetail.getContainerStatus().equals(QuantityConstant.STATUS_CONTAINER_LOCK)) {
+                return Result.error("库存ID:" + inventoryDetail.getId() + "容器状态是锁定,不能冻结");
+            }
+            if (inventoryDetail.getInventoryStatus().equals(QuantityConstant.STATUS_INVENTORY_LOCK)) {
+                return Result.error("库存ID:" + inventoryDetail.getId() + "库存状态是锁定,不能冻结");
+            }
             InventoryDetail inventoryDetail1 = new InventoryDetail();
             inventoryDetail1.setId(inventoryDetail.getId());
             inventoryDetail1.setEnable(QuantityConstant.INVENTORY_DETAIL_STATUS_CONTAINER);
@@ -295,9 +301,9 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe
         }
         boolean success = updateBatchById(inventoryDetailUpdateList);
         if (success) {
-            return Result.ok("批量受控库存成功");
+            return Result.ok("批量冻结库存成功");
         }
-        return Result.ok("批量受控库存失败");
+        return Result.ok("批量冻结库存失败");
     }
 
     @Override
@@ -308,6 +314,12 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe
         }
         List<InventoryDetail> inventoryDetailUpdateList = new ArrayList<>();
         for (InventoryDetail inventoryDetail : inventoryDetailList) {
+            if (inventoryDetail.getContainerStatus().equals(QuantityConstant.STATUS_CONTAINER_LOCK)) {
+                return Result.error("库存ID:" + inventoryDetail.getId() + "容器状态是锁定,不能释放冻结");
+            }
+            if (inventoryDetail.getInventoryStatus().equals(QuantityConstant.STATUS_INVENTORY_LOCK)) {
+                return Result.error("库存ID:" + inventoryDetail.getId() + "库存状态是锁定,不能释放冻结");
+            }
             InventoryDetail inventoryDetail1 = new InventoryDetail();
             inventoryDetail1.setId(inventoryDetail.getId());
             inventoryDetail1.setEnable(QuantityConstant.INVENTORY_DETAIL_STATUS_ENABLE);
@@ -315,9 +327,9 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe
         }
         boolean success = updateBatchById(inventoryDetailUpdateList);
         if (success) {
-            return Result.ok("批量释放受控库存成功");
+            return Result.ok("批量释放冻结库存成功");
         }
-        return Result.ok("批量释放受控库存失败");
+        return Result.ok("批量释放冻结库存失败");
     }
 
     @Override
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/utils/constant/QuantityConstant.java b/huaheng-wms-core/src/main/java/org/jeecg/utils/constant/QuantityConstant.java
index 476a76d..96891ee 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/utils/constant/QuantityConstant.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/utils/constant/QuantityConstant.java
@@ -605,6 +605,9 @@ public class QuantityConstant {
     /* 受控 */
     public static final int INVENTORY_DETAIL_STATUS_CONTAINER = 1;
 
+    //库存锁定
+    public static final String STATUS_INVENTORY_LOCK = "lock";
+
     public static final int HTTP_OK = 200;
 
     public static final String URL = "http://erptest.gani.com.cn/K3Cloud/";
--
libgit2 0.22.2