在工作流中,配置节点“查询数据”,只能获取到第一页的数据。且每页条数的最大值为100。
现在表中有若干条数据,需要获取所有数据之后,做循环。
请问,怎么才能获取到全部数据呢?是需要在页码中配置运算实现翻页的功能吗?
试验了一下,通过设置页码变量的方式实现了全部数据的获取,但这个方法的确有点笨重。
具体方式如下:
0、心里默认一个pageSize。(pageSize在工作流-查询数据节点中,无法设置为变量)
1、聚合节点:获取数据总条数,totolCount。
2、运算节点:计算总页数。pageCount=(totalCount-1)/pageSize+1
3、循环。按页数循环,选择运算节点的总页数,代表要循环多少次。
3.1、运算节点:计算当前页码n。n=局部变量.循环对象.索引+1
3.2、查询数据。设置页码=当前页码n。pageSize=默认的pageSize,按Id升序。
3.3、循环:循环查询数据。
3.3.1、业务逻辑处理(略)
写出来作为分享吧。虽然实现了,有点崩溃。感觉是写了一个for循环,再嵌套了一个foreach,这里还要担心脏读的问题,即计算的pageCount可能不准确。
抛砖引玉,希望有高手能提供更好的办法可以分享。