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

QQ登录

只需一步,快速开始

查看: 4640|回复: 9

[结贴] 流程结束之前的判断

[复制链接]

84

主题

451

帖子

1437

积分

金牌会员

Rank: 6Rank: 6

积分
1437
QQ
发表于 2016-7-18 17:50:45 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
Bex5 v321

现在在流程审批结束时调用接口同步数据,需要根据返回结果决定让流程是否结束,即:

流程结束提交时,将数据同步过去,如果同步成功,则流程结束。如果返回不成功信息,则流程不结束,处理人可以退回发起人处理。

所以想在process的onbeforefinish中同步,根据返回结果判断是否让流程正常结束,还是不让结束,这个如何处理?

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36109
发表于 2016-7-18 18:52:58 | 显示全部楼层
应该在最后一个环节的流转后事件事件中判断,如果在biz层处理如果不让继续执行可以直接抛出异常就可以

如果是在js中可以用事件中event.cancel = true阻止继续流转
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

84

主题

451

帖子

1437

积分

金牌会员

Rank: 6Rank: 6

积分
1437
QQ
 楼主| 发表于 2016-7-21 12:47:13 | 显示全部楼层
jishuang 发表于 2016-7-18 18:52
应该在最后一个环节的流转后事件事件中判断,如果在biz层处理如果不让继续执行可以直接抛出异常就可以

如 ...

现在问题是这个流程有很多流程模板,最后一个环节是不确定的,所以想在服务端处理。
1)怎么判断是最后一个环节在提交?
2)直接抛异常?前端界面上不会有影响吧
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36109
发表于 2016-7-21 15:09:00 | 显示全部楼层
可以在process文件中的onAfterAdvance事件中通过ProcessUtils.isFlowToEnd()判断是否流转到了结束,如果是就执行自己的逻辑

前端会弹出你抛出的异常信息
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

84

主题

451

帖子

1437

积分

金牌会员

Rank: 6Rank: 6

积分
1437
QQ
 楼主| 发表于 2016-7-21 15:38:24 | 显示全部楼层
jishuang 发表于 2016-7-21 15:09
可以在process文件中的onAfterAdvance事件中通过ProcessUtils.isFlowToEnd()判断是否流转到了结束,如果是 ...

onAfterAdvance事件中通过ProcessUtils.isFlowToEnd()判断是否 流转到结束

这个是流转完了的?如果同步正常,让他继续流转结束,如果不正常,返回异常,他会停留在这个流程的最后一步吗?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36109
发表于 2016-7-21 16:42:43 | 显示全部楼层
没有流转完,抛出异常后还在最后一步
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

84

主题

451

帖子

1437

积分

金牌会员

Rank: 6Rank: 6

积分
1437
QQ
 楼主| 发表于 2016-7-21 16:50:50 | 显示全部楼层
jishuang 发表于 2016-7-21 16:42
没有流转完,抛出异常后还在最后一步

ok,其实执行次序是onafterfinish ->onafteradvance,我在onafterfinish里处理就可以吧,对否
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36109
发表于 2016-7-21 18:11:31 | 显示全部楼层
也可以在onafterfinish中处理
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

84

主题

451

帖子

1437

积分

金牌会员

Rank: 6Rank: 6

积分
1437
QQ
 楼主| 发表于 2016-7-25 14:29:24 | 显示全部楼层
jishuang 发表于 2016-7-21 18:11
也可以在onafterfinish中处理

ok,谢谢,结贴吧。
回复 支持 反对

使用道具 举报

3

主题

16

帖子

104

积分

初级会员

Rank: 2

积分
104
QQ
发表于 2017-5-16 21:02:58 | 显示全部楼层
麻烦问问你的接口是怎么调用的?在这我是小白,具体的实现方法怎么写的能提供一下吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-25 23:55 , Processed in 0.057991 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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