Browse Source

调价单bug修复

郭齐峰 2 years ago
parent
commit
da49e5dc8b

+ 8 - 11
src/custom/restcontroller/webmanage/sale/itempriceadjust/ItempriceadjustItemprice.java

@@ -161,12 +161,7 @@ public class ItempriceadjustItemprice extends Controller {
         sqlList.add("update sa_itempriceadjust_items set marketprice=" + marketprice + " where siteid='" + siteid + "' and sa_itempriceadjust_itemsid=" + sa_itempriceadjust_itemsid);
         for (Object object : sa_itempriceadjust_itemprice) {
             JSONObject jsonObject = (JSONObject) object;
-            BigDecimal price;
-            try {
-                price = jsonObject.getBigDecimal("price");
-            } catch (NumberFormatException e) {
-                return getErrReturnObject().setErrMsg("价格填写格式异常").toString();
-            }
+            BigDecimal price = jsonObject.getBigDecimal("price");
             if (price.compareTo(new BigDecimal("0")) == -1) {
                 price = new BigDecimal("0");
             }
@@ -517,11 +512,13 @@ public class ItempriceadjustItemprice extends Controller {
             return getErrReturnObject().setErrMsg("审核状态不能刷新原价").toString();
         }
 
-        RowsMap itemRowsMap = dbConnect.runSqlQuery("select sa_itempriceadjust_itemsid,itemid from sa_itempriceadjust_items where siteid='" + siteid + "' and sa_itempriceadjustid=" + sa_itempriceadjustid).toRowsMap("itemid");
-        RowsMap itemidRowsMap = dbConnect.runSqlQuery("select itemid,itemno,marketprice from plm_item where siteid='" + siteid + "'").toRowsMap("itemid");
-        ArrayList<String> itempriceadjust_itemsids = dbConnect.runSqlQuery("select itemid,itemno,marketprice from plm_item where siteid='" + siteid + "'").toArrayList("itemid");
-        for (String itemid : itempriceadjust_itemsids) {
-            sqlList.add("update sa_itempriceadjust_items set oldmarketprice=" + itemidRowsMap.get(itemid).get(0).getBigDecimal("marketprice") + " where siteid='" + siteid + "' and sa_itempriceadjustid=" + sa_itempriceadjustid + " and itemid=" + itemid);
+        RowsMap itemRowsMap = dbConnect.runSqlQuery("select sa_itempriceadjust_itemsid,itemid,oldmarketprice from sa_itempriceadjust_items where siteid='" + siteid + "' and sa_itempriceadjustid=" + sa_itempriceadjustid).toRowsMap("itemid");
+        String replace = itemRowsMap.keySet().toString().replace("[", "(").replace("]", ")");
+        RowsMap itemidRowsMap = dbConnect.runSqlQuery("select itemid,itemno,marketprice from plm_item where siteid='" + siteid + "' and itemid in " + replace).toRowsMap("itemid");
+        for (String itemid : itemidRowsMap.keySet()) {
+            if (itemidRowsMap.get(itemid).get(0).getBigDecimal("marketprice").compareTo(itemRowsMap.get(itemid).get(0).getBigDecimal("oldmarketprice")) != 0) {
+                sqlList.add("update sa_itempriceadjust_items set oldmarketprice=" + itemidRowsMap.get(itemid).get(0).getBigDecimal("marketprice") + " where siteid='" + siteid + "' and sa_itempriceadjustid=" + sa_itempriceadjustid + " and itemid=" + itemid);
+            }
         }
 
         SQLFactory sqlFactory = new SQLFactory(this, "查询指定商品原价");

+ 4 - 1
src/custom/restcontroller/webmanage/sale/itempriceadjust/SQL/商品调价单商品价格列表查询.sql

@@ -3,7 +3,10 @@ select t2.pricegrade,
        IFNULL(t2.oldprice, 0) oldprice,
        t1.itemid,
        t1.marketprice,
-       t1.oldmarketprice
+       t1.oldmarketprice,
+       t1.sa_itempriceadjust_itemsid,
+       t1.sa_itempriceadjustid,
+       t2.sa_itempriceadjust_itempriceid
 from sa_itempriceadjust_items t1
          left join sa_itempriceadjust_itemprice t2
                    on t1.siteid = t2.siteid and t1.sa_itempriceadjust_itemsid = t2.sa_itempriceadjust_itemsid