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

QQ登录

只需一步,快速开始

楼主: jholy

如何实现定时调用X5动作

  [复制链接]

25

主题

80

帖子

176

积分

初级会员

Rank: 2

积分
176
QQ
发表于 2013-9-5 18:04:43 | 显示全部楼层
定时调用的周期在哪里设置的呢?

55

主题

203

帖子

500

积分

高级会员

Rank: 4

积分
500
QQ
发表于 2013-10-31 10:35:25 | 显示全部楼层
不会用。。视频“系统集成”下载后解压是坏掉的。

55

主题

203

帖子

500

积分

高级会员

Rank: 4

积分
500
QQ
发表于 2013-11-4 12:39:49 | 显示全部楼层
tearosedfy 发表于 2013-5-15 16:34
已解决。

想问下你这边是怎么解决的呢?

55

主题

203

帖子

500

积分

高级会员

Rank: 4

积分
500
QQ
发表于 2013-11-4 13:22:51 | 显示全部楼层
貌似只认timer\WEB-INF\classes里的.class , 怎么编译新的java呢?

133

主题

496

帖子

931

积分

高级会员

Rank: 4

积分
931
QQ
发表于 2014-2-21 09:59:59 | 显示全部楼层
请问下我更改了java源代码,如何对新的源代码进行编译?

170

主题

838

帖子

2136

积分

金牌会员

Rank: 6Rank: 6

积分
2136
QQ
发表于 2014-5-22 15:16:20 | 显示全部楼层
本帖最后由 hua_love2011 于 2014-5-22 15:19 编辑

请问如果数据通过接口已经插入到数据表中了,我只需要将它启动流程转发给下一个环节就行了,但是,记录需要根据它的所属归属流转给不同岗位的人, 比如,这条记录属于1期,那就流转给负责1期设备的管理员,应该怎么写呢?
另外,ProcessUtils.startProcess方法里面的给的4个参数,是添加到sa_task表的吧,那不需要添加发起人吗?
你不向前奔跑,没有人愿意停下来等你!

37

主题

713

帖子

3310

积分

内部用户

积分
3310
 楼主| 发表于 2014-5-22 19:38:06 | 显示全部楼层
hua_love2011 发表于 2014-5-22 15:16
请问如果数据通过接口已经插入到数据表中了,我只需要将它启动流程转发给下一个环节就行了,但是,记录需要 ...

这里首先要分清楚,你希望流程启动后是停在第一个环节,还是启动后自动流转一次,直接流转到第二个环节

如果是流程启动后是停在第一个环节,那么设置第一个环节的执行规则给指定的人就可以了,至于规则总是能根据业务数据算出来的,只是复杂的话需要自定义函数了

如果是启动后自动流转一次,直接流转到第二个环节,那么就设置第二个环节的执行规则

我们可以理解为,环节的执行者永远是与环节的执行者规则(和事件)有关的,与这个环节是怎么驱动没有关系

170

主题

838

帖子

2136

积分

金牌会员

Rank: 6Rank: 6

积分
2136
QQ
发表于 2014-5-22 20:10:08 | 显示全部楼层
jholy 发表于 2014-5-22 19:38
这里首先要分清楚,你希望流程启动后是停在第一个环节,还是启动后自动流转一次,直接流转到第二个环节

...

老师,我看你说的视频,并根据你的案例写的,我需要将数据启动后自动流转一次,直接流转到第二个环节,但是在执行“ProcessUtils.advanceProcess(firstTask, null);”这句代码时,就会报“必须指定执行者”,请问是什么问题呢?我这个方法,流程的标题是固定的,fId是通过接口传过来的记录ID,我就给一个fId,可以实现吗?
public static String dxjStartFlow(String fId) {
        String sFId=ContextHelper.getPersonMember().getFID();
        Document startDom = ProcessUtils.startProcess("/sbwxgl/sbwxxx/process/sbwxxx/sbwxxxProcess", "问题录入:设备维修信息", fId,sFId);
        String firstTask = startDom.selectSingleNode("/items/item/task").getText();
        ProcessUtils.advanceProcess(firstTask, null);
}
你不向前奔跑,没有人愿意停下来等你!

170

主题

838

帖子

2136

积分

金牌会员

Rank: 6Rank: 6

积分
2136
QQ
发表于 2014-5-22 20:11:41 | 显示全部楼层
jholy 发表于 2014-5-22 19:38
这里首先要分清楚,你希望流程启动后是停在第一个环节,还是启动后自动流转一次,直接流转到第二个环节

...

老师,我看你说的视频,并根据你的案例写的,我需要将数据启动后自动流转一次,直接流转到第二个环节,但是在执行“ProcessUtils.advanceProcess(firstTask, null);”这句代码时,就会报“必须指定执行者”,请问是什么问题呢?我这个方法,流程的标题是固定的,fId是通过接口传过来的记录ID,我就给一个fId,可以实现吗?
public static String dxjStartFlow(String fId) {
        String sFId=ContextHelper.getPersonMember().getFID();
        Document startDom = ProcessUtils.startProcess("/sbwxgl/sbwxxx/process/sbwxxx/sbwxxxProcess", "问题录入:设备维修信息", fId,sFId);
        String firstTask = startDom.selectSingleNode("/items/item/task").getText();
        ProcessUtils.advanceProcess(firstTask, null);
}
你不向前奔跑,没有人愿意停下来等你!

37

主题

713

帖子

3310

积分

内部用户

积分
3310
 楼主| 发表于 2014-5-23 11:07:06 | 显示全部楼层
hua_love2011 发表于 2014-5-22 20:11
老师,我看你说的视频,并根据你的案例写的,我需要将数据启动后自动流转一次,直接流转到第二个环节,但 ...

这里的问题就是要“指定第二个环节的执行者”了,这个执行者也就是你希望将流程任务给到的“那个人”

这里有两种方法,
     一个就是我前面说的,设置第二个环节的执行者规则
     你去看案例,案例里面的第二个环节就是设置了执行规则的,重要的是要设置“执行者”的“表达式”(不是“范围表达式”),这个“表达式”会作为“环节任务的默认执行者”

     另一种方法,你可以通过advanceProcess(String task, ProcessControl control)的第二个参数,强制指定后续环节的执行者
     在案例里面有一段注释的代码,写明了如何自定制processControl中的执行者
  1. /*
  2.                  * 代码设置ProcessControl,控制流转
  3.                  *
  4.                 //1、首先获取某个任务后续的流转数据结构
  5.                 ProcessControl control = ProcessUtils.advanceProcessQuery(task);
  6.                 //2、获得后续可能流转的环节
  7.                 List<ProcessControlItem> flowTos = control.getFlowTos();
  8.                 for (int i = 0; i < flowTos.size(); i++) {
  9.                         ProcessControlItem flowTo = flowTos.get(i);
  10.                         //3、获取环节ID做判断
  11.                         String activity = flowTo.getUnit();
  12.                         if (activity.equals("xxxxActivity")) {
  13.                                 //4、留下要流转的环节,并自定义执行者
  14.                                 flowTo.clearExecutors();
  15.                                 flowTo.addExecutor(ContextHelper.getPersonMember());
  16.                         } else {
  17.                                 //5、移走后续不流转的环节
  18.                                 control.removeFlowTo(flowTo);
  19.                         }
  20.                 }
  21.                 //6、按定制的ProcessControl流转
  22.                 ProcessUtils.advanceProcess(task, control);
  23.                 */
复制代码
高级模式
B Color Image Link Quote Code Smilies

本版积分规则

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

GMT+8, 2024-4-25 20:57 , Processed in 0.061976 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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