diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmeListPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmeListPlugin.java index 71c62cb..bb64d89 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmeListPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmeListPlugin.java @@ -9,6 +9,7 @@ import kd.bos.form.ShowType; import kd.bos.form.control.events.ItemClickEvent; import kd.bos.form.events.FilterContainerInitArgs; import kd.bos.form.events.HyperLinkClickArgs; +import kd.bos.form.events.SetFilterEvent; import kd.bos.form.field.events.BeforeFilterF7SelectEvent; import kd.bos.list.BillList; import kd.bos.list.plugin.AbstractListPlugin; @@ -22,6 +23,7 @@ import kd.bos.servicehelper.permission.PermissionServiceHelper; import kd.bos.servicehelper.user.UserServiceHelper; import kd.sdk.plugin.Plugin; +import java.util.ArrayList; import java.util.List; /** @@ -95,6 +97,27 @@ public class InContractFinaceConfirmeListPlugin extends AbstractListPlugin imple } } + @Override + public void setFilter(SetFilterEvent e) { + super.setFilter(e); + List qFilters = e.getQFilters(); + for (QFilter qFilter : qFilters) { + if("zcgj_org.id".equals(qFilter.getProperty())){ + String cp = qFilter.getCP(); + Object value = qFilter.getValue(); + StringBuilder sb = new StringBuilder(); + if("=".equals(cp) && value instanceof Long){ //vale值类型为Long + sb.append(value); + }else if("IN".equals(cp) && value instanceof ArrayList){ //value值类型为ArrayList + for (Object o : (ArrayList) value) { + sb.append(o).append(","); + } + } + this.getPageCache().put("current_zcgj_orgid_in", sb.substring(0, sb.length()-1)); + } + } + } + @Override public void itemClick(ItemClickEvent evt) { super.itemClick(evt); diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmePlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmePlugin.java index 02540e9..1a05ed8 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmePlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmePlugin.java @@ -9,10 +9,15 @@ import kd.bos.dataentity.utils.StringUtils; import kd.bos.entity.datamodel.events.ChangeData; import kd.bos.entity.datamodel.events.PropertyChangedArgs; import kd.bos.form.FormShowParameter; +import kd.bos.form.IPageCache; import kd.bos.form.ShowType; import kd.bos.form.control.EntryGrid; import kd.bos.form.events.HyperLinkClickEvent; import kd.bos.form.events.HyperLinkClickListener; +import kd.bos.form.field.RefBillEdit; +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; @@ -21,12 +26,14 @@ import kd.sdk.plugin.Plugin; import java.math.BigDecimal; import java.math.RoundingMode; +import java.util.ArrayList; import java.util.EventObject; +import java.util.List; /** * 收入合同确认单插件 */ -public class InContractFinaceConfirmePlugin extends AbstractBillPlugIn implements Plugin, HyperLinkClickListener { +public class InContractFinaceConfirmePlugin extends AbstractBillPlugIn implements Plugin, HyperLinkClickListener, BeforeF7SelectListener { @Override @@ -84,6 +91,7 @@ public class InContractFinaceConfirmePlugin extends AbstractBillPlugIn implement item.set("zcgj_remark",dynamicObject.getString("remark")); } this.getView().updateView("zcgj_itementry"); + } public void propertyChanged(PropertyChangedArgs e) { @@ -133,6 +141,11 @@ public class InContractFinaceConfirmePlugin extends AbstractBillPlugIn implement super.registerListener(e); EntryGrid control = this.getControl("zcgj_entryentity"); control.addHyperClickListener(this); + + RefBillEdit outContractSett = this.getControl("zcgj_ec_in_contract_sett"); //支出合同结算单 + if(outContractSett != null) { + outContractSett.addBeforeF7SelectListener(this); + } } @Override @@ -158,4 +171,22 @@ public class InContractFinaceConfirmePlugin extends AbstractBillPlugIn implement } } + + @Override + public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) { + String name = beforeF7SelectEvent.getProperty().getName(); + if(name.equals("zcgj_ec_in_contract_sett")){ + IPageCache iPageCache = this.getView().getParentView().getService(IPageCache.class); + String listOrgId = iPageCache.get("current_zcgj_orgid_in"); + List ids = new ArrayList<>(); + if(StringUtils.isNotBlank(listOrgId)){ + for (String s : listOrgId.split(",")) { + ids.add(Long.parseLong(s)); + } + } + ListShowParameter showParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); + QFilter qFilter = new QFilter("org", QCP.in, ids); + showParameter.getListFilterParameter().getQFilters().add(qFilter); + } + } } diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmeListPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmeListPlugin.java index 1cfaf83..928bac5 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmeListPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmeListPlugin.java @@ -105,6 +105,27 @@ public class OutContractFinaceConfirmeListPlugin extends AbstractListPlugin impl } } + @Override + public void setFilter(SetFilterEvent e) { + super.setFilter(e); + List qFilters = e.getQFilters(); + for (QFilter qFilter : qFilters) { + if("zcgj_org.id".equals(qFilter.getProperty())){ + String cp = qFilter.getCP(); + Object value = qFilter.getValue(); + StringBuilder sb = new StringBuilder(); + if("=".equals(cp) && value instanceof Long){ //vale值类型为Long + sb.append(value); + }else if("IN".equals(cp) && value instanceof ArrayList){ //value值类型为ArrayList + for (Object o : (ArrayList) value) { + sb.append(o).append(","); + } + } + this.getPageCache().put("current_zcgj_orgid_out", sb.substring(0, sb.length()-1)); + } + } + } + @Override public void itemClick(ItemClickEvent evt) { super.itemClick(evt); diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmePlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmePlugin.java index 52bff3d..30671c4 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmePlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmePlugin.java @@ -11,11 +11,13 @@ import kd.bos.dataentity.utils.StringUtils; import kd.bos.entity.datamodel.events.ChangeData; import kd.bos.entity.datamodel.events.PropertyChangedArgs; import kd.bos.form.FormShowParameter; +import kd.bos.form.IPageCache; import kd.bos.form.ShowType; import kd.bos.form.control.EntryGrid; import kd.bos.form.events.HyperLinkClickEvent; import kd.bos.form.events.HyperLinkClickListener; import kd.bos.form.field.BasedataEdit; +import kd.bos.form.field.RefBillEdit; import kd.bos.form.field.events.BeforeF7SelectEvent; import kd.bos.form.field.events.BeforeF7SelectListener; import kd.bos.list.ListShowParameter; @@ -25,6 +27,7 @@ import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.QueryServiceHelper; import kd.ec.contract.common.enums.DirectionEnum; import kd.sdk.plugin.Plugin; +import zcgj.zcdev.zcdev.pr.utils.OrgCheckUtils; import java.math.BigDecimal; import java.math.RoundingMode; @@ -56,8 +59,8 @@ public class OutContractFinaceConfirmePlugin extends AbstractBillPlugIn impleme } //calBcCxAmt(); } - } + } public void initData(Object contractSettleIdObj){ @@ -169,6 +172,11 @@ public class OutContractFinaceConfirmePlugin extends AbstractBillPlugIn impleme super.registerListener(e); EntryGrid control = this.getControl("zcgj_entryentity"); control.addHyperClickListener(this); + //kd.bos.form.field.RefBillEdit + RefBillEdit outContractSett = this.getControl("current_zcgj_orgid_out"); //支出合同结算单 + if(outContractSett != null) { + outContractSett.addBeforeF7SelectListener(this); + } BasedataEdit contractprocess = this.getControl("zcgj_cbs"); //承包工序 if(contractprocess != null) { @@ -257,7 +265,19 @@ public class OutContractFinaceConfirmePlugin extends AbstractBillPlugIn impleme @Override public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) { String name = beforeF7SelectEvent.getProperty().getName(); - if(name.equals("zcgj_cbs")) {//工序根据项目过滤 + if(name.equals("zcgj_ec_out_contract_sett")){ + IPageCache iPageCache = this.getView().getParentView().getService(IPageCache.class); + String listOrgId = iPageCache.get("current_zcgj_orgid_out"); + List ids = new ArrayList<>(); + if(StringUtils.isNotBlank(listOrgId)){ + for (String s : listOrgId.split(",")) { + ids.add(Long.parseLong(s)); + } + } + ListShowParameter showParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); + QFilter qFilter = new QFilter("org", QCP.in, ids); + showParameter.getListFilterParameter().getQFilters().add(qFilter); + }else if(name.equals("zcgj_cbs")) {//工序根据项目过滤 Object projectObj = this.getModel().getValue("zcgj_project"); if(projectObj instanceof DynamicObject){ DynamicObject project = (DynamicObject) projectObj;