|
|
@@ -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)
|