起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6498|回复: 3

[处理中3] 如果降低getOrgs.j读取的数据量?

[复制链接]

4

主题

30

帖子

44

积分

新手上路

Rank: 1

积分
44
QQ
发表于 2018-8-16 16:39:51 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
发现一个与业务模型的流程有关的问题。
第一个流程点,在执行【提交】时,打开的【流转确认】系统页面,会调用getOrgs.j
过滤出来需要转件的人(或范围)
执行时发现,人或范围即刻就出来了,但是图标没显示,通过network监控发现个问题。

问题如下,就是后台network里看到实际系统通过调用getOrgs.j,正在获取数据(即使页面已经显示数据),还在继续请求
原因是请求的数据覆盖整个SA_OPORG的内容,假设SA_OPORG里的psm和org,就是人和组织的数据有1万条
那么这个求情过程可能需要20-30s,数据量约3-5MB

我去查看了第二个点的执行规则,使用的是findOrgUnitsHasCActivity('lxlzZGSFHActivity', true)
就是在执行者的表达式or范围表达式里,调用的是【findOrgUnitsHasCActivity】
获取用友当前环节权限的组织单元

难道如果调用这个方法,就肯定面临所有的ORG数据都要被load一遍么,关键是在
network的getOrgs.j请求的Perview里可以看到Org的部分属性数据,以及数据量超级大,覆盖了整个ORG

能否有其他方案,可以在后台缩小范围。
或者说写表达式的时候有其他方法组合,来限定和缩小返回到前端的数据,减少请求的数据量?

1111.jpg

超级大的请求

超级大的请求

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-8-16 16:58:25 | 显示全部楼层
移动端这个数据只需一次,然后通过数据缓存在前端过滤的,不是在后端过滤的,参考http://docs.wex5.com/bex5-process-question-list-10047/中的方案处理
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

4

主题

30

帖子

44

积分

新手上路

Rank: 1

积分
44
QQ
 楼主| 发表于 2018-8-16 17:36:31 | 显示全部楼层
抱歉这不是移动端,是PC访问。
我的意思是问findOrgUnitsHasCActivity,里面套什么的方法可以缩小getOrgs.j请求的范围?
还是无论怎么调整,都是会有一次全ORG的请求?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-8-16 17:38:00 | 显示全部楼层
PC端具体做什么的时候会有这个请求?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-8-25 07:33 , Processed in 0.057674 second(s), 29 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表