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

QQ登录

只需一步,快速开始

查看: 1365|回复: 10

[结贴] 代码控制抢占模式

[复制链接]

9

主题

32

帖子

87

积分

初级会员

Rank: 2

积分
87
QQ
发表于 2014-7-4 09:43:17 | 显示全部楼层 |阅读模式
流程环节设置为抢占模式时,只能选择 打开时抢占或处理时抢占。
这个处理时抢占是指当前环节流转时做抢占,把其他人的待办任务给取消掉。

能不能通过代码控制在编辑当前环节的数据时就把任务给抢占了?

310

主题

4938

帖子

4767

积分

论坛元老

Rank: 8Rank: 8

积分
4767
QQ
发表于 2014-7-4 10:07:24 | 显示全部楼层
打开时抢占不行吗?

按你的需求,自定义action,找到表sa_task中其他几条代办任务,把statusid改成tesCanceled,statusname改成已取消
QQ:179785966
回复 支持 反对

使用道具 举报

9

主题

32

帖子

87

积分

初级会员

Rank: 2

积分
87
QQ
 楼主| 发表于 2014-7-4 11:29:46 | 显示全部楼层
yinlun 发表于 2014-7-4 10:07
打开时抢占不行吗?

按你的需求,自定义action,找到表sa_task中其他几条代办任务,把statusid改成tesCanc ...

谢谢!
在自定义的action中,写java代码时,怎么写日志才能写到x5的日志文件中??
回复 支持 反对

使用道具 举报

310

主题

4938

帖子

4767

积分

论坛元老

Rank: 8Rank: 8

积分
4767
QQ
发表于 2014-7-4 12:19:47 | 显示全部楼层
jynsh 发表于 2014-7-4 11:29
谢谢!
在自定义的action中,写java代码时,怎么写日志才能写到x5的日志文件中?? ...

执行KSQL.update的时候,系统自动写到日志文件中
QQ:179785966
回复 支持 反对

使用道具 举报

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
发表于 2014-7-4 15:21:16 | 显示全部楼层
自定义action设置启用日志,就可以自动记录调用这个action的日志
如果要自己写日志,可以调用com.justep.system.log.LogUtils 提供的log方法
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

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

使用道具 举报

9

主题

32

帖子

87

积分

初级会员

Rank: 2

积分
87
QQ
 楼主| 发表于 2014-7-4 16:31:34 | 显示全部楼层
yinlun 发表于 2014-7-4 12:19
执行KSQL.update的时候,系统自动写到日志文件中

你好!
如果要用代码控制抢占,需要获取当前activity的id,通过ksql来改状态。
但是,因为是通过页面按钮,调用自定义的action来实现。
在java代码中,ProcessUtils.getCurrentAI().getActivityID()获取不到id,因为没有流程上下文。
在页面上通过 justep.Context.getProcessData1() 可以拿到流程关联的业务数据id,怎么才能拿到activity的id?
回复 支持 反对

使用道具 举报

9

主题

32

帖子

87

积分

初级会员

Rank: 2

积分
87
QQ
 楼主| 发表于 2014-7-4 16:32:19 | 显示全部楼层
zhaixin 发表于 2014-7-4 15:21
自定义action设置启用日志,就可以自动记录调用这个action的日志
如果要自己写日志,可以调用com.justep.sy ...

你好!
如果要用代码控制抢占,需要获取当前activity的id,通过ksql来改状态。
但是,因为是通过页面按钮,调用自定义的action来实现。
在java代码中,ProcessUtils.getCurrentAI().getActivityID()获取不到id,因为没有流程上下文。
在页面上通过 justep.Context.getProcessData1() 可以拿到流程关联的业务数据id,怎么才能拿到activity的id?
回复 支持 反对

使用道具 举报

310

主题

4938

帖子

4767

积分

论坛元老

Rank: 8Rank: 8

积分
4767
QQ
发表于 2014-7-4 17:10:51 | 显示全部楼层
jynsh 发表于 2014-7-4 16:32
你好!
如果要用代码控制抢占,需要获取当前activity的id,通过ksql来改状态。
但是,因为是通过页面按钮 ...

用var currentActivity = justep.Context.getCurrentActivity();
可以获取当前页面的activity_id

评分

参与人数 1 +6 收起 理由
jishuang + 6 赞一个!

查看全部评分

QQ:179785966
回复 支持 反对

使用道具 举报

9

主题

32

帖子

87

积分

初级会员

Rank: 2

积分
87
QQ
 楼主| 发表于 2014-7-4 17:14:14 | 显示全部楼层
yinlun 发表于 2014-7-4 17:10
用var currentActivity = justep.Context.getCurrentActivity();
可以获取当前页面的activity_id ...

这个api 我试过的,返回的是字符型的activity的名称
justep.Context.getCurrentActivity()
justep.Context.getCurrentActivityLabel()
justep.Context.getCurrentProcess()
justep.Context.getCurrentProcessLabel()

这几个方法 都不行,我都试过了
回复 支持 反对

使用道具 举报

9

主题

32

帖子

87

积分

初级会员

Rank: 2

积分
87
QQ
 楼主| 发表于 2014-7-4 17:22:51 | 显示全部楼层
经实验
justep.Context.getTask()可以返回当前流程实例的id。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-11 15:30 , Processed in 0.118473 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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