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");//特殊说明 //行程明细,会有多个明细