From 77eff0c8098b8e76d18c294ff5c21fa1f3088923 Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Tue, 22 Jul 2025 14:55:11 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=91=E7=9B=AE=E5=88=86=E7=B1=BB=E9=80=9A?= =?UTF-8?q?=E7=94=A8=E6=8F=92=E4=BB=B6=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/ReimbursementAccountTypePlugin.java | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/ReimbursementAccountTypePlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/ReimbursementAccountTypePlugin.java index 1e438d4..fad6157 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/ReimbursementAccountTypePlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/ReimbursementAccountTypePlugin.java @@ -74,12 +74,12 @@ public class ReimbursementAccountTypePlugin extends AbstractBillPlugIn implement if (expenseitem != null) { QFilter filter = new QFilter("zcgj_entryentity.zcgj_fee", QCP.equals, expenseitem.getLong("id")); String typeKey = "20"; //差旅报销单 - if ("er_dailyreimbursebill".equals(billFormId)) { //费用报销单 - typeKey = "30"; //差旅报销单 - } else if ("er_publicreimbursebill".equals(billFormId)) { //对公报销单 - typeKey = "40"; //差旅报销单 - } else if ("er_prepaybill".equals(billFormId)) { //预付单 - typeKey = "50"; //差旅报销单 + if ("er_dailyreimbursebill".equals(billFormId)) { + typeKey = "30"; //费用报销单 + } else if ("er_publicreimbursebill".equals(billFormId)) { + typeKey = "40"; //对公报销单 + } else if ("er_prepaybill".equals(billFormId)) { + typeKey = "50"; //预付单 } QFilter biztypefilter = new QFilter("zcgj_biztype", QCP.equals, typeKey); //过滤业务单据为支出财务确认单 //分录过滤 @@ -187,17 +187,27 @@ public class ReimbursementAccountTypePlugin extends AbstractBillPlugIn implement new QFilter[]{filter1});//默认科目分类 if (orgTypeDefaultCollection != null && orgTypeDefaultCollection.size() == 1) { + //默认科目分类中存在单条的费用项目 DynamicObject companyRule = BusinessDataServiceHelper.loadSingle("zcgj_companyrule", new QFilter("zcgj_costcompany.id", QCP.equals, costCompanyId).toArray());//公司科目分类规则 if (companyRule != null) { + //公司科目分类规则中存在对应公司的信息 DynamicObjectCollection entryRuleCollection = companyRule.getDynamicObjectCollection("zcgj_entryrule");//公司费用分类规则分录 for (DynamicObject entryRule : entryRuleCollection) { DynamicObject entryRuleExpenseItem = entryRule.getDynamicObject("zcgj_expenseitem");//费用项目 String entryRuleRuleType = entryRule.getString("zcgj_ruletype");//分类规则 - if (entryRuleRuleType.equals("公司") && entryRuleExpenseItem.getLong("id") == expenseItemId) { - DynamicObject entryRuleCompanyType = entryRule.getDynamicObject("zcgj_companytype");//公司默认分类(科目分类) - this.getModel().setValue("zcgj_accounttype", entryRuleCompanyType, rowIndex); - return; + if (entryRuleExpenseItem.getLong("id") == expenseItemId) { + if (entryRuleRuleType.equals("公司")) { + DynamicObject entryRuleCompanyType = entryRule.getDynamicObject("zcgj_companytype");//公司默认分类(科目分类) + this.getModel().setValue("zcgj_accounttype", entryRuleCompanyType, rowIndex); + return; + } else if (entryRuleRuleType.equals("部门属性")) { + + } else if (entryRuleRuleType.equals("职位")) { + + } else if (entryRuleRuleType.equals("人员")) { + + } } } }