Bläddra i källkod

定制信息代码优化

eganwu 1 år sedan
förälder
incheckning
4a26307873

+ 58 - 0
src/custom/beans/customscheme/CustomScheme.java

@@ -0,0 +1,58 @@
+package beans.customscheme;
+
+import com.alibaba.fastjson.JSONArray;
+import common.BaseClass;
+import common.Controller;
+import common.YosException;
+import common.data.Row;
+import common.data.Rows;
+import common.data.RowsMap;
+
+public class CustomScheme extends BaseClass {
+
+    Controller controller;
+    RowsMap sizecustomizedschemesRowsMap;
+    RowsMap sizeschemedetailsRowsMap;
+
+
+    public CustomScheme(Controller controller) throws YosException {
+        this.controller = controller;
+        Rows sizecustomizedschemes = dbConnect.runSqlQuery("select * from sa_sizecustomizedscheme where siteid='" + controller.siteid + "' ");
+        sizecustomizedschemesRowsMap = sizecustomizedschemes.toRowsMap("sa_sizecustomizedschemeid");
+
+        Rows sizeschemedetails = dbConnect.runSqlQuery("select * from sa_sizeschemedetail where siteid='" + controller.siteid + "' ");
+        sizeschemedetailsRowsMap = sizeschemedetails.toRowsMap("sa_sizecustomizedschemeid");
+    }
+
+    //宽
+    public Row setScheme(Row row, String type) {
+        String fieldname = type + "schemeid";
+        String key = type + "schemedetails";
+
+        if (row.getLong(fieldname) == 0) {
+            row.put(key, new JSONArray());
+            return row;
+        }
+        String schemeid = row.getString(fieldname);
+        if (!sizecustomizedschemesRowsMap.containsKey(schemeid)) {
+            row.put(key, new JSONArray());
+            return row;
+        }
+        if (sizecustomizedschemesRowsMap.get(schemeid).isEmpty()) {
+            row.put(key, new JSONArray());
+            return row;
+        }
+        Row sizecustomizedschemesRow = sizecustomizedschemesRowsMap.get(schemeid).get(0);
+        row.put(type + "type", sizecustomizedschemesRow.getString("type"));
+        row.put(type + "min", sizecustomizedschemesRow.getBigDecimal("min"));
+        row.put(type + "max", sizecustomizedschemesRow.getBigDecimal("max"));
+        row.put(type + "decimalplaces", sizecustomizedschemesRow.getBigDecimal("decimalplaces"));
+        if (sizeschemedetailsRowsMap.containsKey(schemeid)) {
+            row.put(key, sizeschemedetailsRowsMap.get(schemeid));
+        } else {
+            row.put(key, new JSONArray());
+        }
+        return row;
+    }
+
+}

+ 9 - 87
src/custom/restcontroller/sale/favorites/favorites.java

@@ -1,5 +1,6 @@
 package restcontroller.sale.favorites;
 
