Просмотр исходного кода

核销不优先使用优惠金额

hxh 3 недель назад
Родитель
Сommit
f387fef1bd

+ 16 - 7
src/custom/restcontroller/webmanage/sale/tpartreimbursement/tpartreimbursement.java

@@ -524,6 +524,13 @@ public class tpartreimbursement extends Controller {
         amount=sumamountRows.sum("payamount").subtract(rows1.sum("payamount"));
         discountamount=sumamountRows.sum("paydiscountamount").subtract(rows1.sum("paydiscountamount"));
 
+        if(discountamount.compareTo(BigDecimal.ZERO)<0){
+            discountamount=BigDecimal.ZERO;
+        }
+        if(amount.compareTo(BigDecimal.ZERO)<0){
+            amount=BigDecimal.ZERO;
+        }
+
         JSONArray sa_tpartreimbursementdetailids = content.getJSONArray("sa_tpartreimbursementdetailids");
         JSONArray iteminfos = content.getJSONArray("iteminfos");
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "sa_tpartreimbursementdetailid","isverified","qty","sa_orderitemsid","hongbillno");
@@ -696,13 +703,15 @@ public class tpartreimbursement extends Controller {
             Integer sa_tpartreimbursementdetailid = (Integer) object;
             sqllist.add("update sa_tpartreimbursementdetail set hongbillno='"+billno+"' where sa_tpartreimbursementdetailid="+sa_tpartreimbursementdetailid);
         }
-        if (discountamount.compareTo(totalamount) > 0) {
-            insertSQL.setValue("payamount", 0);
-            insertSQL.setValue("paydiscountamount", totalamount);
-        } else {
-            insertSQL.setValue("payamount", totalamount.subtract(discountamount));
-            insertSQL.setValue("paydiscountamount", discountamount);
-        }
+//        if (discountamount.compareTo(totalamount) > 0) {
+//            insertSQL.setValue("payamount", 0);
+//            insertSQL.setValue("paydiscountamount", totalamount);
+//        } else {
+//            insertSQL.setValue("payamount", totalamount.subtract(discountamount));
+//            insertSQL.setValue("paydiscountamount", discountamount);
+//        }
+        insertSQL.setValue("payamount", totalamount);
+        insertSQL.setValue("paydiscountamount", 0);
         if(totalamount.compareTo((discountamount.add(amount)))>0){
             return getErrReturnObject().setErrMsg("大于当月剩余可核销金额,无法核销").toString();
         }