From 80b83942c44378fbf9ebbe14a4f9d91126525cb7 Mon Sep 17 00:00:00 2001 From: ptt <2403326863@qq.com> Date: Thu, 10 Apr 2025 15:02:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=90=8C=E6=B8=85=E5=8D=95=E5=90=88?= =?UTF-8?q?=E8=AE=A1=E9=87=91=E9=A2=9D=E4=BF=9D=E7=95=99=E4=B8=A4=E4=BD=8D?= =?UTF-8?q?=E5=B0=8F=E6=95=B0=20=E4=BB=98=E6=AC=BE=E8=AE=A1=E5=88=92?= =?UTF-8?q?=EF=BC=8C=E5=90=88=E5=90=8C=E6=B8=85=E5=8D=95=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E6=97=B6=E4=B8=8D=E5=85=81=E8=AE=B8=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repc/recon/opplugin/ContractOPPlugin.java | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/main/java/shkd/repc/recon/opplugin/ContractOPPlugin.java b/main/java/shkd/repc/recon/opplugin/ContractOPPlugin.java index 0cbbf9f..c61fecf 100644 --- a/main/java/shkd/repc/recon/opplugin/ContractOPPlugin.java +++ b/main/java/shkd/repc/recon/opplugin/ContractOPPlugin.java @@ -8,9 +8,12 @@ import kd.bos.entity.plugin.AddValidatorsEventArgs; import kd.bos.entity.validate.AbstractValidator; import kd.bos.logging.Log; import kd.bos.logging.LogFactory; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; import java.math.BigDecimal; +import java.math.RoundingMode; public class ContractOPPlugin extends AbstractOperationServicePlugIn { private static final Log logger = LogFactory.getLog(ContractOPPlugin.class); @@ -61,9 +64,28 @@ public class ContractOPPlugin extends AbstractOperationServicePlugIn { } BigDecimal amount = dataEntity.getBigDecimal("amount");//合同金额 // 检查 qeug_amounts 是否大于 amount - if (qeug_amounts.compareTo(amount) > 0) { + if (qeug_amounts.setScale(2, RoundingMode.HALF_UP).compareTo(amount) > 0) { this.addErrorMessage(extendedDataEntity, "合同清单(定额)的金额之和不能大于合同金额"); } + DynamicObjectCollection qeug_orderformentry1 = dataEntity.getDynamicObjectCollection("qeug_orderformentry"); + int qeug_orderformentry = qeug_orderformentry1==null?0:qeug_orderformentry1.size(); + DynamicObjectCollection qeug_invoiceentryinfo1 = dataEntity.getDynamicObjectCollection("qeug_invoiceentryinfo"); + int qeug_invoiceentryinfo = qeug_invoiceentryinfo1==null?0:qeug_invoiceentryinfo1.size(); + if(qeug_orderformentry+qeug_invoiceentryinfo<1){ + this.addErrorMessage(extendedDataEntity, "合同清单不允许为空!"); + } + QFilter qFilter = new QFilter("billno", QCP.equals, dataEntity.getString("billno")); + DynamicObject[] load = BusinessDataServiceHelper.load("recon_conpayplan", "contractbill", qFilter.toArray()); + if (load.length!=0) { + Object pkValue = load[0].getPkValue(); + DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(pkValue, "recon_conpayplan"); + DynamicObjectCollection conpayplanschedule = dynamicObject.getDynamicObjectCollection("conpayplanschedule"); + if(conpayplanschedule==null||conpayplanschedule.size()<1){ + this.addErrorMessage(extendedDataEntity, "付款计划不能为空,若已存在付款计划,请先保存"); + } + }else{ + this.addErrorMessage(extendedDataEntity, "付款计划不能为空,若已存在付款计划,请先保存"); + } } break; case "qeug_attatchment":