|
|
@@ -249,7 +249,7 @@ public class tpartreimbursement extends Controller {
|
|
|
+ sa_tpartreimbursementid + "' and t1.siteid='" + siteid + "'");
|
|
|
|
|
|
QuerySQL tpartreimbursementdetailQuery = SQLFactory.createQuerySQL(dbConnect, "sa_tpartreimbursementdetail", "sa_orderitemsid");
|
|
|
- tpartreimbursementdetailQuery.addQueryFields("sumqty", "sum(qty)");
|
|
|
+ tpartreimbursementdetailQuery.addQueryFields("sumqty", "sum(checkqty)");
|
|
|
tpartreimbursementdetailQuery.setWhere("sa_orderitemsid", rowsdetail.toArrayList("sa_orderitemsid"));
|
|
|
tpartreimbursementdetailQuery.addGroupBy("sa_orderitemsid");
|
|
|
|
|
|
@@ -260,6 +260,7 @@ public class tpartreimbursement extends Controller {
|
|
|
orderitemsQuery.setWhere("t1.sa_orderitemsid", rowsdetail.toArrayList("sa_orderitemsid"));
|
|
|
orderitemsQuery.addQueryFields("qty", "t1.tobeoffqty-ifnull(t2.sumqty,0)");
|
|
|
Rows orderitemsrows = orderitemsQuery.query();
|
|
|
+ RowsMap rowsMap = orderitemsrows.toRowsMap("sa_orderitemsid");
|
|
|
if(!rows.get(0).getBoolean("createflag")){
|
|
|
for (Row row :orderitemsrows) {
|
|
|
if(row.getBigDecimal("qty").compareTo(BigDecimal.ZERO)<0){
|
|
|
@@ -267,6 +268,16 @@ public class tpartreimbursement extends Controller {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ for (int i = 0; i < rowsdetail.size(); i++) {
|
|
|
+ if(rowsMap.containsKey(rowsdetail.get(i).getString("sa_orderitemsid"))){
|
|
|
+ if(rowsMap.get(rowsdetail.get(i).getString("sa_orderitemsid")).get(0).getBigDecimal("qty").compareTo(rowsdetail.get(i).getBigDecimal("qty"))<0){
|
|
|
+ return getErrReturnObject().setErrMsg("该配件核销单数量不符合要求,请检查").toString();
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ return getErrReturnObject().setErrMsg("订单行不存在,请检查").toString();
|
|
|
+ }
|
|
|
+ }
|
|
|
sqlList.add(
|
|
|
DataContrlLog.createLog(this, "sa_tpartreimbursement", sa_tpartreimbursementid, "提交", "配件核销单提交成功").getSQL());
|
|
|
} else {
|
|
|
@@ -303,6 +314,40 @@ public class tpartreimbursement extends Controller {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+ Rows rowsdetail = dbConnect.runSqlQuery("select t1.sa_orderitemsid from sa_tpartreimbursementdetail t1 where t1.sa_tpartreimbursementid ='"
|
|
|
+ + sa_tpartreimbursementid + "' and t1.siteid='" + siteid + "'");
|
|
|
+
|
|
|
+ QuerySQL tpartreimbursementdetailQuery = SQLFactory.createQuerySQL(dbConnect, "sa_tpartreimbursementdetail", "sa_orderitemsid");
|
|
|
+ tpartreimbursementdetailQuery.addQueryFields("sumqty", "sum(checkqty)");
|
|
|
+ tpartreimbursementdetailQuery.setWhere("sa_orderitemsid", rowsdetail.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", rowsdetail.toArrayList("sa_orderitemsid"));
|
|
|
+ orderitemsQuery.addQueryFields("qty", "t1.tobeoffqty-ifnull(t2.sumqty,0)");
|
|
|
+ Rows orderitemsrows = orderitemsQuery.query();
|
|
|
+ RowsMap rowsMap = orderitemsrows.toRowsMap("sa_orderitemsid");
|
|
|
+ if(!rows.get(0).getBoolean("createflag")){
|
|
|
+ for (Row row :orderitemsrows) {
|
|
|
+ if(row.getBigDecimal("qty").compareTo(BigDecimal.ZERO)<0){
|
|
|
+ return getErrReturnObject().setErrMsg("该配件核销单数量不符合要求,请检查").toString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ for (int i = 0; i < rowsdetail.size(); i++) {
|
|
|
+ if(rowsMap.containsKey(rowsdetail.get(i).getString("sa_orderitemsid"))){
|
|
|
+ if(rowsMap.get(rowsdetail.get(i).getString("sa_orderitemsid")).get(0).getBigDecimal("qty").compareTo(rowsdetail.get(i).getBigDecimal("qty"))<0){
|
|
|
+ return getErrReturnObject().setErrMsg("该配件核销单数量不符合要求,请检查").toString();
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ return getErrReturnObject().setErrMsg("订单行不存在,请检查").toString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
ArrayList<String> sqlList = new ArrayList<>();
|
|
|
sqlList.add(
|
|
|
DataContrlLog.createLog(this, "sa_tpartreimbursement", sa_tpartreimbursementid, "审核", "配件核销单审核成功").getSQL());
|