合同、材料、设备成本核算添加工程项目过滤逻辑

This commit is contained in:
xuhaihui 2025-12-04 16:02:42 +08:00
parent ba033f63aa
commit e139625fb4
3 changed files with 89 additions and 0 deletions

View File

@ -0,0 +1,40 @@
package zcgj.zcdev.zcdev.pr.plugin.form;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.utils.StringUtils;
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 java.util.ArrayList;
import java.util.EventObject;
import java.util.List;
/**
* 合同成本核算表单插件
*/
public class EcCoContractCostFormPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener {
@Override
public void registerListener(EventObject e) {
super.registerListener(e);
BasedataEdit project = (BasedataEdit) this.getControl("project");//工程项目
project.addBeforeF7SelectListener(this);
}
public void beforeF7Select(BeforeF7SelectEvent arg0) {
ListShowParameter parameter = (ListShowParameter) arg0.getFormShowParameter();
String name = arg0.getProperty().getName();
if (StringUtils.equals(name, "project")) {
//工程项目
List<QFilter> qFilter = new ArrayList<>();
DynamicObject org = (DynamicObject) this.getModel().getValue("org");//所属组织
qFilter.add(new QFilter("projectorg", QCP.equals, org.getPkValue()));
parameter.getListFilterParameter().setQFilters(qFilter);
}
}
}

View File

@ -0,0 +1,40 @@
package zcgj.zcdev.zcdev.pr.plugin.form;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.utils.StringUtils;
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 java.util.ArrayList;
import java.util.EventObject;
import java.util.List;
/**
* 材料成本核算表单插件
*/
public class EcCoMainMatCostFormPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener {
@Override
public void registerListener(EventObject e) {
super.registerListener(e);
BasedataEdit project = (BasedataEdit) this.getControl("project");//工程项目
project.addBeforeF7SelectListener(this);
}
public void beforeF7Select(BeforeF7SelectEvent arg0) {
ListShowParameter parameter = (ListShowParameter) arg0.getFormShowParameter();
String name = arg0.getProperty().getName();
if (StringUtils.equals(name, "project")) {
//工程项目
List<QFilter> qFilter = new ArrayList<>();
DynamicObject org = (DynamicObject) this.getModel().getValue("org");//所属组织
qFilter.add(new QFilter("projectorg", QCP.equals, org.getPkValue()));
parameter.getListFilterParameter().setQFilters(qFilter);
}
}
}

View File

@ -26,6 +26,7 @@ import java.util.*;
* 说明 1过滤成本分解结构字段 * 说明 1过滤成本分解结构字段
* 2期间初始化赋值 * 2期间初始化赋值
* 3结算单编码超链接跳转 * 3结算单编码超链接跳转
* 4设备名称成本分解结构工程项目结算明细过滤逻辑
*/ */
public class EcEqCostSplitBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener, HyperLinkClickListener { public class EcEqCostSplitBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener, HyperLinkClickListener {
@Override @Override
@ -35,6 +36,8 @@ public class EcEqCostSplitBillPlugin extends AbstractBillPlugIn implements Befor
procbs.addBeforeF7SelectListener(this); procbs.addBeforeF7SelectListener(this);
BasedataEdit equipment = (BasedataEdit) this.getControl("equipment");//设备名称 BasedataEdit equipment = (BasedataEdit) this.getControl("equipment");//设备名称
equipment.addBeforeF7SelectListener(this); equipment.addBeforeF7SelectListener(this);
BasedataEdit project = (BasedataEdit) this.getControl("project");//工程项目
project.addBeforeF7SelectListener(this);
EntryGrid control = this.getControl("settlesplitentity");//结算明细 EntryGrid control = this.getControl("settlesplitentity");//结算明细
control.addHyperClickListener(this); control.addHyperClickListener(this);
} }
@ -108,6 +111,12 @@ public class EcEqCostSplitBillPlugin extends AbstractBillPlugIn implements Befor
qFilter.add(new QFilter("useorg", QCP.equals, org.getPkValue())); qFilter.add(new QFilter("useorg", QCP.equals, org.getPkValue()));
parameter.getListFilterParameter().setQFilters(qFilter); parameter.getListFilterParameter().setQFilters(qFilter);
} else if (StringUtils.equals(name, "project")) {
//工程项目
List<QFilter> qFilter = new ArrayList<>();
DynamicObject org = (DynamicObject) this.getModel().getValue("org");//所属组织
qFilter.add(new QFilter("projectorg", QCP.equals, org.getPkValue()));
parameter.getListFilterParameter().setQFilters(qFilter);
} }
} }
} }