From 4f1de702ddd88023eafadab7021965a30960946a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=93=88=E5=93=88=E5=93=88=E4=B8=BF?= <421587375@qq.com> Date: Fri, 4 Jul 2025 10:56:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E5=87=BA=E8=B4=A2=E5=8A=A1=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=E5=A2=9E=E5=8A=A0=E5=B7=A5=E5=BA=8F=E5=BF=85=E5=A1=AB?= =?UTF-8?q?=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OutContractFinaceConfirmeCkOp.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractFinaceConfirmeCkOp.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractFinaceConfirmeCkOp.java index 86d5a35..187af7c 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractFinaceConfirmeCkOp.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractFinaceConfirmeCkOp.java @@ -2,17 +2,22 @@ package zcgj.zcdev.zcdev.pr.plugin.operate; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.dataentity.utils.StringUtils; 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 kd.bos.form.control.AbstractGrid; public class OutContractFinaceConfirmeCkOp extends AbstractOperationServicePlugIn { public void onPreparePropertys(PreparePropertysEventArgs e) { super.onPreparePropertys(e); e.getFieldKeys().add("zcgj_entryentity"); + e.getFieldKeys().add("zcgj_expenseitementry"); + e.getFieldKeys().add("zcgj_expenseitementry.zcgj_cbs"); + } @Override @@ -27,11 +32,30 @@ public class OutContractFinaceConfirmeCkOp extends AbstractOperationServicePlugI ExtendedDataEntity[] extendedDataEntities = this.getDataEntities(); for (ExtendedDataEntity extendedDataEntity : extendedDataEntities) { DynamicObject dataEntity = extendedDataEntity.getDataEntity(); + DynamicObjectCollection expenseitementry = dataEntity.getDynamicObjectCollection("zcgj_expenseitementry");//发票信息 + if(expenseitementry == null || expenseitementry.isEmpty()){ + this.addFatalErrorMessage(extendedDataEntity, "费用项目分录不能为空!"); + }else{ + int i=0; + for (DynamicObject dynamicObject : expenseitementry) { + i++; + DynamicObject zcgjAccounttype = dynamicObject.getDynamicObject("zcgj_accounttype"); + String number = zcgjAccounttype.getString("number"); + DynamicObject cbs = dynamicObject.getDynamicObject("zcgj_cbs"); + if(StringUtils.equals(number, "FL001") && cbs == null){ //生成成本时,工序必录 + this.addFatalErrorMessage(extendedDataEntity, String.format("费用项目分录,第%d行工序不能为空!",i)); + } + + } + } + DynamicObjectCollection entryentity = dataEntity.getDynamicObjectCollection("zcgj_entryentity");//发票信息 if(entryentity == null || entryentity.isEmpty()){ this.addFatalErrorMessage(extendedDataEntity, "请上传合同进项发票!"); } } + + } } }