diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbPurchaseApplyPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbPurchaseApplyPlugin.java index 0f15533..04fdbab 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbPurchaseApplyPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbPurchaseApplyPlugin.java @@ -1,6 +1,7 @@ package zcgj.zcdev.zcdev.pr.plugin.form; 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.metadata.dynamicobject.DynamicObjectType; @@ -16,6 +17,8 @@ import kd.bos.form.control.EntryGrid; import kd.bos.form.control.events.ItemClickEvent; import kd.bos.form.events.BeforeDoOperationEventArgs; import kd.bos.form.events.ClosedCallBackEvent; +import kd.bos.form.events.HyperLinkClickEvent; +import kd.bos.form.events.HyperLinkClickListener; import kd.bos.form.field.BasedataEdit; import kd.bos.form.field.RefBillEdit; import kd.bos.form.field.events.BeforeF7SelectEvent; @@ -27,7 +30,9 @@ import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.QueryServiceHelper; import kd.bos.servicehelper.user.UserServiceHelper; +import kd.ec.basedata.common.utils.OpenPageUtils; import kd.sdk.plugin.Plugin; +import org.apache.commons.lang3.StringUtils; import java.math.BigDecimal; import java.util.*; @@ -43,8 +48,10 @@ import java.util.*; * 7:费用汇总分录新增赋值逻辑 * 8:运费和运费税额变化后改变对应字段逻辑 * 9:入库单明细-含税金额和入库含税单价值改变逻辑 + * 10:采购申请分录-采购申请点击跳转逻辑 + * 11:冲销预付为否清空冲销分录逻辑 */ -public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener { +public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener, HyperLinkClickListener { @Override public void registerListener(EventObject e) { super.registerListener(e); @@ -56,6 +63,10 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement zcgj_applidepart.addBeforeF7SelectListener(this); this.addItemClickListeners("advcontoolbarap");//入库单明细工具栏 this.addItemClickListeners("zcgj_entrytoolbar111");//采购申请分录工具栏 + EntryGrid entryGrid = this.getView().getControl("zcgj_purchaseapplyentry");//采购申请分录-采购申请 + if (entryGrid != null) { + entryGrid.addHyperClickListener(this); + } } @Override @@ -68,6 +79,19 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement } } + public void hyperLinkClick(HyperLinkClickEvent hyperLinkClickEvent) { + String fieldName = hyperLinkClickEvent.getFieldName(); + if (StringUtils.equals(fieldName, "zcgj_purchaseapply_f7") || StringUtils.equals(fieldName, "zcgj_name")) { + //采购申请分录-采购申请,采购申请分录-单据名称 + int rowIndex = hyperLinkClickEvent.getRowIndex(); + DynamicObjectCollection purchaseApplyEntryCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_purchaseapplyentry");//采购申请分录 + DynamicObject entryEntity = purchaseApplyEntryCollection.get(rowIndex); + Object zcgj_purchaseapply_f7 = entryEntity.getDynamicObject("zcgj_purchaseapply_f7").getPkValue(); + BillShowParameter billShowParameter = OpenPageUtils.buildBillShowParam(zcgj_purchaseapply_f7, "ecma_purchaseapply");//采购申请单 + this.getView().showForm(billShowParameter);//打开采购申请单 + } + } + @Override public void itemClick(ItemClickEvent evt) { super.itemClick(evt); @@ -274,6 +298,16 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement zcgj_purchaseapplyentry.clear(); this.getView().updateView("zcgj_purchaseapplyentry");//刷新分录 } + } else if ("zcgj_isprepay".equals(key)) { + //冲销预付 + ChangeData[] changeSet = e.getChangeSet(); + ChangeData changeData = changeSet[0]; + Object newValue = changeData.getNewValue();//新值 + if (newValue == null || newValue.equals("20")) { + DynamicObjectCollection zcgj_prepayentry = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_prepayentry");//冲销预付分录 + zcgj_prepayentry.clear(); + this.getView().updateView("zcgj_prepayentry");//刷新分录 + } } }