|
@@ -648,19 +648,14 @@ public class OrderItems extends Controller {
|
|
|
QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_orderitems", "*");
|
|
QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_orderitems", "*");
|
|
|
querySQL.setTableAlias("t1");
|
|
querySQL.setTableAlias("t1");
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "st_invbal_sale", "t2", "t2.siteid = t1.siteid AND t2.itemid = t1.itemid", "cansaleqty", "candispatchqty");
|
|
querySQL.addJoinTable(JOINTYPE.left, "st_invbal_sale", "t2", "t2.siteid = t1.siteid AND t2.itemid = t1.itemid", "cansaleqty", "candispatchqty");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t3", "t3.itemid = t1.itemid and t3.siteid = t1.siteid",
|
|
|
|
|
- "orderminqty_auxunit", "orderaddqty_auxunit", "spec", "iscustomsize", "widthschemeid", "lengthschemeid", "standards", "k3outcode");
|
|
|
|
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t3", "t3.itemid = t1.itemid and t3.siteid = t1.siteid", "orderminqty_auxunit", "orderaddqty_auxunit", "spec", "iscustomsize", "widthschemeid", "lengthschemeid", "standards", "k3outcode");
|
|
|
if (sa_promotionid > 0) {
|
|
if (sa_promotionid > 0) {
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sa_promotion_items", "t4",
|
|
|
|
|
- "t4.sa_promotion_itemsid = t1.sa_promotion_itemsid and t4.siteid = t1.siteid and t4.sa_promotionid=" + sa_promotionid, "packagetypemx", "saledqty", "groupqty");
|
|
|
|
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_promotion_items", "t4", "t4.sa_promotion_itemsid = t1.sa_promotion_itemsid and t4.siteid = t1.siteid and t4.sa_promotionid=" + sa_promotionid, "packagetypemx", "saledqty", "groupqty");
|
|
|
}
|
|
}
|
|
|
if (type.equals("配件订单")) {
|
|
if (type.equals("配件订单")) {
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sa_workorder", "t5",
|
|
|
|
|
- "t1.sa_workorderid=t5.sa_workorderid and t1.siteid=t5.siteid");
|
|
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sa_warrantycard", "t6",
|
|
|
|
|
- "t6.cardno=t1.cardno and t6.siteid=t1.siteid", "sku");
|
|
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t7",
|
|
|
|
|
- "t7.itemid=t6.itemid and t7.siteid=t6.siteid");
|
|
|
|
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_workorder", "t5", "t1.sa_workorderid=t5.sa_workorderid and t1.siteid=t5.siteid");
|
|
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_warrantycard", "t6", "t6.cardno=t1.cardno and t6.siteid=t1.siteid", "sku");
|
|
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t7", "t7.itemid=t6.itemid and t7.siteid=t6.siteid");
|
|
|
}
|
|
}
|
|
|
querySQL.addQueryFields("candispatchqty", "ifnull(t2.candispatchqty, 0)");
|
|
querySQL.addQueryFields("candispatchqty", "ifnull(t2.candispatchqty, 0)");
|
|
|
querySQL.addQueryFields("cansaleqty", "ifnull(t2.cansaleqty, 0)");
|
|
querySQL.addQueryFields("cansaleqty", "ifnull(t2.cansaleqty, 0)");
|
|
@@ -873,8 +868,7 @@ public class OrderItems extends Controller {
|
|
|
} else if (convenient.equals("已发货")) {
|
|
} else if (convenient.equals("已发货")) {
|
|
|
where.append(" and exists(select 1 from st_stockbill_items s1 inner join st_stockbill s2 on s1.st_stockbillid=s2.st_stockbillid and s1.siteid=s2.siteid where s2.status='审核' and s2.rb=1 and s1.sa_orderitemsid=t1.sa_orderitemsid)");
|
|
where.append(" and exists(select 1 from st_stockbill_items s1 inner join st_stockbill s2 on s1.st_stockbillid=s2.st_stockbillid and s1.siteid=s2.siteid where s2.status='审核' and s2.rb=1 and s1.sa_orderitemsid=t1.sa_orderitemsid)");
|
|
|
} else if (convenient.equals("已取消")) {
|
|
} else if (convenient.equals("已取消")) {
|
|
|
- where.append(" and t5.status ='手工关闭' and exists(select 1 from (\n" +
|
|
|
|
|
- "select s1.sa_orderitemsid,s1.siteid,sum(s1.qty) qty from st_stockbill_items s1 inner join st_stockbill s2 on s1.st_stockbillid=s2.st_stockbillid and s1.siteid=s2.siteid where s2.status='审核' and s2.rb=1 group by s1.sa_orderitemsid,s1.siteid) s right join sa_orderitems s1 on s.sa_orderitemsid=s1.sa_orderitemsid and s.siteid=s1.siteid where s1.qty>ifnull(s.qty,0) and s1.sa_orderitemsid=t1.sa_orderitemsid)");
|
|
|
|
|
|
|
+ where.append(" and t5.status ='手工关闭' and exists(select 1 from (\n" + "select s1.sa_orderitemsid,s1.siteid,sum(s1.qty) qty from st_stockbill_items s1 inner join st_stockbill s2 on s1.st_stockbillid=s2.st_stockbillid and s1.siteid=s2.siteid where s2.status='审核' and s2.rb=1 group by s1.sa_orderitemsid,s1.siteid) s right join sa_orderitems s1 on s.sa_orderitemsid=s1.sa_orderitemsid and s.siteid=s1.siteid where s1.qty>ifnull(s.qty,0) and s1.sa_orderitemsid=t1.sa_orderitemsid)");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -887,8 +881,7 @@ public class OrderItems extends Controller {
|
|
|
|
|
|
|
|
ArrayList<Long> sa_orderitemsid = rows.toArrayList("sa_orderitemsid", new ArrayList<>());
|
|
ArrayList<Long> sa_orderitemsid = rows.toArrayList("sa_orderitemsid", new ArrayList<>());
|
|
|
|
|
|
|
|
- QuerySQL t11 = SQLFactory.createQuerySQL(this, "sa_dispatch_items",
|
|
|
|
|
- "sa_orderitemsid", "siteid");
|
|
|
|
|
|
|
+ QuerySQL t11 = SQLFactory.createQuerySQL(this, "sa_dispatch_items", "sa_orderitemsid", "siteid");
|
|
|
t11.addQueryFields("outwarehouseqty", "sum(outwarehouseqty)");
|
|
t11.addQueryFields("outwarehouseqty", "sum(outwarehouseqty)");
|
|
|
t11.setSiteid(siteid);
|
|
t11.setSiteid(siteid);
|
|
|
t11.setWhere("sa_orderitemsid", sa_orderitemsid);
|
|
t11.setWhere("sa_orderitemsid", sa_orderitemsid);
|
|
@@ -914,8 +907,7 @@ public class OrderItems extends Controller {
|
|
|
JSONObject jsonObject = (JSONObject) object;
|
|
JSONObject jsonObject = (JSONObject) object;
|
|
|
if (rowsMap.containsKey(jsonObject.getString("fitemno"))) {
|
|
if (rowsMap.containsKey(jsonObject.getString("fitemno"))) {
|
|
|
if (rowsMap.get(jsonObject.getString("fitemno")).isNotEmpty()) {
|
|
if (rowsMap.get(jsonObject.getString("fitemno")).isNotEmpty()) {
|
|
|
- for (Row row : rowsMap.get(jsonObject.getString("fitemno"))
|
|
|
|
|
- ) {
|
|
|
|
|
|
|
+ for (Row row : rowsMap.get(jsonObject.getString("fitemno"))) {
|
|
|
row.put("invbalqty", jsonObject.getBigDecimal("fqty"));
|
|
row.put("invbalqty", jsonObject.getBigDecimal("fqty"));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -947,25 +939,15 @@ public class OrderItems extends Controller {
|
|
|
//查询订单列表(管理端)
|
|
//查询订单列表(管理端)
|
|
|
public QuerySQL queryAllListManage(String where) throws YosException {
|
|
public QuerySQL queryAllListManage(String where) throws YosException {
|
|
|
|
|
|
|
|
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_orderitems",
|
|
|
|
|
- "sa_orderitemsid", "itemid", "rowno", "itemno", "itemname", "unit", "qty", "undeliqty", "saleprice", "defaultprice", "price", "amount", "remarks", "customproperties", "batchcontrol", "model",
|
|
|
|
|
- "conversionrate", "marketprice", "defaultprice", "defaultamount", "auxqty", "needdate", "deliedqty", "rebateamount", "invoiceamount", "writeoffamount", "auxunit", "sa_orderid",
|
|
|
|
|
- "deliverydate", "returnqty", "stockno", "position", "batchno", "isfreeze", "decorationrebateflag");
|
|
|
|
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_orderitems", "sa_orderitemsid", "itemid", "rowno", "itemno", "itemname", "unit", "qty", "undeliqty", "saleprice", "defaultprice", "price", "amount", "remarks", "customproperties", "batchcontrol", "model", "conversionrate", "marketprice", "defaultprice", "defaultamount", "auxqty", "needdate", "deliedqty", "rebateamount", "invoiceamount", "writeoffamount", "auxunit", "sa_orderid", "deliverydate", "returnqty", "stockno", "position", "batchno", "isfreeze", "decorationrebateflag");
|
|
|
querySQL.setTableAlias("t1");
|
|
querySQL.setTableAlias("t1");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t3", "t3.itemid = t1.itemid and t3.siteid = t1.siteid",
|
|
|
|
|
- "orderminqty_auxunit", "orderminqty", "orderaddqty_auxunit", "orderaddqty", "spec", "standards", "packageqty", "delivery", "k3outcode");
|
|
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sa_order", "t5", "t5.sa_orderid = t1.sa_orderid and t5.siteid = t1.siteid",
|
|
|
|
|
- "sonum", "type", "typemx", "status", "billdate", "submitdate", "checkdate", "tradefield", "closedate");
|
|
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t6", "t6.sys_enterpriseid = t5.sys_enterpriseid and t6.siteid = t5.siteid",
|
|
|
|
|
- "agentnum");
|
|
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t7", "t7.sys_enterpriseid = t5.sys_enterpriseid and t7.siteid = t5.siteid",
|
|
|
|
|
- "enterprisename", "abbreviation");
|
|
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "plm_itemclass", "t8", "t8.itemclassid = t3.marketingcategory and t8.siteid = t3.siteid",
|
|
|
|
|
- "itemclassname");
|
|
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise_tradefield", "t9", "t9.sys_enterpriseid = t5.sys_enterpriseid and t9.tradefield=t5.tradefield and t9.siteid = t5.siteid",
|
|
|
|
|
- "sys_enterprise_tradefieldid");
|
|
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sa_salearea", "t10", "t10.sa_saleareaid = t9.sa_saleareaid and t10.siteid = t9.siteid",
|
|
|
|
|
- "areaname");
|
|
|
|
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t3", "t3.itemid = t1.itemid and t3.siteid = t1.siteid", "orderminqty_auxunit", "orderminqty", "orderaddqty_auxunit", "orderaddqty", "spec", "standards", "packageqty", "delivery", "k3outcode");
|
|
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_order", "t5", "t5.sa_orderid = t1.sa_orderid and t5.siteid = t1.siteid", "sonum", "type", "typemx", "status", "billdate", "submitdate", "checkdate", "tradefield", "closedate");
|
|
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t6", "t6.sys_enterpriseid = t5.sys_enterpriseid and t6.siteid = t5.siteid", "agentnum");
|
|
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t7", "t7.sys_enterpriseid = t5.sys_enterpriseid and t7.siteid = t5.siteid", "enterprisename", "abbreviation");
|
|
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "plm_itemclass", "t8", "t8.itemclassid = t3.marketingcategory and t8.siteid = t3.siteid", "itemclassname");
|
|
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise_tradefield", "t9", "t9.sys_enterpriseid = t5.sys_enterpriseid and t9.tradefield=t5.tradefield and t9.siteid = t5.siteid", "sys_enterprise_tradefieldid");
|
|
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_salearea", "t10", "t10.sa_saleareaid = t9.sa_saleareaid and t10.siteid = t9.siteid", "areaname");
|
|
|
// querySQL.addJoinTable(JOINTYPE.left, t11, "t11", "t11.sa_orderitemsid = t1.sa_orderitemsid and t11.siteid = t1.siteid");
|
|
// querySQL.addJoinTable(JOINTYPE.left, t11, "t11", "t11.sa_orderitemsid = t1.sa_orderitemsid and t11.siteid = t1.siteid");
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "sa_accountclass", "t12", "t12.sa_accountclassid=t5.sa_accountclassid and t12.siteid=t5.siteid");
|
|
querySQL.addJoinTable(JOINTYPE.left, "sa_accountclass", "t12", "t12.sa_accountclassid=t5.sa_accountclassid and t12.siteid=t5.siteid");
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "sa_promotion", "t13", "t13.sa_promotionid=t5.sa_promotionid and t13.siteid=t5.siteid", "promnum", "promname");
|
|
querySQL.addJoinTable(JOINTYPE.left, "sa_promotion", "t13", "t13.sa_promotionid=t5.sa_promotionid and t13.siteid=t5.siteid", "promnum", "promname");
|
|
@@ -1062,29 +1044,7 @@ public class OrderItems extends Controller {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- QuerySQL itemquery = SQLFactory.createQuerySQL(this, "plm_item", "t1.itemid",
|
|
|
|
|
- "t1.itemno",
|
|
|
|
|
- "t1.itemname",
|
|
|
|
|
- "t1.model",
|
|
|
|
|
- "t1.batchcontrol",
|
|
|
|
|
- "t1.orderminqty_auxunit",
|
|
|
|
|
- "t1.orderminqty",
|
|
|
|
|
- "t1.orderaddqty_auxunit",
|
|
|
|
|
- "t1.orderaddqty",
|
|
|
|
|
- "t1.spec",
|
|
|
|
|
- "t1.standards",
|
|
|
|
|
- "t1.delistingstatus",
|
|
|
|
|
- "t1.marketprice",
|
|
|
|
|
- "t1.packageqty",
|
|
|
|
|
- "t1.iscustomsize",
|
|
|
|
|
- "t1.widthschemeid",
|
|
|
|
|
- "t1.lengthschemeid",
|
|
|
|
|
- "t1.materialschemeid",
|
|
|
|
|
- "t1.colorschemeid",
|
|
|
|
|
- "t1.cheekschemeid",
|
|
|
|
|
- "t1.sa_customschemeid",
|
|
|
|
|
- "t1.custamount",
|
|
|
|
|
- "t1.isonsale").setTableAlias("t1");
|
|
|
|
|
|
|
+ QuerySQL itemquery = SQLFactory.createQuerySQL(this, "plm_item", "itemid", "itemno", "itemname", "model", "batchcontrol", "orderminqty_auxunit", "orderminqty", "orderaddqty_auxunit", "orderaddqty", "spec", "standards", "delistingstatus", "marketprice", "packageqty", "iscustomsize", "widthschemeid", "lengthschemeid", "materialschemeid", "colorschemeid", "cheekschemeid", "sa_customschemeid", "custamount", "isonsale").setTableAlias("t1");
|
|
|
itemquery.addJoinTable(JOINTYPE.left, "plm_unitgroup", "t2", "t1.unitgroupid=t2.unitgroupid ", "conversionrate");
|
|
itemquery.addJoinTable(JOINTYPE.left, "plm_unitgroup", "t2", "t1.unitgroupid=t2.unitgroupid ", "conversionrate");
|
|
|
itemquery.addJoinTable(JOINTYPE.left, "plm_itemextend", "t3", "t1.itemid=t3.itemid ", "material", "erpitemno", "erpitemname", "specalnote", "prodline", "device");
|
|
itemquery.addJoinTable(JOINTYPE.left, "plm_itemextend", "t3", "t1.itemid=t3.itemid ", "material", "erpitemno", "erpitemname", "specalnote", "prodline", "device");
|
|
|
itemquery.addJoinTable(JOINTYPE.left, "plm_unit", "t4", "t1.unitid=t4.unitid ");
|
|
itemquery.addJoinTable(JOINTYPE.left, "plm_unit", "t4", "t1.unitid=t4.unitid ");
|
|
@@ -1112,19 +1072,19 @@ public class OrderItems extends Controller {
|
|
|
Rows rows = itemquery.query();
|
|
Rows rows = itemquery.query();
|
|
|
|
|
|
|
|
ArrayList<Long> ids = rows.toArrayList("itemid", new ArrayList<>());
|
|
ArrayList<Long> ids = rows.toArrayList("itemid", new ArrayList<>());
|
|
|
-// //查询附件
|
|
|
|
|
-// RowsMap attinfoRowsMap = Attachment.get(this, "plm_item", ids);
|
|
|
|
|
|
|
+ //查询附件
|
|
|
|
|
+ RowsMap attinfoRowsMap = Attachment.get(this, "plm_item", ids);
|
|
|
//商品领域
|
|
//商品领域
|
|
|
- // RowsMap tradefieldRowsMap = Item.getTradefieldRowsMap(this, ids);
|
|
|
|
|
|
|
+ RowsMap tradefieldRowsMap = Item.getTradefieldRowsMap(this, ids);
|
|
|
//品牌
|
|
//品牌
|
|
|
- // RowsMap brandRowsMap = Brand.getBrandRowsMap(this, ids);
|
|
|
|
|
|
|
+ RowsMap brandRowsMap = Brand.getBrandRowsMap(this, ids);
|
|
|
//价格
|
|
//价格
|
|
|
HashMap<Long, ItemPrice> itemPriceRowsMap = ItemPrice.getItemPrice(this, order_sys_enterpriseid, ids);
|
|
HashMap<Long, ItemPrice> itemPriceRowsMap = ItemPrice.getItemPrice(this, order_sys_enterpriseid, ids);
|
|
|
|
|
|
|
|
for (Row row : rows) {
|
|
for (Row row : rows) {
|
|
|
-// row.put("attinfos", attinfoRowsMap.getOrDefault(row.getString("itemid"), new Rows()));
|
|
|
|
|
-// row.put("tradefield", tradefieldRowsMap.getOrDefault(row.getString("itemid"), new Rows()));
|
|
|
|
|
-// row.put("brand", brandRowsMap.getOrDefault(row.getString("itemid"), new Rows()));
|
|
|
|
|
|
|
+ row.put("attinfos", attinfoRowsMap.getOrDefault(row.getString("itemid"), new Rows()));
|
|
|
|
|
+ row.put("tradefield", tradefieldRowsMap.getOrDefault(row.getString("itemid"), new Rows()));
|
|
|
|
|
+ row.put("brand", brandRowsMap.getOrDefault(row.getString("itemid"), new Rows()));
|
|
|
if (itemPriceRowsMap.containsKey(row.getLong("itemid"))) {
|
|
if (itemPriceRowsMap.containsKey(row.getLong("itemid"))) {
|
|
|
row.put("price", itemPriceRowsMap.get(row.getLong("itemid")).getPrice());
|
|
row.put("price", itemPriceRowsMap.get(row.getLong("itemid")).getPrice());
|
|
|
} else {
|
|
} else {
|