设备命令单表单插件:新加逻辑:1:设备编码带出资产编码;2:过滤设备编码字段;3:调出调入项目带出调出调入负责人
This commit is contained in:
parent
da15158c2f
commit
84c54e187c
|
@ -0,0 +1,133 @@
|
||||||
|
package zcgj.zcdev.zcdev.pr.plugin.form;
|
||||||
|
|
||||||
|
import kd.bos.bill.AbstractBillPlugIn;
|
||||||
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||||
|
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.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;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 设备命令单表单插件
|
||||||
|
* 说明:1:设备编码带出资产编码;2:过滤设备编码字段;3:调出调入项目带出调出调入负责人
|
||||||
|
*/
|
||||||
|
public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener {
|
||||||
|
@Override
|
||||||
|
public void registerListener(EventObject e) {
|
||||||
|
super.registerListener(e);
|
||||||
|
BasedataEdit realCard = this.getControl("zcgj_realcard"); //设备编码
|
||||||
|
realCard.addBeforeF7SelectListener(this);
|
||||||
|
BasedataEdit outProject = this.getControl("zcgj_outproject"); //调出项目
|
||||||
|
outProject.addBeforeF7SelectListener(this);
|
||||||
|
BasedataEdit inProject = this.getControl("zcgj_inproject"); //调入项目
|
||||||
|
inProject.addBeforeF7SelectListener(this);
|
||||||
|
// BasedataEdit outUser = this.getControl("zcgj_outuser"); //调出负责人
|
||||||
|
// outUser.addBeforeF7SelectListener(this);
|
||||||
|
// BasedataEdit inUser = this.getControl("zcgj_inuser"); //调入负责人
|
||||||
|
// inUser.addBeforeF7SelectListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void propertyChanged(PropertyChangedArgs e) {
|
||||||
|
super.propertyChanged(e);
|
||||||
|
String key = e.getProperty().getName();
|
||||||
|
if (StringUtil.equals(key, "zcgj_realcard")) {
|
||||||
|
//设备编码
|
||||||
|
ChangeData[] changeSet = e.getChangeSet();
|
||||||
|
ChangeData changeData = changeSet[0];
|
||||||
|
int rowIndex = changeData.getRowIndex();
|
||||||
|
DynamicObject realCard = (DynamicObject) changeData.getNewValue();//新值
|
||||||
|
if (realCard != null) {
|
||||||
|
String realCardNumber = realCard.getString("number");//设备编码-设备编码
|
||||||
|
DynamicObject org = (DynamicObject) realCard.get("org");//管理组织
|
||||||
|
QFilter[] qFilters = new QFilter[]{new QFilter("number", QCP.equals, realCardNumber).and("org.id", QCP.equals, org.get("id"))};
|
||||||
|
DynamicObject fa_card_real_base = BusinessDataServiceHelper.loadSingle("fa_card_real_base", "id", qFilters);//实物卡片基础资料
|
||||||
|
this.getModel().setValue("zcgj_realcardsw", fa_card_real_base, rowIndex);//资产编码
|
||||||
|
} else {
|
||||||
|
this.getModel().setValue("zcgj_realcardsw", null, rowIndex);//资产编码
|
||||||
|
}
|
||||||
|
} else if (StringUtil.equals(key, "zcgj_outorg") || StringUtil.equals(key, "zcgj_inorg")) {
|
||||||
|
//调出组织,调入组织
|
||||||
|
ChangeData[] changeSet = e.getChangeSet();
|
||||||
|
ChangeData changeData = changeSet[0];
|
||||||
|
Object newValue = changeData.getNewValue();//新值
|
||||||
|
Object oldValue = changeData.getOldValue();//旧值
|
||||||
|
if (newValue == null || !newValue.equals(oldValue)) {
|
||||||
|
if (StringUtil.equals(key, "zcgj_outorg")) {
|
||||||
|
//调出组织
|
||||||
|
DynamicObjectCollection dispatchEntryCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_dispatchentry");//调出资产详情分录
|
||||||
|
dispatchEntryCollection.clear();
|
||||||
|
this.getView().updateView("zcgj_dispatchentry");//刷新分录
|
||||||
|
this.getModel().setValue("zcgj_outproject", null);//清空调出项目
|
||||||
|
} else {
|
||||||
|
//调入组织
|
||||||
|
this.getModel().setValue("zcgj_inproject", null);//清空调入项目
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (StringUtil.equals(key, "zcgj_outproject") || StringUtil.equals(key, "zcgj_inproject")) {
|
||||||
|
//调出项目,调入项目
|
||||||
|
ChangeData[] changeSet = e.getChangeSet();
|
||||||
|
ChangeData changeData = changeSet[0];
|
||||||
|
Object newValue = changeData.getNewValue();//新值
|
||||||
|
if (newValue != null) {
|
||||||
|
DynamicObject newValueDy = (DynamicObject) newValue;
|
||||||
|
QFilter[] qFilters = new QFilter[]{new QFilter("billno", QCP.equals, newValueDy.getString("number"))};
|
||||||
|
DynamicObject ec_project = BusinessDataServiceHelper.loadSingle("ec_project", "id,zcgj_pm", qFilters);//项目
|
||||||
|
if (ec_project != null) {
|
||||||
|
if (StringUtil.equals(key, "zcgj_outproject")) {
|
||||||
|
//调出项目
|
||||||
|
this.getModel().setValue("zcgj_outuser", ec_project.get("zcgj_pm"));//调出负责人
|
||||||
|
} else {
|
||||||
|
this.getModel().setValue("zcgj_inuser", ec_project.get("zcgj_pm"));//调出负责人
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
|
||||||
|
String propertyName = beforeF7SelectEvent.getProperty().getName();
|
||||||
|
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
|
||||||
|
List<QFilter> qFilter = new ArrayList<>();
|
||||||
|
if (StringUtil.equals(propertyName, "zcgj_realcard") || StringUtil.equals(propertyName, "zcgj_outproject")) {
|
||||||
|
//设备编码、调出项目
|
||||||
|
Object outOrg = this.getModel().getValue("zcgj_outorg");//调出组织
|
||||||
|
if (outOrg == null) {
|
||||||
|
this.getView().showErrorNotification("请先填写调出组织!");
|
||||||
|
beforeF7SelectEvent.setCancel(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
DynamicObject outOrgDy = (DynamicObject) outOrg;
|
||||||
|
if (StringUtil.equals(propertyName, "zcgj_realcard")) {
|
||||||
|
//设备编码
|
||||||
|
qFilter.add(new QFilter("org.id", "=", outOrgDy.get("id")));
|
||||||
|
} else {
|
||||||
|
//调出项目
|
||||||
|
qFilter.add(new QFilter("fiaccountorg.id", "=", outOrgDy.get("id")));
|
||||||
|
}
|
||||||
|
} else if (StringUtil.equals(propertyName, "zcgj_inproject")) {
|
||||||
|
//调入项目
|
||||||
|
Object inOrg = this.getModel().getValue("zcgj_inorg");//调入组织
|
||||||
|
if (inOrg == null) {
|
||||||
|
this.getView().showErrorNotification("请先填写调入组织!");
|
||||||
|
beforeF7SelectEvent.setCancel(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
DynamicObject inOrgDy = (DynamicObject) inOrg;
|
||||||
|
qFilter.add(new QFilter("fiaccountorg.id", "=", inOrgDy.get("id")));
|
||||||
|
}
|
||||||
|
formShowParameter.getListFilterParameter().setQFilters(qFilter);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue