项目年度成本表单插件优化
This commit is contained in:
parent
ce459e1230
commit
2b3c5dd4d0
|
|
@ -0,0 +1,71 @@
|
||||||
|
package zcgj.zcdev.zcdev.pr.plugin.form;
|
||||||
|
|
||||||
|
import kd.bos.bill.AbstractBillPlugIn;
|
||||||
|
import kd.bos.dataentity.resource.ResManager;
|
||||||
|
import kd.bos.dataentity.utils.StringUtils;
|
||||||
|
import kd.bos.entity.datamodel.events.ChangeData;
|
||||||
|
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
||||||
|
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.sdk.plugin.Plugin;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.EventObject;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目年度成本表单插件
|
||||||
|
*/
|
||||||
|
public class AnnualProjectCostFromPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener, Plugin {
|
||||||
|
@Override
|
||||||
|
public void registerListener(EventObject e) {
|
||||||
|
super.registerListener(e);
|
||||||
|
BasedataEdit zcgj_sectypef7 = (BasedataEdit) this.getControl("zcgj_sectypef7");//二级分类
|
||||||
|
zcgj_sectypef7.addBeforeF7SelectListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void afterCreateNewData(EventObject e) {
|
||||||
|
super.afterCreateNewData(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void propertyChanged(PropertyChangedArgs e) {
|
||||||
|
super.propertyChanged(e);
|
||||||
|
String key = e.getProperty().getName();
|
||||||
|
if ("zcgj_costtype".equals(key)) {
|
||||||
|
//成本大类
|
||||||
|
ChangeData changeData = e.getChangeSet()[0];
|
||||||
|
int rowIndex = changeData.getRowIndex();
|
||||||
|
Object newValue = changeData.getNewValue();
|
||||||
|
Object oldValue = changeData.getOldValue();
|
||||||
|
if (newValue == null || !newValue.equals(oldValue)) {
|
||||||
|
this.getModel().setValue("zcgj_sectypef7", null, rowIndex);//二级分类
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void beforeF7Select(BeforeF7SelectEvent arg0) {
|
||||||
|
ListShowParameter parameter = (ListShowParameter) arg0.getFormShowParameter();
|
||||||
|
int row = arg0.getRow();
|
||||||
|
String name = arg0.getProperty().getName();
|
||||||
|
if (StringUtils.equals(name, "zcgj_sectypef7")) {
|
||||||
|
//企业费用成本分摊明细分录-二级分类
|
||||||
|
Object costType = this.getModel().getValue("zcgj_costtype", row);//成本项
|
||||||
|
List<QFilter> qFilter = new ArrayList<>();
|
||||||
|
if (costType != null) {
|
||||||
|
String costTypeStr = costType.toString();
|
||||||
|
qFilter.add(new QFilter("number", QCP.like, costTypeStr.substring(0, Math.min(3, costTypeStr.length())) + "%"));
|
||||||
|
} else {
|
||||||
|
this.getView().showMessage(ResManager.loadKDString("请先选择成本项。", "EntCostSplitEditPlugin_0", "ec-ecco-formplugin", new Object[0]));
|
||||||
|
arg0.setCancel(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
parameter.getListFilterParameter().setQFilters(qFilter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue