Przeglądaj źródła

当资金账户未启用或者不支持订货时禁止创建订单

eganwu 1 rok temu
rodzic
commit
747420fc65

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

@@ -114,9 +114,12 @@ public class Order extends Controller {
         //营销账户类型ID
         OrderItemsHelper orderItemsHelper = new OrderItemsHelper(this);
         Long sa_accountclassid = orderItemsHelper.getAccountClassId(type);
-        if (sa_accountclassid <=0) {
+        if (sa_accountclassid <= 0) {
             return getErrReturnObject().setErrMsg("未找到扣款账户信息").toString();
         }
+
+        orderItemsHelper.isAccountCanUsed(sa_accountclassid);
+
         sqlFactory.addParameter("sa_accountclassid", sa_accountclassid);
         sqlList.addAll(updateAccountclassinfos(sa_orderid, sa_accountclassid, sys_enterpriseid));
 
@@ -184,7 +187,7 @@ public class Order extends Controller {
             } else {
                 sqlFactory.addParameter("billdate", billdate);
             }
-            if (content.containsKey("sa_accountclassid")&&!content.getString("sa_accountclassid").equals("")) {
+            if (content.containsKey("sa_accountclassid") && !content.getString("sa_accountclassid").equals("")) {
                 sa_accountclassid = content.getLongValue("sa_accountclassid");
                 if (sa_accountclassid <= 0) {
                     return getErrReturnObject().setErrMsg("账户不存在").toString();
@@ -349,6 +352,7 @@ public class Order extends Controller {
         if (sa_accountclassid <= 0) {
             return getErrReturnObject().setErrMsg("未找到扣款账户信息").toString();
         }
+        orderItemsHelper.isAccountCanUsed(sa_accountclassid);
         sqlFactory.addParameter("sa_accountclassid", sa_accountclassid);
 
 
@@ -1402,7 +1406,7 @@ public class Order extends Controller {
         //验证结算企业
         Long pay_enterpriseid = row.getLong("pay_enterpriseid");
         if (pay_enterpriseid <= 0) {
-            dbConnect.runSqlQuery("UPDATE sa_order set pay_enterpriseid=sys_enterpriseid  WHERE sa_orderid="+sa_orderid);
+            dbConnect.runSqlQuery("UPDATE sa_order set pay_enterpriseid=sys_enterpriseid  WHERE sa_orderid=" + sa_orderid);
 //            return getErrReturnObject().setErrMsg("请选择结算企业").toString();
         }
         Long sys_enterprise_financeid = row.getLong("sys_enterprise_financeid");

+ 7 - 0
src/custom/restcontroller/webmanage/sale/order/OrderItemsHelper.java

@@ -32,6 +32,13 @@ public class OrderItemsHelper extends BaseClass {
         this.content = controller.content;
     }
 
+    public void isAccountCanUsed(Long sa_accountclassid) throws YosException {
+        if (dbConnect.runSqlQuery("select * from sa_accountclass  WHERE isused=1 and isorder=1 and sa_accountclassid=" + sa_accountclassid).isEmpty()) {
+            throw new YosException(false, "当资金账户未启用或者不支持订货");
+        }
+
+    }
+
     public long getAccountClassId(String type) throws YosException {
 
         Long sa_accountclassid = content.getLong("sa_accountclassid");