浏览代码

商品组查询确定一个商品时才显示参与活动

hu 1 年之前
父节点
当前提交
4218bb01ca
共有 1 个文件被更改,包括 38 次插入34 次删除
  1. 38 34
      src/custom/restcontroller/sale/itemgroup/itemgroup.java

+ 38 - 34
src/custom/restcontroller/sale/itemgroup/itemgroup.java

@@ -989,46 +989,50 @@ public class itemgroup extends Controller {
 
 
 
 
             //判断商品是否参与活动:当前经销商参与的有效的活动
             //判断商品是否参与活动:当前经销商参与的有效的活动
-            SQLFactory activitysqlFactory = new SQLFactory(new promotion(new JSONObject()), "促销方案列表查询");
-            activitysqlFactory.addParameter("siteid", siteid);
-            activitysqlFactory.addParameter("sys_enterpriseid", sys_enterpriseid);
-            activitysqlFactory.addParameter_SQL("where", "1=1");
-            Rows activityrows = dbConnect.runSqlQuery(activitysqlFactory);
-
-            SQLFactory sqlFactory1 = new SQLFactory(new promotion(new JSONObject()), "促销订单金额合计查询");
-            sqlFactory1.addParameter("siteid", siteid);
-            sqlFactory1.addParameter("sys_enterpriseid", sys_enterpriseid);
-            Rows sumAmountRows =  dbConnect.runSqlQuery(sqlFactory1.getSQL());
-            RowsMap sumAmountRowsMap = sumAmountRows.toRowsMap("sa_promotionid");
-
-            SQLFactory sqlFactory2 = new SQLFactory(new promotion(new JSONObject()), "促销方案列表查询(触发的促销方案)");
-            sqlFactory2.addParameter("siteid", siteid);
-            sqlFactory2.addParameter("sys_enterpriseid", sys_enterpriseid);
-            Rows openPromotionsRows =  dbConnect.runSqlQuery(sqlFactory2.getSQL());
-            RowsMap openPromotionsRowsMap = openPromotionsRows.toRowsMap("sa_promotionid");
-
-            ListIterator<Row> iterator = activityrows.listIterator();
-            while (iterator.hasNext()) {
-                Row  activityrow = iterator.next();
-                if(activityrow.getLong("sa_openpromotionid")!=0){
-                    if(sumAmountRowsMap.containsKey(activityrow.getString("sa_promotionid"))){
-                        BigDecimal sumamount = sumAmountRowsMap.get(activityrow.getString("sa_promotionid")).get(0).getBigDecimal("sumamount");
-                        if(sumamount.compareTo(activityrow.getBigDecimal("openamount"))>=0){
-                            if(openPromotionsRowsMap.containsKey(activityrow.getString("sa_openpromotionid"))){
-                                iterator.add(openPromotionsRowsMap.get(activityrow.getString("sa_openpromotionid")).get(0));
+            if(listAll.size()==listParmNotBlank.size()){
+                SQLFactory activitysqlFactory = new SQLFactory(new promotion(new JSONObject()), "促销方案列表查询");
+                activitysqlFactory.addParameter("siteid", siteid);
+                activitysqlFactory.addParameter("sys_enterpriseid", sys_enterpriseid);
+                activitysqlFactory.addParameter_SQL("where", "1=1");
+                Rows activityrows = dbConnect.runSqlQuery(activitysqlFactory);
+
+                SQLFactory sqlFactory1 = new SQLFactory(new promotion(new JSONObject()), "促销订单金额合计查询");
+                sqlFactory1.addParameter("siteid", siteid);
+                sqlFactory1.addParameter("sys_enterpriseid", sys_enterpriseid);
+                Rows sumAmountRows =  dbConnect.runSqlQuery(sqlFactory1.getSQL());
+                RowsMap sumAmountRowsMap = sumAmountRows.toRowsMap("sa_promotionid");
+
+                SQLFactory sqlFactory2 = new SQLFactory(new promotion(new JSONObject()), "促销方案列表查询(触发的促销方案)");
+                sqlFactory2.addParameter("siteid", siteid);
+                sqlFactory2.addParameter("sys_enterpriseid", sys_enterpriseid);
+                Rows openPromotionsRows =  dbConnect.runSqlQuery(sqlFactory2.getSQL());
+                RowsMap openPromotionsRowsMap = openPromotionsRows.toRowsMap("sa_promotionid");
+
+                ListIterator<Row> iterator = activityrows.listIterator();
+                while (iterator.hasNext()) {
+                    Row  activityrow = iterator.next();
+                    if(activityrow.getLong("sa_openpromotionid")!=0){
+                        if(sumAmountRowsMap.containsKey(activityrow.getString("sa_promotionid"))){
+                            BigDecimal sumamount = sumAmountRowsMap.get(activityrow.getString("sa_promotionid")).get(0).getBigDecimal("sumamount");
+                            if(sumamount.compareTo(activityrow.getBigDecimal("openamount"))>=0){
+                                if(openPromotionsRowsMap.containsKey(activityrow.getString("sa_openpromotionid"))){
+                                    iterator.add(openPromotionsRowsMap.get(activityrow.getString("sa_openpromotionid")).get(0));
+                                }
                             }
                             }
                         }
                         }
                     }
                     }
                 }
                 }
-            }
 
 
-            SQLFactory promotionsqlFactory = new SQLFactory(this, "查询商品所在有效活动", pageSize, pageNumber, pageSorting);
-            promotionsqlFactory.addParameter("itemno", itemno);
-            promotionsqlFactory.addParameter_in("sa_promotionids", activityrows.toArray("sa_promotionid"));
-            promotionsqlFactory.addParameter("siteid", siteid);
-            Rows promotionrows = dbConnect.runSqlQuery(promotionsqlFactory.getSQL());
+                SQLFactory promotionsqlFactory = new SQLFactory(this, "查询商品所在有效活动", pageSize, pageNumber, pageSorting);
+                promotionsqlFactory.addParameter("itemno", itemno);
+                promotionsqlFactory.addParameter_in("sa_promotionids", activityrows.toArray("sa_promotionid"));
+                promotionsqlFactory.addParameter("siteid", siteid);
+                Rows promotionrows = dbConnect.runSqlQuery(promotionsqlFactory.getSQL());
 
 
-            row.put("canuseactivity",promotionrows);
+                row.put("canuseactivity",promotionrows);
+            }else{
+                row.put("canuseactivity",new Rows());
+            }
 
 
 
 
         }
         }