遇到的问题如下:
需求:
表 1 里面根据日期自动编号成:
20230101,20230102,20230103……
表 1 中的子表 2 也要自动编号成:
202301-01,202301-02,202301-03……
202302-01,202302-02,202302-03……
202303-01,202303-02,202303-03……
问题:
1.如果表 2 使用自动编号,他不会自动重置,会出现
202301-01,202301-02,202301-03……
202302-04,202301-05,202301-06……
202303-07,202303-08,202303-09……
2.如果使用工作流,每次编辑完子表施行自增量工作流,他会变成这样(不太规律的,我怀疑是多线程同时执行的)
202301-01,202301-01,202301-02,202301-03……
202302-01,202302-01,202302-01,202301-02……
请问各路大神有没有什么好办法
能理解题主的问题,事实上,明道云的窜行执行一直没有搞清楚,比如你在工作流里调封装多次并发窜行,或者子流程窜行,结果总是和预期的不一致
我给个目前我们在用的方案,在 2 的基础上做下改动
简单来说,只要解决在 2 的基础上能窜行就可以了
解决方案是自己设计消息队列,把要执行的任务插入进去
另外起个定时字段工作流去消费处理这些记录,我们目前用的 webhook,可以保障窜行执行,不会出现题主说的 2 的并行乱数问题
设表 2 的编号格式为:yyyymm-nn。
如果 yyyymm 是表 2 添加记录时的年月,只要把 nn 设置成按月重置,就不会有问题 1 的现象。
但如果 yyyymm 是主表(表 1)的编号前缀,nn 就不能采用自动编号,而要想办法弄成自动生成的序号。
自动生成序号的方法,感觉要用代码块来实现,具体步骤大概是:
1,先用自动编号生成不重复的数字。(不用重置,可能生成 2,4,7 这种递增不连续的值)
2,再用代码块,算出每条记录的序号。(把 2,4,7 算出对应的 1,2,3)
3,再用子流程,修正每条记录的序号。(把 2,4,7 更新为 1,2,3)
问题 2 执行子流程时改成串行呢,,,