|
|
@@ -47,19 +47,46 @@ public class tpartreimbursementdetail extends Controller {
|
|
|
where.append(")");
|
|
|
}
|
|
|
}
|
|
|
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_orderitems", "itemid","qty","price","amount","rowno","sa_orderitemsid","sa_orderid");
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_orderitems", "itemid","price","amount","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.setSiteid(siteid);
|
|
|
+ querySQL.setWhere("t1.billingstatus='保内收费'");
|
|
|
if(!tpartreimbursementRows.get(0).getBoolean("createflag")){
|
|
|
- querySQL.setWhere("t1.tobeoffqty>t1.verifiedqty and t1.tobeoffqty>0");
|
|
|
+ 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.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();
|
|
|
}
|
|
|
@@ -96,7 +123,7 @@ public class tpartreimbursementdetail extends Controller {
|
|
|
|
|
|
QuerySQL orderitemsQuery = SQLFactory.createQuerySQL(dbConnect, "sa_orderitems", "sa_orderitemsid");
|
|
|
orderitemsQuery.setTableAlias("t1");
|
|
|
- orderitemsQuery.addJoinTable(JOINTYPE.inner,tpartreimbursementdetailQuery,"t2","t1.sa_orderitemsid=t2.sa_orderitemsid");
|
|
|
+ orderitemsQuery.addJoinTable(JOINTYPE.left,tpartreimbursementdetailQuery,"t2","t1.sa_orderitemsid=t2.sa_orderitemsid");
|
|
|
orderitemsQuery.setWhere("t1.sa_orderitemsid", sa_orderitemsids);
|
|
|
orderitemsQuery.addQueryFields("qty", "t1.tobeoffqty-ifnull(t2.sumqty,0)");
|
|
|
Rows rows = orderitemsQuery.query();
|
|
|
@@ -165,9 +192,9 @@ public class tpartreimbursementdetail extends Controller {
|
|
|
}
|
|
|
Long sa_tpartreimbursementid = content.getLong("sa_tpartreimbursementid");
|
|
|
|
|
|
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "sa_tpartreimbursementdetailid","remarks","sa_orderitemsid","sa_tpartreimbursementid");
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "sa_tpartreimbursementdetailid","remarks","sa_orderitemsid","sa_tpartreimbursementid","qty");
|
|
|
querySQL.setTableAlias("t1");
|
|
|
- querySQL.addJoinTable(JOINTYPE.inner, "sa_orderitems", "t2", "t1.sa_orderitemsid = t2.sa_orderitemsid AND t1.siteid = t2.siteid","qty","price","amount","rowno","cardno","offstatus","billingstatus");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.inner, "sa_orderitems", "t2", "t1.sa_orderitemsid = t2.sa_orderitemsid AND t1.siteid = t2.siteid","price","amount","rowno","cardno","billingstatus");
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t3", "t2.itemid = t3.itemid AND t2.siteid = t3.siteid","itemno","itemname","spec","model");
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "sa_order", "t4", "t2.sa_orderid = t4.sa_orderid AND t2.siteid = t4.siteid","sonum");
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "sa_warrantycard", "t5", "t2.cardno = t5.cardno AND t2.siteid = t5.siteid","name","phonenumber");
|