From ae76c89a7b1c74b9ff4415b7d518d024bc240a7d Mon Sep 17 00:00:00 2001 From: zhangzhiguo <421587375@qq.com> Date: Wed, 12 Nov 2025 15:29:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=AE=E6=97=85=E6=8A=A5=E9=94=80=E5=8D=95?= =?UTF-8?q?=E5=B7=AE=E6=97=85=E7=94=B3=E8=AF=B7=E5=AE=A1=E6=89=B9=E6=97=A5?= =?UTF-8?q?=E6=9C=9F=E5=92=8C=E8=A1=8C=E7=A8=8B=E6=97=A5=E6=9C=9F=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ipreimbursebillIsWriteoffapplyCheckOp.java | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/TripreimbursebillIsWriteoffapplyCheckOp.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/TripreimbursebillIsWriteoffapplyCheckOp.java index 04abd20..d58b4d2 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/TripreimbursebillIsWriteoffapplyCheckOp.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/TripreimbursebillIsWriteoffapplyCheckOp.java @@ -8,6 +8,8 @@ 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.orm.query.QCP; +import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.user.UserServiceHelper; import kd.bos.util.StringUtils; @@ -18,9 +20,7 @@ import zcgj.zcdev.zcdev.fs.utils.OrgCheckUtils; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.ZoneId; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; /** * 差旅报销单差旅申请审批日期和行程日期校验 @@ -61,6 +61,19 @@ public class TripreimbursebillIsWriteoffapplyCheckOp extends AbstractOperationSe public void validate() { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM"); ExtendedDataEntity[] extendedDataEntities = this.getDataEntities(); + + QFilter isleaf = new QFilter("zcgj_params1", QCP.equals, true); + DynamicObject[] load = BusinessDataServiceHelper.load("zcgj_companybelong", "zcgj_params1,zcgj_companyblentry,zcgj_companyblentry.zcgj_org", new QFilter[]{ isleaf}); + Set orgIds = new HashSet<>(); + if(load!=null){ + for (DynamicObject dynamicObject : load) { + DynamicObjectCollection dynamicObjectCollection = dynamicObject.getDynamicObjectCollection("zcgj_companyblentry"); + for (DynamicObject org : dynamicObjectCollection) { + orgIds.add(org.getDynamicObject("zcgj_org").getLong("id")); + } + } + } + for (ExtendedDataEntity extendedDataEntity : extendedDataEntities) { DynamicObject dataEntity = extendedDataEntity.getDataEntity(); Object costcompanyObj = dataEntity.get("costcompany"); @@ -70,7 +83,7 @@ public class TripreimbursebillIsWriteoffapplyCheckOp extends AbstractOperationSe DynamicObject costcompany = (DynamicObject)costcompanyObj; long costcompanyId = costcompany.getLong("id"); String number = costcompany.getString("number"); - if(OrgCheckUtils.isKS(costcompanyId)){ + if(/*OrgCheckUtils.isKS(costcompanyId)*/orgIds.contains(costcompanyId)){ List errorList = new ArrayList<>(); String zcgjInvoiceremark = dataEntity.getString("zcgj_invoiceremark");//特殊说明 //行程明细,会有多个明细