瀏覽代碼

楚楚站点提交订单时需根据自定义选项校验扣款账户,如扣款账户不对禁止提交,并提示“请更换支付账户后提交”

eganwu 1 年之前
父節點
當前提交
9f168040c0

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

@@ -619,7 +619,7 @@ public class Order extends Controller {
 //        Rows saleRows = dbConnect.runSqlQuery("SELECT * from sa_salearea_hr WHERE hrid = " + hrid + " and siteid='" + siteid + "'");
         //查询定制费用
         sql = "SELECT ifnull(sum(costamount),0) costamount from sa_order_cost WHERE sa_orderid=" + sa_orderid;
-         BigDecimal costamount = dbConnect.runSqlQuery(0, sql).getBigDecimal("costamount");
+        BigDecimal costamount = dbConnect.runSqlQuery(0, sql).getBigDecimal("costamount");
         row.put("costamount", costamount);
 
         JSONArray jsonArray = row.getJSONArray("sa_accountclassinfos");
@@ -1404,6 +1404,26 @@ public class Order extends Controller {
         if (sa_accountclassid <= 0) {
             return getErrReturnObject().setErrMsg("请选择支付账号").toString();
         }
+        sa_accountclassid=55l;
+
+        if (siteid.equalsIgnoreCase("CCYOSG")) {
+            String tradefield = row.getString("tradefield");
+            QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_optiontypemx");
+            querySQL.addJoinTable(JOINTYPE.inner, "sys_optiontype", "t2", "t2.optiontypeid=t1.optiontypeid");
+            querySQL.setWhere("t2.typename='domainrelatedaccounts'");
+            querySQL.setWhere("(t1.value='" + tradefield + "' or t1.remarks='" + tradefield + "')");
+            querySQL.setTableAlias("t1");
+            Rows accountsTows=querySQL.query();
+            if(accountsTows.isNotEmpty()){
+                JSONArray subvalues=accountsTows.get(0).getJSONArray("subvalues");
+//                JSONArray jsonArray=JSONArray.parseArray(subvalues);
+                if(!subvalues.contains(sa_accountclassid.toString())){
+                    return getErrReturnObject().setErrMsg("扣款账户不对,禁止提交,请更换支付账户后提交").toString();
+                }
+            }
+
+        }
+
         Long sys_enterpriseid = row.getLong("sys_enterpriseid");
         if (sys_enterpriseid <= 0) {
             return getErrReturnObject().setErrMsg("请选择订货企业信息").toString();

+ 13 - 9
src/custom/restcontroller/webmanage/sale/order/OrderItemsHelper.java

@@ -43,14 +43,18 @@ public class OrderItemsHelper extends BaseClass {
 
         Long sa_accountclassid = content.getLong("sa_accountclassid");
 
-//        if ((type.equals("标准订单") || type.equals("特殊订单")) && sa_accountclassid > 0) {
-//            return sa_accountclassid;
-//        }
-        if ((type.equals("标准订单") || type.equals("特殊订单")) && content.getString("tradefield").equals("GC工程")) {
-            return 69L;
-        }
-        if ((type.equals("标准订单") || type.equals("特殊订单")) && content.getString("tradefield").equals("整装工程")) {
-            return 96L;
+
+        if (controller.siteid.equalsIgnoreCase("CCYOSG")) {
+            if ((type.equals("标准订单") || type.equals("特殊订单")) && content.getString("tradefield").equals("GC工程")) {
+                return 69L;
+            }
+            if ((type.equals("标准订单") || type.equals("特殊订单")) && content.getString("tradefield").equals("整装工程")) {
+                return 96L;
+            }
+        } else {
+            if ((type.equals("标准订单") || type.equals("特殊订单")) && sa_accountclassid > 0) {
+                return sa_accountclassid;
+            }
         }
         if (type.equals("促销订单")) {
             Rows accountclassRows = dbConnect.runSqlQuery("select sa_accountclassid from sa_promotion where siteid='" + controller.siteid + "' and sa_promotionid=" + content.getLongValue("sa_promotionid"));
@@ -341,7 +345,7 @@ public class OrderItemsHelper extends BaseClass {
         BigDecimal qty = item.getBigDecimalValue("qty");
         String itemid = item.getString("itemid");
         Rows itemRows = itemRowsMap.getOrDefault(itemid, new Rows());
-        if(qty.compareTo(BigDecimal.ZERO)==0){
+        if (qty.compareTo(BigDecimal.ZERO) == 0) {
             throw new YosException(false, "品号为" + itemRows.get(0).getString("itemno") + "的商品的添加数量为0,不允许添加");
         }