微流程分页查询&批量更新案例
少于1分钟
场景描述
以查询供应商数据为例:
由于供应商的数据量特别多,我们无法通过微流程一次性将所有供应商的数据查询出来,因为查询多条数据微流程节点最多只允许查询999条(其实也不建议一次从数据库中查询过多数据出来,因为那样可能会导致服务jvm内存暴增,从而导致内存溢出的情况出现),所以我们需要分页查询供应商数据,查询一页数据再更新一页数据。
分页查询、更新的逻辑是:
- 一共有几页数据,则依次从第一页查询到最后一页。
- 查询对应分页数据,则更新对应分页数据。
操作步骤
-
在新建微流程之后,新增第一个节点”查询多记录"节点,配置查询供应商实体,目的是查询满足条件的”供应商"总记录数。
-
创建一个”整数"类型的变量“分页变量1”,用来设置每页记录数,并且给一个默认值,此处我们给10,您可以根据实际场景适当调整此默认值大小。
-
创建一个“小数类型"的变量,用来计算总页数的中间变量,因为按照总记录数计算,可能最后一页记录数不够一页。
-
创建一个“分页对象类型"的变量,并设置好对应的”总记录数",“总页数",”每页记录数",为以后分页查询时使用做准备。
-
添加一个”计数循环"的节点,按照总页数进行循环,循环变量就是要查询的页码。
-
在循环中,修改“分页对象"的当前页数,值为循环对应的页码。
-
在循环中,继续添加”查询多记录"的节点,目的的是查询当前页码对应的供应商数据。
-
上一步骤查询对应页码的供应商数据后,需要更新当前页的供应商数据,则添加一个“列表循环",循环刚查出来的供应商分页数据。
-
然后在供应商列表循环中,添加”修改变量"的节点,按照规则设置单个供应商要更新的内容,比如供应商合作期限等,具体更新内容以业务实际情况为准,此处仅为演示能力逻辑更新供应商编码为“更新了供应商编码"
更新内容和更新逻辑按照业务需要进行编写,此处仅为演示更新单个信息时如何使用微流程搭建实现。
-
最后分页更新供应商列表数据,在每页的循环中进行批量更新对应页的列表数据。
-
-
为在前台可见更新效果,新建了菜单页面:
-
供应商维护列表,先准备供应商数据。
-
供应商分页更新页面,点击按钮调用进行分页数据更新。 先创建供应商列表批量更新的页面,仅为查看demo效果和进行demo操作。
准备页面规则以便调用后端微流程进行分页查询和更新操作。
-
列表上添加「}多记录批量更新」的按钮,点击按钮配置对应的执行事件。
-
运行效果