From b554b09adb05647e23baeba8e9a37a71b9e60c48 Mon Sep 17 00:00:00 2001 From: ptt <2403326863@qq.com> Date: Wed, 28 May 2025 14:40:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=90=8C=E9=9D=9E=E5=AE=9A=E9=A2=9D?= =?UTF-8?q?=E8=AE=A1=E7=AE=97=E9=80=BB=E8=BE=91=E6=8F=92=E4=BB=B61.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CalculationQuotaListOpPlugin.java | 34 ++++++++++++++++--- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/main/java/shkd/repc/recon/opplugin/CalculationQuotaListOpPlugin.java b/main/java/shkd/repc/recon/opplugin/CalculationQuotaListOpPlugin.java index 14606b3..740ea4f 100644 --- a/main/java/shkd/repc/recon/opplugin/CalculationQuotaListOpPlugin.java +++ b/main/java/shkd/repc/recon/opplugin/CalculationQuotaListOpPlugin.java @@ -4,6 +4,8 @@ import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.entity.plugin.AbstractOperationServicePlugIn; import kd.bos.entity.plugin.args.BeforeOperationArgs; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.servicehelper.operation.SaveServiceHelper; import java.math.BigDecimal; import java.math.RoundingMode; @@ -13,8 +15,25 @@ public class CalculationQuotaListOpPlugin extends AbstractOperationServicePlugIn @Override public void beforeExecuteOperationTransaction(BeforeOperationArgs e) { super.beforeExecuteOperationTransaction(e); - DynamicObject[] dataEntities1 = e.getDataEntities(); - DynamicObject dynamicObject = dataEntities1[0]; + try { + boolean util = util(e.getDataEntities()[0]); + if(!util){ + e.setCancel(true); + e.setCancelMessage("非定额清单的数量必填"); + + } + }catch (Exception e1){ + DynamicObject dataEntity = e.getDataEntities()[0]; + dataEntity = BusinessDataServiceHelper.loadSingle(dataEntity.getPkValue(),"recon_contractbill"); + boolean util = util(dataEntity); + if(!util){ + e.setCancel(true); + e.setCancelMessage("非定额清单的数量必填"); + } + } + } + + private boolean util(DynamicObject dynamicObject){ DynamicObjectCollection qeug_orderformentry = dynamicObject.getDynamicObjectCollection("qeug_orderformentry"); for (int i = 0; qeug_orderformentry!=null&&i < qeug_orderformentry.size(); i++) { DynamicObject dynamicObject1 = qeug_orderformentry.get(i); @@ -32,9 +51,7 @@ public class CalculationQuotaListOpPlugin extends AbstractOperationServicePlugIn } boolean qty1 = returnComperZero(qty);//数量 if(!qty1){ - e.setCancel(true); - e.setCancelMessage("非定额清单的数量必填"); - return; + return false; } boolean noTaxPrice = returnComperZero(qeug_exclusiveprice);//不含税 boolean TaxPrice = returnComperZero(qeug_taxprice);//含税 @@ -131,7 +148,14 @@ public class CalculationQuotaListOpPlugin extends AbstractOperationServicePlugIn qeug_taxtotalprice = qty.multiply(qeug_taxprice); dynamicObject1.set("qeug_taxtotalprice", qeug_taxtotalprice); } + qeug_orderformentry.set(i, dynamicObject1); } +// dynamicObject.set("qeug_orderformentry",qeug_orderformentry); +// if("submit".equals(e.getOperationKey())){ +// SaveServiceHelper.save(new DynamicObject[]{dynamicObject}); +// +// } + return true; } private boolean returnComperZero(BigDecimal bigDecimal){