找回密码
 立即注册

QQ登录

只需一步,快速开始

zhangsheng

中级会员

50

主题

205

帖子

631

积分

中级会员

积分
631
zhangsheng
中级会员   /  发表于:2022-11-24 23:47  /   查看:6352  /  回复:21
20金币
本帖最后由 zhangsheng 于 2022-11-24 23:50 编辑



    借用官方请假工作流demo,我做了上图所示的工作流demo。大意就是一个用户请假,填报后要经过四次检查,而且是分两条分流程并行处理,检查的每个人工节点只能对其中一个字段内容进行修改。经过测试,发现如下问题:
一、目前暴露的回退方式是在运行任务的节点上,使用回退或者调度退回之前节点。如果“填报”完成后,“检查三”已经提交了而“检查一”没有提交,检查一可以回退到“填报”节点,原来已提交过的填报任务修改状态,生成新的填报任务等待办理。基本思路还是从活字格现有工作流设计框架出发,能否实现如此功能:1、在“检查一”节点具备办理回退资格,可以回退,但要提示没有收到所有下游节点的回退;2、同时收到“检查一”与“检查三”回退后,已经提交的填报任务修改状态,产生新任务。请问老师能否实现?
二、检查一...检查四设置的数据权限没有起作用,页面上每个字段还都能修改。帮助手册上有关数据权限没有详细介绍,请问具体如何实现?
三、每个节点的负责人选择“角色”后,工作流里保存的是角色的名称(不是对应的ID)。测试发现系统修改角色名称后,所有的节点都因为找不到负责人自动审批通过。这个漏洞风险有些大,应该修改。
四、工作流“开始”节点没有权限设置,发起流程不受用户权限影响。我是在发起流程的时候按照第一个节点的权限进行了限制,但是有些不方便,后期能否考虑。
    祝各位老师工作顺利!
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

21 个回复

正序浏览
Simon.Sun活字格认证 Wyn认证
超级版主   /  发表于:2022-12-9 10:22:07
22#
大佬考虑问题总是很全面,感谢支持。
回复 使用道具 举报
zhangsheng
中级会员   /  发表于:2022-12-9 10:20:37
21#
Simon.Sun 发表于 2022-12-9 09:04
不客气,也感谢反馈。
大佬能否去【格友杂谈】板块发帖分享下您的解决方案,必以金币相送

谢谢老师鼓励!论坛里技术大牛很多,可能有更多好办法。如果需要,我可以站在初学者角度,写下工作流容易遇到的问题与处理思路。

评分

参与人数 1金币 +5 收起 理由
Simon.Sun + 5 赞一个!

查看全部评分

回复 使用道具 举报
Simon.Sun活字格认证 Wyn认证
超级版主   /  发表于:2022-12-9 09:04:32
20#
不客气,也感谢反馈。
大佬能否去【格友杂谈】板块发帖分享下您的解决方案,必以金币相送
回复 使用道具 举报
zhangsheng
中级会员   /  发表于:2022-12-8 23:41:02
19#
      各位老师,结合您们给出的方案,我附加了自建表作为辅助,最后用组件封装便于复用,解决了并行分支任务的回退问题。
        感谢老师们耐心回复给予启发,祝工作顺利!
回复 使用道具 举报
Simon.Sun活字格认证 Wyn认证
超级版主   /  发表于:2022-11-29 12:10:45
18#
好的,这边也是给个简单的方案,并不一定使用所有情况,实际情况还得根据业务要求做修改。
不过处理思路还是利用服务端命令从运行任务视图里筛选查询实例下的相关的运行任务,再用服务端的管理流程任务的命令去处理任务。
然后这个服务端命令在合适的事件里进行调用。
回复 使用道具 举报
zhangsheng
中级会员   /  发表于:2022-11-29 10:34:11
17#
Simon.Sun 发表于 2022-11-28 18:47
您好,关于存在并行(分支)任务回退的,这边提供一个方案供您参考:
主要就是建议您在回退分支上某个任务 ...

老师您好:

       这个方案解决了无条件回退情形下的问题,回退后已提交分支的运行任务得到取消。我想个有条件回退情形下的处理方案,测试后回复您。
回复 使用道具 举报
Simon.Sun活字格认证 Wyn认证
超级版主   /  发表于:2022-11-28 18:47:26
16#
您好,关于存在并行(分支)任务回退的,这边提供一个方案供您参考:
主要就是建议您在回退分支上某个任务时,将其他分支上待办的任务删除。
关于这个您可以写一个删除分支流程待办任务的服务端命令,然后在并行节点的任务取消时事件里调用(这里用任务取消时可能不合适)。
服务端命令根据流程实例 ID 去运行任务视图里查询运行的任务,并将分支前的填单任务排除,再依次调用服务端的管理流程任务命令令删除并行任务。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
zhangsheng
中级会员   /  发表于:2022-11-28 15:16:47
15#
Grayson.Shang 发表于 2022-11-28 14:47
大佬您好,咱们怎么会有这种设计了,既然提交了之后,等待另一个用户来审核,为什么还可以同时填报天数和原 ...

老师您好!

      这是一个demo,为了表示并行任务。业务过程中的并行任务挺常见的,我们用电商为例:客户一个订单可能涉及品类,每个品类不同部门或者事业部负责;客户如果想发起撤销,在我们这种模式下需要检查每个分支的执行与否。实际企业在管理过程中也是业务财务并行的:订单形成后,业务需要生产交货,财务同时形成预收科目。如果工作流不能并行,那就只能串行,必然有些不需要逻辑上先后发生的必须等待。因为回退问题放弃并行任务设计有些因小失大。
      回退难题在于页面服务端得不到节点信息,系统也没有并行任务的检查提示。老师您看看有什么好的办法不。
      谢谢!
回复 使用道具 举报
Grayson.Shang活字格认证 Wyn认证
超级版主   /  发表于:2022-11-28 14:47:50
14#
大佬您好,咱们怎么会有这种设计了,既然提交了之后,等待另一个用户来审核,为什么还可以同时填报天数和原因的数据呢,我不是很理解咱们这种设计。
比如,下面两个填写天数和原因的节点,也只有同意的按钮,那么这种流程中并没有太大的意义,咱们这一步,是为了让对应的负责人填写信息吗?那为什么不能等到,上面上级审核的节点同意之后,再让这两个负责人去填报,这样也符合使用的逻辑呀~还是我本身没有理解打来的意思
回复 使用道具 举报
zhangsheng
中级会员   /  发表于:2022-11-28 12:06:45
13#
Grayson.Shang 发表于 2022-11-28 11:23
大佬您好,您说的这种,我不是很了解,方便做一个demo不,顺便说一下复现步骤,和出现问题的地方,这样也能 ...



老师您好:
       如上面的截图,改变自请假工作流案例。
       “填报时间”节点通过后,“填报上级同意”节点也提交了,这时“填报天数”节点回退,原有“填报时间”的生效任务失效,从新等待提交。这个是不合理的,回退的时候能改判断所有分支情况,能不能回退。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部