From a2588e7d6ac9149f884b63306de99277a6a58e1c Mon Sep 17 00:00:00 2001 From: zhangzhiguo <421587375@qq.com> Date: Wed, 6 Aug 2025 19:38:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=98=E6=AC=BE=E5=A4=84=E7=90=86=E5=8F=8D?= =?UTF-8?q?=E5=86=99=E8=B5=84=E9=87=91=E8=AE=A1=E5=88=92=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E5=AE=9E=E4=BB=98=E9=87=91=E9=A2=9D=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pr/plugin/operate/FundingplanapplyOp.java | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/FundingplanapplyOp.java diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/FundingplanapplyOp.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/FundingplanapplyOp.java new file mode 100644 index 0000000..437ce87 --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/FundingplanapplyOp.java @@ -0,0 +1,51 @@ +package zcgj.zcdev.zcdev.pr.plugin.operate; + +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.entity.ExtendedDataEntity; +import kd.bos.entity.plugin.AbstractOperationServicePlugIn; +import kd.bos.entity.plugin.AddValidatorsEventArgs; +import kd.bos.entity.plugin.PreparePropertysEventArgs; +import kd.bos.entity.validate.AbstractValidator; + +import java.util.HashSet; +import java.util.Set; + +public class FundingplanapplyOp extends AbstractOperationServicePlugIn { + + @Override + public void onPreparePropertys(PreparePropertysEventArgs e) { + e.getFieldKeys().add("zcgj_fin_approved_amount"); + + } + + @Override + public void onAddValidators(AddValidatorsEventArgs e) { + super.onAddValidators(e); + //当前所在的组织是属于矿山下的 + e.getValidators().add(new ValidatorExt()); + } + + class ValidatorExt extends AbstractValidator { + @Override + public void validate() { + ExtendedDataEntity[] extendedDataEntities = this.getDataEntities(); + for (ExtendedDataEntity extendedDataEntity : extendedDataEntities) { + DynamicObject dataEntity = extendedDataEntity.getDataEntity(); + DynamicObjectCollection finApprovedAmount = dataEntity.getDynamicObjectCollection("zcgj_fin_approved_amount"); + if (!finApprovedAmount.isEmpty()) { + Set typeSet = new HashSet<>(); + for (DynamicObject dynamicObject : finApprovedAmount) { + String sSetttype = dynamicObject.getString("zcgj_setttype"); + if(typeSet.contains(sSetttype)) { + this.addFatalErrorMessage(extendedDataEntity, "财务部核定金额的结算方式不允许重复!"); + return; + }else{ + typeSet.add(sSetttype); + } + } + } + } + } + } +}