+import beans.customscheme.CustomScheme;
 import beans.itemprice.ItemPrice;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -125,11 +126,8 @@ public class favorites extends Controller {
         sqlFactory.addParameter("siteid", siteid);
         Rows itemrows = dbConnect.runSqlQuery(sqlFactory.getSQL());
 
-        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");
-
+        //定制信息
+        CustomScheme customScheme = new CustomScheme(this);
         for (Row row : itemrows) {
             ItemPrice itemPrice = ItemPrice.getItemPrice(this, sys_enterpriseid, row.getLong("itemid"));
             row.put("oldprice", itemPrice.getPrice());
@@ -146,88 +144,12 @@ public class favorites extends Controller {
                     row.put("gradeprice", 0);
                 }
             }
-
-            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());
-                        }
-                    }
-
-                }
-            }
-            //选项
-            String materialschemeid = row.getString("materialschemeid");
-            if (!materialschemeid.equals("0") && sizecustomizedschemesRowsMap.containsKey(materialschemeid) && sizecustomizedschemesRowsMap.get(materialschemeid).isNotEmpty()) {
-                row.put("type", sizecustomizedschemesRowsMap.get(materialschemeid).get(0).getString("type"));
-                row.put("min", sizecustomizedschemesRowsMap.get(materialschemeid).get(0).getBigDecimal("min"));
-                row.put("max", sizecustomizedschemesRowsMap.get(materialschemeid).get(0).getBigDecimal("max"));
-                row.put("decimalplaces", sizecustomizedschemesRowsMap.get(materialschemeid).get(0).getBigDecimal("decimalplaces"));
-                if (sizeschemedetailsRowsMap.containsKey(materialschemeid)) {
-                    row.put("materialschemedetails", sizeschemedetailsRowsMap.get(materialschemeid));
-                } else {
-                    row.put("materialschemedetails", new JSONArray());
-                }
-
-            } else {
-                row.put("materialschemedetails", new JSONArray());
-            }
-            //颜色
-            String colorschemeid = row.getString("colorschemeid");
-            if (!colorschemeid.equals("0") && sizecustomizedschemesRowsMap.containsKey(colorschemeid) && sizecustomizedschemesRowsMap.get(colorschemeid).isNotEmpty()) {
-                row.put("type", sizecustomizedschemesRowsMap.get(colorschemeid).get(0).getString("type"));
-                row.put("min", sizecustomizedschemesRowsMap.get(colorschemeid).get(0).getBigDecimal("min"));
-                row.put("max", sizecustomizedschemesRowsMap.get(colorschemeid).get(0).getBigDecimal("max"));
-                row.put("decimalplaces", sizecustomizedschemesRowsMap.get(colorschemeid).get(0).getBigDecimal("decimalplaces"));
-                if (sizeschemedetailsRowsMap.containsKey(colorschemeid)) {
-                    row.put("colorsschemedetails", sizeschemedetailsRowsMap.get(colorschemeid));
-                } else {
-                    row.put("colorsschemedetails", new JSONArray());
-                }
-
-            } else {
-                row.put("colorsschemedetails", new JSONArray());
-            }
-            //工艺
-            String cheekschemeid = row.getString("cheekschemeid");
-            if (!cheekschemeid.equals("0") && sizecustomizedschemesRowsMap.containsKey(cheekschemeid) && sizecustomizedschemesRowsMap.get(cheekschemeid).isNotEmpty()) {
-                row.put("type", sizecustomizedschemesRowsMap.get(cheekschemeid).get(0).getString("type"));
-                row.put("min", sizecustomizedschemesRowsMap.get(cheekschemeid).get(0).getBigDecimal("min"));
-                row.put("max", sizecustomizedschemesRowsMap.get(cheekschemeid).get(0).getBigDecimal("max"));
-                row.put("decimalplaces", sizecustomizedschemesRowsMap.get(cheekschemeid).get(0).getBigDecimal("decimalplaces"));
-                if (sizeschemedetailsRowsMap.containsKey(cheekschemeid)) {
-                    row.put("cheekschemedetails", sizeschemedetailsRowsMap.get(cheekschemeid));
-                } else {
-                    row.put("cheekschemedetails", new JSONArray());
-                }
-
-            } else {
-                row.put("cheekschemedetails", new JSONArray());
-            }
+            //定制信息
+            row = customScheme.setScheme(row, "width");
+            row = customScheme.setScheme(row, "length");
+            row = customScheme.setScheme(row, "material");
+            row = customScheme.setScheme(row, "color");
+            row = customScheme.setScheme(row, "cheek");
         }
 
         ArrayList<Long> ids = itemrows.toArrayList("itemid", new ArrayList<>());

+ 6 - 3
src/custom/restcontroller/sale/promotion/SQL/促销方案商品查询(区域经理).sql

@@ -11,9 +11,12 @@ SELECT
 	t1.itemid,
 	t1.signaturecode,
 	t2.iscustomsize,
-  t2.widthschemeid,
-  t2.lengthschemeid,
-  t2.sa_customschemeid,
+    t2.widthschemeid,
+    t2.lengthschemeid,
+    t2.sa_customschemeid,
+    t2.materialschemeid,
+    t2.colorschemeid,
+    t2.cheekschemeid,
 	t2.itemno,
 	t2.itemname,
 	t2.spec,

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

