Przeglądaj źródła

总部特殊订单选择领域时应默认关联自定义选项中的指定账户

eganwu 2 lat temu
rodzic
commit
8ed7dc2636

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

@@ -112,22 +112,30 @@ public class Order extends Controller {
         //订货企业id
         //订货企业id
         sqlFactory.addParameter("sys_enterpriseid", sys_enterpriseid);
         sqlFactory.addParameter("sys_enterpriseid", sys_enterpriseid);
         //营销账户类型ID
         //营销账户类型ID
-        if ((type.equals("标准订单") || type.equals("特殊订单")) && content.getString("tradefield").equals("整装工程")) {
-            sqlFactory.addParameter("sa_accountclassid", "69");
-            sqlList.addAll(updateAccountclassinfos(sa_orderid, 69, sys_enterpriseid));
-        } else {
-            if (type.equals("促销订单")) {
-                Rows accountclassRows = dbConnect.runSqlQuery("select sa_accountclassid from sa_promotion where siteid='" + siteid + "' and sa_promotionid=" + content.getLongValue("sa_promotionid"));
-                if (!accountclassRows.isEmpty()) {
-                    sqlFactory.addParameter("sa_accountclassid", accountclassRows.get(0).getLong("sa_accountclassid"));
-                } else {
-                    sqlFactory.addParameter("sa_accountclassid", beans.order.Order.getDefaultAccount(siteid, type));
-                }
-            } else {
-                sqlFactory.addParameter("sa_accountclassid", beans.order.Order.getDefaultAccount(siteid, type));
-            }
-            sqlList.addAll(updateAccountclassinfos(sa_orderid, beans.order.Order.getDefaultAccount(siteid, type), sys_enterpriseid));
+        OrderItemsHelper orderItemsHelper = new OrderItemsHelper(this);
+        Long sa_accountclassid = orderItemsHelper.getAccountClassId(type);
+        if (sa_accountclassid > 0) {
+            return getErrReturnObject().setErrMsg("未找到扣款账户信息").toString();
         }
         }
+        sqlFactory.addParameter("sa_accountclassid", sa_accountclassid);
+        sqlList.addAll(updateAccountclassinfos(sa_orderid, sa_accountclassid, sys_enterpriseid));
+
+//        if ((type.equals("标准订单") || type.equals("特殊订单")) && content.getString("tradefield").equals("整装工程")) {
+//            sqlFactory.addParameter("sa_accountclassid", "69");
+//            sqlList.addAll(updateAccountclassinfos(sa_orderid, 69, sys_enterpriseid));
+//        } else {
+//            if (type.equals("促销订单")) {
+//                Rows accountclassRows = dbConnect.runSqlQuery("select sa_accountclassid from sa_promotion where siteid='" + siteid + "' and sa_promotionid=" + content.getLongValue("sa_promotionid"));
+//                if (!accountclassRows.isEmpty()) {
+//                    sqlFactory.addParameter("sa_accountclassid", accountclassRows.get(0).getLong("sa_accountclassid"));
+//                } else {
+//                    sqlFactory.addParameter("sa_accountclassid", beans.order.Order.getDefaultAccount(siteid, type));
+//                }
+//            } else {
+//                sqlFactory.addParameter("sa_accountclassid", beans.order.Order.getDefaultAccount(siteid, type));
+//            }
+//            sqlList.addAll(updateAccountclassinfos(sa_orderid, beans.order.Order.getDefaultAccount(siteid, type), sys_enterpriseid));
+//        }
         //品牌ID
         //品牌ID
         sqlFactory.addParameter("sa_brandid", sa_brandid);
         sqlFactory.addParameter("sa_brandid", sa_brandid);
         //合同ID
         //合同ID
@@ -177,7 +185,7 @@ public class Order extends Controller {
                 sqlFactory.addParameter("billdate", billdate);
                 sqlFactory.addParameter("billdate", billdate);
             }
             }
             if (content.containsKey("sa_accountclassid")) {
             if (content.containsKey("sa_accountclassid")) {
-                Long sa_accountclassid = content.getLongValue("sa_accountclassid");
+                sa_accountclassid = content.getLongValue("sa_accountclassid");
                 if (sa_accountclassid <= 0) {
                 if (sa_accountclassid <= 0) {
                     return getErrReturnObject().setErrMsg("账户不存在").toString();
                     return getErrReturnObject().setErrMsg("账户不存在").toString();
                 }
                 }
@@ -265,9 +273,9 @@ public class Order extends Controller {
         for (Object obj : items) {
         for (Object obj : items) {
             JSONObject item = (JSONObject) obj;
             JSONObject item = (JSONObject) obj;
             if (type.equals("促销订单")) {
             if (type.equals("促销订单")) {
-                orderItemsHelper.checkOffOrderItems("sa_promotion_items", item.getLongValue("itemid"),sa_promotionid);
+                orderItemsHelper.checkOffOrderItems("sa_promotion_items", item.getLongValue("itemid"), sa_promotionid);
             } else {
             } else {
-                orderItemsHelper.checkOffOrderItems("plm_item", item.getLongValue("itemid"),sa_promotionid);
+                orderItemsHelper.checkOffOrderItems("plm_item", item.getLongValue("itemid"), sa_promotionid);
             }
             }
 
 
             Long temp_sa_brandid = item.getLongValue("sa_brandid");
             Long temp_sa_brandid = item.getLongValue("sa_brandid");
@@ -313,30 +321,33 @@ public class Order extends Controller {
         sqlFactory.addParameter("typemx", "");
         sqlFactory.addParameter("typemx", "");
         //订货企业id
         //订货企业id
         sqlFactory.addParameter("sys_enterpriseid", sys_enterpriseid);
         sqlFactory.addParameter("sys_enterpriseid", sys_enterpriseid);
-        Long sa_accountclassid = 0L;
-        //营销账户类型ID
-        if ((type.equals("标准订单") || type.equals("特殊订单")) && content.getString("tradefield").equals("整装工程")) {
-            sa_accountclassid = 69l;
-
-
-        } else {
-            if (type.equals("促销订单")) {
-                Rows accountclassRows = dbConnect.runSqlQuery("select sa_accountclassid from sa_promotion where siteid='" + siteid + "' and sa_promotionid=" + content.getLongValue("sa_promotionid"));
-                if (!accountclassRows.isEmpty()) {
-                    sa_accountclassid = accountclassRows.get(0).getLong("sa_accountclassid");
-
-                } else {
-                    sa_accountclassid = beans.order.Order.getDefaultAccount(siteid, type);
-
-                }
-            } else {
-                sa_accountclassid = beans.order.Order.getDefaultAccount(siteid, type);
-
-            }
+//        Long sa_accountclassid = 0L;
+//        //营销账户类型ID
+//        if ((type.equals("标准订单") || type.equals("特殊订单")) && content.getString("tradefield").equals("整装工程")) {
+//            sa_accountclassid = 69l;
+//
+//
+//        } else {
+//            if (type.equals("促销订单")) {
+//                Rows accountclassRows = dbConnect.runSqlQuery("select sa_accountclassid from sa_promotion where siteid='" + siteid + "' and sa_promotionid=" + content.getLongValue("sa_promotionid"));
+//                if (!accountclassRows.isEmpty()) {
+//                    sa_accountclassid = accountclassRows.get(0).getLong("sa_accountclassid");
+//
+//                } else {
+//                    sa_accountclassid = beans.order.Order.getDefaultAccount(siteid, type);
+//
+//                }
+//            } else {
+//                sa_accountclassid = beans.order.Order.getDefaultAccount(siteid, type);
+//
+//            }
+//
+//        }
+//        sqlFactory.addParameter("sa_accountclassid", sa_accountclassid);
 
 
-        }
-        if (sa_accountclassid <= 0) {
-            return getErrReturnObject().setErrMsg("账户不存在").toString();
+        Long sa_accountclassid = orderItemsHelper.getAccountClassId(type);
+        if (sa_accountclassid > 0) {
+            return getErrReturnObject().setErrMsg("未找到扣款账户信息").toString();
         }
         }
         sqlFactory.addParameter("sa_accountclassid", sa_accountclassid);
         sqlFactory.addParameter("sa_accountclassid", sa_accountclassid);
 
 
@@ -418,22 +429,22 @@ public class Order extends Controller {
 
 
         dbConnect.runSqlUpdate(sqlList);
         dbConnect.runSqlUpdate(sqlList);
 
 
-        if ((type.equals("标准订单") || type.equals("特殊订单")) && content.getString("tradefield").equals("整装工程")) {
-            sqlList1.addAll(updateAccountclassinfos(sa_orderid, 69, sys_enterpriseid));
-        } else {
-            if (type.equals("促销订单")) {
-                Rows accountclassRows = dbConnect.runSqlQuery("select sa_accountclassid from sa_promotion where siteid='" + siteid + "' and sa_promotionid=" + content.getLongValue("sa_promotionid"));
-                if (!accountclassRows.isEmpty()) {
-                    sqlList1.addAll(updateAccountclassinfos(sa_orderid, accountclassRows.get(0).getLong("sa_accountclassid"), sys_enterpriseid));
-                } else {
-                    sqlList1.addAll(updateAccountclassinfos(sa_orderid, beans.order.Order.getDefaultAccount(siteid, type), sys_enterpriseid));
-                }
-            } else {
-                sqlList1.addAll(updateAccountclassinfos(sa_orderid, beans.order.Order.getDefaultAccount(siteid, type), sys_enterpriseid));
-            }
-
-        }
-
+//        if ((type.equals("标准订单") || type.equals("特殊订单")) && content.getString("tradefield").equals("整装工程")) {
+//            sqlList1.addAll(updateAccountclassinfos(sa_orderid, 69, sys_enterpriseid));
+//        } else {
+//            if (type.equals("促销订单")) {
+//                Rows accountclassRows = dbConnect.runSqlQuery("select sa_accountclassid from sa_promotion where siteid='" + siteid + "' and sa_promotionid=" + content.getLongValue("sa_promotionid"));
+//                if (!accountclassRows.isEmpty()) {
+//                    sqlList1.addAll(updateAccountclassinfos(sa_orderid, accountclassRows.get(0).getLong("sa_accountclassid"), sys_enterpriseid));
+//                } else {
+//                    sqlList1.addAll(updateAccountclassinfos(sa_orderid, beans.order.Order.getDefaultAccount(siteid, type), sys_enterpriseid));
+//                }
+//            } else {
+//                sqlList1.addAll(updateAccountclassinfos(sa_orderid, beans.order.Order.getDefaultAccount(siteid, type), sys_enterpriseid));
+//            }
+//
+//        }
+        sqlList1.addAll(updateAccountclassinfos(sa_orderid, sa_accountclassid, sys_enterpriseid));
         dbConnect.runSqlUpdate(sqlList1);
         dbConnect.runSqlUpdate(sqlList1);
 
 
         ClearData.clearShoppingCart(this);
         ClearData.clearShoppingCart(this);
@@ -1439,7 +1450,7 @@ public class Order extends Controller {
         //促销订单:提交时商品必须是上架状态,并且活动方案中的商品必须也是上架状态,否则不允许提交
         //促销订单:提交时商品必须是上架状态,并且活动方案中的商品必须也是上架状态,否则不允许提交
         if (type.equals("促销订单")) {
         if (type.equals("促销订单")) {
 //            orderItemsHelper.checkOffOrderItems(sa_orderid, "plm_item");
 //            orderItemsHelper.checkOffOrderItems(sa_orderid, "plm_item");
-            orderItemsHelper.checkOffOrderItems(sa_orderid, "sa_promotion_items",sa_promotionid);
+            orderItemsHelper.checkOffOrderItems(sa_orderid, "sa_promotion_items", sa_promotionid);
         }
         }
 
 
         if (type.equals("标准订单") || type.equals("促销订单")) {
         if (type.equals("标准订单") || type.equals("促销订单")) {
@@ -3393,7 +3404,7 @@ public class Order extends Controller {
             if (promotion_auth.isNotEmpty()) {
             if (promotion_auth.isNotEmpty()) {
                 sa_promotion_authid = promotion_auth.get(0).getLong("sa_promotion_authid");
                 sa_promotion_authid = promotion_auth.get(0).getLong("sa_promotion_authid");
             }
             }
-            BigDecimal amount_orderaccount = orderaccountclassinfo.getBigDecimalValue("amount",0);
+            BigDecimal amount_orderaccount = orderaccountclassinfo.getBigDecimalValue("amount", 0);
             if (amount_orderaccount.compareTo(totalprice) >= 0) {
             if (amount_orderaccount.compareTo(totalprice) >= 0) {
                 System.out.println("1111");
                 System.out.println("1111");
                 CashbillEntity entity = new CashbillEntity();
                 CashbillEntity entity = new CashbillEntity();

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

@@ -32,6 +32,25 @@ public class OrderItemsHelper extends BaseClass {
         this.content = controller.content;
         this.content = controller.content;
     }
     }
 
 
+    public long getAccountClassId(String type) throws YosException {
+
+        if ((type.equals("标准订单") || type.equals("特殊订单"))) {
+            return content.getLong("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"));
+            if (!accountclassRows.isEmpty()) {
+                return accountclassRows.get(0).getLong("sa_accountclassid");
+            } else {
+                return beans.order.Order.getDefaultAccount(controller.siteid, type);
+
+            }
+        }
+        return beans.order.Order.getDefaultAccount(controller.siteid, type);
+
+    }
+
+
     //执行是否自动返利结算
     //执行是否自动返利结算
     public void executeAutoRebate(Long sa_orderid, Long sys_enterpriseid) throws YosException {
     public void executeAutoRebate(Long sa_orderid, Long sys_enterpriseid) throws YosException {