入库单优化

This commit is contained in:
xuhaihui 2025-10-27 17:09:13 +08:00
parent 4f2bba4991
commit f53b4c987a
1 changed files with 35 additions and 1 deletions

View File

@ -1,6 +1,7 @@
package zcgj.zcdev.zcdev.pr.plugin.form; package zcgj.zcdev.zcdev.pr.plugin.form;
import kd.bos.bill.AbstractBillPlugIn; import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.bill.BillShowParameter;
import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType; 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.control.events.ItemClickEvent;
import kd.bos.form.events.BeforeDoOperationEventArgs; import kd.bos.form.events.BeforeDoOperationEventArgs;
import kd.bos.form.events.ClosedCallBackEvent; 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.BasedataEdit;
import kd.bos.form.field.RefBillEdit; import kd.bos.form.field.RefBillEdit;
import kd.bos.form.field.events.BeforeF7SelectEvent; 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.BusinessDataServiceHelper;
import kd.bos.servicehelper.QueryServiceHelper; import kd.bos.servicehelper.QueryServiceHelper;
import kd.bos.servicehelper.user.UserServiceHelper; import kd.bos.servicehelper.user.UserServiceHelper;
import kd.ec.basedata.common.utils.OpenPageUtils;
import kd.sdk.plugin.Plugin; import kd.sdk.plugin.Plugin;
import org.apache.commons.lang3.StringUtils;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
@ -43,8 +48,10 @@ import java.util.*;
* 7费用汇总分录新增赋值逻辑 * 7费用汇总分录新增赋值逻辑
* 8运费和运费税额变化后改变对应字段逻辑 * 8运费和运费税额变化后改变对应字段逻辑
* 9入库单明细-含税金额和入库含税单价值改变逻辑 * 9入库单明细-含税金额和入库含税单价值改变逻辑
* 10:采购申请分录-采购申请点击跳转逻辑
* 11冲销预付为否清空冲销分录逻辑
*/ */
public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener { public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener, HyperLinkClickListener {
@Override @Override
public void registerListener(EventObject e) { public void registerListener(EventObject e) {
super.registerListener(e); super.registerListener(e);
@ -56,6 +63,10 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement
zcgj_applidepart.addBeforeF7SelectListener(this); zcgj_applidepart.addBeforeF7SelectListener(this);
this.addItemClickListeners("advcontoolbarap");//入库单明细工具栏 this.addItemClickListeners("advcontoolbarap");//入库单明细工具栏
this.addItemClickListeners("zcgj_entrytoolbar111");//采购申请分录工具栏 this.addItemClickListeners("zcgj_entrytoolbar111");//采购申请分录工具栏
EntryGrid entryGrid = this.getView().getControl("zcgj_purchaseapplyentry");//采购申请分录-采购申请
if (entryGrid != null) {
entryGrid.addHyperClickListener(this);
}
} }
@Override @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 @Override
public void itemClick(ItemClickEvent evt) { public void itemClick(ItemClickEvent evt) {
super.itemClick(evt); super.itemClick(evt);
@ -274,6 +298,16 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement
zcgj_purchaseapplyentry.clear(); zcgj_purchaseapplyentry.clear();
this.getView().updateView("zcgj_purchaseapplyentry");//刷新分录 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");//刷新分录
}
} }
} }