|
|
@@ -19,7 +19,6 @@ import common.YosException;
|
|
|
import common.annotation.API;
|
|
|
import common.annotation.CACHEING;
|
|
|
import common.annotation.CACHEING_CLEAN;
|
|
|
-import common.api.YOSAPI;
|
|
|
import common.data.*;
|
|
|
import common.data.db.DBConnect;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
@@ -246,9 +245,7 @@ public class Order extends Controller {
|
|
|
} else {
|
|
|
//订单更新时
|
|
|
if (content.getLongValue("sa_accountclassid") != 0) {
|
|
|
- Rows accountclassRows = dbConnect
|
|
|
- .runSqlQuery(
|
|
|
- "select accountno,accountname from sa_accountclass where sa_accountclassid=" + content.getLongValue("sa_accountclassid"));
|
|
|
+ Rows accountclassRows = dbConnect.runSqlQuery("select accountno,accountname from sa_accountclass where sa_accountclassid=" + content.getLongValue("sa_accountclassid"));
|
|
|
if (accountclassRows.isNotEmpty()) {
|
|
|
if (accountclassRows.get(0).getString("accountname").equals("物料账户")) {
|
|
|
Rows wuliaoRows = dbConnect.runSqlQuery("select * from sa_orderitems t1 where exists(select 1 from plm_item t left join plm_itemclass t2 on t.marketingcategory=t2.itemclassid and t.siteid=t2.siteid where t.itemid=t1.itemid and t2.itemclassname='物料') and t1.sa_orderid=" + sa_orderid);
|
|
|
@@ -656,16 +653,17 @@ public class Order extends Controller {
|
|
|
sqlFactory.addParameter_in("sys_enterpriseid", sys_enterpriseids);
|
|
|
RowsMap financeRowsMap = dbConnect.runSqlQuery(sqlFactory).toRowsMap("sys_enterpriseid");
|
|
|
|
|
|
- QuerySQL expressformQuery = SQLFactory.createQuerySQL(this, "expressform", "*").setTableAlias("t1");
|
|
|
- expressformQuery.addJoinTable(JOINTYPE.inner, "sa_expressform_stockbill", "t2", "t2.expressformid = t1.expressformid");
|
|
|
- expressformQuery.addJoinTable(JOINTYPE.inner, "st_stockbill_items", "t3", "t3.st_stockbillid = t2.st_stockbillid", "sa_orderid");
|
|
|
- expressformQuery.addJoinTable(JOINTYPE.inner, "st_stockbill", "t4", "t3.st_stockbillid = t4.st_stockbillid", "tracknumber");
|
|
|
- expressformQuery.setWhere("t3.sa_orderid", sa_orderids);
|
|
|
- expressformQuery.setOrderBy("t1.createdate desc");
|
|
|
- expressformQuery.setDistinct(true);
|
|
|
- Rows expressformrows = expressformQuery.query();
|
|
|
- RowsMap expressformrowsMap = expressformrows.toRowsMap("sa_orderid");
|
|
|
-
|
|
|
+ RowsMap expressformrowsMap = new RowsMap();
|
|
|
+ if (!sa_orderids.isEmpty()) {
|
|
|
+ QuerySQL expressformQuery = SQLFactory.createQuerySQL(this, "expressform", "*").setTableAlias("t1");
|
|
|
+ expressformQuery.addJoinTable(JOINTYPE.inner, "sa_expressform_stockbill", "t2", "t2.expressformid = t1.expressformid");
|
|
|
+ expressformQuery.addJoinTable(JOINTYPE.inner, "st_stockbill_items", "t3", "t3.st_stockbillid = t2.st_stockbillid", "sa_orderid");
|
|
|
+ expressformQuery.addJoinTable(JOINTYPE.inner, "st_stockbill", "t4", "t3.st_stockbillid = t4.st_stockbillid", "tracknumber");
|
|
|
+ expressformQuery.setWhere("t3.sa_orderid", sa_orderids);
|
|
|
+ expressformQuery.setOrderBy("t1.createdate desc");
|
|
|
+ expressformQuery.setDistinct(true);
|
|
|
+ expressformrowsMap = expressformQuery.query().toRowsMap("sa_orderid");
|
|
|
+ }
|
|
|
|
|
|
for (Row row : rows) {
|
|
|
row.put("pay_finance", financeRowsMap.getOrDefault(row.getString("sys_enterpriseid"), new Rows()));
|
|
|
@@ -1004,14 +1002,10 @@ public class Order extends Controller {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_order",
|
|
|
- "sa_orderid", "sonum", "type", "status", "submitdate", "checkdate", "remarks", "createby", "checkby", "billdate", "tradefield", "rec_contactsid", "delivery", "logisticsmethod", "tracknumber", "mailno"
|
|
|
- , "invoicetaxno", "invoicename", "invoiceaddress", "contact", "address", "phonenumber", "province", "city", "county");
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_order", "sa_orderid", "sonum", "type", "status", "submitdate", "checkdate", "remarks", "createby", "checkby", "billdate", "tradefield", "rec_contactsid", "delivery", "logisticsmethod", "tracknumber", "mailno", "invoicetaxno", "invoicename", "invoiceaddress", "contact", "address", "phonenumber", "province", "city", "county");
|
|
|
querySQL.setTableAlias("t1");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t2.sys_enterpriseid = t1.sys_enterpriseid and t2.siteid = t1.siteid",
|
|
|
- "enterprisename", "abbreviation");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t6", "t6.sys_enterpriseid=t1.sys_enterpriseid and t6.siteid = t1.siteid",
|
|
|
- "agentnum");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t2.sys_enterpriseid = t1.sys_enterpriseid and t2.siteid = t1.siteid", "enterprisename", "abbreviation");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t6", "t6.sys_enterpriseid=t1.sys_enterpriseid and t6.siteid = t1.siteid", "agentnum");
|
|
|
querySQL.addQueryFields("amount", "CAST(0 AS CHAR(20))");
|
|
|
querySQL.addQueryFields("qty", "CAST(0 AS CHAR(20))");
|
|
|
querySQL.setCondition("t1.sonum", "t2.enterprisename", "t1.remarks");
|
|
|
@@ -1193,14 +1187,10 @@ public class Order extends Controller {
|
|
|
|
|
|
//查询订单列表(管理端)
|
|
|
public QuerySQL queryListManage(String where) throws YosException {
|
|
|
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_order",
|
|
|
- "sa_orderid", "sonum", "type", "status", "submitdate", "checkdate", "remarks", "createby", "checkby", "billdate", "tradefield", "rec_contactsid", "delivery", "logisticsmethod", "tracknumber", "mailno"
|
|
|
- , "invoicetaxno", "invoicename", "invoiceaddress", "contact", "address", "phonenumber", "province", "city", "county");
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_order", "sa_orderid", "sonum", "type", "status", "submitdate", "checkdate", "remarks", "createby", "checkby", "billdate", "tradefield", "rec_contactsid", "delivery", "logisticsmethod", "tracknumber", "mailno", "invoicetaxno", "invoicename", "invoiceaddress", "contact", "address", "phonenumber", "province", "city", "county");
|
|
|
querySQL.setTableAlias("t1");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t2.sys_enterpriseid = t1.sys_enterpriseid and t2.siteid = t1.siteid",
|
|
|
- "enterprisename", "abbreviation");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t6", "t6.sys_enterpriseid=t1.sys_enterpriseid and t6.siteid = t1.siteid",
|
|
|
- "agentnum");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t2.sys_enterpriseid = t1.sys_enterpriseid and t2.siteid = t1.siteid", "enterprisename", "abbreviation");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t6", "t6.sys_enterpriseid=t1.sys_enterpriseid and t6.siteid = t1.siteid", "agentnum");
|
|
|
querySQL.addQueryFields("amount", "CAST(0 AS CHAR(20))");
|
|
|
querySQL.addQueryFields("qty", "CAST(0 AS CHAR(20))");
|
|
|
querySQL.setWhere("t1.siteid", siteid);
|
|
|
@@ -1367,19 +1357,14 @@ public class Order extends Controller {
|
|
|
public QuerySQL queryList(String where) throws YosException {
|
|
|
QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_order", "*");
|
|
|
querySQL.setTableAlias("t1");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t2.sys_enterpriseid = t1.sys_enterpriseid and t2.siteid = t1.siteid",
|
|
|
- "enterprisename", "abbreviation");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sa_brand", "t3", "t3.sa_brandid = t1.sa_brandid",
|
|
|
- "brandname");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise_contacts", "t4", "t4.contactsid = t1.rec_contactsid and t4.siteid = t1.siteid",
|
|
|
- "name", "province", "city", "county", "address", "phonenumber");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t5", "t5.sys_enterpriseid=t1.sys_enterpriseid and t5.siteid = t1.siteid",
|
|
|
- "agentnum");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t2.sys_enterpriseid = t1.sys_enterpriseid and t2.siteid = t1.siteid", "enterprisename", "abbreviation");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_brand", "t3", "t3.sa_brandid = t1.sa_brandid", "brandname");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise_contacts", "t4", "t4.contactsid = t1.rec_contactsid and t4.siteid = t1.siteid", "name", "province", "city", "county", "address", "phonenumber");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t5", "t5.sys_enterpriseid=t1.sys_enterpriseid and t5.siteid = t1.siteid", "agentnum");
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "sys_hr", "t6", "t6.hrid = t1.saler_hrid and t6.siteid = t1.siteid");
|
|
|
//设置别名
|
|
|
querySQL.addQueryFields("salename", "t6.name");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sa_project", "t7", "t7.sa_projectid = t1.sa_projectid and t7.siteid = t1.siteid",
|
|
|
- "projectname");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_project", "t7", "t7.sa_projectid = t1.sa_projectid and t7.siteid = t1.siteid", "projectname");
|
|
|
querySQL.addQueryFields("amount", "CAST(0 AS CHAR(20))");
|
|
|
querySQL.addQueryFields("qty", "CAST(0 AS CHAR(20))");
|
|
|
querySQL.setWhere("t1.siteid", siteid);
|
|
|
@@ -1913,8 +1898,7 @@ public class Order extends Controller {
|
|
|
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, "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("t1.sa_orderid", sa_orderids);
|
|
|
@@ -1924,8 +1908,7 @@ public class Order extends Controller {
|
|
|
|
|
|
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.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);
|
|
|
@@ -2211,15 +2194,9 @@ public class Order extends Controller {
|
|
|
|
|
|
String type = row.getString("type");
|
|
|
ArrayList<String> sqllist = new ArrayList<>();
|
|
|
- Rows rowsdetailsGrade = dbConnect.runSqlQuery("select sum(t1.qty) qty,t2.grade from sa_orderitems t1 " +
|
|
|
- "left join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid " +
|
|
|
- " where t1.sa_orderid=" + sa_orderid + " group by t2.grade");
|
|
|
- Rows rowsGrade = dbConnect.runSqlQuery("select t1.rowno,t2.itemno,t2.itemname,t2.grade from sa_orderitems t1 " +
|
|
|
- "left join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid " +
|
|
|
- " where t1.sa_orderid=" + sa_orderid);
|
|
|
- Rows gradeQtyRows = dbConnect.runSqlQuery("select grade,sum(qty) qty from (select grade,t2.qty from st_stockbill t1 inner join st_stockbill_items t2 on t1.st_stockbillid=t2.st_stockbillid inner join plm_item t3 on t2.itemid=t3.itemid where t1.status='审核' and t1.type='销售出库' and t1.sys_enterpriseid='" + row.getLong("sys_enterpriseid") + "' and YEAR(t1.billdate) = YEAR(CURDATE())\n" +
|
|
|
- "union all\n" +
|
|
|
- "select grade,t2.qty from sa_order t1 inner join sa_orderitems t2 on t1.sa_orderid=t2.sa_orderid inner join plm_item t3 on t2.itemid=t3.itemid where t1.status in('提交','审核') and t2.isclose=0 and t1.sys_enterpriseid='" + row.getLong("sys_enterpriseid") + "' and YEAR(t1.billdate) = YEAR(CURDATE())) t group by grade");
|
|
|
+ Rows rowsdetailsGrade = dbConnect.runSqlQuery("select sum(t1.qty) qty,t2.grade from sa_orderitems t1 " + "left join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid " + " where t1.sa_orderid=" + sa_orderid + " group by t2.grade");
|
|
|
+ Rows rowsGrade = dbConnect.runSqlQuery("select t1.rowno,t2.itemno,t2.itemname,t2.grade from sa_orderitems t1 " + "left join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid " + " where t1.sa_orderid=" + sa_orderid);
|
|
|
+ Rows gradeQtyRows = dbConnect.runSqlQuery("select grade,sum(qty) qty from (select grade,t2.qty from st_stockbill t1 inner join st_stockbill_items t2 on t1.st_stockbillid=t2.st_stockbillid inner join plm_item t3 on t2.itemid=t3.itemid where t1.status='审核' and t1.type='销售出库' and t1.sys_enterpriseid='" + row.getLong("sys_enterpriseid") + "' and YEAR(t1.billdate) = YEAR(CURDATE())\n" + "union all\n" + "select grade,t2.qty from sa_order t1 inner join sa_orderitems t2 on t1.sa_orderid=t2.sa_orderid inner join plm_item t3 on t2.itemid=t3.itemid where t1.status in('提交','审核') and t2.isclose=0 and t1.sys_enterpriseid='" + row.getLong("sys_enterpriseid") + "' and YEAR(t1.billdate) = YEAR(CURDATE())) t group by grade");
|
|
|
Rows optiontypRows = dbConnect.runSqlQuery("select t1.value,t1.remarks from sys_optiontypemx t1 inner join sys_optiontype t2 on t1.optiontypeid=t2.optiontypeid where t2.typename ='productgrade'");
|
|
|
RowsMap gradeQtyRowsMap = gradeQtyRows.toRowsMap("grade");
|
|
|
RowsMap optiontypRowsMap = optiontypRows.toRowsMap("value");
|
|
|
@@ -2254,9 +2231,7 @@ public class Order extends Controller {
|
|
|
}
|
|
|
|
|
|
if (type.equals("配件订单")) {
|
|
|
- Rows rowsdetails = dbConnect.runSqlQuery("select t1.price,t1.amount,t1.sa_orderitemsid,t1.itemid,ifnull(t2.iswriteoff,0) iswriteoff,t3.begdate,t3.enddate from sa_orderitems t1 " +
|
|
|
- "left join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid " +
|
|
|
- "left join sa_warrantycard t3 on t1.cardno=t3.cardno and t1.siteid=t3.siteid and t3.isvoid=0 and t3.deleted=0 where t1.sa_orderid=" + sa_orderid);
|
|
|
+ Rows rowsdetails = dbConnect.runSqlQuery("select t1.price,t1.amount,t1.sa_orderitemsid,t1.itemid,ifnull(t2.iswriteoff,0) iswriteoff,t3.begdate,t3.enddate from sa_orderitems t1 " + "left join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid " + "left join sa_warrantycard t3 on t1.cardno=t3.cardno and t1.siteid=t3.siteid and t3.isvoid=0 and t3.deleted=0 where t1.sa_orderid=" + sa_orderid);
|
|
|
for (Row rowsdetail : rowsdetails) {
|
|
|
String billingstatus = "";
|
|
|
BigDecimal price = rowsdetail.getBigDecimal("price");
|
|
|
@@ -2959,8 +2934,7 @@ public class Order extends Controller {
|
|
|
}
|
|
|
Row row = rows.get(0);
|
|
|
|
|
|
- if (dbConnect.runSqlQuery("SELECT 1 from st_stockbill_items t1 inner join st_stockbill t2 on t2.st_stockbillid=t1.st_stockbillid left join sa_orderitems t3 on t1.sa_orderitemsid=t3.sa_orderitemsid " +
|
|
|
- "WHERE t2.type = '销售出库' and t1.siteid='" + siteid + "' and t3.sa_orderid=" + sa_orderid).isNotEmpty()) {
|
|
|
+ if (dbConnect.runSqlQuery("SELECT 1 from st_stockbill_items t1 inner join st_stockbill t2 on t2.st_stockbillid=t1.st_stockbillid left join sa_orderitems t3 on t1.sa_orderitemsid=t3.sa_orderitemsid " + "WHERE t2.type = '销售出库' and t1.siteid='" + siteid + "' and t3.sa_orderid=" + sa_orderid).isNotEmpty()) {
|
|
|
return getErrReturnObject().setErrMsg("存在销售出库单,无法反审核").toString();
|
|
|
}
|
|
|
|
|
|
@@ -3043,13 +3017,11 @@ public class Order extends Controller {
|
|
|
ArrayList<String> sqlList = new ArrayList<>();
|
|
|
if (isrecheck) {
|
|
|
if (!row.getString("status").equals("新建")) {
|
|
|
- return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为非新建状态,无法预提交")
|
|
|
- .toString();
|
|
|
+ return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为非新建状态,无法预提交").toString();
|
|
|
}
|
|
|
} else {
|
|
|
if (!row.getString("status").equals("预提交")) {
|
|
|
- return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为非预提交状态,无法撤回")
|
|
|
- .toString();
|
|
|
+ return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为非预提交状态,无法撤回").toString();
|
|
|
}
|
|
|
}
|
|
|
SQLFactory sqlFactoryupdate;
|
|
|
@@ -3100,20 +3072,17 @@ public class Order extends Controller {
|
|
|
if (isrecheck) {
|
|
|
if (row.getBoolean("createflag")) {
|
|
|
if (!row.getString("status").equals("新建")) {
|
|
|
- return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为新建状态,无法确认")
|
|
|
- .toString();
|
|
|
+ return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为新建状态,无法确认").toString();
|
|
|
}
|
|
|
} else {
|
|
|
if (!row.getString("status").equals("预提交")) {
|
|
|
- return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为非预提交状态,无法确认")
|
|
|
- .toString();
|
|
|
+ return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为非预提交状态,无法确认").toString();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
if (!row.getString("status").equals("确认")) {
|
|
|
- return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为非确认状态,无法反确认")
|
|
|
- .toString();
|
|
|
+ return getErrReturnObject().setErrMsg("单号为:【" + row.getString("sonum") + "】的订单为非确认状态,无法反确认").toString();
|
|
|
}
|
|
|
}
|
|
|
SQLFactory sqlFactoryupdate;
|
|
|
@@ -3566,10 +3535,8 @@ public class Order extends Controller {
|
|
|
*/
|
|
|
public String closeordervalidate(long sa_orderid) throws YosException {
|
|
|
ArrayList<String> sqlList = new ArrayList<>();
|
|
|
- Rows Rowstatus = dbConnect.runSqlQuery(
|
|
|
- "select * from sa_order where sa_orderid=" + sa_orderid + " and siteid='" + siteid + "'");
|
|
|
- Rows RowsDetail = dbConnect.runSqlQuery(
|
|
|
- "select * from sa_orderitems where sa_orderid=" + sa_orderid + " and siteid='" + siteid + "' order by rowno asc");
|
|
|
+ Rows Rowstatus = dbConnect.runSqlQuery("select * from sa_order where sa_orderid=" + sa_orderid + " and siteid='" + siteid + "'");
|
|
|
+ Rows RowsDetail = dbConnect.runSqlQuery("select * from sa_orderitems where sa_orderid=" + sa_orderid + " and siteid='" + siteid + "' order by rowno asc");
|
|
|
if (Rowstatus.isEmpty()) {
|
|
|
return "订单不存在";
|
|
|
} else {
|
|
|
@@ -3596,8 +3563,7 @@ public class Order extends Controller {
|
|
|
}
|
|
|
{
|
|
|
String str = "";
|
|
|
- RowsDetail = dbConnect.runSqlQuery(
|
|
|
- "select * from sa_orderitems where sa_orderid=" + sa_orderid + " and siteid='" + siteid + "' order by rowno asc");
|
|
|
+ RowsDetail = dbConnect.runSqlQuery("select * from sa_orderitems where sa_orderid=" + sa_orderid + " and siteid='" + siteid + "' order by rowno asc");
|
|
|
for (Row row : RowsDetail) {
|
|
|
int rowno = row.getInteger("rowno");//订单行号
|
|
|
BigDecimal deliedqty = row.getBigDecimal("deliedqty");//订单已发货数量
|
|
|
@@ -3781,10 +3747,7 @@ public class Order extends Controller {
|
|
|
|
|
|
QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_invoicebill", "*");
|
|
|
querySQL.setTableAlias("t1");
|
|
|
- querySQL.addQueryFields("sumtaxincludedamount", "ifnull((select sum(taxincludedamount) sumtaxincludedamount\n" +
|
|
|
- " from sa_invoicebill_item\n" +
|
|
|
- " where sa_invoicebillid = t1.sa_invoicebillid\n" +
|
|
|
- " and siteid = t1.siteid), 0)");
|
|
|
+ querySQL.addQueryFields("sumtaxincludedamount", "ifnull((select sum(taxincludedamount) sumtaxincludedamount\n" + " from sa_invoicebill_item\n" + " where sa_invoicebillid = t1.sa_invoicebillid\n" + " and siteid = t1.siteid), 0)");
|
|
|
querySQL.setSiteid(siteid);
|
|
|
querySQL.setWhere("t1.sa_invoiceapplyid in (SELECT sa_invoiceapplyid from sa_invoiceapply_order WHERE sa_orderid = '" + sa_orderid + "' and siteid = '" + siteid + "')");
|
|
|
querySQL.setWhere(where.toString());
|
|
|
@@ -4017,8 +3980,7 @@ public class Order extends Controller {
|
|
|
// sqlFactory.addParameter("sa_orderid", sa_orderid);
|
|
|
// sqlFactory.addParameter_SQL("where", where);
|
|
|
// Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
|
|
|
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_writeoffbill", "sa_writeoffbillid", "createuserid",
|
|
|
- "createby", "createdate", "checkby", "checkdate", "billnodate", "status", "sys_enterpriseid", "remarks", "unwriteoffamount", "writeoffamount", "sa_cashbillid");
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_writeoffbill", "sa_writeoffbillid", "createuserid", "createby", "createdate", "checkby", "checkdate", "billnodate", "status", "sys_enterpriseid", "remarks", "unwriteoffamount", "writeoffamount", "sa_cashbillid");
|
|
|
querySQL.setTableAlias("t1");
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t1.siteid = t2.siteid and t1.sys_enterpriseid = t2.sys_enterpriseid", "enterprisename", "abbreviation");
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t5", "t2.siteid = t5.siteid and t2.sys_enterpriseid = t5.sys_enterpriseid", "agentnum");
|
|
|
@@ -4142,8 +4104,7 @@ public class Order extends Controller {
|
|
|
// Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
|
|
|
|
|
|
|
|
|
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_rebatesettlement_items", "sa_rebatesettlement_itemsid", "qty",
|
|
|
- "marketprice", "discountrate", "price", "amount", "rebate_discountrate", "rebate_price", "rebate");
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_rebatesettlement_items", "sa_rebatesettlement_itemsid", "qty", "marketprice", "discountrate", "price", "amount", "rebate_discountrate", "rebate_price", "rebate");
|
|
|
querySQL.setTableAlias("t1");
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t2", "t1.itemid = t2.itemid and t1.siteid = t2.siteid", "itemno", "itemname");
|
|
|
querySQL.addQueryFields("rebate_unit_price", "t1.price-t1.rebate_price");
|
|
|
@@ -4198,13 +4159,11 @@ public class Order extends Controller {
|
|
|
// sqlFactory.addParameter("siteid", siteid);
|
|
|
// sqlFactory.addParameter("sa_orderid", sa_orderid);
|
|
|
// Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
|
|
|
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_writeoffbill", "sa_writeoffbillid", "billno",
|
|
|
- "billnodate", "writeoffamount");
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_writeoffbill", "sa_writeoffbillid", "billno", "billnodate", "writeoffamount");
|
|
|
querySQL.setTableAlias("t1");
|
|
|
querySQL.addJoinTable(JOINTYPE.inner, "sa_writeoffbill_order", "t2", "t1.sa_writeoffbillid = t2.sa_writeoffbillid and t1.siteid = t2.siteid");
|
|
|
querySQL.addJoinTable(JOINTYPE.inner, "sa_cashbill", "t3", "t1.sa_cashbillid = t3.sa_cashbillid and t1.siteid = t3.siteid");
|
|
|
- querySQL.addJoinTable(JOINTYPE.inner, "sa_orderitems", "t4", "t2.siteid = t4.siteid and t2.sa_orderitemsid = t4.sa_orderitemsid",
|
|
|
- "rowno", "itemno", "itemname");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.inner, "sa_orderitems", "t4", "t2.siteid = t4.siteid and t2.sa_orderitemsid = t4.sa_orderitemsid", "rowno", "itemno", "itemname");
|
|
|
querySQL.addQueryFields("cashbillbillno", "t3.billno");
|
|
|
querySQL.addQueryFields("ordetitemwriteoffamount", "t2.writeoffamount");
|
|
|
querySQL.setSiteid(siteid);
|
|
|
@@ -4240,12 +4199,10 @@ public class Order extends Controller {
|
|
|
// sqlFactory.addParameter("siteid", siteid);
|
|
|
// sqlFactory.addParameter("sa_orderid", sa_orderid);
|
|
|
// Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
|
|
|
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_orderitems_change", "createby", "createdate",
|
|
|
- "remarks", "sa_orderitems_changeid");
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_orderitems_change", "createby", "createdate", "remarks", "sa_orderitems_changeid");
|
|
|
querySQL.setTableAlias("t1");
|
|
|
querySQL.addJoinTable(JOINTYPE.inner, "sa_orderitems_changemx", "t2", "t1.sa_orderitems_changeid = t2.sa_orderitems_changeid and t1.siteid = t2.siteid", "oldvalue", "newvalue");
|
|
|
- querySQL.addJoinTable(JOINTYPE.inner, "plm_item", "t3", "t2.itemid = t3.itemid and t2.siteid = t3.siteid",
|
|
|
- "itemno", "itemname", "model");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.inner, "plm_item", "t3", "t2.itemid = t3.itemid and t2.siteid = t3.siteid", "itemno", "itemname", "model");
|
|
|
querySQL.setSiteid(siteid);
|
|
|
querySQL.setWhere("t2.type = '数量'");
|
|
|
querySQL.setWhere("t1.sa_orderid", sa_orderid);
|
|
|
@@ -4390,8 +4347,7 @@ public class Order extends Controller {
|
|
|
oraclebase = "ORACLE_HY";
|
|
|
}
|
|
|
DBConnect oracleConnect = new DBConnect(oraclebase);
|
|
|
- Rows icrows = oracleConnect.runSqlQuery(
|
|
|
- "select WAREHOUSE,QTY,LOCATION,LOT from v_eso_actual_inventory where FITEMNO = '" + erpitemno + "' and SITEID='" + sid + "' and QTY>=" + qty);
|
|
|
+ Rows icrows = oracleConnect.runSqlQuery("select WAREHOUSE,QTY,LOCATION,LOT from v_eso_actual_inventory where FITEMNO = '" + erpitemno + "' and SITEID='" + sid + "' and QTY>=" + qty);
|
|
|
return getSucReturnObject().setData(icrows).toString();
|
|
|
}
|
|
|
|
|
|
@@ -4731,8 +4687,7 @@ public class Order extends Controller {
|
|
|
* @param addorsub
|
|
|
* @param remarks
|
|
|
*/
|
|
|
- public ArrayList<String> updateAccountbalance_freez(BigDecimal totalamount, boolean addorsub,
|
|
|
- String remarks, long sys_enterpriseid, long sa_accountclassid, long sa_orderid) throws YosException {
|
|
|
+ public ArrayList<String> updateAccountbalance_freez(BigDecimal totalamount, boolean addorsub, String remarks, long sys_enterpriseid, long sa_accountclassid, long sa_orderid) throws YosException {
|
|
|
ArrayList<String> sqllist = new ArrayList<>();
|
|
|
/******** 冻结数据 ********/
|
|
|
if (addorsub) {
|
|
|
@@ -4806,8 +4761,7 @@ public class Order extends Controller {
|
|
|
if (close) {
|
|
|
qty = isinstock ? row.getBigDecimal("undeliqty") : row.getBigDecimal("undeliqty").negate();// 如果是扣减则根据数量进行扣减,反之根据未发货数量进行增加
|
|
|
} else {
|
|
|
- qty = isinstock ? row.getBigDecimal("undeliqty")
|
|
|
- : row.getBigDecimal("qty").negate();// 如果是扣减则根据数量进行扣减,反之根据未发货数量进行增加
|
|
|
+ qty = isinstock ? row.getBigDecimal("undeliqty") : row.getBigDecimal("qty").negate();// 如果是扣减则根据数量进行扣减,反之根据未发货数量进行增加
|
|
|
}
|
|
|
sqlList.add("update st_invbal_sale set cansaleqty=cansaleqty+" + qty + " where st_invbal_saleid=" + st_invbal_saleid);
|
|
|
}
|