|
@@ -2174,6 +2174,291 @@ public class Order extends Controller {
|
|
|
return getSucReturnObject().setData(result).toString();
|
|
return getSucReturnObject().setData(result).toString();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @API(title = "批量一键出库_配件2", apiversion = R.ID2026030610111602.v1.class)
|
|
|
|
|
+ public String oneClickcreateStockbills_pj2() throws YosException {
|
|
|
|
|
+ JSONArray sa_orderitemsids = content.getJSONArray("sa_orderitemsids");
|
|
|
|
|
+ JSONArray noneeddeliverys = content.getJSONArray("noneeddeliverys");
|
|
|
|
|
+// String outplace=content.getString("outplace");
|
|
|
|
|
+ ArrayList<String> sqlList = new ArrayList<>();
|
|
|
|
|
+ QuerySQL orderQuerySQL = SQLFactory.createQuerySQL(this, "sa_order", "sa_orderid", "sys_enterpriseid", "sys_enterprise_financeid", "rec_contactsid", "logisticsmethod", "invoicetaxno", "invoicename", "invoiceaddress", "contact", "address", "phonenumber", "province", "city", "county", "remarks");
|
|
|
|
|
+ orderQuerySQL.setTableAlias("t1");
|
|
|
|
|
+ orderQuerySQL.addJoinTable(JOINTYPE.inner, "sa_orderitems", "t2", "t2.sa_orderid=t1.sa_orderid and t1.siteid=t2.siteid", "sa_orderitemsid", "itemid", "undeliqty", "defaultprice", "itemno", "itemname", "model", "price", "delivery");
|
|
|
|
|
+ orderQuerySQL.addJoinTable(JOINTYPE.inner, "plm_item", "t3", "t2.itemid=t3.itemid and t3.siteid=t2.siteid", "skucontrol", "outplace");
|
|
|
|
|
+ orderQuerySQL.setWhere("t1.siteid", siteid);
|
|
|
|
|
+ orderQuerySQL.setWhere("t2.sa_orderitemsid", sa_orderitemsids);
|
|
|
|
|
+ orderQuerySQL.setWhere("t1.status='审核' and t1.type='配件订单' and t2.undeliqty>0 and ifnull(t2.delivery,'')!='' and t2.isclose=0");
|
|
|
|
|
+ orderQuerySQL.addQueryFields("remarksdetail", "t2.remarks");
|
|
|
|
|
+ Rows orderRows = orderQuerySQL.query();
|
|
|
|
|
+
|
|
|
|
|
+ QuerySQL orderQuerySQL_jundge = SQLFactory.createQuerySQL(this, "sa_order", "sa_orderid", "status", "sonum", "type", "delivery");
|
|
|
|
|
+ orderQuerySQL_jundge.setTableAlias("t1");
|
|
|
|
|
+ orderQuerySQL_jundge.addJoinTable(JOINTYPE.inner, "sa_orderitems", "t2", "t2.sa_orderid=t1.sa_orderid and t1.siteid=t2.siteid", "sa_orderitemsid", "itemid", "undeliqty", "defaultprice", "remarks", "itemno", "itemname", "model", "price", "rowno", "isclose");
|
|
|
|
|
+ orderQuerySQL_jundge.addJoinTable(JOINTYPE.left, "sa_agents", "t4", "t4.sys_enterpriseid=t1.sys_enterpriseid and t4.siteid=t1.siteid", "agentnum");
|
|
|
|
|
+ orderQuerySQL_jundge.addJoinTable(JOINTYPE.left, "sys_enterprise", "t5", "t5.sys_enterpriseid=t4.sys_enterpriseid and t5.siteid=t4.siteid", "enterprisename", "abbreviation");
|
|
|
|
|
+ orderQuerySQL_jundge.setWhere("t1.siteid", siteid);
|
|
|
|
|
+ orderQuerySQL_jundge.setWhere("t2.sa_orderitemsid", sa_orderitemsids);
|
|
|
|
|
+ Rows orderRows_jundge = orderQuerySQL_jundge.query();
|
|
|
|
|
+ Rows errRows = new Rows();
|
|
|
|
|
+ for (Row row : orderRows_jundge) {
|
|
|
|
|
+ Row errRow = new Row();
|
|
|
|
|
+ if (!row.getString("status").equals("审核")) {
|
|
|
|
|
+ errRow.put("sa_orderid", row.getLong("sa_orderid"));
|
|
|
|
|
+ errRow.put("sonum", row.getString("sonum"));
|
|
|
|
|
+ errRow.put("agentnum", row.getString("agentnum"));
|
|
|
|
|
+ errRow.put("status", row.getString("status"));
|
|
|
|
|
+ errRow.put("abbreviation", row.getString("abbreviation"));
|
|
|
|
|
+ errRow.put("delivery", row.getString("delivery"));
|
|
|
|
|
+ errRow.put("errreason", "非审核状态不可发货");
|
|
|
|
|
+ errRows.add(errRow);
|
|
|
|
|
+ } else if (!row.getString("type").equals("配件订单")) {
|
|
|
|
|
+ errRow.put("sa_orderid", row.getLong("sa_orderid"));
|
|
|
|
|
+ errRow.put("sonum", row.getString("sonum"));
|
|
|
|
|
+ errRow.put("agentnum", row.getString("agentnum"));
|
|
|
|
|
+ errRow.put("status", row.getString("status"));
|
|
|
|
|
+ errRow.put("abbreviation", row.getString("abbreviation"));
|
|
|
|
|
+ errRow.put("delivery", row.getString("delivery"));
|
|
|
|
|
+ errRow.put("errreason", "非配件申请单不可发货");
|
|
|
|
|
+ errRows.add(errRow);
|
|
|
|
|
+ } else if (row.getDouble("undeliqty") <= 0) {
|
|
|
|
|
+ errRow.put("sa_orderid", row.getLong("sa_orderid"));
|
|
|
|
|
+ errRow.put("sonum", row.getString("sonum"));
|
|
|
|
|
+ errRow.put("agentnum", row.getString("agentnum"));
|
|
|
|
|
+ errRow.put("status", row.getString("status"));
|
|
|
|
|
+ errRow.put("abbreviation", row.getString("abbreviation"));
|
|
|
|
|
+ errRow.put("delivery", row.getString("delivery"));
|
|
|
|
|
+ errRow.put("errreason", "行号" + row.getString("rowno") + "的商品已发货,不可发货");
|
|
|
|
|
+ errRows.add(errRow);
|
|
|
|
|
+ } else if (row.getBoolean("isclose")) {
|
|
|
|
|
+ errRow.put("sa_orderid", row.getLong("sa_orderid"));
|
|
|
|
|
+ errRow.put("sonum", row.getString("sonum"));
|
|
|
|
|
+ errRow.put("agentnum", row.getString("agentnum"));
|
|
|
|
|
+ errRow.put("status", row.getString("status"));
|
|
|
|
|
+ errRow.put("abbreviation", row.getString("abbreviation"));
|
|
|
|
|
+ errRow.put("delivery", row.getString("delivery"));
|
|
|
|
|
+ errRow.put("errreason", "行号" + row.getString("rowno") + "的商品已关闭,不可发货");
|
|
|
|
|
+ errRows.add(errRow);
|
|
|
|
|
+ } else if (StringUtils.isBlank(row.getString("delivery"))) {
|
|
|
|
|
+ errRow.put("sa_orderid", row.getLong("sa_orderid"));
|
|
|
|
|
+ errRow.put("sonum", row.getString("sonum"));
|
|
|
|
|
+ errRow.put("agentnum", row.getString("agentnum"));
|
|
|
|
|
+ errRow.put("status", row.getString("status"));
|
|
|
|
|
+ errRow.put("abbreviation", row.getString("abbreviation"));
|
|
|
|
|
+ errRow.put("delivery", row.getString("delivery"));
|
|
|
|
|
+ errRow.put("errreason", "行号" + row.getString("rowno") + "的商品发货方式为空,不可发货");
|
|
|
|
|
+ errRows.add(errRow);
|
|
|
|
|
+ }
|
|
|
|
|
+// else if(row.getString("delivery").equals("随货")){
|
|
|
|
|
+// errRow.put("sa_orderid",row.getLong("sa_orderid"));
|
|
|
|
|
+// errRow.put("sonum",row.getString("sonum"));
|
|
|
|
|
+// errRow.put("agentnum",row.getString("agentnum"));
|
|
|
|
|
+// errRow.put("status",row.getString("status"));
|
|
|
|
|
+// errRow.put("abbreviation",row.getString("abbreviation"));
|
|
|
|
|
+// errRow.put("delivery",row.getString("delivery"));
|
|
|
|
|
+// errRow.put("errreason","行号"+row.getString("rowno")+"的商品发货方式为随货,不可发货");
|
|
|
|
|
+// errRows.add(errRow);
|
|
|
|
|
+// }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ QuerySQL stockbillQuerySQL = SQLFactory.createQuerySQL(this, "st_stockbill_items");
|
|
|
|
|
+ stockbillQuerySQL.setTableAlias("t1");
|
|
|
|
|
+ stockbillQuerySQL.addJoinTable(JOINTYPE.inner, "st_stockbill", "t2", "t2.st_stockbillid=t1.st_stockbillid and t1.siteid=t2.siteid");
|
|
|
|
|
+ stockbillQuerySQL.addJoinTable(JOINTYPE.left, "sa_orderitems", "t4", "t4.sa_orderitemsid=t1.sa_orderitemsid and t4.siteid=t1.siteid", "sa_orderid");
|
|
|
|
|
+ stockbillQuerySQL.setWhere("t1.siteid", siteid);
|
|
|
|
|
+ if (orderRows.toArrayList("sa_orderitemsid").isEmpty()) {
|
|
|
|
|
+ stockbillQuerySQL.setWhere("1=2");
|
|
|
|
|
+ } else {
|
|
|
|
|
+ stockbillQuerySQL.setWhere("t1.sa_orderitemsid", orderRows.toArrayList("sa_orderitemsid"));
|
|
|
|
|
+ }
|
|
|
|
|
+ Rows stockbillRows = stockbillQuerySQL.query();
|
|
|
|
|
+ RowsMap stockbillRowsMap = stockbillRows.toRowsMap("sa_orderitemsid");
|
|
|
|
|
+ RowsMap orderRows_jundgeMap = orderRows_jundge.toRowsMap("sa_orderid");
|
|
|
|
|
+ for (Row row : stockbillRows) {
|
|
|
|
|
+ Row errRow = new Row();
|
|
|
|
|
+ if (orderRows_jundgeMap.containsKey(row.getString("sa_orderid"))) {
|
|
|
|
|
+ errRow.put("sa_orderid", orderRows_jundgeMap.get(row.getString("sa_orderid")).get(0).getLong("sa_orderid"));
|
|
|
|
|
+ errRow.put("sonum", orderRows_jundgeMap.get(row.getString("sa_orderid")).get(0).getString("sonum"));
|
|
|
|
|
+ errRow.put("agentnum", orderRows_jundgeMap.get(row.getString("sa_orderid")).get(0).getString("agentnum"));
|
|
|
|
|
+ errRow.put("status", orderRows_jundgeMap.get(row.getString("sa_orderid")).get(0).getString("status"));
|
|
|
|
|
+ errRow.put("abbreviation", orderRows_jundgeMap.get(row.getString("sa_orderid")).get(0).getString("abbreviation"));
|
|
|
|
|
+ errRow.put("delivery", orderRows_jundgeMap.get(row.getString("sa_orderid")).get(0).getString("delivery"));
|
|
|
|
|
+ errRow.put("errreason", "已存在出库单");
|
|
|
|
|
+ errRows.add(errRow);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ RowsMap errRowsMap = errRows.toRowsMap("sa_orderid");
|
|
|
|
|
+ Set<String> errSet = errRowsMap.keySet();
|
|
|
|
|
+ for (String sa_orderid : errSet) {
|
|
|
|
|
+ if (errRowsMap.get(sa_orderid).size() > 1) {
|
|
|
|
|
+ String errreason = String.join(", ", errRowsMap.get(sa_orderid).toArrayList("errreason"));
|
|
|
|
|
+ for (Row row : errRowsMap.get(sa_orderid)) {
|
|
|
|
|
+ row.put("errreason", errreason);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ LinkedHashSet<Row> linkedSet = new LinkedHashSet<>(errRows);
|
|
|
|
|
+ Rows errRows_result = new Rows();
|
|
|
|
|
+ for (Row row : linkedSet) {
|
|
|
|
|
+ errRows_result.add(row);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ Rows orderRows_result = new Rows();
|
|
|
|
|
+ for (Row row : orderRows) {
|
|
|
|
|
+ if (!stockbillRowsMap.containsKey(row.getString("sa_orderitemsid"))) {
|
|
|
|
|
+ orderRows_result.add(row);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+// if(stockbillRows.isNotEmpty()){
|
|
|
|
|
+// return getErrReturnObject().setErrMsg("存在配件申请单明细已生成销售出库单,无法一键出库").toString();
|
|
|
|
|
+// }
|
|
|
|
|
+
|
|
|
|
|
+ //RowsMap enterprisefinancerowsMap =enterprisefinancerows.toRowsMap("sys_enterpriseid");
|
|
|
|
|
+ RowsMap addressMap = orderRows_result.toRowsMap("address");
|
|
|
|
|
+ RowsMap deliveryrowsMap = orderRows_result.toRowsMap("delivery");
|
|
|
|
|
+ Set<String> addressSet = addressMap.keySet();
|
|
|
|
|
+ Set<String> deliverySet = deliveryrowsMap.keySet();
|
|
|
|
|
+ for (Object object : noneeddeliverys) {
|
|
|
|
|
+ deliverySet.remove((String) object);
|
|
|
|
|
+ }
|
|
|
|
|
+ int stockbillcount = 0;
|
|
|
|
|
+
|
|
|
|
|
+ QuerySQL accountbalanceQuerySQL = SQLFactory.createQuerySQL(this, "sa_accountbalance", "*");
|
|
|
|
|
+ accountbalanceQuerySQL.setTableAlias("t1");
|
|
|
|
|
+ accountbalanceQuerySQL.addJoinTable(JOINTYPE.inner, "sa_accountclass", "t2", "t1.sa_accountclassid=t2.sa_accountclassid and t1.siteid=t2.siteid");
|
|
|
|
|
+ accountbalanceQuerySQL.setWhere("t1.siteid", siteid);
|
|
|
|
|
+ accountbalanceQuerySQL.setWhere("t2.accountname='现金账户'");
|
|
|
|
|
+ accountbalanceQuerySQL.setWhere("t1.sys_enterpriseid", orderRows_result.toArrayList("sys_enterpriseid"));
|
|
|
|
|
+ Rows accountbalancerows = accountbalanceQuerySQL.query();
|
|
|
|
|
+ RowsMap accountbalancerowsMap = accountbalancerows.toRowsMap("sys_enterpriseid");
|
|
|
|
|
+
|
|
|
|
|
+ Rows departmenthrrows = dbConnect.runSqlQuery("select t1.*,t2.depname from sys_departmenthrid t1 left join sys_department t2 on t1.departmentid=t2.departmentid where t1.hrid=" + hrid);
|
|
|
|
|
+ for (String address : addressSet) {
|
|
|
|
|
+ for (String delivery : deliverySet) {
|
|
|
|
|
+ if (addressMap.get(address).toRowsMap("delivery").containsKey(delivery)) {
|
|
|
|
|
+ Rows orderdetailRows = addressMap.get(address).toRowsMap("delivery").get(delivery);
|
|
|
|
|
+ long st_stockbillid = createTableID("st_stockbill");
|
|
|
|
|
+ InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "st_stockbill");
|
|
|
|
|
+ insertSQL.setUniqueid(st_stockbillid);
|
|
|
|
|
+ insertSQL.setSiteid(siteid);
|
|
|
|
|
+ insertSQL.setValue("sys_enterpriseid", orderdetailRows.get(0).getLong("sys_enterpriseid"));
|
|
|
|
|
+ insertSQL.setValue("rec_contactsid", orderdetailRows.get(0).getLong("rec_contactsid"));
|
|
|
|
|
+ insertSQL.setValue("sa_accountclassid", accountbalancerows.isNotEmpty() ? accountbalancerows.get(0).getLong("sa_accountclassid") : 0);
|
|
|
|
|
+ insertSQL.setValue("departmentid", departmenthrrows.isNotEmpty() ? departmenthrrows.get(0).getLong("departmentid") : 0);
|
|
|
|
|
+ insertSQL.setValue("stockid", 0);
|
|
|
|
|
+ insertSQL.setValue("type", "销售出库");
|
|
|
|
|
+ insertSQL.setValue("typemx", "");
|
|
|
|
|
+ insertSQL.setValue("sa_supplierid", 0);
|
|
|
|
|
+ insertSQL.setValue("rb", 1);
|
|
|
|
|
+ insertSQL.setValue("remarks", orderdetailRows.toJsonArray("remarks").toString().replace("[", "").replace("]", "").replace("\"", ""));
|
|
|
|
|
+ insertSQL.setDateValue("billdate");
|
|
|
|
|
+ insertSQL.setValue("billno", createBillCode("stockbill"));
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ insertSQL.setValue("outplace", orderdetailRows.get(0).getString("outplace"));
|
|
|
|
|
+ insertSQL.setValue("delivery", orderdetailRows.get(0).getString("delivery"));
|
|
|
|
|
+ insertSQL.setValue("logisticsmethod", "");
|
|
|
|
|
+ insertSQL.setValue("invoice_enterprisename", orderdetailRows.get(0).getString("invoicename"));
|
|
|
|
|
+ insertSQL.setValue("invoice_address", orderdetailRows.get(0).getString("invoiceaddress"));
|
|
|
|
|
+ insertSQL.setValue("invoice_taxno", orderdetailRows.get(0).getString("invoicetaxno"));
|
|
|
|
|
+ insertSQL.setValue("name", orderdetailRows.get(0).getString("contact"));
|
|
|
|
|
+ insertSQL.setValue("phonenumber", orderdetailRows.get(0).getString("phonenumber"));
|
|
|
|
|
+ insertSQL.setValue("address", orderdetailRows.get(0).getString("address"));
|
|
|
|
|
+ insertSQL.setValue("province", orderdetailRows.get(0).getString("province"));
|
|
|
|
|
+ insertSQL.setValue("city", orderdetailRows.get(0).getString("city"));
|
|
|
|
|
+ insertSQL.setValue("county", orderdetailRows.get(0).getString("county"));
|
|
|
|
|
+
|
|
|
|
|
+ insertSQL.setValue("tracknumber", "");
|
|
|
|
|
+ insertSQL.setValue("isconfirm", 0);
|
|
|
|
|
+
|
|
|
|
|
+ insertSQL.setValue("period", getDate_Str().substring(0, 7));
|
|
|
|
|
+
|
|
|
|
|
+ insertSQL.setValue("createby", username);
|
|
|
|
|
+ insertSQL.setDateValue("createdate");
|
|
|
|
|
+ insertSQL.setValue("changeby", username);
|
|
|
|
|
+ insertSQL.setDateValue("changedate");
|
|
|
|
|
+ insertSQL.setValue("status", "新建");
|
|
|
|
|
+ insertSQL.setValue("payamount", 0);
|
|
|
|
|
+ insertSQL.setValue("paydiscountamount", 0);
|
|
|
|
|
+ sqlList.add(insertSQL.getSQL());
|
|
|
|
|
+
|
|
|
|
|
+ sqlList.add(DataContrlLog.createLog(this, "st_stockbill", st_stockbillid, "新增", "销售出库单新增成功").getSQL());
|
|
|
|
|
+
|
|
|
|
|
+ int i = 1;
|
|
|
|
|
+ BigDecimal payamount = BigDecimal.ZERO;
|
|
|
|
|
+ RowsMap itemRowsMap = SQLFactory.createQuerySQL(this, "plm_item", "*").setTableAlias("t1").addJoinTable(JOINTYPE.left, "st_stock", "t2", "t1.siteid = t2.siteid and t1.stockno = t2.stockno", "stockid").setWhere("itemid", orderdetailRows.toArrayList("itemid")).query().toRowsMap("itemid");
|
|
|
|
|
+ RowsMap stockRowsMap = SQLFactory.createQuerySQL(this, "st_stock", "stockid", "stockno").query().toRowsMap("stockno");
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ for (Row row : orderdetailRows) {
|
|
|
|
|
+ payamount = payamount.add(row.getBigDecimal("undeliqty").multiply(row.getBigDecimal("price")));
|
|
|
|
|
+ insertSQL = SQLFactory.createInsertSQL(this, "st_stockbill_items");
|
|
|
|
|
+ insertSQL.setUniqueid(createTableID("st_stockbill_items"));
|
|
|
|
|
+ insertSQL.setSiteid(siteid);
|
|
|
|
|
+ insertSQL.setValue("rowno", i);
|
|
|
|
|
+ insertSQL.setValue("st_stockbillid", st_stockbillid);
|
|
|
|
|
+ insertSQL.setValue("sa_orderitemsid", row.getLong("sa_orderitemsid"));
|
|
|
|
|
+ insertSQL.setValue("itemid", row.getLong("itemid"));
|
|
|
|
|
+ insertSQL.setValue("sa_orderid", row.getLong("sa_orderid"));
|
|
|
|
|
+ insertSQL.setValue("qty", row.getLong("undeliqty"));
|
|
|
|
|
+ insertSQL.setValue("discountrate", 1);
|
|
|
|
|
+ insertSQL.setValue("sa_dispatch_itemsid", 0);
|
|
|
|
|
+ insertSQL.setValue("defaultprice", row.getBigDecimal("price"));
|
|
|
|
|
+ insertSQL.setValue("remarks", row.getString("remarksdetail"));
|
|
|
|
|
+ insertSQL.setValue("itemno", row.getString("itemno"));
|
|
|
|
|
+ insertSQL.setValue("itemname", row.getString("itemname"));
|
|
|
|
|
+ insertSQL.setValue("model", row.getString("model"));
|
|
|
|
|
+ insertSQL.setValue("price", row.getBigDecimal("price"));
|
|
|
|
|
+ insertSQL.setValue("amount", row.getBigDecimal("undeliqty").multiply(row.getBigDecimal("price")));
|
|
|
|
|
+ insertSQL.setValue("untaxedprice", row.getBigDecimal("price").divide(new BigDecimal(1.13), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
|
|
+ insertSQL.setValue("untaxedamount", row.getBigDecimal("undeliqty").multiply(row.getBigDecimal("price").divide(new BigDecimal(1.13), 2, BigDecimal.ROUND_HALF_UP)));
|
|
|
|
|
+ insertSQL.setValue("skucontrol", row.getBoolean("skucontrol"));
|
|
|
|
|
+ if (itemRowsMap.containsKey(row.getString("itemid"))) {
|
|
|
|
|
+ if (itemRowsMap.get(row.getString("itemid")).get(0).getBoolean("ismodule")) {
|
|
|
|
|
+ insertSQL.setValue("stockid", stockRowsMap.get("105").get(0).getLong("stockid"));
|
|
|
|
|
+ } else {
|
|
|
|
|
+ insertSQL.setValue("stockid", stockRowsMap.get("101").get(0).getLong("stockid"));
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ insertSQL.setValue("stockid", 0);
|
|
|
|
|
+ }
|
|
|
|
|
+ i++;
|
|
|
|
|
+ sqlList.add(insertSQL.getSQL());
|
|
|
|
|
+ }
|
|
|
|
|
+ String depname = departmenthrrows.isNotEmpty() ? departmenthrrows.get(0).getString("depname") : "";
|
|
|
|
|
+ if (depname.equals("售后部")) {
|
|
|
|
|
+ if (accountbalancerowsMap.containsKey(sys_enterpriseid)) {
|
|
|
|
|
+ if (accountbalancerowsMap.get(sys_enterpriseid).get(0).getBigDecimal("discountamount").compareTo(BigDecimal.ZERO) > 0) {
|
|
|
|
|
+ if (accountbalancerowsMap.get(sys_enterpriseid).get(0).getBigDecimal("discountamount").compareTo(payamount) > 0) {
|
|
|
|
|
+ sqlList.add("update st_stockbill set payamount=0,paydiscountamount=" + payamount + " where st_stockbillid=" + st_stockbillid);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ sqlList.add("update st_stockbill set payamount=" + payamount.subtract(accountbalancerowsMap.get(sys_enterpriseid).get(0).getBigDecimal("discountamount")) + ",paydiscountamount=" + accountbalancerowsMap.get(sys_enterpriseid).get(0).getBigDecimal("discountamount") + " where st_stockbillid=" + st_stockbillid);
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ sqlList.add("update st_stockbill set payamount=" + payamount + " where st_stockbillid=" + st_stockbillid);
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ sqlList.add("update st_stockbill set payamount=" + payamount + " where st_stockbillid=" + st_stockbillid);
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ sqlList.add("update st_stockbill set payamount=" + payamount + " where st_stockbillid=" + st_stockbillid);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+// sqlList.add("update st_stockbill set payamount="+payamount+" where st_stockbillid="+st_stockbillid);
|
|
|
|
|
+ stockbillcount++;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ dbConnect.runSqlUpdate(sqlList);
|
|
|
|
|
+ HashMap<String, Object> result = new HashMap<>();
|
|
|
|
|
+ String success = "已生成" + addressSet.size() + " 家经销商,共" + stockbillcount + "张出库单;失败" + errRows_result.toRowsMap("agentnum").size() + "家经销商,共" + errRows_result.toRowsMap("sonum").size() + "张订单!";
|
|
|
|
|
+ result.put("success", success);
|
|
|
|
|
+ result.put("errinfo", errRows_result);
|
|
|
|
|
+ return getSucReturnObject().setData(result).toString();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
@API(title = "提交", apiversion = R.ID20221108153402.v1.class, intervaltime = 5000)
|
|
@API(title = "提交", apiversion = R.ID20221108153402.v1.class, intervaltime = 5000)
|
|
|
@CACHEING_CLEAN(apiClass = {Order.class, OrderItems.class, restcontroller.sale.order.Order.class, cashbill.class, promotion.class, restcontroller.webmanage.sale.promotion.promotion.class, accessoryorder.class})
|
|
@CACHEING_CLEAN(apiClass = {Order.class, OrderItems.class, restcontroller.sale.order.Order.class, cashbill.class, promotion.class, restcontroller.webmanage.sale.promotion.promotion.class, accessoryorder.class})
|
|
|
public String submit() throws YosException {
|
|
public String submit() throws YosException {
|
|
@@ -3676,7 +3961,7 @@ public class Order extends Controller {
|
|
|
@CACHEING
|
|
@CACHEING
|
|
|
public String stockbillList() throws YosException {
|
|
public String stockbillList() throws YosException {
|
|
|
Long sa_orderid = content.getLong("sa_orderid");
|
|
Long sa_orderid = content.getLong("sa_orderid");
|
|
|
- QuerySQL stockbillQuery = SQLFactory.createQuerySQL(this, "st_stockbill", "rb", "billdate", "status", "billno", "remarks", "st_stockbillid").setTableAlias("t1");
|
|
|
|
|
|
|
+ QuerySQL stockbillQuery = SQLFactory.createQuerySQL(this, "st_stockbill", "rb", "billdate", "status", "billno", "remarks", "st_stockbillid","tracknumber","mailno").setTableAlias("t1");
|
|
|
stockbillQuery.addJoinTable(JOINTYPE.left, "st_stockbill_items", "t2", "t2.st_stockbillid = t1.st_stockbillid");
|
|
stockbillQuery.addJoinTable(JOINTYPE.left, "st_stockbill_items", "t2", "t2.st_stockbillid = t1.st_stockbillid");
|
|
|
stockbillQuery.setWhere("t2.sa_orderid", sa_orderid);
|
|
stockbillQuery.setWhere("t2.sa_orderid", sa_orderid);
|
|
|
stockbillQuery.setDistinct(true);
|
|
stockbillQuery.setDistinct(true);
|
|
@@ -3684,6 +3969,7 @@ public class Order extends Controller {
|
|
|
for (Row row : rows) {
|
|
for (Row row : rows) {
|
|
|
int rb = row.getInteger("rb");
|
|
int rb = row.getInteger("rb");
|
|
|
row.put("rb", rb == 1 ? "蓝" : "红");
|
|
row.put("rb", rb == 1 ? "蓝" : "红");
|
|
|
|
|
+ row.put("expressform_mailno", row.getString("mailno"));
|
|
|
}
|
|
}
|
|
|
return getSucReturnObject().setData(rows).toString();
|
|
return getSucReturnObject().setData(rows).toString();
|
|
|
}
|
|
}
|