Kaynağa Gözat

促销管理商品明细增加包装数量

hu 1 yıl önce
ebeveyn
işleme
ed350ae06a

+ 1 - 1
src/custom/restcontroller/sale/promotion/SQL/促销方案商品查询.sql

@@ -21,7 +21,7 @@ SELECT
 	t2.itemname,
 	t2.spec,
 	t2.model,
-	t2.packageqty,
+    t1.packageqty,
 	t3.unitname,
 	t5.oldprice,
     t5.pricegrade,

+ 2 - 1
src/custom/restcontroller/sale/shoppingcart/SQL/购物车列表.sql

@@ -29,7 +29,7 @@ SELECT t1.sa_shoppingcartid,
        t3.materialschemeid,
        t3.colorschemeid,
        t3.cheekschemeid,
-       t3.packageqty,
+       if(t1.sa_promotionid>0,ifnull(t7.packageqty,0),ifnull(t3.packageqty,0)) packageqty,
        t3.sa_customschemeid
 FROM sa_shoppingcart t1
          LEFT JOIN sa_brand t2 ON t2.sa_brandid = t1.sa_brandid AND t2.siteid = t1.siteid
@@ -37,6 +37,7 @@ FROM sa_shoppingcart t1
          LEFT JOIN plm_unit t4 ON t4.unitid = t3.unitid AND t4.siteid = t1.siteid
          LEFT JOIN plm_unitgroup t5 ON t5.unitgroupid = t3.unitgroupid AND t5.siteid = t1.siteid
          LEFT JOIN plm_unit t6 ON t6.unitid = t5.auxunitid AND t5.siteid = t1.siteid
+         LEFT JOIN sa_promotion_items t7 ON t7.sa_promotion_itemsid = t1.sa_promotion_itemsid AND t7.siteid = t1.siteid
 WHERE t1.sys_enterpriseid = $sys_enterpriseid$
   AND t1.siteid = $siteid$ and t3.istool = $istool$ and t1.sa_promotionid=$sa_promotionid$
   and $where$

+ 5 - 1
src/custom/restcontroller/webmanage/sale/order/OrderItems.java

@@ -653,7 +653,11 @@ public class OrderItems extends Controller {
         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)");
+        if(sa_promotionid>0){
+            querySQL.addQueryFields("packageqty", "ifnull(t4.packageqty, 0)");
+        }else{
+            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)");

+ 2 - 2
src/custom/restcontroller/webmanage/sale/promotion/SQL/促销方案商品新增.sql

@@ -1,2 +1,2 @@
-insert into sa_promotion_items (siteid, sa_promotion_itemsid,sa_promotionid,sa_promotion_itemgroupid,groupqty,itemid, orderaddqty,orderminqty,islimit,signaturecode,itemno,packagetypemx)
-values ($siteid$, $sa_promotion_itemsid$,$sa_promotionid$,$sa_promotion_itemgroupid$, $groupqty$, $itemid$, $orderaddqty$, $orderminqty$, $islimit$,$signaturecode$,$itemno$,$packagetypemx$);
+insert into sa_promotion_items (siteid, sa_promotion_itemsid,sa_promotionid,sa_promotion_itemgroupid,groupqty,itemid, orderaddqty,orderminqty,islimit,signaturecode,itemno,packagetypemx,packageqty)
+values ($siteid$, $sa_promotion_itemsid$,$sa_promotionid$,$sa_promotion_itemgroupid$, $groupqty$, $itemid$, $orderaddqty$, $orderminqty$, $islimit$,$signaturecode$,$itemno$,$packagetypemx$,$packageqty$);

+ 2 - 1
src/custom/restcontroller/webmanage/sale/promotion/SQL/促销方案商品更新.sql

@@ -6,5 +6,6 @@ SET
     orderminqty= $orderminqty$,
     islimit= $islimit$,
     signaturecode=$signaturecode$,
-    packagetypemx=$packagetypemx$
+    packagetypemx=$packagetypemx$,
+    packageqty=$packageqty$
 WHERE sa_promotion_itemsid = $sa_promotion_itemsid$ and siteid=$siteid$

+ 2 - 1
src/custom/restcontroller/webmanage/sale/promotion/SQL/商品查询.sql

@@ -7,8 +7,9 @@ SELECT
 	t1.model,
 	t1.isonsale,
 	t2.unitname,
+	t1.packageqty,
 	t1.orderaddqty,
-  t1.orderminqty
+    t1.orderminqty
 FROM
 	plm_item t1
 	 LEFT JOIN plm_unit t2 ON t2.unitid = t1.unitid AND t2.siteid = t1.siteid

+ 1 - 0
src/custom/restcontroller/webmanage/sale/promotion/SQL/商品等级价格查询.sql

@@ -2,6 +2,7 @@ select t1.itemid,
        t1.itemno,
        t1.orderminqty,
        t1.orderaddqty,
+       ifnull(t1.packageqty,0) packageqty,
        ifnull(t2.price, 0) price1,
        ifnull(t3.price, 0) price2,
        ifnull(t4.price, 0) price3,

+ 1 - 0
src/custom/restcontroller/webmanage/sale/promotion/promotion.java

