package tqq9.lc123.cloud.app.plugin.form.pm; import kd.bos.bill.AbstractBillPlugIn; import kd.bos.bill.BillShowParameter; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.dataentity.utils.StringUtils; import kd.bos.form.CloseCallBack; import kd.bos.form.ShowType; import kd.bos.form.control.events.ItemClickEvent; 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.logging.Log; import kd.bos.logging.LogFactory; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.sdk.plugin.Plugin; import java.util.Date; import java.util.EventObject; /** * 采购退货界面插件 */ public class PurRefundApplyBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener { private final static Log logger = LogFactory.getLog(PurorderEntryIntroPaybillPlugin.class); @Override public void registerListener(EventObject e) { super.registerListener(e); this.addItemClickListeners("tbmain"); BasedataEdit control = this.getControl("tqq9_ph"); control.addBeforeF7SelectListener(this); // this.addClickListeners("tqq9_xsddh"); } /** *异地退货 */ @Override public void itemClick(ItemClickEvent evt) { super.itemClick(evt); String itemKey = evt.getItemKey(); if(StringUtils.equals("tqq9_ydth",itemKey)){ BillShowParameter param = new BillShowParameter(); param.setFormId("tqq9_otheroutapply"); param.setCustomParam("tqq9_otheroutapplybillno", this.getModel().getValue("billno"));//采购退货申请单号 param.setCloseCallBack(new CloseCallBack(this, "tqq9_otheroutapply")); param.getOpenStyle().setShowType(ShowType.Modal); this.getView().showForm(param); } } /**出库批号根据了做筛选 * */ @Override public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) { int index = this.getModel().getEntryCurrentRowIndex("billentry"); DynamicObjectCollection entryentity = this.getModel().getDataEntity(true).getDynamicObjectCollection("billentry"); DynamicObject dynamicObject = entryentity.get(index); DynamicObject material = dynamicObject.getDynamicObject("material");//物料采购信息 if (material == null) { beforeF7SelectEvent.setCancel(true); this.getView().showMessage("请先填物料信息"); } else { DynamicObject masterid = material.getDynamicObject("masterid");//物料 DynamicObject bd_materialinventoryinfo = BusinessDataServiceHelper.loadSingle("bd_materialinventoryinfo", new QFilter[]{new QFilter("masterid", QCP.equals, masterid.getLong("id"))}); Boolean enablelot = bd_materialinventoryinfo.getBoolean("enablelot");//是否启用批号管理 if (enablelot) { ListShowParameter param = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); QFilter qF1 = new QFilter("material.number", QCP.equals, masterid.getString("number")); param.getListFilterParameter().getQFilters().add(qF1); } else { beforeF7SelectEvent.setCancel(true); this.getView().showMessage("该物料未启用批号管理"); } } } }