From e645995b8d6907d5cebb2918351e172157aea134 Mon Sep 17 00:00:00 2001 From: zhangzhiguo <421587375@qq.com> Date: Fri, 19 Sep 2025 10:41:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E5=85=AC=E6=8A=A5=E9=94=80=E5=8D=95?= =?UTF-8?q?=E4=B8=93=E7=A5=A8=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/operate/InvoiceDeductionCheckOp.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/InvoiceDeductionCheckOp.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/InvoiceDeductionCheckOp.java index dfb71c0..3c55ad3 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/InvoiceDeductionCheckOp.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/InvoiceDeductionCheckOp.java @@ -43,16 +43,22 @@ public class InvoiceDeductionCheckOp extends AbstractOperationServicePlugIn { for (ExtendedDataEntity extendedDataEntity : extendedDataEntities) { DynamicObject dataEntity = extendedDataEntity.getDataEntity(); DynamicObject costCompany = dataEntity.getDynamicObject("costcompany");//费用承担公司 + String formid = dataEntity.getDynamicObjectType().getName(); if (costCompany != null) { Long companyId = costCompany.getLong("id"); if (OrgCheckUtils.isKS(companyId)) { - DynamicObjectCollection expenseentryentity = dataEntity.getDynamicObjectCollection("expenseentryentity");//费用明细 boolean isCkInvoice= false; + boolean isCkInvoicezp= false; + DynamicObjectCollection expenseentryentity = dataEntity.getDynamicObjectCollection("expenseentryentity");//费用明细 for (DynamicObject dynamicObject : expenseentryentity) { - boolean offset = dynamicObject.getBoolean("offset"); + boolean offset = dynamicObject.getBoolean("offset");//可抵扣 if(offset){ isCkInvoice = offset; } + boolean specialInvoice = dynamicObject.getBoolean("is_special_invoice");//专票 + if(specialInvoice){ + isCkInvoicezp = specialInvoice; + } } if(isCkInvoice){ String zcgjInvoiceremark = dataEntity.getString("zcgj_invoiceremark"); @@ -61,6 +67,13 @@ public class InvoiceDeductionCheckOp extends AbstractOperationServicePlugIn { String message = String.format("费用可抵扣,必须上传发票 或 填写特殊说明 才能提交"); this.addFatalErrorMessage(extendedDataEntity, message); } + }else if(isCkInvoicezp){ + String zcgjInvoiceremark = dataEntity.getString("zcgj_invoiceremark"); + DynamicObjectCollection invoiceentry = dataEntity.getDynamicObjectCollection("invoiceentry"); + if( (invoiceentry == null || invoiceentry.isEmpty()) && StringUtils.isEmpty(zcgjInvoiceremark) ){ + String message = String.format("费用包含专票,必须上传发票 或 填写特殊说明 才能提交"); + this.addFatalErrorMessage(extendedDataEntity, message); + } }