diff --git a/huaheng-wms-core/src/main/java/org/jeecg/utils/HuahengJwtUtil.java b/huaheng-wms-core/src/main/java/org/jeecg/utils/HuahengJwtUtil.java
index c1be785..1735572 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/utils/HuahengJwtUtil.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/utils/HuahengJwtUtil.java
@@ -1,6 +1,7 @@
 package org.jeecg.utils;
 
 import java.lang.reflect.Field;
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 import java.util.UUID;
@@ -25,9 +26,11 @@ import com.auth0.jwt.exceptions.JWTDecodeException;
 import com.auth0.jwt.interfaces.DecodedJWT;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ReflectUtil;
+import cn.hutool.core.util.StrUtil;
 
 @Component
 public class HuahengJwtUtil {
@@ -43,7 +46,7 @@ public class HuahengJwtUtil {
 
     /** 全仓CODE */
     public static final String ALL_WAREHOUSE_CODE = "ALL_WAREHOUSE";
-    
+
     /** 定时任务操作人 */
     public static final String TASK_AUDIENCE_NAME = "SYSTEM_TASK";
 
@@ -260,5 +263,45 @@ public class HuahengJwtUtil {
             return null;
         }
     }
-}
 
+    /**
+     * 根据数据库中attribute的数量的值计算数量。quantity = 正数,增加attribute的值,quantity = 负数,减少attribute的值
+     * @author                         TanYibin
+     * @createDate                     2023年5月30日
+     * @param      <T>
+     * @param      lambdaUpdateWrapper
+     * @param      attribute
+     * @param      quantity
+     */
+    public static <T> void calculateQuantity(LambdaUpdateWrapper<T> lambdaUpdateWrapper, String attribute, BigDecimal quantity) {
+        HuahengJwtUtil.calculateQuantity(lambdaUpdateWrapper, null, attribute, quantity, false);
+    }
+
+    /**
+     * 根据数据库中attribute的数量的值计算数量。quantity = 正数,增加attribute的值,quantity = 负数,减少attribute的值,并将t中属性的值设置为null,以免影响属性赋值
+     * @author                         TanYibin
+     * @createDate                     2023年5月30日
+     * @param      <T>
+     * @param      lambdaUpdateWrapper
+     * @param      attribute
+     * @param      quantity
+     */
+    public static <T> void calculateQuantity(LambdaUpdateWrapper<T> lambdaUpdateWrapper, T t, String attribute, BigDecimal quantity) {
+        HuahengJwtUtil.calculateQuantity(lambdaUpdateWrapper, t, attribute, quantity, false);
+    }
+
+    public static <T> void calculateQuantity(LambdaUpdateWrapper<T> lambdaUpdateWrapper, String attribute, BigDecimal quantity, Boolean geZero) {
+        HuahengJwtUtil.calculateQuantity(lambdaUpdateWrapper, null, attribute, quantity, geZero);
+    }
+
+    public static <T> void calculateQuantity(LambdaUpdateWrapper<T> lambdaUpdateWrapper, T t, String attribute, BigDecimal quantity, Boolean geZero) {
+        String sqlAttribute = StrUtil.toUnderlineCase(attribute);
+        if (geZero) {
+            lambdaUpdateWrapper.apply(quantity != null, sqlAttribute + " + {0} >= 0", quantity);
+        }
+        lambdaUpdateWrapper.setSql(quantity != null, sqlAttribute + " = " + sqlAttribute + " + " + quantity);
+        if (t != null) {
+            ReflectUtil.setFieldValue(t, attribute, null);
+        }
+    }
+}