天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 1730|回复: 9

[已解决] 流程中的 通知 过期 上级问题?

[复制链接]
兰州波迪 发表于 2013-5-13 09:37:09 | 显示全部楼层 |阅读模式
本帖最后由 spiral 于 2013-5-13 18:04 编辑

我有这样一个业务,不知道怎么解决:
我同一个单位里面,有2个工作流程分别是 A 和 B ,在2个工作流程中,不同的工作人员担当了不同的角色。也就是有时候,同一个人在2个不同流程中的上级是不一样的人员,那么我在流程中的通知 过期 中怎么给上级发送通知,谢谢。
spiral 发表于 2013-5-13 10:19:20 | 显示全部楼层
楼主您好,在企业域中用户配置的上级用户只能配置一个,因此不能达到您的需求

建议您换一种思路:不要使用系统的过期提醒,而是使用定时任务中使用sql来检查是否过期,如果过期就使用脚本发送站内短信
http://www.teemlink.com/bbs/viewthread.php?tid=165207
 楼主| 兰州波迪 发表于 2013-5-13 10:31:49 | 显示全部楼层
定时任务来发送过期流程,哪里有事例,我看看,不知道在哪里弄,呵呵呵
spiral 发表于 2013-5-13 10:48:54 | 显示全部楼层
本帖最后由 spiral 于 2013-5-13 10:56 编辑

//获取当前表单最后审批日期
getCurrentDocument().getAuditdate();

参考下帖,得到最后审批日期与当前日期的相隔时间
http://www.teemlink.com/bbs/viewthread.php?tid=160489

如果超过规定时间,则发送站内短信来提醒
 楼主| 兰州波迪 发表于 2013-5-13 15:09:19 | 显示全部楼层
怎么一直没有发送站内短信
spiral 发表于 2013-5-13 15:37:11 | 显示全部楼层
1.检查一下你的定时任务有没有正常运行(可以添加一些打印来分辨)
2.检查一下后台有没有对应的错误信息
 楼主| 兰州波迪 发表于 2013-5-13 16:20:33 | 显示全部楼层
任务不知道正常运行没有,看后台代码应该是正常运行了,如图:
未命名.jpg
   
后台也没有报错。

现在我新的疑问是:在我打开这个表单的时候,任务就执行了,不知道合适不。因为任务的代码中有流程状态的判断条件,此时流程还没有到达需要执行的状态,但是当流程到达此状态时,任务也没有执行,我的打印语句也没有执行,为什么?
spiral 发表于 2013-5-13 16:26:01 | 显示全部楼层
麻烦楼主联系一下我,使用远程协助定位问题
 楼主| 兰州波迪 发表于 2013-5-13 17:46:29 | 显示全部楼层
发送短信可以了,现在贴出代码:
var sql = "SELECT * FROM  表名  WHERE STATELABEL=流程状态 ";
var process = getDocumentProcess();
var datas=queryByDSName("数据原名称",sql);
      if ( datas.size() >0 ) {
           for ( var iter = datas.iterator(); iter.hasNext(); ) {
                   var docCur= iter.next();
                  
                   var doc = process.doView(docCur.get("id"));

                  //以下为了快速测试,就没有加太多的限制条件
                   var time = format (doc.getAuditdate(),"yyyy-MM-dd HH:mm:ss");  //获取当前表单最后审批日期
             var diff = diffHours(time,format (getToday(),"yyyy-MM-dd HH:mm:ss"));

                    var title = "已经1个小时了,快点审核";  //设置站内短信标题
              var content = "内如没有说的了,哈哈哈,改天再续";  //设置站内短信内容

                     var actors = doc.getState().getActors();
               
                if (actors != null) {
                        for(var it = actors.iterator(); it.hasNext(); ) {
                                var actorrt = it.next();
                                if (actorrt.getIsprocessed()) {
                                        continue;
                                }
                                                            
                  sendMessage(actorrt.getActorid(),"11e2-7efd-3372e6bf-9bf4-255962fcba94", title, content);  //第一个ID是当前处理人,第二个ID是接收短信的人                  
                        }
   
           }
      

            }

}
spiral 发表于 2013-5-13 18:04:15 | 显示全部楼层
好的,感谢楼主反馈,本帖关闭

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 23:14

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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