@@ -11,9 +11,12 @@ SELECT
 	t1.itemid,
 	t1.signaturecode,
 	t2.iscustomsize,
-  t2.widthschemeid,
-  t2.lengthschemeid,
-  t2.sa_customschemeid,
+    t2.widthschemeid,
+    t2.lengthschemeid,
+    t2.sa_customschemeid,
+    t2.materialschemeid,
+    t2.colorschemeid,
+    t2.cheekschemeid,
 	t2.itemno,
 	t2.itemname,
 	t2.spec,

+ 17 - 74
src/custom/restcontroller/sale/promotion/promotion.java

@@ -1,5 +1,6 @@
 package restcontroller.sale.promotion;
 
+import beans.customscheme.CustomScheme;
 import beans.salearea.SaleArea;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -151,10 +152,8 @@ 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");
+        //定制信息
+        CustomScheme customScheme = new CustomScheme(this);
         for (Row row : rows) {
             if ((attRowsMap.getOrDefault(row.getString("itemid"), new Rows())).isEmpty()) {
                 row.put("attinfos", defaultImageRows);
@@ -163,40 +162,13 @@ public class promotion extends Controller {
             }
 
             row.put("tradefield", tradefieldRowsMap.getOrDefault(row.getString("itemid"), new Rows()));
+            //定制信息
+            row = customScheme.setScheme(row, "width");
+            row = customScheme.setScheme(row, "length");
+            row = customScheme.setScheme(row, "material");
+            row = customScheme.setScheme(row, "color");
+            row = customScheme.setScheme(row, "cheek");
 
-            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());
-                        }
-                    }
-
-                }
-            }
             row.putIfAbsent("saledqty", 0);
             row.putIfAbsent("islimit", 0);
             row.putIfAbsent("groupqty", 1);
@@ -329,10 +301,8 @@ 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");
+        //定制信息
+        CustomScheme customScheme = new CustomScheme(this);
         for (Row row : rows) {
             if ((attRowsMap.getOrDefault(row.getString("itemid"), new Rows())).isEmpty()) {
                 row.put("attinfos", defaultImageRows);
@@ -341,40 +311,13 @@ public class promotion extends Controller {
             }
 
             row.put("tradefield", tradefieldRowsMap.getOrDefault(row.getString("itemid"), new Rows()));
+            //定制信息
+            row = customScheme.setScheme(row, "width");
+            row = customScheme.setScheme(row, "length");
+            row = customScheme.setScheme(row, "material");
+            row = customScheme.setScheme(row, "color");
+            row = customScheme.setScheme(row, "cheek");
 
-            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());
-                        }
-                    }
-
-                }
-            }
         }
 
         return getSucReturnObject().setData(rows).toString();

+ 9 - 101
src/custom/restcontroller/sale/shoppingcart/ShoppingCart.java

@@ -1,5 +1,6 @@
 package restcontroller.sale.shoppingcart;
 
+import beans.customscheme.CustomScheme;
 import beans.datacontrllog.DataContrlLog;
 import beans.itemprice.ItemPrice;
 import com.alibaba.fastjson.JSONArray;
