Explorar el Código

10121 配件核销单管理,处理作假虚报问题相关优化

wu hace 5 días
padre
commit
6e1837d24a

+ 8 - 0
src/custom/restcontroller/webmanage/sale/order/OrderItems.java

@@ -531,6 +531,14 @@ public class OrderItems extends Controller {
         String itemname = orderitemsRow.getString("itemname");
         BigDecimal canoffqty_old = orderitemsRow.getBigDecimal("canoffqty");
 
+        Rows rows = dbConnect.runSqlQuery("SELECT sum(t2.qty) checkqty from sa_tpartreimbursement t1 " +
+                "INNER JOIN sa_tpartreimbursementdetail t2 ON t2.sa_tpartreimbursementid=t1.sa_tpartreimbursementid " +
+                "WHERE t1.status='审核' and t2.sa_orderitemsid='" + sa_orderitemsid + "'");
+        BigDecimal checkqty = rows.isEmpty() ? BigDecimal.ZERO : rows.get(0).getBigDecimal("checkqty");
+        if (checkqty.compareTo(BigDecimal.ZERO) > 0 && canoffqty.compareTo(checkqty) < 0) {
+            return getErrReturnObject().setErrMsg("可核销数不可小于核销数量,已核销数量为" + checkqty).toString();
+        }
+
         dbConnect.runSqlUpdate("update sa_orderitems set canoffqty=" + canoffqty + " where sa_orderitemsid=" + sa_orderitemsid);
 
         DataContrlLog.createLog(this, "sa_order", sa_orderid, "更新可核销数", "【" + itemname + "】可核销数量 由" + canoffqty_old + " 变更为 " + canoffqty).insert();