Просмотр исходного кода

修复促销订单增量不一致的问题

eganwu 2 лет назад
Родитель
Сommit
a6b01fcb35
1 измененных файлов с 8 добавлено и 2 удалено
  1. 8 2
      src/custom/restcontroller/webmanage/sale/order/OrderItems.java

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

@@ -540,7 +540,8 @@ public class OrderItems extends Controller {
         if (orderRows.isNotEmpty()) {
             sys_enterpriseid = orderRows.get(0).getLong("sys_enterpriseid");
         }
-        boolean isExport = content.getBooleanValue("isExport");
+        Long sa_promotionid=orderRows.get(0).getLong("sa_promotionid");
+//        boolean isExport = content.getBooleanValue("isExport");
 //        SQLFactory sqlFactory = new SQLFactory(this, "订单商品明细_列表", pageSize, pageNumber, pageSorting);
 //        if (isExport) {
 //            sqlFactory = new SQLFactory(this, "订单商品明细_列表");
@@ -553,15 +554,20 @@ public class OrderItems extends Controller {
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_orderitems");
         querySQL.addJoinTable(JOINTYPE.left, "st_invbal_sale", "t2", "t2.siteid = t1.siteid AND t2.itemid = t1.itemid");
         querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t3", "t3.itemid = t1.itemid and t3.siteid = t1.siteid",
-                "orderminqty_auxunit", "orderminqty", "orderaddqty_auxunit", "orderaddqty", "spec", "iscustomsize", "widthschemeid", "lengthschemeid", "standards", "k3outcode");
+                "orderminqty_auxunit",  "orderaddqty_auxunit",  "spec", "iscustomsize", "widthschemeid", "lengthschemeid", "standards", "k3outcode");
 //        querySQL.addJoinTable(JOINTYPE.left, "plm_itemextend", "t4", "t4.itemid = t1.itemid and t4.siteid = t1.siteid",
 //                "erpitemno", "erpitemname", "material", "prodline", "device", "specalnote");
+        querySQL.addJoinTable(JOINTYPE.left,"sa_promotion_items","t4",
+                "t4.itemid = t1.itemid and t4.siteid = t1.siteid and t4.sa_promotionid="+sa_promotionid);
+
         querySQL.addQueryFields("candispatchqty", "ifnull(t2.candispatchqty, 0)");
         querySQL.addQueryFields("cansaleqty", "ifnull(t2.cansaleqty, 0)");
         querySQL.addQueryFields("totalaty", "ifnull(t2.qty, 0)");
         querySQL.addQueryFields("stockstatus", "(SELECT (CASE WHEN t2.cansaleqty>=t3.stockstatus1 THEN '充足' WHEN t2.cansaleqty<=t3.stockstatus2 THEN '缺货' ELSE '紧缺' END))");
         querySQL.addQueryFields("packageqty", "ifnull(t3.packageqty, 0)");
         querySQL.addQueryFields("delivery", "ifnull(t3.delivery, 0)");
+        querySQL.addQueryFields("orderaddqty", "SELECT (CASE WHEN t4.sa_promotionid>0 THEN t4.orderaddqty  ELSE t3.orderaddqty END)");
+        querySQL.addQueryFields("orderminqty", "SELECT (CASE WHEN t4.sa_promotionid>0 THEN t4.orderminqty  ELSE t3.orderminqty END)");
         querySQL.setWhere(where.toString()).setTableAlias("t1");
         querySQL.setWhere("t1.siteid", siteid);
         querySQL.setWhere("t1.sa_orderid", sa_orderid);