@@ -241,12 +242,8 @@ public class ShoppingCart extends Controller {
 
         Rows promotionItemsRows = dbConnect.runSqlQuery("select * from sa_promotion_items where siteid='" + siteid + "' and sa_promotionid=" + content.getLongValue("sa_promotionid"));
         RowsMap promotionItemsRowsMap = promotionItemsRows.toRowsMap("itemid");
-
-        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");
+        //定制信息
+        CustomScheme customScheme = new CustomScheme(this);
 
         for (Row row : rows) {
             if ((attRowsMap.getOrDefault(row.getString("itemid"), new Rows())).isEmpty()) {
@@ -286,104 +283,15 @@ public class ShoppingCart extends Controller {
                 row.put("gradeprice", 0);
             }
             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());
-                        }
-
-                    }
-
-                }
-            } 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());
-                        }
-                    }
-
-                }
-            } else {
-                row.put("lengthschemedetails", new JSONArray());
-            }
-            //选项
-            String materialschemeid = row.getString("materialschemeid");
-            if (!materialschemeid.equals("0") && sizecustomizedschemesRowsMap.containsKey(materialschemeid) && sizecustomizedschemesRowsMap.get(materialschemeid).isNotEmpty()) {
-                row.put("type", sizecustomizedschemesRowsMap.get(materialschemeid).get(0).getString("type"));
-                row.put("min", sizecustomizedschemesRowsMap.get(materialschemeid).get(0).getBigDecimal("min"));
-                row.put("max", sizecustomizedschemesRowsMap.get(materialschemeid).get(0).getBigDecimal("max"));
-                row.put("decimalplaces", sizecustomizedschemesRowsMap.get(materialschemeid).get(0).getBigDecimal("decimalplaces"));
-                if (sizeschemedetailsRowsMap.containsKey(materialschemeid)) {
-                    row.put("materialschemedetails", sizeschemedetailsRowsMap.get(materialschemeid));
-                } else {
-                    row.put("materialschemedetails", new JSONArray());
-                }
-
-            } else {
-                row.put("materialschemedetails", new JSONArray());
-            }
-            //颜色
-            String colorschemeid = row.getString("colorschemeid");
-            if (!colorschemeid.equals("0") && sizecustomizedschemesRowsMap.containsKey(colorschemeid) && sizecustomizedschemesRowsMap.get(colorschemeid).isNotEmpty()) {
-                row.put("type", sizecustomizedschemesRowsMap.get(colorschemeid).get(0).getString("type"));
-                row.put("min", sizecustomizedschemesRowsMap.get(colorschemeid).get(0).getBigDecimal("min"));
-                row.put("max", sizecustomizedschemesRowsMap.get(colorschemeid).get(0).getBigDecimal("max"));
-                row.put("decimalplaces", sizecustomizedschemesRowsMap.get(colorschemeid).get(0).getBigDecimal("decimalplaces"));
-                if (sizeschemedetailsRowsMap.containsKey(colorschemeid)) {
-                    row.put("colorsschemedetails", sizeschemedetailsRowsMap.get(colorschemeid));
-                } else {
-                    row.put("colorsschemedetails", new JSONArray());
-                }
-
-            } else {
-                row.put("colorsschemedetails", new JSONArray());
-            }
-            //工艺
-            String cheekschemeid = row.getString("cheekschemeid");
-            if (!cheekschemeid.equals("0") && sizecustomizedschemesRowsMap.containsKey(cheekschemeid) && sizecustomizedschemesRowsMap.get(cheekschemeid).isNotEmpty()) {
-                row.put("type", sizecustomizedschemesRowsMap.get(cheekschemeid).get(0).getString("type"));
-                row.put("min", sizecustomizedschemesRowsMap.get(cheekschemeid).get(0).getBigDecimal("min"));
-                row.put("max", sizecustomizedschemesRowsMap.get(cheekschemeid).get(0).getBigDecimal("max"));
-                row.put("decimalplaces", sizecustomizedschemesRowsMap.get(cheekschemeid).get(0).getBigDecimal("decimalplaces"));
-                if (sizeschemedetailsRowsMap.containsKey(cheekschemeid)) {
-                    row.put("cheekschemedetails", sizeschemedetailsRowsMap.get(cheekschemeid));
-                } else {
-                    row.put("cheekschemedetails", new JSONArray());
-                }
-
-            } else {
-                row.put("cheekschemedetails", new JSONArray());
-            }
+            //定制信息
+            row = customScheme.setScheme(row, "width");
+            row = customScheme.setScheme(row, "length");
+            row = customScheme.setScheme(row, "material");
+            row = customScheme.setScheme(row, "color");
+            row = customScheme.setScheme(row, "cheek");
 
             row.put("isselect", true);
         }
-//        if (isExport) {
-//            //去除不需要导出项
-//            String[] removeFieldList = {"sa_shoppingcartid", "sa_brandid", "itemid", "unitgroupname", "orderminqty", "orderaddqty", "orderminqty_auxunit", "orderaddqty_auxunit"};
-//            for (String key : removeFieldList) {
-//                rows.getFieldList().remove(key);
-//            }
-//
-//            Rows uploadRows = uploadExcelToObs("order", "订单商品明细_列表", rows, getTitleMap());
-//            return getSucReturnObject().setData(uploadRows).toString();
-//        }
         return getSucReturnObject().setData(rows).toString();
     }
 

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

@@ -3,6 +3,7 @@ package restcontroller.webmanage.sale.order;
 import beans.accountbalance.Accountbalance;
 import beans.accountbalance.CashbillEntity;
 import beans.brand.Brand;
+import beans.customscheme.CustomScheme;
 import beans.datacontrllog.DataContrlLog;
 import beans.enterprise.Enterprise;
 import beans.itemprice.ItemPrice;
@@ -1103,12 +1104,8 @@ public class OrderItems extends Controller {
         RowsMap brandRowsMap = Brand.getBrandRowsMap(this, ids);
         //价格
         HashMap<Long, ItemPrice> itemPriceRowsMap = ItemPrice.getItemPrice(this, sys_enterpriseid, 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");
+        //定制信息
+        CustomScheme customScheme = new CustomScheme(this);
         for (Row row : rows) {
             row.put("attinfos", attinfoRowsMap.getOrDefault(row.getString("itemid"), new Rows()));
             row.put("tradefield", tradefieldRowsMap.getOrDefault(row.getString("itemid"), new Rows()));
@@ -1118,91 +1115,13 @@ public class OrderItems extends Controller {
             } else {
                 row.put("price", 0);
             }
-            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());
-                        }
-
-                    }
-
-                }
-            } 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());
-                        }
-                    }
-
-                }
-            } else {
-                row.put("lengthschemedetails", new JSONArray());
-            }
-            //选项
-            String materialschemeid = row.getString("materialschemeid");
-            if (!materialschemeid.equals("0") && sizecustomizedschemesRowsMap.containsKey(materialschemeid) && sizecustomizedschemesRowsMap.get(materialschemeid).isNotEmpty()) {
-                row.put("type", sizecustomizedschemesRowsMap.get(materialschemeid).get(0).getString("type"));
-                row.put("min", sizecustomizedschemesRowsMap.get(materialschemeid).get(0).getBigDecimal("min"));
-                row.put("max", sizecustomizedschemesRowsMap.get(materialschemeid).get(0).getBigDecimal("max"));
-                row.put("decimalplaces", sizecustomizedschemesRowsMap.get(materialschemeid).get(0).getBigDecimal("decimalplaces"));
-                if (sizeschemedetailsRowsMap.containsKey(materialschemeid)) {
-                    row.put("materialschemedetails", sizeschemedetailsRowsMap.get(materialschemeid));
-                } else {
-                    row.put("materialschemedetails", new JSONArray());
-                }
 
-            } else {
-                row.put("materialschemedetails", new JSONArray());
-            }
-            //颜色
-            String colorschemeid = row.getString("colorschemeid");
-            if (!colorschemeid.equals("0") && sizecustomizedschemesRowsMap.containsKey(colorschemeid) && sizecustomizedschemesRowsMap.get(colorschemeid).isNotEmpty()) {
-                row.put("type", sizecustomizedschemesRowsMap.get(colorschemeid).get(0).getString("type"));
-                row.put("min", sizecustomizedschemesRowsMap.get(colorschemeid).get(0).getBigDecimal("min"));
-                row.put("max", sizecustomizedschemesRowsMap.get(colorschemeid).get(0).getBigDecimal("max"));
-                row.put("decimalplaces", sizecustomizedschemesRowsMap.get(colorschemeid).get(0).getBigDecimal("decimalplaces"));
-                if (sizeschemedetailsRowsMap.containsKey(colorschemeid)) {
-                    row.put("colorsschemedetails", sizeschemedetailsRowsMap.get(colorschemeid));
-                } else {
-                    row.put("colorsschemedetails", new JSONArray());
-                }
+            row = customScheme.setScheme(row, "width");
+            row = customScheme.setScheme(row, "length");
+            row = customScheme.setScheme(row, "material");
+            row = customScheme.setScheme(row, "color");
+            row = customScheme.setScheme(row, "cheek");
 
-            } else {
-                row.put("colorsschemedetails", new JSONArray());
-            }
-            //工艺
-            String cheekschemeid = row.getString("cheekschemeid");
-            if (!cheekschemeid.equals("0") && sizecustomizedschemesRowsMap.containsKey(cheekschemeid) && sizecustomizedschemesRowsMap.get(cheekschemeid).isNotEmpty()) {
-                row.put("type", sizecustomizedschemesRowsMap.get(cheekschemeid).get(0).getString("type"));
-                row.put("min", sizecustomizedschemesRowsMap.get(cheekschemeid).get(0).getBigDecimal("min"));
-                row.put("max", sizecustomizedschemesRowsMap.get(cheekschemeid).get(0).getBigDecimal("max"));
-                row.put("decimalplaces", sizecustomizedschemesRowsMap.get(cheekschemeid).get(0).getBigDecimal("decimalplaces"));
-                if (sizeschemedetailsRowsMap.containsKey(cheekschemeid)) {
-                    row.put("cheekschemedetails", sizeschemedetailsRowsMap.get(cheekschemeid));
-                } else {
-                    row.put("cheekschemedetails", new JSONArray());
-                }
-
-            } else {
-                row.put("cheekschemedetails", new JSONArray());
-            }
 
         }
         return getSucReturnObject().setData(rows).toString();

