金蝶s-HR Cloud表单分录支持后端分页二开调整
背景:客户有部分功能的表单分录数据量太过庞大,条数超过万条,页面加载时候,序列化数据会导致加载特别慢,可能要30-40秒
解决方案:这个时候只做前端分页无法提升性能,需要进行后端分页处理
配置说明:
<editGrid name="entries" hasPager="true" rowList="[10,50,100,200]" remoteDataSource="true" showSearch="true">
hasPager 此属性设置为true表示开启分页,可能是前端分页,也可以是后端分页;否则不分页,默认不进行分页
rowList 此属性设置分页可以选择每页展示数据条数
remoteDataSource 此属性设置为true,需要配合hasPager属性使用,hasPager设置为true表示后端分页;否则,当hasPager设置为true表示前端分页
showSearch 此属性表示,分页增加搜索功能
开发说明:后端handler需要直接或者间接继承至com.kingdee.shr.base.syssetting.web.handler.HRBillEntryEditHandler
后端xxxcontrollerBean需要进行扩展,并重写_save方法,其配置见如下截图示例
配置完成后,需要进行实现类继承原本的实现类,此实现类,可以通过当前实体搜索是否有对应ctrollerBean,有就直接继承;如果没有,大多来至创建的模板,就找模板的ctrollerBean进行继承。模板查询可以通过这个sql 进行查找
select FNAME_l2,FENTITY from t_ep_customtemplate where FENTITY is not null;
s-HR常用的四个
预入职员工单行页签com.kingdee.shr.preentry.app.PEInfoSinglePageCustom ->CtrollerBean:PEInfoSinglePageCustomCtrollerBean 预入职员工多行页签com.kingdee.shr.preentry.app.PEInfoMultiPageCustom ->CtrollerBean:PEInfoMultiPageCustomCtrollerBean s-HR基础资料实例模板com.kingdee.shr.base.syssetting.app.BaseItemCustom ->CtrollerBean:BaseItemCustomCtrollerBean s-HR业务单据基类模板com.kingdee.eas.hr.base.app.SHRBillBaseTemplate ->CtrollerBean:SHRBillBaseTemplateCtrollerBean
然后根据实体的名称去找对应controllerBean即可
如果已经有扩展ctrollerBean,则需要找到原始代码,在此基础上进行在此扩展即可。
如:com.kingdee.customer.app.EmpEnrollBizBillControllerBean
public class EmpEnrollBizBillControllerBeanEx extends EmpEnrollBizBillControllerBean{ @Override protected IObjectPK _save(Context ctx, IObjectValue model) throws BOSException, EASBizException { //add your logic here } }
在此逻辑中,需要注意,单据头和分录,进行分开保存,整体保存会导致其他分页的分录数据丢失
建议是分录数据量大的单据,建议分录不进行保存操作,可以使用导入或者其他方式进行分录数据生成,界面分录只做展示,降低数据丢失风险
金蝶s-HR Cloud表单分录支持后端分页二开调整
本文2024-09-16 23:44:03发表“s-hr cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-shr-56449.html