设备命令单表单插件:新加逻辑: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