+ 11 - 40
src/custom/restcontroller/webmanage/sale/order/PromotionOrder.java

@@ -1,6 +1,7 @@
 package restcontroller.webmanage.sale.order;
 
 import beans.brand.Brand;
+import beans.customscheme.CustomScheme;
 import beans.itemprice.ItemPrice;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -75,14 +76,14 @@ public class PromotionOrder extends Controller {
         }
         Long sa_orderid = content.getLong("sa_orderid");
 
-        Rows orderRows = getOrderRows(this,sa_orderid);
+        Rows orderRows = getOrderRows(this, sa_orderid);
         Long sa_promotionid = -1L;
         if (orderRows.isNotEmpty()) {
             sa_promotionid = orderRows.get(0).getLong("sa_promotionid");
             sys_enterpriseid = orderRows.get(0).getLong("sys_enterpriseid");
         }
 
-        where.append(" and t1.itemid in (SELECT itemid from sa_promotion_items WHERE (islimit=0 or groupqty>saledqty) and sa_promotionid="+sa_promotionid+" and isonsale=1 )");
+        where.append(" and t1.itemid in (SELECT itemid from sa_promotion_items WHERE (islimit=0 or groupqty>saledqty) and sa_promotionid=" + sa_promotionid + " and isonsale=1 )");
 
 //        ArrayList<Long> itemids = getOrderItemsList(sa_orderid, sa_promotionid);
 //        itemids.add(-1L);
@@ -102,48 +103,18 @@ public class PromotionOrder extends Controller {
         RowsMap tradefieldRowsMap = beans.Item.Item.getTradefieldRowsMap(this, ids);
         //品牌
         RowsMap brandRowsMap = Brand.getBrandRowsMap(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");
+        //定制信息
+        CustomScheme customScheme = new CustomScheme(this);
         for (Row row : rows) {
             row.put("attinfos", attinfoRowsMap.getOrDefault(row.getString("itemid"), new Rows()));
             row.put("tradefield", tradefieldRowsMap.getOrDefault(row.getString("itemid"), new Rows()));
             row.put("brand", brandRowsMap.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("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 = customScheme.setScheme(row, "width");
+            row = customScheme.setScheme(row, "length");
+            row = customScheme.setScheme(row, "material");
+            row = customScheme.setScheme(row, "color");
+            row = customScheme.setScheme(row, "cheek");
 
         }
 

+ 3 - 0
src/custom/restcontroller/webmanage/sale/order/SQL/促销方案商品列表.sql

@@ -8,6 +8,9 @@ SELECT t1.itemid,
        t1.widthschemeid,
        t1.lengthschemeid,
        t1.sa_customschemeid,
+       t1.materialschemeid,
+       t1.colorschemeid,
+       t1.cheekschemeid,
        t3.orderminqty,
        t1.orderaddqty_auxunit,
        t3.orderaddqty,