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

QQ登录

只需一步,快速开始

查看: 4320|回复: 7

[结贴] 怎么在JAVA里面终止流程,也该处理哪条TASK

[复制链接]

263

主题

733

帖子

1978

积分

金牌会员

Rank: 6Rank: 6

积分
1978
QQ
发表于 2017-8-19 11:34:18 | 显示全部楼层 |阅读模式

这个帖子上写的模棱两可,没法指导解决问题
http://bbs.wex5.com/forum.php?mo ... 2%E6%B5%81%E7%A8%8B
问题主要是这个task也该怎么去获取?
根据业务id到SA_Task找查找skindid为tkTask,且sstatusid为tesReady或者tesExecuting的sID的值,然后调用流程的终

这句话是啥意思?我到底应该怎么去根据这些条件获取task,平台应该提供有方法吧?
难道要我自己写一条SQL根据这些条件去搜索吗?
代码:
//终止需求报价
                CustomerXqService xqService = new CustomerXqService();
                PR_BJD xqBjd = xqService.getPR_BJD(xm.getfXQBJDID());
                List<Map<String, String>> items = ProcessUtils.startProcess("/projectmanage/market/process/offerManagerXq/offerManagerXqProcess",
                                                                                                "需求询价",xqBjd.getfID(), xqBjd.getfCreatePersonFID());
                String task = items.get(0).get("task");                                
                ProcessControl control = ProcessUtils.abortProcessQuery(task);
                ProcessUtils.abortProcess(task, control);

263

主题

733

帖子

1978

积分

金牌会员

Rank: 6Rank: 6

积分
1978
QQ
 楼主| 发表于 2017-8-19 11:50:29 | 显示全部楼层
http://bbs.wex5.com/forum.php?mo ... id=41037&page=3
这个帖子的22楼也在问,task是怎么获取的?这个问题的关键是这个task怎么获取?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36178
发表于 2017-8-21 09:49:28 | 显示全部楼层
taks怎么取要看具体的 需求,在什么时机去调用

如果是你1楼发的代码中启动后就直接终止,不需要自己去数据库中查,启动后就会生成task,直接用String task = items.get(0).get("task");  获取的task就可以
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

263

主题

733

帖子

1978

积分

金牌会员

Rank: 6Rank: 6

积分
1978
QQ
 楼主| 发表于 2017-8-21 13:53:46 | 显示全部楼层
不是启动后就直接终止,
需求报价流程环节为:申请--评审--确认--结束,流程已经流转到评审阶段
项目立项,会重新发起一条项目报价流程,此时需要将需求报价流程终止掉,这个task怎么取?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36178
发表于 2017-8-21 16:47:14 | 显示全部楼层
如果就是在评审这个环节上操作的,可以直接通过
com.justep.system.process.ProcessUtils.getProcessContext().getTask().getId()获取
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

263

主题

733

帖子

1978

积分

金牌会员

Rank: 6Rank: 6

积分
1978
QQ
 楼主| 发表于 2017-8-21 17:59:57 | 显示全部楼层
我是在项目立项的流程里面去终止需求报价的流程,是在当前流程里面去终止另外一个流程
ProcessUtils.getProcessContext()取的肯定是当前的这个流程,这样操作肯定不正确,逻辑都讲不通
怎么通过sData1获取sData1所在的流程的上下文?
回复 支持 反对

使用道具 举报

263

主题

733

帖子

1978

积分

金牌会员

Rank: 6Rank: 6

积分
1978
QQ
 楼主| 发表于 2017-8-21 18:02:06 | 显示全部楼层
如果就是在评审这个环节上操作的,可以直接通过
我说的很清楚了,是2个完全不同的流程,不是一个流程
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36178
发表于 2017-8-22 09:49:37 | 显示全部楼层
项目立项的流程里面和需求报价的流程数据之间有联系吗?如果是同一条业务数据
可以通过ProcessUtils.getProcessData1() 获取到sData1的,然后自己写sql到SA_Task中查找skindid为tkTask,且sstatusid为tesReady或者tesExecuting以及sProcess为需求报价的流程的process路径的sID的值,就是要找的task的值

就是where条件
where task.sData1 =XXX and (task.sKindID='tkTask' or task.sKindID='tkExecutor' or task.sKindID IS NULL) and (task.sStatusID='tesReady' or task.sStatusID='tesExecuting')   and sProcess = XXX
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-23 12:08 , Processed in 0.056917 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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