|
|
@@ -47,45 +47,45 @@ public class tpartreimbursementdetail extends Controller {
|
|
|
where.append(")");
|
|
|
}
|
|
|
}
|
|
|
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_orderitems", "itemid","price","amount","rowno","sa_orderitemsid","sa_orderid");
|
|
|
+
|
|
|
+ QuerySQL querySQLdatails_jxs = SQLFactory.createQuerySQL(this, "sa_orderitems", "sa_orderitemsid");
|
|
|
+ querySQLdatails_jxs.setTableAlias("t1");
|
|
|
+ querySQLdatails_jxs.addJoinTable(JOINTYPE.inner,"sa_order", "t2", "t1.sa_orderid = t2.sa_orderid AND t1.siteid = t2.siteid");
|
|
|
+ querySQLdatails_jxs.setSiteid(siteid);
|
|
|
+ querySQLdatails_jxs.setWhere("t1.billingstatus='保内收费'");
|
|
|
+ querySQLdatails_jxs.setWhere("t2.sys_enterpriseid",sys_enterpriseid);
|
|
|
+ Rows rowsdatails_jxs = querySQLdatails_jxs.query();
|
|
|
+
|
|
|
+ QuerySQL tpartreimbursementdetailQuery = SQLFactory.createQuerySQL(dbConnect, "sa_tpartreimbursementdetail", "sa_orderitemsid");
|
|
|
+ tpartreimbursementdetailQuery.addQueryFields("sumqty", "sum(qty)");
|
|
|
+ tpartreimbursementdetailQuery.setWhere("sa_orderitemsid", rowsdatails_jxs.toArrayList("sa_orderitemsid"));
|
|
|
+ tpartreimbursementdetailQuery.addGroupBy("sa_orderitemsid");
|
|
|
+
|
|
|
+
|
|
|
+ QuerySQL orderitemsQuery = SQLFactory.createQuerySQL(dbConnect, "sa_orderitems", "sa_orderitemsid");
|
|
|
+ orderitemsQuery.setTableAlias("t1");
|
|
|
+ orderitemsQuery.addJoinTable(JOINTYPE.left,tpartreimbursementdetailQuery,"t2","t1.sa_orderitemsid=t2.sa_orderitemsid");
|
|
|
+ orderitemsQuery.setWhere("t1.sa_orderitemsid", rowsdatails_jxs.toArrayList("sa_orderitemsid"));
|
|
|
+ orderitemsQuery.addQueryFields("qty", "t1.tobeoffqty-ifnull(t2.sumqty,0)");
|
|
|
+
|
|
|
+
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_orderitems", "itemid","price","rowno","sa_orderitemsid","sa_orderid");
|
|
|
querySQL.setTableAlias("t1");
|
|
|
querySQL.addJoinTable(JOINTYPE.inner,"sa_order", "t2", "t1.sa_orderid = t2.sa_orderid AND t1.siteid = t2.siteid", "sonum");
|
|
|
querySQL.addJoinTable(JOINTYPE.left,"plm_item", "t3", "t1.itemid = t3.itemid AND t1.siteid = t3.siteid", "itemno","itemname","model","spec");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left,orderitemsQuery, "t4", "t4.sa_orderitemsid = t1.sa_orderitemsid AND t4.siteid = t1.siteid", "qty");
|
|
|
querySQL.setSiteid(siteid);
|
|
|
- querySQL.setWhere("t1.billingstatus='保内收费'");
|
|
|
+ querySQL.setWhere("t1.billingstatus='保内收费' and t4.qty>0");
|
|
|
if(!tpartreimbursementRows.get(0).getBoolean("createflag")){
|
|
|
querySQL.setWhere("ifnull(t1.tobeoffqty,0)>ifnull(t1.verifiedqty,0) and ifnull(t1.tobeoffqty,0)>0");
|
|
|
}
|
|
|
|
|
|
querySQL.setWhere("t2.sys_enterpriseid",sys_enterpriseid);
|
|
|
querySQL.setWhere(where.toString());
|
|
|
- querySQL.addQueryFields("qty","ifnull(t1.tobeoffqty,0)");
|
|
|
+ querySQL.addQueryFields("amount","t4.qty*t1.price,2)");
|
|
|
querySQL.setOrderBy("t1.rowno asc");
|
|
|
querySQL.setPage(pageSize, pageNumber);
|
|
|
Rows rows = querySQL.query();
|
|
|
- if(rows.isNotEmpty()){
|
|
|
- QuerySQL tpartreimbursementdetailQuery = SQLFactory.createQuerySQL(dbConnect, "sa_tpartreimbursementdetail", "sa_orderitemsid");
|
|
|
- tpartreimbursementdetailQuery.addQueryFields("sumqty", "sum(qty)");
|
|
|
- tpartreimbursementdetailQuery.setWhere("sa_orderitemsid", rows.toArrayList("sa_orderitemsid"));
|
|
|
- tpartreimbursementdetailQuery.addGroupBy("sa_orderitemsid");
|
|
|
-
|
|
|
-
|
|
|
- QuerySQL orderitemsQuery = SQLFactory.createQuerySQL(dbConnect, "sa_orderitems", "sa_orderitemsid");
|
|
|
- orderitemsQuery.setTableAlias("t1");
|
|
|
- orderitemsQuery.addJoinTable(JOINTYPE.left,tpartreimbursementdetailQuery,"t2","t1.sa_orderitemsid=t2.sa_orderitemsid");
|
|
|
- orderitemsQuery.setWhere("t1.sa_orderitemsid", rows.toArrayList("sa_orderitemsid"));
|
|
|
- orderitemsQuery.addQueryFields("qty", "t1.tobeoffqty-ifnull(t2.sumqty,0)");
|
|
|
- Rows rows1 = orderitemsQuery.query();
|
|
|
- RowsMap rowsMap= rows1.toRowsMap("sa_orderitemsid");
|
|
|
- for(Row row :rows){
|
|
|
- if(rowsMap.containsKey(row.getString("sa_orderitemsid"))){
|
|
|
- if(!tpartreimbursementRows.get(0).getBoolean("createflag")){
|
|
|
- row.put("qty",rowsMap.get(row.getString("sa_orderitemsid")).get(0).getBigDecimal("qty"));
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
|
|
|
return getSucReturnObject().setData(rows).toString();
|