From 040f25551f80c3772edf5a617846975e318704d7 Mon Sep 17 00:00:00 2001 From: zhangzhiguo <zhangzhiguo@123> Date: Tue, 25 Feb 2025 11:28:11 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=8A=A5=E9=94=80=E5=8D=95=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E8=B4=B9=E7=94=A8=E6=89=BF=E6=8B=85=E5=85=AC=E5=8F=B8?= =?UTF-8?q?=E6=8A=A5=E9=94=99=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/form/AutoCalWorkingDaysPlugin.java | 58 ++++++++------- .../plugin/form/CostcompanyDefaultPlugin.java | 56 +++++++------- .../form/DailyloanbillExpAccPlugin.java | 21 +++--- .../form/DailyreimbursExpAccPlugin.java | 21 +++--- .../plugin/form/DefaultExpenseItemPlugin.java | 53 ++++++------- .../plugin/form/PrepaybillExpAccPlugin.java | 22 +++--- .../form/PublicreimbursebillExpAccPlugin.java | 21 +++--- .../form/TriprAutoCalWorkingDaysPlugin.java | 74 ++++++++++--------- 8 files changed, 173 insertions(+), 153 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/AutoCalWorkingDaysPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/AutoCalWorkingDaysPlugin.java index 6a649a6..a8ee505 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/AutoCalWorkingDaysPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/AutoCalWorkingDaysPlugin.java @@ -27,34 +27,36 @@ public class AutoCalWorkingDaysPlugin extends AbstractBillPlugIn implements Plug //costcompany Object company = this.getModel().getValue("costcompany");//核算组织(费用承担公司) Long currentOrgId = RequestContext.get().getOrgId(); - DynamicObject companyObj = (DynamicObject)company; - Long companyId = companyObj.getLong("id"); - if(OrgCheckUtils.isKS(companyId)){ - String name = e.getProperty().getName(); - if(name.equals("zcgj_startdate") ||name.equals("zcgj_enddate")){ - ChangeData[] changeSet = e.getChangeSet(); - int rowIndex = changeSet[0].getRowIndex(); - int count = calHomeentityDay(rowIndex); - this.getModel().setValue("zcgj_kccbdays",count); - }else if("zcgj_holiday_start_time".equals(name) || "zcgj_holiday_end_time".equals(name)){ - boolean isVisit = (boolean)this.getModel().getValue("zcgj_is_visit"); - if(isVisit){ - calVisitDay(); - } - }else if(name.equals("zcgj_is_home") ){ - boolean isHome = (boolean)this.getModel().getValue("zcgj_is_home"); - if(isHome){ - calHomeentityDay(); - }else{ - this.getModel().setValue("zcgj_kccbdays",null); - this.getModel().deleteEntryData("zcgj_homeentity"); - } - }else if(name.equals("zcgj_is_visit")){ - boolean isVisit = (boolean)this.getModel().getValue("zcgj_is_visit"); - if(isVisit){ - calVisitDay(); - }else{ - this.getModel().deleteEntryData("zcgj_homeentity"); + if(company != null){ + DynamicObject companyObj = (DynamicObject)company; + Long companyId = companyObj.getLong("id"); + if(OrgCheckUtils.isKS(companyId)){ + String name = e.getProperty().getName(); + if(name.equals("zcgj_startdate") ||name.equals("zcgj_enddate")){ + ChangeData[] changeSet = e.getChangeSet(); + int rowIndex = changeSet[0].getRowIndex(); + int count = calHomeentityDay(rowIndex); + this.getModel().setValue("zcgj_kccbdays",count); + }else if("zcgj_holiday_start_time".equals(name) || "zcgj_holiday_end_time".equals(name)){ + boolean isVisit = (boolean)this.getModel().getValue("zcgj_is_visit"); + if(isVisit){ + calVisitDay(); + } + }else if(name.equals("zcgj_is_home") ){ + boolean isHome = (boolean)this.getModel().getValue("zcgj_is_home"); + if(isHome){ + calHomeentityDay(); + }else{ + this.getModel().setValue("zcgj_kccbdays",null); + this.getModel().deleteEntryData("zcgj_homeentity"); + } + }else if(name.equals("zcgj_is_visit")){ + boolean isVisit = (boolean)this.getModel().getValue("zcgj_is_visit"); + if(isVisit){ + calVisitDay(); + }else{ + this.getModel().deleteEntryData("zcgj_homeentity"); + } } } } diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/CostcompanyDefaultPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/CostcompanyDefaultPlugin.java index 993e0e9..c474733 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/CostcompanyDefaultPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/CostcompanyDefaultPlugin.java @@ -122,7 +122,6 @@ public class CostcompanyDefaultPlugin extends AbstractBillPlugIn implements Plu @Override public void itemClick(ItemClickEvent evt) { //费用项目设置为默认 - Object company = this.getModel().getValue("costcompany");//核算组织 if (company!=null && evt.getItemKey().equals("addloancheck1")) { DynamicObject companyObj = (DynamicObject)company; @@ -163,33 +162,36 @@ public class CostcompanyDefaultPlugin extends AbstractBillPlugIn implements Plu Long currentOrgId = RequestContext.get().getOrgId(); //当前所在的组织是属于矿山下的 costcompany //costcompany 费用承担公司 - DynamicObject costcompany = (DynamicObject)this.getModel().getValue("costcompany"); - long costcompanyId = costcompany.getLong("id"); - if(OrgCheckUtils.isKS(currentOrgId) && OrgCheckUtils.isKS(costcompanyId)){ - EntryProp entryProp = e.getEntryProp(); - DynamicProperty compareProp = entryProp.getCompareProp(); - if("expenseentryentity".equals(compareProp.getName())){ - RowDataEntity[] rowDatas = e.getRowDataEntities(); - String companyNumber = costcompany.getString("number"); - if (rowDatas.length > 0) { - int rowIndex = rowDatas[0].getRowIndex(); - DynamicObject costcompanyObj = null; - //如果费用承担公司是五家本部公司 - if(OrgCheckUtils.testCompanyNumberSet.contains(companyNumber) || OrgCheckUtils.ksNumber.equals(companyNumber)){ - //费用承担部门带入到成本中心 - costcompanyObj= (DynamicObject)this.getModel().getValue("costdept"); - }else{ - //费用承担公司带入到成本中心 - costcompanyObj= (DynamicObject)this.getModel().getValue("costcompany"); - } - if(costcompanyObj!=null){ - //bos_costcenter - QFilter numberFilter = new QFilter("number",QCP.equals,costcompanyObj.getString("number")); - DynamicObject[] dynamicObjectAccItem = BusinessDataServiceHelper.load("bos_costcenter", "number,name", new QFilter[]{numberFilter}); - if(dynamicObjectAccItem!=null && dynamicObjectAccItem.length >0){ - this.getModel().setValue("std_entrycostcenter", dynamicObjectAccItem[0], rowIndex); + Object costcompanyObjVal = this.getModel().getValue("costcompany"); + if(costcompanyObjVal!=null){ + DynamicObject costcompany = (DynamicObject)costcompanyObjVal; + long costcompanyId = costcompany.getLong("id"); + if(OrgCheckUtils.isKS(currentOrgId) && OrgCheckUtils.isKS(costcompanyId)){ + EntryProp entryProp = e.getEntryProp(); + DynamicProperty compareProp = entryProp.getCompareProp(); + if("expenseentryentity".equals(compareProp.getName())){ + RowDataEntity[] rowDatas = e.getRowDataEntities(); + String companyNumber = costcompany.getString("number"); + if (rowDatas.length > 0) { + int rowIndex = rowDatas[0].getRowIndex(); + DynamicObject costcompanyObj = null; + //如果费用承担公司是五家本部公司 + if(OrgCheckUtils.testCompanyNumberSet.contains(companyNumber) || OrgCheckUtils.ksNumber.equals(companyNumber)){ + //费用承担部门带入到成本中心 + costcompanyObj= (DynamicObject)this.getModel().getValue("costdept"); }else{ - this.getView().showErrorNotification("请设置成本中心!"); + //费用承担公司带入到成本中心 + costcompanyObj= (DynamicObject)this.getModel().getValue("costcompany"); + } + if(costcompanyObj!=null){ + //bos_costcenter + QFilter numberFilter = new QFilter("number",QCP.equals,costcompanyObj.getString("number")); + DynamicObject[] dynamicObjectAccItem = BusinessDataServiceHelper.load("bos_costcenter", "number,name", new QFilter[]{numberFilter}); + if(dynamicObjectAccItem!=null && dynamicObjectAccItem.length >0){ + this.getModel().setValue("std_entrycostcenter", dynamicObjectAccItem[0], rowIndex); + }else{ + this.getView().showErrorNotification("请设置成本中心!"); + } } } } diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/DailyloanbillExpAccPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/DailyloanbillExpAccPlugin.java index 00f2335..1195050 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/DailyloanbillExpAccPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/DailyloanbillExpAccPlugin.java @@ -73,16 +73,19 @@ public class DailyloanbillExpAccPlugin extends AbstractBillPlugIn implements Plu Long currentOrgId = RequestContext.get().getOrgId(); //当前所在的组织是属于矿山下的 costcompany //costcompany 费用承担公司 - DynamicObject costcompany = (DynamicObject)this.getModel().getValue("costcompany"); - long costcompanyId = costcompany.getLong("id"); - if(OrgCheckUtils.isKS(currentOrgId) && OrgCheckUtils.isKS(costcompanyId)){ - BasedataEdit fieldEdit = this.getView().getControl(ACCOUNT_ITEM); - fieldEdit.addBeforeF7SelectListener(this); - fieldEdit.addAfterF7SelectListener(this); + Object costcompanyObj = this.getModel().getValue("costcompany"); + if(costcompanyObj!=null){ + DynamicObject costcompany = (DynamicObject)this.getModel().getValue("costcompany"); + long costcompanyId = costcompany.getLong("id"); + if(OrgCheckUtils.isKS(currentOrgId) && OrgCheckUtils.isKS(costcompanyId)){ + BasedataEdit fieldEdit = this.getView().getControl(ACCOUNT_ITEM); + fieldEdit.addBeforeF7SelectListener(this); + fieldEdit.addAfterF7SelectListener(this); - BasedataEdit fieldEditExpense = this.getView().getControl(EXPENSE_ITEM); - fieldEditExpense.addBeforeF7SelectListener(this); - fieldEditExpense.addAfterF7SelectListener(this); + BasedataEdit fieldEditExpense = this.getView().getControl(EXPENSE_ITEM); + fieldEditExpense.addBeforeF7SelectListener(this); + fieldEditExpense.addAfterF7SelectListener(this); + } } } diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/DailyreimbursExpAccPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/DailyreimbursExpAccPlugin.java index e67cab7..9e1562a 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/DailyreimbursExpAccPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/DailyreimbursExpAccPlugin.java @@ -67,16 +67,19 @@ public class DailyreimbursExpAccPlugin extends AbstractBillPlugIn implements Plu Long currentOrgId = RequestContext.get().getOrgId(); //当前所在的组织是属于矿山下的 //costcompany 费用承担公司 - DynamicObject costcompany = (DynamicObject)this.getModel().getValue("costcompany"); - long costcompanyId = costcompany.getLong("id"); - if(OrgCheckUtils.isKS(currentOrgId) && OrgCheckUtils.isKS(costcompanyId)){ - BasedataEdit fieldEdit = this.getView().getControl(ACCOUNT_ITEM); - fieldEdit.addBeforeF7SelectListener(this); - fieldEdit.addAfterF7SelectListener(this); + Object costcompanyObj = this.getModel().getValue("costcompany"); + if(costcompanyObj != null){ + DynamicObject costcompany = (DynamicObject)costcompanyObj; + long costcompanyId = costcompany.getLong("id"); + if(OrgCheckUtils.isKS(currentOrgId) && OrgCheckUtils.isKS(costcompanyId)){ + BasedataEdit fieldEdit = this.getView().getControl(ACCOUNT_ITEM); + fieldEdit.addBeforeF7SelectListener(this); + fieldEdit.addAfterF7SelectListener(this); - BasedataEdit fieldEditExpense = this.getView().getControl(EXPENSE_ITEM); - fieldEditExpense.addBeforeF7SelectListener(this); - fieldEditExpense.addAfterF7SelectListener(this); + BasedataEdit fieldEditExpense = this.getView().getControl(EXPENSE_ITEM); + fieldEditExpense.addBeforeF7SelectListener(this); + fieldEditExpense.addAfterF7SelectListener(this); + } } } diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/DefaultExpenseItemPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/DefaultExpenseItemPlugin.java index a44bdf4..c95fa94 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/DefaultExpenseItemPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/DefaultExpenseItemPlugin.java @@ -32,33 +32,36 @@ public class DefaultExpenseItemPlugin extends AbstractBillPlugIn implements Plu //通过费用承担公司找到行政组织,获取长名称,排除编码为'10006447','10007186','10006476','10006461','10006939'的 String rootOrgCode = "10006431"; super.afterCreateNewData(e); - DynamicObject costcompany = (DynamicObject)this.getModel().getValue("costcompany"); - long id = costcompany.getLong("id"); + Object costcompany1 = this.getModel().getValue("costcompany"); + if(costcompany1!=null){ + DynamicObject costcompany = (DynamicObject)this.getModel().getValue("costcompany"); + long id = costcompany.getLong("id"); - List<String> orgNumList = new ArrayList<>(); - orgNumList.add("10006447"); - orgNumList.add("10007186"); - orgNumList.add("10006476"); - orgNumList.add("10006461"); - orgNumList.add("10006939"); - QFilter filterOrgDepId = new QFilter("number", QCP.in,orgNumList); - DynamicObject[] adminOrg1 = BusinessDataServiceHelper.load("bos_org", "number,name,fullname", new QFilter[]{filterOrgDepId}); - Set<Long> idSet = Arrays.stream(adminOrg1).map(data -> data.getLong("id")).collect(Collectors.toSet()); - //判断是不是在几家总部 - if(!idSet.contains(id)){ - QFilter filterOrgId = new QFilter("number", QCP.equals,rootOrgCode);//中材矿山建设有限公司 - DynamicObject adminOrg = BusinessDataServiceHelper.loadSingle("bos_org", "number,name,fullname", new QFilter[]{filterOrgId}); - long orgId = adminOrg.getLong("id"); - List<Long> orgIds = new ArrayList<>(1); - //orgIds.add(1692204547985902592L); - orgIds.add(orgId); - List<Long> subOrgIds = OrgUnitServiceHelper.getAllSubordinateOrgs(1L, orgIds, true); - Set<Long> collect = subOrgIds.stream().filter(data -> !idSet.contains(id)).collect(Collectors.toSet()); + List<String> orgNumList = new ArrayList<>(); + orgNumList.add("10006447"); + orgNumList.add("10007186"); + orgNumList.add("10006476"); + orgNumList.add("10006461"); + orgNumList.add("10006939"); + QFilter filterOrgDepId = new QFilter("number", QCP.in,orgNumList); + DynamicObject[] adminOrg1 = BusinessDataServiceHelper.load("bos_org", "number,name,fullname", new QFilter[]{filterOrgDepId}); + Set<Long> idSet = Arrays.stream(adminOrg1).map(data -> data.getLong("id")).collect(Collectors.toSet()); + //判断是不是在几家总部 + if(!idSet.contains(id)){ + QFilter filterOrgId = new QFilter("number", QCP.equals,rootOrgCode);//中材矿山建设有限公司 + DynamicObject adminOrg = BusinessDataServiceHelper.loadSingle("bos_org", "number,name,fullname", new QFilter[]{filterOrgId}); + long orgId = adminOrg.getLong("id"); + List<Long> orgIds = new ArrayList<>(1); + //orgIds.add(1692204547985902592L); + orgIds.add(orgId); + List<Long> subOrgIds = OrgUnitServiceHelper.getAllSubordinateOrgs(1L, orgIds, true); + Set<Long> collect = subOrgIds.stream().filter(data -> !idSet.contains(id)).collect(Collectors.toSet()); - if(collect.contains(id)){ - QFilter nameQFilterAccItem = new QFilter("number", QCP.equals,"FYXM004.999"); - DynamicObject dynamicObjectAccItem = BusinessDataServiceHelper.loadSingle("er_expenseitemedit", "number,name", new QFilter[]{nameQFilterAccItem}); - this.getModel().setValue("expenseitem",dynamicObjectAccItem,0); + if(collect.contains(id)){ + QFilter nameQFilterAccItem = new QFilter("number", QCP.equals,"FYXM004.999"); + DynamicObject dynamicObjectAccItem = BusinessDataServiceHelper.loadSingle("er_expenseitemedit", "number,name", new QFilter[]{nameQFilterAccItem}); + this.getModel().setValue("expenseitem",dynamicObjectAccItem,0); + } } } } diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PrepaybillExpAccPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PrepaybillExpAccPlugin.java index 05df9c7..71ea71e 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PrepaybillExpAccPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PrepaybillExpAccPlugin.java @@ -70,18 +70,20 @@ public class PrepaybillExpAccPlugin extends AbstractBillPlugIn implements Plugin Long currentOrgId = RequestContext.get().getOrgId(); //当前所在的组织是属于矿山下的 costcompany //costcompany 费用承担公司 - DynamicObject costcompany = (DynamicObject)this.getModel().getValue("costcompany"); - long costcompanyId = costcompany.getLong("id"); - if(OrgCheckUtils.isKS(currentOrgId) && OrgCheckUtils.isKS(costcompanyId)){ - BasedataEdit fieldEdit = this.getView().getControl(ACCOUNT_ITEM); - fieldEdit.addBeforeF7SelectListener(this); - fieldEdit.addAfterF7SelectListener(this); + Object costcompanyObj = this.getModel().getValue("costcompany"); + if(costcompanyObj!=null){ + DynamicObject costcompany = (DynamicObject)costcompanyObj; + long costcompanyId = costcompany.getLong("id"); + if(OrgCheckUtils.isKS(currentOrgId) && OrgCheckUtils.isKS(costcompanyId)){ + BasedataEdit fieldEdit = this.getView().getControl(ACCOUNT_ITEM); + fieldEdit.addBeforeF7SelectListener(this); + fieldEdit.addAfterF7SelectListener(this); - BasedataEdit fieldEditExpense = this.getView().getControl(EXPENSE_ITEM); - fieldEditExpense.addBeforeF7SelectListener(this); - fieldEditExpense.addAfterF7SelectListener(this); + BasedataEdit fieldEditExpense = this.getView().getControl(EXPENSE_ITEM); + fieldEditExpense.addBeforeF7SelectListener(this); + fieldEditExpense.addAfterF7SelectListener(this); + } } - } @Override diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PublicreimbursebillExpAccPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PublicreimbursebillExpAccPlugin.java index 6432e92..9976d9c 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PublicreimbursebillExpAccPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/PublicreimbursebillExpAccPlugin.java @@ -71,16 +71,19 @@ public class PublicreimbursebillExpAccPlugin extends AbstractBillPlugIn implemen Long currentOrgId = RequestContext.get().getOrgId(); //当前所在的组织是属于矿山下的 costcompany //costcompany 费用承担公司 - DynamicObject costcompany = (DynamicObject)this.getModel().getValue("costcompany"); - long costcompanyId = costcompany.getLong("id"); - if(OrgCheckUtils.isKS(currentOrgId) && OrgCheckUtils.isKS(costcompanyId)){ - BasedataEdit fieldEdit = this.getView().getControl(ACCOUNT_ITEM); - fieldEdit.addBeforeF7SelectListener(this); - fieldEdit.addAfterF7SelectListener(this); + Object costcompanyObj = this.getModel().getValue("costcompany"); + if(costcompanyObj!=null){ + DynamicObject costcompany = (DynamicObject)costcompanyObj; + long costcompanyId = costcompany.getLong("id"); + if(OrgCheckUtils.isKS(currentOrgId) && OrgCheckUtils.isKS(costcompanyId)){ + BasedataEdit fieldEdit = this.getView().getControl(ACCOUNT_ITEM); + fieldEdit.addBeforeF7SelectListener(this); + fieldEdit.addAfterF7SelectListener(this); - BasedataEdit fieldEditExpense = this.getView().getControl(EXPENSE_ITEM); - fieldEditExpense.addBeforeF7SelectListener(this); - fieldEditExpense.addAfterF7SelectListener(this); + BasedataEdit fieldEditExpense = this.getView().getControl(EXPENSE_ITEM); + fieldEditExpense.addBeforeF7SelectListener(this); + fieldEditExpense.addAfterF7SelectListener(this); + } } } diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TriprAutoCalWorkingDaysPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TriprAutoCalWorkingDaysPlugin.java index 9129147..0f42519 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TriprAutoCalWorkingDaysPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TriprAutoCalWorkingDaysPlugin.java @@ -29,43 +29,45 @@ public class TriprAutoCalWorkingDaysPlugin extends AbstractBillPlugIn implements //当前切换选择的组织 Object company = this.getModel().getValue("costcompany");//核算组织(费用承担公司) Long currentOrgId = RequestContext.get().getOrgId(); - DynamicObject companyObj = (DynamicObject)company; - Long companyId = companyObj.getLong("id"); - if(OrgCheckUtils.isKS(companyId)){ - String name = e.getProperty().getName(); - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); - if(name.equals("zcgj_startdate") ||name.equals("zcgj_enddate")){ - ChangeData[] changeSet = e.getChangeSet(); - int rowIndex = changeSet[0].getRowIndex(); - calHomeentityDay(rowIndex); - Set<LocalDate> allSet = new HashSet<>(); - Set<LocalDate> localDates1 = calHomeentityDay(); - Set<LocalDate> localDates2 = calTripentryDay(); - allSet.addAll(localDates1); - allSet.addAll(localDates2); - this.getModel().setValue("zcgj_kccbdays",allSet.size()); - } else if(name.equals("startdate") ||name.equals("enddate")){ - // 计算结果 - Set<LocalDate> allSet = new HashSet<>(); - Set<LocalDate> localDates1 = calHomeentityDay(); - Set<LocalDate> localDates2 = calTripentryDay(); - allSet.addAll(localDates1); - allSet.addAll(localDates2); - this.getModel().setValue("zcgj_kccbdays",allSet.size()); - }else if(name.equals("zcgj_is_include_home")){ - boolean isHome = (boolean)this.getModel().getValue("zcgj_is_include_home"); - if(!isHome){ - this.getModel().deleteEntryData("zcgj_homeentity"); - } - Set<LocalDate> allSet = new HashSet<>(); - Set<LocalDate> localDates1 = calHomeentityDay(); - Set<LocalDate> localDates2 = calTripentryDay(); - allSet.addAll(localDates1); - allSet.addAll(localDates2); - this.getModel().setValue("zcgj_kccbdays",allSet.size()); - getView().updateView(); - } + if(company!=null){ + DynamicObject companyObj = (DynamicObject)company; + Long companyId = companyObj.getLong("id"); + if(OrgCheckUtils.isKS(companyId)){ + String name = e.getProperty().getName(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + if(name.equals("zcgj_startdate") ||name.equals("zcgj_enddate")){ + ChangeData[] changeSet = e.getChangeSet(); + int rowIndex = changeSet[0].getRowIndex(); + calHomeentityDay(rowIndex); + Set<LocalDate> allSet = new HashSet<>(); + Set<LocalDate> localDates1 = calHomeentityDay(); + Set<LocalDate> localDates2 = calTripentryDay(); + allSet.addAll(localDates1); + allSet.addAll(localDates2); + this.getModel().setValue("zcgj_kccbdays",allSet.size()); + } else if(name.equals("startdate") ||name.equals("enddate")){ + // 计算结果 + Set<LocalDate> allSet = new HashSet<>(); + Set<LocalDate> localDates1 = calHomeentityDay(); + Set<LocalDate> localDates2 = calTripentryDay(); + allSet.addAll(localDates1); + allSet.addAll(localDates2); + this.getModel().setValue("zcgj_kccbdays",allSet.size()); + }else if(name.equals("zcgj_is_include_home")){ + boolean isHome = (boolean)this.getModel().getValue("zcgj_is_include_home"); + if(!isHome){ + this.getModel().deleteEntryData("zcgj_homeentity"); + } + Set<LocalDate> allSet = new HashSet<>(); + Set<LocalDate> localDates1 = calHomeentityDay(); + Set<LocalDate> localDates2 = calTripentryDay(); + allSet.addAll(localDates1); + allSet.addAll(localDates2); + this.getModel().setValue("zcgj_kccbdays",allSet.size()); + getView().updateView(); + } + } } super.propertyChanged(e); From 1b143d9c9ed7b81036dc4182040f29f3e7d98ed3 Mon Sep 17 00:00:00 2001 From: zhangzhiguo <zhangzhiguo@123> Date: Wed, 26 Feb 2025 14:35:49 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=94=B6=E5=85=A5=E5=90=88=E5=90=8C?= =?UTF-8?q?=E7=BB=93=E7=AE=97=E5=8D=95=E5=AE=9E=E9=99=85=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E7=94=B2=E6=96=B9=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/EcInFinalsettleJusCustPlugin.java | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcInFinalsettleJusCustPlugin.java diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcInFinalsettleJusCustPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcInFinalsettleJusCustPlugin.java new file mode 100644 index 0000000..8dd7285 --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcInFinalsettleJusCustPlugin.java @@ -0,0 +1,54 @@ +package zcgj.zcdev.zcdev.pr.plugin.form; + +import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.context.RequestContext; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.form.field.BasedataEdit; +import kd.bos.form.field.events.BeforeF7SelectEvent; +import kd.bos.form.field.events.BeforeF7SelectListener; +import kd.bos.list.ListShowParameter; +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.sdk.plugin.Plugin; + +import java.util.ArrayList; +import java.util.EventObject; +import java.util.List; + +public class EcInFinalsettleJusCustPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener { + + @Override + public void registerListener(EventObject e) { + super.registerListener(e); + BasedataEdit fieldEdit = this.getView().getControl("zcgj_jscustomer"); + fieldEdit.addBeforeF7SelectListener(this); + } + + @Override + public void beforeF7Select(BeforeF7SelectEvent arg0) { + String name = arg0.getProperty().getName(); + if(name.equals("zcgj_jscustomer")){ + Object contractObj = this.getModel().getValue("contract"); + if(contractObj != null){ + DynamicObject contract = (DynamicObject)contractObj; + boolean ismulticontract = contract.getBoolean("ismulticontract");//多方合同 + DynamicObject parta = contract.getDynamicObject("parta"); + List<Long> ids = new ArrayList<>(); + ids.add(parta.getLong("id")); + if(ismulticontract){ + DynamicObjectCollection otherpart = contract.getDynamicObjectCollection("otherpart"); + for (DynamicObject dynamicObject : otherpart) { + ids.add(dynamicObject.getLong(2)); + } + } + List<QFilter> qFilterList = new ArrayList<>(); + qFilterList.add(new QFilter("id", QCP.in,ids)); + arg0.setCustomQFilters(qFilterList); + } + + } + } +}