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

QQ登录

只需一步,快速开始

查看: 4269|回复: 0

[分享] 【分享】获取一下环节流程任务和通知

[复制链接]

998

主题

4330

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10726
QQ
发表于 2021-5-13 15:11:58 | 显示全部楼层 |阅读模式
直接上代码
  1. public class ProcessPushEngine  implements Interceptor{
  2.         public static Logger logger = Logger.getLogger(ProcessPushEngine.class);
  3.         public static final List<String> NAMES = new ArrayList<String>();
  4.         static{
  5.                 NAMES.add("advanceProcessAction");
  6.                 NAMES.add("backProcessAction");
  7.                 NAMES.add("transferTaskAction");
  8.                 NAMES.add("withdrawTaskAction");
  9.         };
  10.        
  11.         public void execute() {
  12.                 ActionContext ac = ContextHelper.getActionContext();
  13.                 Action action = ac.getAction();
  14.                 if (NAMES.contains(action.getName())){
  15.                         try{
  16.                                 Set<Task> tasks = new HashSet<Task>();
  17.                                 ProcessContext pc = ProcessUtils.getProcessContext();
  18.                                 tasks.addAll(pc.getNewNotices());
  19.                                 tasks.addAll(pc.getNewTasks());
  20.                                
  21.                                 for (Task t : tasks){
  22.                                         String status = t.getStatus();
  23.                                         if (TaskStatus.READY.equals(status) || TaskStatus.EXECUTING.equals(status)){
  24.                                                 String name = t.getName();
  25.                                                 String url = t.getEURL();
  26.                                                 if (SystemUtils.isNotEmptyString(url)){
  27.                                                         url += (url.contains("?") ? "&" : "?");
  28.                                                         url = url + "task=" + t.getId() + "&process=" + t.getProcess() + "&activity=" + t.getActivity();
  29.                                                        
  30.                                                         if (url.startsWith("/")){
  31.                                                                 url = JustepConfig.getUIServer() + url;
  32.                                                         }
  33.                                                         logger.info("message: " + name + ", url: " + url + ", person: " + t.getExecutorFID() + ", " + t.getExecutorFName());
  34.                                                         Message msg = new Message(name, url, null);
  35.                                                         Set<String> personIDs = new HashSet<String>();
  36.                                                         personIDs.add(t.getExecutorFID());
  37.                                                         MessageDispatcherFactory.createMessageDispatcher(JustepConfig.getMqttServer()).sendMessage(msg, personIDs);
  38.                                                 }
  39.                                         }
  40.                                 }
  41.                         }catch (Exception e){
  42.                                 e.printStackTrace();
  43.                                 logger.error(e.getMessage()+"", e);
  44.                         }
  45.                 }
  46.         }
  47. }
复制代码


孤舟蓑笠翁,独钓寒江雪。
X5牛刀交流民间第一群:30057529
提供有偿服务,联系WX:18332024
bex5疑难问题解决方案
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-25 10:05 , Processed in 0.086852 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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