wuxiaobing 3 days ago
parent
commit
112e462ba3

+ 29 - 0
code/wnq/nckd-wnq01-wnq-scm/src/main/java/nckd/poc602/plugin/form/PayBillSubmitFormPlugin.java

@@ -0,0 +1,29 @@
+package nckd.poc602.plugin.form;
+
+import kd.bos.bill.AbstractBillPlugIn;
+import kd.bos.form.events.AfterDoOperationEventArgs;
+import kd.bos.form.field.events.BeforeF7SelectEvent;
+import kd.bos.form.field.events.BeforeF7SelectListener;
+
+/**
+ * @author xiaobing_wu
+ * @date 2025-4-25
+ */
+public class PayBillSubmitFormPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener {
+	@Override
+	public void afterDoOperation(AfterDoOperationEventArgs afterDoOperationEventArgs) {
+		// TODO Auto-generated method stub
+		super.afterDoOperation(afterDoOperationEventArgs);
+		String opkey = afterDoOperationEventArgs.getOperateKey();
+		Object ceyj = this.getModel().getValue("nckd_ceyj");
+		if("beforesubmit".equals(opkey) && ceyj != null && !String.valueOf(ceyj).equals("")) {
+			this.getView().showErrorNotification(String.valueOf(ceyj));
+		}
+	}
+
+	@Override
+	public void beforeF7Select(BeforeF7SelectEvent arg0) {
+		// TODO Auto-generated method stub
+		
+	}
+}

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

@@ -92,6 +92,8 @@ public class PayBillSubmitOperationServicePlugIn extends AbstractOperationServic
 									e.setCancelMessage(error);
 									break;
 								}
+								srsTemp.set("nckd_cgyfje", nckd_cgyfjeNew);
+								payBill.set("nckd_ceyj", null);
 								if(jshj.compareTo(BigDecimal.ZERO) != 0 && ycje.compareTo(BigDecimal.ZERO) != 0 ){
 									//销售合同的比例:已收金额/价税合计 ;销售合同的比例:采购已付金额+当前付款金额/ 已采金额
 									BigDecimal xsbl = receiptallamount.divide(jshj,4, BigDecimal.ROUND_HALF_UP);
@@ -100,10 +102,10 @@ public class PayBillSubmitOperationServicePlugIn extends AbstractOperationServic
 										existError = true;
 										String error = "对应销售合同收款比例" + xsbl.multiply(BigDecimal.valueOf(100)) +"%,采购已付款比例" + cgbl.multiply(BigDecimal.valueOf(100)) + "%,当前付款金额 已超出可付比例";
 										payBill.set("nckd_ceyj", error);
+									}else {
+										payBill.set("nckd_ceyj", null);
 									}
 								}
-								srsTemp.set("nckd_cgyfje", nckd_cgyfjeNew);
-								payBill.set("nckd_ceyj", null);
 								scs.add(srsTemp);
 							}else {
 								BigDecimal nckd_cgyfjeNew = nckd_cgyfje.subtract(e_actamt);