Browse Source

促销方案商品列表(业务端)bug修复

eganwu 1 year ago
parent
commit
26b9b2a568
1 changed files with 69 additions and 66 deletions
  1. 69 66
      src/custom/restcontroller/sale/promotion/promotion.java

+ 69 - 66
src/custom/restcontroller/sale/promotion/promotion.java

@@ -53,31 +53,31 @@ public class promotion extends Controller {
         SQLFactory sqlFactory1 = new SQLFactory(this, "促销订单金额合计查询");
         sqlFactory1.addParameter("siteid", siteid);
         sqlFactory1.addParameter("sys_enterpriseid", sys_enterpriseid);
-        Rows sumAmountRows =  dbConnect.runSqlQuery(sqlFactory1.getSQL());
+        Rows sumAmountRows = dbConnect.runSqlQuery(sqlFactory1.getSQL());
         RowsMap sumAmountRowsMap = sumAmountRows.toRowsMap("sa_promotionid");
 
         SQLFactory sqlFactory2 = new SQLFactory(this, "促销方案列表查询(触发的促销方案)");
         sqlFactory2.addParameter("siteid", siteid);
         sqlFactory2.addParameter("sys_enterpriseid", sys_enterpriseid);
-        Rows openPromotionsRows =  dbConnect.runSqlQuery(sqlFactory2.getSQL());
+        Rows openPromotionsRows = dbConnect.runSqlQuery(sqlFactory2.getSQL());
         RowsMap openPromotionsRowsMap = openPromotionsRows.toRowsMap("sa_promotionid");
 
         ListIterator<Row> iterator = rows.listIterator();
         while (iterator.hasNext()) {
             Row row = iterator.next();
-            if(row.getLong("sa_openpromotionid")!=0){
-                if(sumAmountRowsMap.containsKey(row.getString("sa_promotionid"))){
+            if (row.getLong("sa_openpromotionid") != 0) {
+                if (sumAmountRowsMap.containsKey(row.getString("sa_promotionid"))) {
                     BigDecimal sumamount = sumAmountRowsMap.get(row.getString("sa_promotionid")).get(0).getBigDecimal("sumamount");
-                    if(sumamount.compareTo(row.getBigDecimal("openamount"))>=0){
-                        if(openPromotionsRowsMap.containsKey(row.getString("sa_openpromotionid"))){
+                    if (sumamount.compareTo(row.getBigDecimal("openamount")) >= 0) {
+                        if (openPromotionsRowsMap.containsKey(row.getString("sa_openpromotionid"))) {
                             iterator.add(openPromotionsRowsMap.get(row.getString("sa_openpromotionid")).get(0));
                         }
                     }
                 }
             }
         }
-        Rows promotionAuthRows = dbConnect.runSqlQuery("select t1.sa_promotionid,ifnull(t1.limitamount,0)-ifnull(t1.saledamount,0) canuseamount from sa_promotion_auth t1 inner join sa_promotion t2 on t1.sa_promotionid=t2.sa_promotionid and t1.siteid=t2.siteid where t1.sys_enterpriseid="+sys_enterpriseid);
-        RowsMap promotionAuthRowsMap =  promotionAuthRows.toRowsMap("sa_promotionid");
+        Rows promotionAuthRows = dbConnect.runSqlQuery("select t1.sa_promotionid,ifnull(t1.limitamount,0)-ifnull(t1.saledamount,0) canuseamount from sa_promotion_auth t1 inner join sa_promotion t2 on t1.sa_promotionid=t2.sa_promotionid and t1.siteid=t2.siteid where t1.sys_enterpriseid=" + sys_enterpriseid);
+        RowsMap promotionAuthRowsMap = promotionAuthRows.toRowsMap("sa_promotionid");
         for (Row row : rows) {
             if ((attRowsMap.getOrDefault(row.getString("sa_promotionid"), new Rows())).isEmpty()) {
                 row.put("attinfos", defaultImageRows);
@@ -90,14 +90,14 @@ public class promotion extends Controller {
                 row.put("tradefield", new JSONArray());
             }
 
-            if(row.getString("type").equals("返利促销")){
-                if(promotionAuthRowsMap.containsKey(row.getString("sa_promotionid"))){
+            if (row.getString("type").equals("返利促销")) {
+                if (promotionAuthRowsMap.containsKey(row.getString("sa_promotionid"))) {
                     row.put("canuseamount", promotionAuthRowsMap.get(row.getString("sa_promotionid")).get(0).getBigDecimal("canuseamount"));
-                }else {
+                } else {
                     row.put("canuseamount", 0);
                 }
 
-            }else{
+            } else {
                 row.put("canuseamount", 0);
             }
 
@@ -151,10 +151,10 @@ public class promotion extends Controller {
         RowsMap attRowsMap = getAttachmentUrl("plm_item", ids);
         //商品领域
         RowsMap tradefieldRowsMap = beans.Item.Item.getTradefieldRowsMap(this, ids);
-        Rows sizecustomizedschemes=dbConnect.runSqlQuery("select * from sa_sizecustomizedscheme where siteid='"+siteid+"' ");
-        RowsMap sizecustomizedschemesRowsMap=sizecustomizedschemes.toRowsMap("sa_sizecustomizedschemeid");
-        Rows sizeschemedetails=dbConnect.runSqlQuery("select * from sa_sizeschemedetail where siteid='"+siteid+"' ");
-        RowsMap sizeschemedetailsRowsMap=sizeschemedetails.toRowsMap("sa_sizecustomizedschemeid");
+        Rows sizecustomizedschemes = dbConnect.runSqlQuery("select * from sa_sizecustomizedscheme where siteid='" + siteid + "' ");
+        RowsMap sizecustomizedschemesRowsMap = sizecustomizedschemes.toRowsMap("sa_sizecustomizedschemeid");
+        Rows sizeschemedetails = dbConnect.runSqlQuery("select * from sa_sizeschemedetail where siteid='" + siteid + "' ");
+        RowsMap sizeschemedetailsRowsMap = sizeschemedetails.toRowsMap("sa_sizecustomizedschemeid");
         for (Row row : rows) {
             if ((attRowsMap.getOrDefault(row.getString("itemid"), new Rows())).isEmpty()) {
                 row.put("attinfos", defaultImageRows);
@@ -164,39 +164,42 @@ public class promotion extends Controller {
 
             row.put("tradefield", tradefieldRowsMap.getOrDefault(row.getString("itemid"), new Rows()));
 
-            if(row.getLong("widthschemeid")!=0){
-                if(sizecustomizedschemesRowsMap.containsKey(row.getString("widthschemeid"))){
-                    if(sizecustomizedschemesRowsMap.get(row.getString("widthschemeid")).isNotEmpty()){
-                        row.put("widthtype",sizecustomizedschemesRowsMap.get(row.getString("widthschemeid")).get(0).getString("type"));
-                        row.put("widthmin",sizecustomizedschemesRowsMap.get(row.getString("widthschemeid")).get(0).getBigDecimal("min"));
-                        row.put("widthmax",sizecustomizedschemesRowsMap.get(row.getString("widthschemeid")).get(0).getBigDecimal("max"));
-                        row.put("widthdecimalplaces",sizecustomizedschemesRowsMap.get(row.getString("widthschemeid")).get(0).getBigDecimal("decimalplaces"));
-                        if(sizeschemedetailsRowsMap.containsKey(row.getString("widthschemeid"))){
-                            row.put("widthschemedetails",sizeschemedetailsRowsMap.get(row.getString("widthschemeid")));
-                        }else{
-                            row.put("widthschemedetails",new JSONArray());
+            if (row.getLong("widthschemeid") != 0) {
+                if (sizecustomizedschemesRowsMap.containsKey(row.getString("widthschemeid"))) {
+                    if (sizecustomizedschemesRowsMap.get(row.getString("widthschemeid")).isNotEmpty()) {
+                        row.put("widthtype", sizecustomizedschemesRowsMap.get(row.getString("widthschemeid")).get(0).getString("type"));
+                        row.put("widthmin", sizecustomizedschemesRowsMap.get(row.getString("widthschemeid")).get(0).getBigDecimal("min"));
+                        row.put("widthmax", sizecustomizedschemesRowsMap.get(row.getString("widthschemeid")).get(0).getBigDecimal("max"));
+                        row.put("widthdecimalplaces", sizecustomizedschemesRowsMap.get(row.getString("widthschemeid")).get(0).getBigDecimal("decimalplaces"));
+                        if (sizeschemedetailsRowsMap.containsKey(row.getString("widthschemeid"))) {
+                            row.put("widthschemedetails", sizeschemedetailsRowsMap.get(row.getString("widthschemeid")));
+                        } else {
+                            row.put("widthschemedetails", new JSONArray());
                         }
 
                     }
 
                 }
             }
-            if(row.getLong("lengthschemeid")!=0){
-                if(sizecustomizedschemesRowsMap.containsKey(row.getString("lengthschemeid"))){
-                    if(sizecustomizedschemesRowsMap.get(row.getString("lengthschemeid")).isNotEmpty()){
-                        row.put("lengthtype",sizecustomizedschemesRowsMap.get(row.getString("lengthschemeid")).get(0).getString("type"));
-                        row.put("lengthmin",sizecustomizedschemesRowsMap.get(row.getString("lengthschemeid")).get(0).getBigDecimal("min"));
-                        row.put("lengthmax",sizecustomizedschemesRowsMap.get(row.getString("lengthschemeid")).get(0).getBigDecimal("max"));
-                        row.put("lengthdecimalplaces",sizecustomizedschemesRowsMap.get(row.getString("lengthschemeid")).get(0).getBigDecimal("decimalplaces"));
-                        if(sizeschemedetailsRowsMap.containsKey(row.getString("lengthschemeid"))){
-                            row.put("lengthschemedetails",sizeschemedetailsRowsMap.get(row.getString("lengthschemeid")));
-                        }else{
-                            row.put("lengthschemedetails",new JSONArray());
+            if (row.getLong("lengthschemeid") != 0) {
+                if (sizecustomizedschemesRowsMap.containsKey(row.getString("lengthschemeid"))) {
+                    if (sizecustomizedschemesRowsMap.get(row.getString("lengthschemeid")).isNotEmpty()) {
+                        row.put("lengthtype", sizecustomizedschemesRowsMap.get(row.getString("lengthschemeid")).get(0).getString("type"));
+                        row.put("lengthmin", sizecustomizedschemesRowsMap.get(row.getString("lengthschemeid")).get(0).getBigDecimal("min"));
+                        row.put("lengthmax", sizecustomizedschemesRowsMap.get(row.getString("lengthschemeid")).get(0).getBigDecimal("max"));
+                        row.put("lengthdecimalplaces", sizecustomizedschemesRowsMap.get(row.getString("lengthschemeid")).get(0).getBigDecimal("decimalplaces"));
+                        if (sizeschemedetailsRowsMap.containsKey(row.getString("lengthschemeid"))) {
+                            row.put("lengthschemedetails", sizeschemedetailsRowsMap.get(row.getString("lengthschemeid")));
+                        } else {
+                            row.put("lengthschemedetails", new JSONArray());
                         }
                     }
 
                 }
             }
+            row.putIfAbsent("saledqty", 0);
+            row.putIfAbsent("islimit", 0);
+            row.putIfAbsent("groupqty", 1);
         }
 
         return getSucReturnObject().setData(rows).toString();
@@ -221,7 +224,7 @@ public class promotion extends Controller {
         areasqlFactory.addParameter("siteid", siteid);
         areasqlFactory.addParameter("hrid", hrid);
         Rows arearows = dbConnect.runSqlQuery(areasqlFactory);
-        ArrayList<Long> arrayList =arearows.toArrayList("sa_saleareaid", new ArrayList<Long>());
+        ArrayList<Long> arrayList = arearows.toArrayList("sa_saleareaid", new ArrayList<Long>());
         arrayList.addAll(SaleArea.getSubSaleAreaIds(this, arrayList));
 
 
@@ -263,7 +266,7 @@ public class promotion extends Controller {
 //            }
 //        }
         //Rows promotionAuthRows = dbConnect.runSqlQuery("select t1.sa_promotionid,ifnull(t1.limitamount,0)-ifnull(t1.saledamount,0) canuseamount from sa_promotion_auth t1 inner join sa_promotion t2 on t1.sa_promotionid=t2.sa_promotionid and t1.siteid=t2.siteid where t1.sys_enterpriseid="+sys_enterpriseid);
-       // RowsMap promotionAuthRowsMap =  promotionAuthRows.toRowsMap("sa_promotionid");
+        // RowsMap promotionAuthRowsMap =  promotionAuthRows.toRowsMap("sa_promotionid");
         for (Row row : rows) {
             if ((attRowsMap.getOrDefault(row.getString("sa_promotionid"), new Rows())).isEmpty()) {
                 row.put("attinfos", defaultImageRows);
@@ -326,10 +329,10 @@ public class promotion extends Controller {
         RowsMap attRowsMap = getAttachmentUrl("plm_item", ids);
         //商品领域
         RowsMap tradefieldRowsMap = beans.Item.Item.getTradefieldRowsMap(this, ids);
-        Rows sizecustomizedschemes=dbConnect.runSqlQuery("select * from sa_sizecustomizedscheme where siteid='"+siteid+"' ");
-        RowsMap sizecustomizedschemesRowsMap=sizecustomizedschemes.toRowsMap("sa_sizecustomizedschemeid");
-        Rows sizeschemedetails=dbConnect.runSqlQuery("select * from sa_sizeschemedetail where siteid='"+siteid+"' ");
-        RowsMap sizeschemedetailsRowsMap=sizeschemedetails.toRowsMap("sa_sizecustomizedschemeid");
+        Rows sizecustomizedschemes = dbConnect.runSqlQuery("select * from sa_sizecustomizedscheme where siteid='" + siteid + "' ");
+        RowsMap sizecustomizedschemesRowsMap = sizecustomizedschemes.toRowsMap("sa_sizecustomizedschemeid");
+        Rows sizeschemedetails = dbConnect.runSqlQuery("select * from sa_sizeschemedetail where siteid='" + siteid + "' ");
+        RowsMap sizeschemedetailsRowsMap = sizeschemedetails.toRowsMap("sa_sizecustomizedschemeid");
         for (Row row : rows) {
             if ((attRowsMap.getOrDefault(row.getString("itemid"), new Rows())).isEmpty()) {
                 row.put("attinfos", defaultImageRows);
@@ -339,34 +342,34 @@ public class promotion extends Controller {
 
             row.put("tradefield", tradefieldRowsMap.getOrDefault(row.getString("itemid"), new Rows()));
 
-            if(row.getLong("widthschemeid")!=0){
-                if(sizecustomizedschemesRowsMap.containsKey(row.getString("widthschemeid"))){
-                    if(sizecustomizedschemesRowsMap.get(row.getString("widthschemeid")).isNotEmpty()){
-                        row.put("widthtype",sizecustomizedschemesRowsMap.get(row.getString("widthschemeid")).get(0).getString("type"));
-                        row.put("widthmin",sizecustomizedschemesRowsMap.get(row.getString("widthschemeid")).get(0).getBigDecimal("min"));
-                        row.put("widthmax",sizecustomizedschemesRowsMap.get(row.getString("widthschemeid")).get(0).getBigDecimal("max"));
-                        row.put("widthdecimalplaces",sizecustomizedschemesRowsMap.get(row.getString("widthschemeid")).get(0).getBigDecimal("decimalplaces"));
-                        if(sizeschemedetailsRowsMap.containsKey(row.getString("widthschemeid"))){
-                            row.put("widthschemedetails",sizeschemedetailsRowsMap.get(row.getString("widthschemeid")));
-                        }else{
-                            row.put("widthschemedetails",new JSONArray());
+            if (row.getLong("widthschemeid") != 0) {
+                if (sizecustomizedschemesRowsMap.containsKey(row.getString("widthschemeid"))) {
+                    if (sizecustomizedschemesRowsMap.get(row.getString("widthschemeid")).isNotEmpty()) {
+                        row.put("widthtype", sizecustomizedschemesRowsMap.get(row.getString("widthschemeid")).get(0).getString("type"));
+                        row.put("widthmin", sizecustomizedschemesRowsMap.get(row.getString("widthschemeid")).get(0).getBigDecimal("min"));
+                        row.put("widthmax", sizecustomizedschemesRowsMap.get(row.getString("widthschemeid")).get(0).getBigDecimal("max"));
+                        row.put("widthdecimalplaces", sizecustomizedschemesRowsMap.get(row.getString("widthschemeid")).get(0).getBigDecimal("decimalplaces"));
+                        if (sizeschemedetailsRowsMap.containsKey(row.getString("widthschemeid"))) {
+                            row.put("widthschemedetails", sizeschemedetailsRowsMap.get(row.getString("widthschemeid")));
+                        } else {
+                            row.put("widthschemedetails", new JSONArray());
                         }
 
                     }
 
                 }
             }
-            if(row.getLong("lengthschemeid")!=0){
-                if(sizecustomizedschemesRowsMap.containsKey(row.getString("lengthschemeid"))){
-                    if(sizecustomizedschemesRowsMap.get(row.getString("lengthschemeid")).isNotEmpty()){
-                        row.put("lengthtype",sizecustomizedschemesRowsMap.get(row.getString("lengthschemeid")).get(0).getString("type"));
-                        row.put("lengthmin",sizecustomizedschemesRowsMap.get(row.getString("lengthschemeid")).get(0).getBigDecimal("min"));
-                        row.put("lengthmax",sizecustomizedschemesRowsMap.get(row.getString("lengthschemeid")).get(0).getBigDecimal("max"));
-                        row.put("lengthdecimalplaces",sizecustomizedschemesRowsMap.get(row.getString("lengthschemeid")).get(0).getBigDecimal("decimalplaces"));
-                        if(sizeschemedetailsRowsMap.containsKey(row.getString("lengthschemeid"))){
-                            row.put("lengthschemedetails",sizeschemedetailsRowsMap.get(row.getString("lengthschemeid")));
-                        }else{
-                            row.put("lengthschemedetails",new JSONArray());
+            if (row.getLong("lengthschemeid") != 0) {
+                if (sizecustomizedschemesRowsMap.containsKey(row.getString("lengthschemeid"))) {
+                    if (sizecustomizedschemesRowsMap.get(row.getString("lengthschemeid")).isNotEmpty()) {
+                        row.put("lengthtype", sizecustomizedschemesRowsMap.get(row.getString("lengthschemeid")).get(0).getString("type"));
+                        row.put("lengthmin", sizecustomizedschemesRowsMap.get(row.getString("lengthschemeid")).get(0).getBigDecimal("min"));
+                        row.put("lengthmax", sizecustomizedschemesRowsMap.get(row.getString("lengthschemeid")).get(0).getBigDecimal("max"));
+                        row.put("lengthdecimalplaces", sizecustomizedschemesRowsMap.get(row.getString("lengthschemeid")).get(0).getBigDecimal("decimalplaces"));
+                        if (sizeschemedetailsRowsMap.containsKey(row.getString("lengthschemeid"))) {
+                            row.put("lengthschemedetails", sizeschemedetailsRowsMap.get(row.getString("lengthschemeid")));
+                        } else {
+                            row.put("lengthschemedetails", new JSONArray());
                         }
                     }