Browse Source

楚楚添加亲民价

hu 1 year ago
parent
commit
c4e1b86b7c

+ 23 - 0
src/custom/beans/itemprice/ItemPrice.java

@@ -4,6 +4,7 @@ import beans.itemclass.ItemClass;
 import common.BaseClass;
 import common.Controller;
 import common.YosException;
+import common.data.Row;
 import common.data.Rows;
 import common.data.SQLFactory;
 import utility.tools.Encryption;
@@ -19,6 +20,7 @@ public class ItemPrice extends BaseClass {
     private long sys_enterpriseid = -1;//企业id
     private long itemid;//商品id
     private BigDecimal marketprice = new BigDecimal(-1);//牌价,市场价
+    private BigDecimal qinminprice = new BigDecimal(-1);//牌价,市场价
     private int pricegrade = 0;//价格等级
     private BigDecimal price = new BigDecimal(-1);//等级价格(商品原价)
     private BigDecimal gradediscountrate = new BigDecimal(0);//商户等级折扣率
@@ -55,6 +57,27 @@ public class ItemPrice extends BaseClass {
         return marketprice;
     }
 
+    /**
+     * 获取商品亲民价
+     *
+     * @return
+     */
+    public BigDecimal getQinminPrice() throws YosException {
+        if (qinminprice.floatValue() < 0) {
+            SQLFactory sqlFactory = new SQLFactory(this, "商品亲民价格查询");
+            sqlFactory.addParameter("siteid", controller.siteid);
+            sqlFactory.addParameter("itemid", itemid);
+            Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
+            if (rows.isNotEmpty()) {
+                qinminprice = rows.get(0).getBigDecimal("price");
+            } else {
+                //throw new YosException("找不到商品等级价格信息itemid:" + itemid);
+                qinminprice =BigDecimal.ZERO;
+            }
+        }
+        return qinminprice;
+    }
+
     /**
      * 商品等级价格
      *

+ 5 - 0
src/custom/beans/itemprice/SQL/商品亲民价格查询.sql

@@ -0,0 +1,5 @@
+select t1.pricegrade,t1.price
+from sa_itemprice t1
+where t1.siteid = $siteid$
+  and t1.itemid = $itemid$
+  and t1.pricegrade = 6

+ 12 - 4
src/custom/restcontroller/webmanage/sale/itempriceadjust/ExportExcel.java

@@ -111,7 +111,7 @@ public class ExportExcel {
         sheet.setColumnWidth((short) 4, (short) 8500);
         sheet.setColumnWidth((short) 5, (short) 8500);
         sheet.setColumnWidth((short) 6, (short) 8500);
-
+        sheet.setColumnWidth((short) 7, (short) 8500);
 
     }
 
@@ -130,6 +130,7 @@ public class ExportExcel {
         sheet.setColumnWidth((short) 5, (short) 8500);
         sheet.setColumnWidth((short) 6, (short) 8500);
         sheet.setColumnWidth((short) 7, (short) 8500);
+        sheet.setColumnWidth((short) 8, (short) 8500);
 
     }
 
@@ -211,7 +212,9 @@ public class ExportExcel {
         cell.setCellStyle(cellStyle2);
         cell.setCellValue("五级调整价(必填,价格不变时填原价)");
 
-
+        cell = row.createCell(7);
+        cell.setCellStyle(cellStyle2);
+        cell.setCellValue("亲民价(非必填)");
 
 
         /*第四行塞值*/
@@ -245,7 +248,9 @@ public class ExportExcel {
         cell.setCellStyle(cellStyle3);
         cell.setCellValue("100");
 
-
+        cell = row.createCell(7);
+        cell.setCellStyle(cellStyle3);
+        cell.setCellValue("100");
 
 
     }
@@ -321,9 +326,12 @@ public class ExportExcel {
         cell.setCellStyle(cellStyle2);
         cell.setCellValue("五级调整价(必填,价格不变时填原价)");
 
-
         cell = row.createCell(7);
         cell.setCellStyle(cellStyle2);
+        cell.setCellValue("亲民价(非必填)");
+
+        cell = row.createCell(8);
+        cell.setCellStyle(cellStyle2);
         cell.setCellValue("错误信息");
 
     }

+ 4 - 1
src/custom/restcontroller/webmanage/sale/itempriceadjust/Itempriceadjust.java

@@ -185,7 +185,10 @@ public class Itempriceadjust extends Controller {
             sqlFactory.addParameter("userid", userid);
             sqlFactory.addParameter("price", row.getBigDecimal("price"));
             sqlFactory.addParameter("pricegrade", pricegrade);
-            sqlList.add(sqlFactory.getSQL());
+            if(!(pricegrade.equals("6") && row.getBigDecimal("price").compareTo(BigDecimal.ZERO)==0)){
+                sqlList.add(sqlFactory.getSQL());
+            }
+
         }
         sqlFactory = new SQLFactory(this, "商品价格调整单审核");
         sqlFactory.addParameter("siteid", siteid);

+ 18 - 1
src/custom/restcontroller/webmanage/sale/itempriceadjust/ItempriceadjustItemprice.java

@@ -271,6 +271,7 @@ public class ItempriceadjustItemprice extends Controller {
             keys.add("price3");
             keys.add("price4");
             keys.add("price5");
+            keys.add("price6");
 
             HashMap<String, CellType> cellMap = new HashMap<>();
             cellMap.put("itemno", CellType.STRING);
@@ -280,6 +281,7 @@ public class ItempriceadjustItemprice extends Controller {
             cellMap.put("price3", CellType.STRING);
             cellMap.put("price4", CellType.STRING);
             cellMap.put("price5", CellType.STRING);
+            cellMap.put("price6", CellType.STRING);
             Rows rows = e.getSheetRows(0, keys, cellMap, 3);
 
             ArrayList<String> itemnoList = rows.toArrayList("itemno", false);
@@ -356,6 +358,17 @@ public class ItempriceadjustItemprice extends Controller {
                     rowserr.add(row);
                     continue;
                 }
+                if(StringUtils.isBlank("price6")){
+                    row.put("price6",0);
+                }else{
+                    if(!isNumeric(row.getString("price6"))){
+                        iserr = true;
+                        row.put("msg", "亲民价不为数字格式,请检查");
+                        rowserr.add(row);
+                        continue;
+                    }
+                }
+
                 rowssuc.add(row);
 
             }
@@ -387,7 +400,7 @@ public class ItempriceadjustItemprice extends Controller {
                         Rows itemPriceRows = itemPriceRowsMap.get(row.getString("itemid"));
                         pricegrade = itemPriceRows.toRowsMap("pricegrade");
                     }
-                    for (int i = 1; i <= 5; i++) {
+                    for (int i = 1; i <= 6; i++) {
 //                        if (pricegrade.containsKey(String.valueOf(i)) || !row.getString("price" + i).equals("0")) {
                         sqlFactoryupload = new SQLFactory(this, "商品调价单商品价格明细新增");
                         long sa_itempriceadjust_itempriceid = createTableID("sa_itempriceadjust_itemprice");
@@ -429,6 +442,7 @@ public class ItempriceadjustItemprice extends Controller {
                 map.put("price3", "调整价3");
                 map.put("price4", "调整价4");
                 map.put("price5", "调整价5");
+                map.put("price6", "亲民价");
                 map.put("msg", "错误信息");
                 ArrayList<String> colNameList = new ArrayList<String>();
                 HashMap<String, Class> keytypemap = new HashMap<String, Class>();
@@ -439,6 +453,7 @@ public class ItempriceadjustItemprice extends Controller {
                 colNameList.add("price3");
                 colNameList.add("price4");
                 colNameList.add("price5");
+                colNameList.add("price6");
                 colNameList.add("msg");
                 keytypemap.put("itemno", String.class);
                 keytypemap.put("remarks", String.class);
@@ -447,6 +462,7 @@ public class ItempriceadjustItemprice extends Controller {
                 keytypemap.put("price3", BigDecimal.class);
                 keytypemap.put("price4", BigDecimal.class);
                 keytypemap.put("price5", BigDecimal.class);
+                keytypemap.put("price6", BigDecimal.class);
                 keytypemap.put("msg", String.class);
                 rowserr.setFieldList(colNameList);
                 rowserr.setFieldTypeMap(keytypemap);
@@ -490,6 +506,7 @@ public class ItempriceadjustItemprice extends Controller {
         sheet.setDefaultColumnStyle(4, style);
         sheet.setDefaultColumnStyle(5, style);
         sheet.setDefaultColumnStyle(6, style);
+        sheet.setDefaultColumnStyle(7, style);
 
         ExportExcel.setBatchDetailSheetColumn1(sheet);// 设置工作薄列宽
         XSSFCellStyle titleCellStyle1 = ExportExcel.createTitleCellStyle1(xssfFWorkbook);

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

@@ -153,7 +153,7 @@ public class OrderItems extends Controller {
             ItemPrice itemPrice = ItemPrice.getItemPrice(this, sys_enterpriseid, itemid);
             if (!item.containsKey("defaultprice")) {
                 defaultprice = orderItemsHelper.getDefaultprice(itemPrice);
-                price = orderItemsHelper.getPrice(orderRows.get(0), itemPrice, item, itemRowsMap);
+                price = orderItemsHelper.getPrice(orderRows.get(0), itemPrice, item, itemRowsMap,siteid);
                 saleprice = orderItemsHelper.getSalePrice(orderRows.get(0), itemPrice,item,itemRowsMap);
             } else {
                 defaultprice = item.getBigDecimalValue("defaultprice");

+ 22 - 1
src/custom/restcontroller/webmanage/sale/order/OrderItemsHelper.java

@@ -745,13 +745,34 @@ public class OrderItemsHelper extends BaseClass {
 
     }
 
-    public BigDecimal getPrice(Row orderRow, ItemPrice itemPrice, JSONObject item, RowsMap itemRowsMap) throws YosException {
+    public BigDecimal getPrice(Row orderRow, ItemPrice itemPrice, JSONObject item, RowsMap itemRowsMap,String siteid) throws YosException {
         String type = orderRow.getString("type");
         Long sa_promotionid = orderRow.getLong("sa_promotionid");
         BigDecimal price;
         switch (type) {
             case "促销订单":
                 price = itemPrice.getPromotionPrice(sa_promotionid);
+                if (itemRowsMap.containsKey(item.getString("itemid"))) {
+                    if (itemRowsMap.get(item.getString("itemid")).isNotEmpty()) {
+                        if (itemRowsMap.get(item.getString("itemid")).get(0).getBoolean("iscustomsize") && itemRowsMap.get(item.getString("itemid")).get(0).getLong("pricingmetod") == 1) {
+                            price = price.multiply(item.getBigDecimalValue("length").multiply(item.getBigDecimalValue("width")).divide(new BigDecimal("1000000"), 4, BigDecimal.ROUND_HALF_UP));
+                        }
+
+                    }
+                }
+                break;
+            case "标准订单":
+                if(siteid.equalsIgnoreCase("ccyosg")){
+                    if(itemPrice.getQinminPrice().compareTo(BigDecimal.ZERO)>0){
+                        price = itemPrice.getQinminPrice();
+                        item.put("remarks","亲民价:"+price+";"+item.getStringValue("remarks"));
+                    }else{
+                        price = itemPrice.getGraderateprice();
+                    }
+                }else{
+                    price = itemPrice.getGraderateprice();
+                }
+
                 if (itemRowsMap.containsKey(item.getString("itemid"))) {
                     if (itemRowsMap.get(item.getString("itemid")).isNotEmpty()) {
                         if (itemRowsMap.get(item.getString("itemid")).get(0).getBoolean("iscustomsize") && itemRowsMap.get(item.getString("itemid")).get(0).getLong("pricingmetod") == 1) {