以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  工作流和并发冲突中“强制解锁”的疑问  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=25076)

--  作者:zpx_2012
--  发布时间:2012/10/30 17:48:00
--  工作流和并发冲突中“强制解锁”的疑问

各位老师,

 

仔细看了帮助中的“工作流和并发冲突”这一段,有个问题请教,如下是原文

 

强制解锁

如果某个用户正在针对某行处理一个流程,此时因为断电或者其它原因导致非正常退出,那么此行的标记列内容将一直等于-1,任何人将不能再处理此行了,所以我们还应该提供“解锁”的功能,强行将标志列的内容设置为某个值。
例如下面的代码,将标志列的内容强行设置为2:

 

我想问的是,在实际操作任何一个工作流(1或2或3)异常退出时都可能出现上面说的将标记列=-1的情况,

那解锁时怎么才知道是哪一个工作流导致锁死了,即到底应该解锁哪个工作流,不可能随便按一个。

 

谢谢!


--  作者:lin_hailun
--  发布时间:2012/10/30 17:53:00
--  
 其实,-1只是一个标志,你可以弄成不同的标志嘛,流程1是-1,流程2是-2,流程3是-3。

 这样多好。

--  作者:dingqiaoren
--  发布时间:2012/11/1 15:18:00
--  

既然是-1,那么很简单了,你转换成整数与0比大小,小于0自然说明是锁定了,那么变正就行。


--  作者:zpx_2012
--  发布时间:2012/11/1 20:01:00
--  
谢谢,最后就是采用多增加了一列标识列来区别了。
--  作者:程兴刚
--  发布时间:2012/11/2 14:37:00
--  
可以指纹解锁,晚上回来发几个界面给您开拓一下细路!
--  作者:hanxuntx
--  发布时间:2012/11/2 14:48:00
--  
期待,哈哈
--  作者:程兴刚
--  发布时间:2012/11/2 22:38:00
--  

呵呵,录像更能说明问题:

 

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=25187