设备成本核算添加期间初始化赋值和结算单编码超链接跳转逻辑

This commit is contained in:
xuhaihui 2025-11-27 10:36:39 +08:00
parent c253c0e58b
commit e997ac2157
1 changed files with 52 additions and 1 deletions

View File

@ -1,23 +1,74 @@
package zcgj.zcdev.zcdev.pr.plugin.form;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.bill.OperationStatus;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.resource.ResManager;
import kd.bos.dataentity.utils.StringUtils;
import kd.bos.form.FormShowParameter;
import kd.bos.form.ShowType;
import kd.bos.form.control.EntryGrid;
import kd.bos.form.events.HyperLinkClickEvent;
import kd.bos.form.events.HyperLinkClickListener;
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.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import java.util.Calendar;
import java.util.EventObject;
import java.util.HashMap;
import java.util.Map;
public class EcEqCostSplitBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener{
/*
* 设备成本核算表单插件
* 说明 1过滤成本分解结构字段
* 2期间初始化赋值
* 3结算单编码超链接跳转
*/
public class EcEqCostSplitBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener, HyperLinkClickListener {
@Override
public void registerListener(EventObject e) {
super.registerListener(e);
BasedataEdit procbs = (BasedataEdit) this.getControl("procbs");
procbs.addBeforeF7SelectListener(this);
EntryGrid control = this.getControl("settlesplitentity");
control.addHyperClickListener(this);
}
public void afterCreateNewData(EventObject e) {
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1;
QFilter yearFilter = new QFilter("periodyear", "=", year);
QFilter monthFilter = new QFilter("periodnumber", "=", month);
DynamicObject[] peridoArr = BusinessDataServiceHelper.load("bd_period", "id", new QFilter[]{yearFilter, monthFilter});//会计期间
if (peridoArr.length != 0) {
DynamicObject period = peridoArr[0];
this.getModel().setValue("splitperiod", period);//期间
}
}
public void hyperLinkClick(HyperLinkClickEvent event) {
String fieldName = event.getFieldName();
int rowIndex = event.getRowIndex();
if ("settleno".equals(fieldName)) {
DynamicObject settlesplit = (DynamicObject) this.getModel().getEntryEntity("settlesplitentity").get(rowIndex);
Object settleId = settlesplit.get("settleid");
this.toView(settleId, "eceq_settle");
}
}
protected void toView(Object pkValue, String formId) {
Map<String, Object> params = new HashMap();
params.put("pkId", String.valueOf(pkValue));
params.put("formId", formId);
FormShowParameter param = FormShowParameter.createFormShowParameter(params);
param.getOpenStyle().setShowType(ShowType.MainNewTabPage);
param.setStatus(OperationStatus.VIEW);
this.getView().showForm(param);
}
public void beforeF7Select(BeforeF7SelectEvent arg0) {