设备详情表单插件:设备维修信息分录显示和超链接点击事件处理插件

This commit is contained in:
xuhaihui 2025-09-09 10:54:49 +08:00
parent a6f400bdcd
commit 1df464a404
1 changed files with 91 additions and 0 deletions

View File

@ -0,0 +1,91 @@
package zcgj.zcdev.zcdev.fs.plugin.form;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.bill.BillShowParameter;
import kd.bos.entity.datamodel.ListSelectedRow;
import kd.bos.entity.filter.FilterParameter;
import kd.bos.form.container.Tab;
import kd.bos.form.control.events.TabSelectEvent;
import kd.bos.form.control.events.TabSelectListener;
import kd.bos.form.events.BeforeCreateListDataProviderArgs;
import kd.bos.form.events.HyperLinkClickEvent;
import kd.bos.form.events.HyperLinkClickListener;
import kd.bos.list.BillList;
import kd.bos.list.events.CreateListDataProviderListener;
import kd.bos.orm.query.QFilter;
import kd.ec.basedata.common.utils.OpenPageUtils;
import java.util.ArrayList;
import java.util.EventObject;
import java.util.List;
/**
* 设备详情表单插件
* 说明设备维修信息分录显示和超链接点击事件处理插件
*/
public class EquipInfoFormPlugin extends AbstractBillPlugIn implements TabSelectListener, HyperLinkClickListener, CreateListDataProviderListener {
public void registerListener(EventObject e) {
super.registerListener(e);
Tab tab = (Tab) this.getControl("tabap");
if (tab != null) {
tab.addTabSelectListener(this);
}
BillList zcgj_exitlist = (BillList) this.getControl("zcgj_exitlist");//设备维修确认信息
if (zcgj_exitlist != null) {
zcgj_exitlist.addHyperClickListener(this);
}
}
public void afterBindData(EventObject e) {
super.afterBindData(e);
this.onSetMaintenanceAck();
}
public void hyperLinkClick(HyperLinkClickEvent hyperLinkClickEvent) {
BillList billList = (BillList) hyperLinkClickEvent.getSource();
String entityId = billList.getEntityId();
ListSelectedRow currentSelectedRowInfo = billList.getCurrentSelectedRowInfo();
Long curPkValue = (Long) currentSelectedRowInfo.getPrimaryKeyValue();
if ("zcgj_maintenanceackbill".equals(entityId)) {
//单据实体为设备维修确认
this.toView(curPkValue);
}
}
protected void toView(Long pkValue) {
BillShowParameter billShowParameter = OpenPageUtils.buildBillShowParam(pkValue, "zcgj_maintenanceackbill");
this.getView().showForm(billShowParameter);//打开点击的设备维修确认单
}
public void tabSelected(TabSelectEvent tabSelectEvent) {
if ("zcgj_maintenanceack".equals(tabSelectEvent.getTabKey())) {
//设备维修信息
this.onSetMaintenanceAck();
}
}
protected void onSetMaintenanceAck() {
this.refreshMaintenanceAckList();
}
protected void refreshMaintenanceAckList() {
BillList billList = (BillList)this.getControl("zcgj_exitlist");//设备维修确认信息
billList.addCreateListDataProviderListener(this);
this.refreshMaintenanceAckBillList(billList);
}
private void refreshMaintenanceAckBillList(BillList billList) {
List<QFilter> qFilters = new ArrayList();
Object pkValue = this.getModel().getDataEntity().getPkValue();
qFilters.add(new QFilter("entryentity.zcgj_equipment", "=", pkValue));//设备维修信息-设备名称
qFilters.add(new QFilter("billstatus", "=", "C"));
FilterParameter filterParameter = new FilterParameter();
filterParameter.setQFilters(qFilters);
billList.setFilterParameter(filterParameter);
billList.refresh();
}
@Override
public void createListDataProvider(BeforeCreateListDataProviderArgs beforeCreateListDataProviderArgs) {
}
}