Browse Source

bug修复

郭齐峰 2 years ago
parent
commit
112846f2c6

+ 18 - 10
src/custom/restcontroller/webmanage/sale/aftersalesmag/aftersalesmagItems.java

@@ -78,10 +78,11 @@ public class aftersalesmagItems extends Controller {
         JSONArray iteminfos = content.getJSONArray("iteminfos");
         ArrayList<String> sqlList = new ArrayList<>();
         Rows rowscount = dbConnect.runSqlQuery("select sa_orderid,status from sa_aftersalesmag where sa_aftersalesmagid=" + sa_aftersalesmagid);
-
+        String status;
         if (!rowscount.isEmpty()) {
-            if (!rowscount.get(0).getString("status").equals("新建")) {
-                return getErrReturnObject().setErrMsg("非新建状态的返退单无法新增").toString();
+            status = rowscount.get(0).getString("status");
+            if (status.equals("复核")) {
+                return getErrReturnObject().setErrMsg("复核状态的返退单无法修改").toString();
             }
         } else {
             return getErrReturnObject().setErrMsg("该返退单不存在").toString();
@@ -92,15 +93,19 @@ public class aftersalesmagItems extends Controller {
         for (Object obj : iteminfos) {
             JSONObject iteminfo = (JSONObject) obj;
             String itemid = iteminfo.getString("itemid");
+            boolean succ;
             if (rowscount.get(0).getLong("sa_orderid") == 0) {
-                insertOrUpdate(sa_aftersalesmagid, sqlList, i, sa_aftersalesmag_itemsid, iteminfo);
+                succ = insertOrUpdate(sa_aftersalesmagid, sqlList, i, sa_aftersalesmag_itemsid, iteminfo, status);
             } else {
                 if (rowsMap.containsKey(itemid)) {
-                    iteminfo.put("sa_aftersalesmag_itemsid",rowsMap.get(itemid).get(0).getLong("sa_aftersalesmag_itemsid"));
+                    iteminfo.put("sa_aftersalesmag_itemsid", rowsMap.get(itemid).get(0).getLong("sa_aftersalesmag_itemsid"));
                 }
-                insertOrUpdate(sa_aftersalesmagid, sqlList, i, sa_aftersalesmag_itemsid, iteminfo);
+                succ = insertOrUpdate(sa_aftersalesmagid, sqlList, i, sa_aftersalesmag_itemsid, iteminfo, status);
                 i++;
             }
+            if (succ) {
+                return getErrReturnObject().setErrMsg("非新建状态不能添加商品").toString();
+            }
         }
         dbConnect.runSqlUpdate(sqlList);
         Rows sumamountrows = dbConnect.runSqlQuery("select sum(amount) sumamount from sa_aftersalesmag_items where sa_aftersalesmagid=" + sa_aftersalesmagid + " and siteid = '" + siteid + "'");
@@ -112,10 +117,12 @@ public class aftersalesmagItems extends Controller {
         return queryaftersalesmagItemsList();
     }
 
-    private void insertOrUpdate(Long sa_aftersalesmagid, ArrayList<String> sqlList, int i, long[] sa_aftersalesmag_itemsid, JSONObject iteminfo) throws YosException {
+    private Boolean insertOrUpdate(Long sa_aftersalesmagid, ArrayList<String> sqlList, int i, long[] sa_aftersalesmag_itemsid, JSONObject iteminfo, String status) throws YosException {
         if (iteminfo.getLong("sa_aftersalesmag_itemsid") <= 0 || dbConnect.runSqlQuery("select sa_aftersalesmag_itemsid from sa_aftersalesmag_items where sa_aftersalesmag_itemsid="
-                        + iteminfo.getLong("sa_aftersalesmag_itemsid"))
-                .isEmpty()) {
+                + iteminfo.getLong("sa_aftersalesmag_itemsid")).isEmpty()) {
+            if (!status.equals("新建")) {
+                return true;
+            }
             SQLFactory saleFactory = new SQLFactory(this, "返退单明细新增");
             saleFactory.addParameter("siteid", siteid);
             saleFactory.addParameter("sa_aftersalesmag_itemsid", sa_aftersalesmag_itemsid[i]);
@@ -127,7 +134,7 @@ public class aftersalesmagItems extends Controller {
             saleFactory.addParameter("amount", iteminfo.getBigDecimal("qty").multiply(iteminfo.getBigDecimal("price")));
             saleFactory.addParameter("reason", iteminfo.getStringValue("reason"));
             sqlList.add(saleFactory.getSQL());
-        }else {
+        } else {
             SQLFactory saleFactory = new SQLFactory(this, "返退单明细更新");
             saleFactory.addParameter("sa_aftersalesmag_itemsid", iteminfo.getLong("sa_aftersalesmag_itemsid"));
             // saleFactory.addParameter("itemno", iteminfo.getString("itemno"));
@@ -137,6 +144,7 @@ public class aftersalesmagItems extends Controller {
             saleFactory.addParameter("reason", iteminfo.getString("reason"));
             sqlList.add(saleFactory.getSQL());
         }
+        return false;
     }
 
     @API(title = "返退单商品明细列表", apiversion = R.ID20230105111103.v1.class)