parent
9971000218
commit
91d003516e
|
@ -0,0 +1,79 @@
|
||||||
|
package zcgj.zcdev.zcdev.pr.plugin.form;
|
||||||
|
|
||||||
|
import kd.bos.bill.AbstractBillPlugIn;
|
||||||
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
|
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
||||||
|
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.isc.util.misc.StringUtil;
|
||||||
|
import kd.bos.list.ListShowParameter;
|
||||||
|
import kd.bos.orm.query.QCP;
|
||||||
|
import kd.bos.orm.query.QFilter;
|
||||||
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.EventObject;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工序期间成本预算表单插件
|
||||||
|
* 说明:通过项目与期间带出工序成本预算字段内容
|
||||||
|
**/
|
||||||
|
public class PeriodCostBillCbsPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener {
|
||||||
|
@Override
|
||||||
|
public void registerListener(EventObject e) {
|
||||||
|
super.registerListener(e);
|
||||||
|
RefBillEdit refBillEdit = getView().getControl("zcgj_aimcostbill");//工序成本预算
|
||||||
|
refBillEdit.addBeforeF7SelectListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void propertyChanged(PropertyChangedArgs e) {
|
||||||
|
super.propertyChanged(e);
|
||||||
|
String key = e.getProperty().getName();
|
||||||
|
if (StringUtil.equals(key, "project") || StringUtil.equals(key, "period")) {
|
||||||
|
//项目、期间
|
||||||
|
DynamicObject project = (DynamicObject) this.getModel().getValue("project");//项目
|
||||||
|
DynamicObject period = (DynamicObject) this.getModel().getValue("period");//期间
|
||||||
|
if (project != null && period != null) {
|
||||||
|
int periodYear = (int) period.get("periodyear");//期间-年度
|
||||||
|
String periodValue = String.valueOf(periodYear - 2024);
|
||||||
|
|
||||||
|
QFilter filter = new QFilter("project", "=", project.getPkValue());
|
||||||
|
filter.and(new QFilter("zcgj_periodyear", "=", periodValue));
|
||||||
|
filter.and(new QFilter("isenable", "=", true));
|
||||||
|
DynamicObject ecco_aimcostbillcbs = BusinessDataServiceHelper.loadSingle("ecco_aimcostbillcbs", "id", new QFilter[]{filter});//工序成本预算
|
||||||
|
this.getModel().setValue("zcgj_aimcostbill", ecco_aimcostbillcbs);
|
||||||
|
} else {
|
||||||
|
this.getModel().setValue("zcgj_aimcostbill", null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
|
||||||
|
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
|
||||||
|
List<QFilter> qFilter = new ArrayList<>();
|
||||||
|
DynamicObject project = (DynamicObject) this.getModel().getValue("project");//项目
|
||||||
|
DynamicObject period = (DynamicObject) this.getModel().getValue("period");//期间
|
||||||
|
if (project != null && period != null) {
|
||||||
|
int periodYear = (int) period.get("periodyear");//期间-年度
|
||||||
|
String periodValue = String.valueOf(periodYear - 2024);
|
||||||
|
|
||||||
|
QFilter filter = new QFilter("project", "=", project.getPkValue());
|
||||||
|
filter.and(new QFilter("zcgj_periodyear", "=", periodValue));
|
||||||
|
filter.and(new QFilter("isenable", "=", true));
|
||||||
|
DynamicObject ecco_aimcostbillcbs = BusinessDataServiceHelper.loadSingle("ecco_aimcostbillcbs", "id", new QFilter[]{filter});//工序成本预算
|
||||||
|
if (ecco_aimcostbillcbs != null) {
|
||||||
|
qFilter.add(new QFilter("id", QCP.equals, ecco_aimcostbillcbs.get("id")));
|
||||||
|
} else {
|
||||||
|
qFilter.add(new QFilter("id", QCP.equals, 123456));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
qFilter.add(new QFilter("id", QCP.equals, 123456));
|
||||||
|
}
|
||||||
|
formShowParameter.getListFilterParameter().setQFilters(qFilter);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue