ソースを参照

订单提交时判断余额,若账户余额不足则提示:账户余额不足,还差xxxx元!

hu 2 年 前
コミット
55d4a4eaa3

+ 25 - 0
src/custom/beans/accountbalance/Accountbalance.java

@@ -60,6 +60,31 @@ public class Accountbalance extends BaseClass {
 
     }
 
+    /**
+     * 返回不足金额
+     *
+     * @param controller
+     * @param sys_enterpriseid
+     * @param sa_accountclassid
+     * @param amount
+     * @return
+     * @throws YosException
+     */
+    public static BigDecimal InsufficientBalance(Controller controller, long sys_enterpriseid, long sa_accountclassid, BigDecimal amount) throws YosException {
+        AccountbalanceEntity accountbalanceEntity = getAccountbalance(controller, sys_enterpriseid, sa_accountclassid);
+        BigDecimal canuseamount = accountbalanceEntity.getCanuseamount();
+        if (canuseamount != null) {
+            if (canuseamount.compareTo(amount) == 1 || canuseamount.compareTo(amount) == 0) {
+                return BigDecimal.ZERO;
+            } else {
+                return amount.subtract(canuseamount);
+            }
+        } else {
+            return amount;
+        }
+
+    }
+
     /**
      * 创建收入凭证(返回SQL)
      *

+ 2 - 2
src/custom/restcontroller/webmanage/sale/order/Order.java

@@ -1117,7 +1117,7 @@ public class Order extends Controller {
                     return getErrReturnObject().setErrMsg("超过返利金账户余额,返利金账户余额为" + rebateBalance).toString();
                 }
                 if (!Accountbalance.judgeBalance(this, pay_enterpriseid, sa_accountclassid, amount)) {
-                    return getErrReturnObject().setErrMsg("账户余额不足").toString();
+                    return getErrReturnObject().setErrMsg("账户余额不足,还差"+Accountbalance.InsufficientBalance(this, pay_enterpriseid, sa_accountclassid, amount)+"元!").toString();
                 }
 
                 sqlList.addAll(useRateBill(row, "订单提交"));
@@ -1127,7 +1127,7 @@ public class Order extends Controller {
                     CashbillEntity entity = getCashbillEntity(amount, sa_orderid, "订单提交", "由" + sonum + "订单提交时自动产生");
                     sqlList.addAll(Accountbalance.createCashbillPay(this, pay_enterpriseid, sa_accountclassid, entity, true));
                 } else {
-                    return getErrReturnObject().setErrMsg("账户余额不足").toString();
+                    return getErrReturnObject().setErrMsg("账户余额不足,还差"+Accountbalance.InsufficientBalance(this, pay_enterpriseid, sa_accountclassid, amount)+"元!").toString();
                 }
             }
         }