@@ -333,6 +333,7 @@ public class promotion extends Controller {
             sqlFactory.addParameter("islimit", promotionitemsRow.getLong("islimit"));
             sqlFactory.addParameter("signaturecode", promotionitemsRow.getString("signaturecode"));
             sqlFactory.addParameter("packagetypemx", promotionitemsRow.getString("packagetypemx"));
+            sqlFactory.addParameter("packageqty", promotionitemsRow.getString("packageqty"));
             sqlFactory.addParameter("itemno", promotionitemsRow.getString("itemno"));
             sqlList.add(sqlFactory.getSQL());
 

+ 10 - 2
src/custom/restcontroller/webmanage/sale/promotion/promotionItems.java

@@ -133,7 +133,7 @@ public class promotionItems extends Controller {
         long[] sa_promotion_itemsid = createTableID("sa_promotion_items", iteminfos.size());
         for (Object obj : iteminfos) {
             JSONObject iteminfo = (JSONObject) obj;
-            Rows itemrows = dbConnect.runSqlQuery("select itemid,orderminqty,orderaddqty,itemno from plm_item where siteid='" + siteid + "'");
+            Rows itemrows = dbConnect.runSqlQuery("select itemid,orderminqty,orderaddqty,packageqty,itemno from plm_item where siteid='" + siteid + "'");
             RowsMap itemrowsMap = itemrows.toRowsMap("itemid");
             if (iteminfo.getLong("sa_promotion_itemsid") <= 0 || dbConnect
                     .runSqlQuery("select sa_promotion_itemsid from sa_promotion_items where sa_promotion_itemsid="
@@ -148,6 +148,11 @@ public class promotionItems extends Controller {
                 saleFactory.addParameter("itemid", iteminfo.getLong("itemid"));
                 saleFactory.addParameter("itemno", itemrowsMap.get(iteminfo.getString("itemid")).get(0).getString("itemno"));
                 if (itemrowsMap.containsKey(iteminfo.getString("itemid"))) {
+                    if(iteminfo.getBigDecimalValue("packageqty").compareTo(BigDecimal.ZERO)<=0){
+                        saleFactory.addParameter("packageqty", itemrowsMap.get(iteminfo.getString("itemid")).get(0).getBigDecimal("packageqty"));
+                    }else {
+                        saleFactory.addParameter("packageqty", iteminfo.getBigDecimalValue("packageqty"));
+                    }
                     saleFactory.addParameter("orderaddqty", itemrowsMap.get(iteminfo.getString("itemid")).get(0).getBigDecimal("orderaddqty"));
                     if (itemrowsMap.get(iteminfo.getString("itemid")).get(0).getBigDecimal("packageqty").compareTo(BigDecimal.ZERO) > 0) {
                         saleFactory.addParameter("orderminqty", itemrowsMap.get(iteminfo.getString("itemid")).get(0).getBigDecimal("packageqty"));
@@ -158,6 +163,7 @@ public class promotionItems extends Controller {
                 } else {
                     saleFactory.addParameter("orderaddqty", 1);
                     saleFactory.addParameter("orderminqty", 1);
+                    saleFactory.addParameter("packageqty", 1);
                 }
                 saleFactory.addParameter("islimit", iteminfo.getLong("islimit"));
                 saleFactory.addParameter("signaturecode", iteminfo.getStringValue("signaturecode"));
@@ -287,7 +293,7 @@ public class promotionItems extends Controller {
 
     //查询发货单列表
     public QuerySQL queryPromotionItemList(String where,long sa_promotionid,long sa_promotion_itemgroupid) throws YosException {
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_promotion_items","sa_promotion_itemsid", "siteid","sa_promotionid","itemid","itemid","orderminqty","orderaddqty","saledqty","islimit","isonsale","sa_promotion_itemgroupid","groupqty","signaturecode","packagetypemx");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_promotion_items","sa_promotion_itemsid", "siteid","sa_promotionid","itemid","itemid","orderminqty","orderaddqty","saledqty","islimit","isonsale","sa_promotion_itemgroupid","groupqty","signaturecode","packagetypemx","packageqty");
         querySQL.setTableAlias("t1");
 
 
@@ -510,6 +516,7 @@ public class promotionItems extends Controller {
                 }
                 Row item = itemRowsMap.get(itemno).get(0);
                 row.put("itemid", item.getLong("itemid"));
+                row.put("packageqty", item.getString("packageqty"));
                 if (StringUtils.isEmpty(orderminqty) || (new BigDecimal(orderminqty)).compareTo(BigDecimal.ZERO)==0) {
                     row.put("orderminqty", item.getDouble("orderminqty"));
                 }
@@ -610,6 +617,7 @@ public class promotionItems extends Controller {
                     sqlFactory.addParameter("islimit", row.getString("islimit"));
                     sqlFactory.addParameter("signaturecode", row.getString("signaturecode"));
                     sqlFactory.addParameter("packagetypemx", "");
+                    sqlFactory.addParameter("packageqty",  row.getString("packageqty"));
                     sqllist.add(sqlFactory.getSQL());
                     for (int o = 1; o <= 5; o++) {
                         long sa_promotion_itempriceid = sa_promotion_itempriceids[a];