wuxiaobing 3 days ago
parent
commit
4e139e7d20

+ 7 - 5
code/wnq/nckd-wnq01-wnq-scm/src/main/java/nckd/poc602/plugin/operate/PayBillSubmitOperationServicePlugIn.java

@@ -1,6 +1,7 @@
 package nckd.poc602.plugin.operate;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
@@ -94,21 +95,22 @@ public class PayBillSubmitOperationServicePlugIn extends AbstractOperationServic
 								}
 								if(jshj.compareTo(BigDecimal.ZERO) != 0 && ycje.compareTo(BigDecimal.ZERO) != 0 ){
 									//销售合同的比例:已收金额/价税合计 ;销售合同的比例:采购已付金额+当前付款金额/ 已采金额
-									BigDecimal xsbl = receiptallamount.divide(jshj).multiply(BigDecimal.valueOf(100));
-									BigDecimal cgbl = (nckd_cgyfje.add(e_actamt)).divide(ycje).multiply(BigDecimal.valueOf(100));
+									BigDecimal xsbl = receiptallamount.divide(jshj);
+									BigDecimal cgbl = (nckd_cgyfje.add(e_actamt)).divide(ycje);
 									if(cgbl.compareTo(xsbl) > 0) {
 										existError = true;
-										String error = "对应销售合同收款比例" + xsbl.setScale(2) +"%,采购已付款比例" + cgbl.setScale(2) + "%,当前付款金额 已超出可付比例";
-										e.setCancel(true);
-										e.setCancelMessage(error);
+										String error = "对应销售合同收款比例" + xsbl.setScale(4, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100)) +"%,采购已付款比例" + cgbl.setScale(4, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100)) + "%,当前付款金额 已超出可付比例";
+										payBill.set("nckd_ceyj", error);
 									}
 								}
 								srsTemp.set("nckd_cgyfje", nckd_cgyfjeNew);
+								payBill.set("nckd_ceyj", null);
 								scs.add(srsTemp);
 							}else {
 								BigDecimal nckd_cgyfjeNew = nckd_cgyfje.subtract(e_actamt);
 								srsTemp.set("nckd_cgyfje", nckd_cgyfjeNew);
 								scs.add(srsTemp);
+								payBill.set("nckd_ceyj", null);
 							}
 						}
 					}