|
@@ -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);
|
|
|
}
|
|
|
}
|
|
|
}
|