|
@@ -783,48 +783,53 @@ public class dispatch extends Controller {
|
|
|
sqlFactory.addParameter("freightstatus", orderRows.get(0).getString("freightstatus"));
|
|
|
sqlFactory.addParameter("billdate", now());
|
|
|
sqlList.add(sqlFactory.getSQL());
|
|
|
- RowsMap orderitemsRowsMap = dbConnect.runSqlQuery("select itemid,itemno,qty,sa_orderitemsid,sa_orderid,remarks from sa_orderitems where isfreeze=0 and siteid='" + siteid + "' and sa_orderid=" + sa_orderid).toRowsMap("sa_orderitemsid");
|
|
|
- RowsMap dispatchitemsRowsMap;
|
|
|
- if (dbConnect.runSqlQuery("select 1 from sys_site_parameter where siteid='" + siteid + "' and dispatch_recheck=1").isEmpty()) {
|
|
|
- dispatchitemsRowsMap = dbConnect.runSqlQuery("select sa_orderid,sa_orderitemsid,ifnull(sum(qty),0) qty from sa_dispatch t1 inner join sa_dispatch_items t2 on t1.siteid=t2.siteid and t1.sa_dispatchid=t2.sa_dispatchid where t1.siteid='" + siteid + "' and t1.status in ('审核','关闭') group by t1.sa_orderid,t2.sa_orderitemsid").toRowsMap("sa_orderitemsid");
|
|
|
- } else {
|
|
|
- dispatchitemsRowsMap = dbConnect.runSqlQuery("select sa_orderid,sa_orderitemsid,ifnull(sum(qty),0) qty from sa_dispatch t1 inner join sa_dispatch_items t2 on t1.siteid=t2.siteid and t1.sa_dispatchid=t2.sa_dispatchid where t1.siteid='" + siteid + "' and t1.status in ('复核','关闭') group by t1.sa_orderid,t2.sa_orderitemsid").toRowsMap("sa_orderitemsid");
|
|
|
- }
|
|
|
+// RowsMap orderitemsRowsMap = dbConnect.runSqlQuery("select itemid,itemno,qty,sa_orderitemsid,sa_orderid,remarks from sa_orderitems where siteid='" + siteid + "' and sa_orderid=" + sa_orderid).toRowsMap("sa_orderitemsid");
|
|
|
+// RowsMap dispatchitemsRowsMap;
|
|
|
+// if (dbConnect.runSqlQuery("select 1 from sys_site_parameter where siteid='" + siteid + "' and dispatch_recheck=1").isEmpty()) {
|
|
|
+// dispatchitemsRowsMap = dbConnect.runSqlQuery("select sa_orderid,sa_orderitemsid,ifnull(sum(qty),0) qty from sa_dispatch t1 inner join sa_dispatch_items t2 on t1.siteid=t2.siteid and t1.sa_dispatchid=t2.sa_dispatchid where t1.siteid='" + siteid + "' and t1.status in ('审核','关闭') group by t1.sa_orderid,t2.sa_orderitemsid").toRowsMap("sa_orderitemsid");
|
|
|
+// } else {
|
|
|
+// dispatchitemsRowsMap = dbConnect.runSqlQuery("select sa_orderid,sa_orderitemsid,ifnull(sum(qty),0) qty from sa_dispatch t1 inner join sa_dispatch_items t2 on t1.siteid=t2.siteid and t1.sa_dispatchid=t2.sa_dispatchid where t1.siteid='" + siteid + "' and t1.status in ('复核','关闭') group by t1.sa_orderid,t2.sa_orderitemsid").toRowsMap("sa_orderitemsid");
|
|
|
+// }
|
|
|
+
|
|
|
+ Rows orderitemsRows = dbConnect.runSqlQuery("select itemid,itemno,sa_orderitemsid,undeliqty,remarks from sa_orderitems where siteid='" + siteid + "' and sa_orderitemsid in " + sa_orderitemsids.toString().replace("[", "(").replace("]", ")"));
|
|
|
Long rowno = 1L;
|
|
|
- for (Object o : sa_orderitemsids) {
|
|
|
- String sa_orderitemsid = o.toString();
|
|
|
- BigDecimal qty = new BigDecimal("0");
|
|
|
- if (orderitemsRowsMap.containsKey(sa_orderitemsid)) {
|
|
|
- Rows orderitemsRows = orderitemsRowsMap.get(sa_orderitemsid);
|
|
|
- qty = orderitemsRows.get(0).getBigDecimal("qty");
|
|
|
- if (dispatchitemsRowsMap.containsKey(sa_orderitemsid)) {
|
|
|
- RowsMap dispatchRowsMap = dispatchitemsRowsMap.get(sa_orderitemsid).toRowsMap("sa_orderid");
|
|
|
- if (dispatchRowsMap.containsKey(sa_orderid.toString())) {
|
|
|
- Rows orderitemRows = dispatchRowsMap.get(sa_orderid.toString());
|
|
|
- if (orderitemsRows.get(0).getBigDecimal("qty").compareTo(orderitemRows.get(0).getBigDecimal("qty")) < 1) {
|
|
|
- continue;
|
|
|
- } else {
|
|
|
- qty = qty.subtract(orderitemRows.get(0).getBigDecimal("qty"));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- sqlFactory = new SQLFactory(this, "发货单明细新增");
|
|
|
- sqlFactory.addParameter("siteid", siteid);
|
|
|
- sqlFactory.addParameter("sa_dispatch_itemsid", createTableID("sa_dispatch_items"));
|
|
|
- sqlFactory.addParameter("sa_dispatchid", sa_dispatchid);
|
|
|
- sqlFactory.addParameter("rowno", rowno);
|
|
|
- sqlFactory.addParameter("billno", billCode);
|
|
|
- rowno++;
|
|
|
- sqlFactory.addParameter("sa_orderitemsid", sa_orderitemsid);
|
|
|
- sqlFactory.addParameter("itemid", orderitemsRows.get(0).getLong("itemid"));
|
|
|
- sqlFactory.addParameter("qty", qty);
|
|
|
- sqlFactory.addParameter("batchcontrol", 0);
|
|
|
- sqlFactory.addParameter("batchno", "");
|
|
|
- sqlFactory.addParameter("remarks", orderRows.get(0).getString("remarks"));
|
|
|
- sqlFactory.addParameter("userid", userid);
|
|
|
- sqlFactory.addParameter("username", username);
|
|
|
- sqlList.add(sqlFactory.getSQL());
|
|
|
+ for (Row row : orderitemsRows) {
|
|
|
+ String sa_orderitemsid = row.getString("sa_orderitemsid");
|
|
|
+ BigDecimal qty = row.getBigDecimal("undeliqty");
|
|
|
+ if (qty.compareTo(new BigDecimal("0"))<1){
|
|
|
+ continue;
|
|
|
}
|
|
|
+// if (orderitemsRowsMap.containsKey(sa_orderitemsid)) {
|
|
|
+// Rows orderitemsRows = orderitemsRowsMap.get(sa_orderitemsid);
|
|
|
+// qty = orderitemsRows.get(0).getBigDecimal("qty");
|
|
|
+// if (dispatchitemsRowsMap.containsKey(sa_orderitemsid)) {
|
|
|
+// RowsMap dispatchRowsMap = dispatchitemsRowsMap.get(sa_orderitemsid).toRowsMap("sa_orderid");
|
|
|
+// if (dispatchRowsMap.containsKey(sa_orderid.toString())) {
|
|
|
+// Rows orderitemRows = dispatchRowsMap.get(sa_orderid.toString());
|
|
|
+// if (orderitemsRows.get(0).getBigDecimal("qty").compareTo(orderitemRows.get(0).getBigDecimal("qty")) < 1) {
|
|
|
+// continue;
|
|
|
+// } else {
|
|
|
+// qty = qty.subtract(orderitemRows.get(0).getBigDecimal("qty"));
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+ sqlFactory = new SQLFactory(this, "发货单明细新增");
|
|
|
+ sqlFactory.addParameter("siteid", siteid);
|
|
|
+ sqlFactory.addParameter("sa_dispatch_itemsid", createTableID("sa_dispatch_items"));
|
|
|
+ sqlFactory.addParameter("sa_dispatchid", sa_dispatchid);
|
|
|
+ sqlFactory.addParameter("rowno", rowno);
|
|
|
+ sqlFactory.addParameter("billno", billCode);
|
|
|
+ rowno++;
|
|
|
+ sqlFactory.addParameter("sa_orderitemsid", sa_orderitemsid);
|
|
|
+ sqlFactory.addParameter("itemid", row.getLong("itemid"));
|
|
|
+ sqlFactory.addParameter("qty", qty);
|
|
|
+ sqlFactory.addParameter("batchcontrol", 0);
|
|
|
+ sqlFactory.addParameter("batchno", "");
|
|
|
+ sqlFactory.addParameter("remarks", row.getString("remarks"));
|
|
|
+ sqlFactory.addParameter("userid", userid);
|
|
|
+ sqlFactory.addParameter("username", username);
|
|
|
+ sqlList.add(sqlFactory.getSQL());
|
|
|
+// }
|
|
|
}
|
|
|
dbConnect.runSqlUpdate(sqlList);
|
|
|
content.put("sa_dispatchid", sa_dispatchid);
|