|
@@ -33,45 +33,47 @@ public class MyExecutionListener implements ExecutionListener {
|
|
|
//根据这里的 delegateExecution的id去act_ru_task表中查该流程的数据 对应表中的EXECUTION_ID_
|
|
|
ActRuTaskInfo task = SpringUtil.getBean(MyNoticeService.class).getTaskInfoByID(delegateExecution.getId());
|
|
|
|
|
|
- List<Flow> flows = SpringUtil.getBean(FlowTaskService.class).historicTaskList(task.getProcInstId());
|
|
|
- //根据PROC_DEF_ID_去act_re_deployment中查询流程的名称
|
|
|
- String substring = task.getProcDefId().substring(0, task.getProcDefId().indexOf(":"));
|
|
|
- String actName = SpringUtil.getBean(FlowTaskService.class).getActNameByDefId(substring);
|
|
|
+ if (null != task) {
|
|
|
+ List<Flow> flows = SpringUtil.getBean(FlowTaskService.class).historicTaskList(task.getProcInstId());
|
|
|
+ //根据PROC_DEF_ID_去act_re_deployment中查询流程的名称
|
|
|
+ String substring = task.getProcDefId().substring(0, task.getProcDefId().indexOf(":"));
|
|
|
+ String actName = SpringUtil.getBean(FlowTaskService.class).getActNameByDefId(substring);
|
|
|
|
|
|
- String titleName = "";
|
|
|
- // 根据流程定义ID查询流程实例
|
|
|
- ProcessInstance processInstance = SpringUtil.getBean(RuntimeService.class).createProcessInstanceQuery()
|
|
|
- .processInstanceId(task.getProcInstId())
|
|
|
- .singleResult();
|
|
|
+ String titleName = "";
|
|
|
+ // 根据流程定义ID查询流程实例
|
|
|
+ ProcessInstance processInstance = SpringUtil.getBean(RuntimeService.class).createProcessInstanceQuery()
|
|
|
+ .processInstanceId(task.getProcInstId())
|
|
|
+ .singleResult();
|
|
|
|
|
|
- if (processInstance != null) {
|
|
|
- // 获取流程实例标题变量名(假设标题存储在名为"title"的变量中)
|
|
|
- String titleVariableName = "title";
|
|
|
+ if (processInstance != null) {
|
|
|
+ // 获取流程实例标题变量名(假设标题存储在名为"title"的变量中)
|
|
|
+ String titleVariableName = "title";
|
|
|
|
|
|
- // 查询流程实例的标题变量
|
|
|
- Object title = SpringUtil.getBean(RuntimeService.class).getVariable(processInstance.getId(), titleVariableName);
|
|
|
+ // 查询流程实例的标题变量
|
|
|
+ Object title = SpringUtil.getBean(RuntimeService.class).getVariable(processInstance.getId(), titleVariableName);
|
|
|
|
|
|
- if (title != null) {
|
|
|
- titleName = title.toString();
|
|
|
- } else {
|
|
|
- // 如果标题变量不存在或者没有值,可以返回默认标题
|
|
|
- titleName = "";
|
|
|
+ if (title != null) {
|
|
|
+ titleName = title.toString();
|
|
|
+ } else {
|
|
|
+ // 如果标题变量不存在或者没有值,可以返回默认标题
|
|
|
+ titleName = "";
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- Flow flow = new Flow();
|
|
|
- for (int i=0;i<flows.size();i++){
|
|
|
- if (flows.get(i).getComment().getMessage().equals("发起流程")){
|
|
|
- flow = flows.get(i);
|
|
|
+ Flow flow = new Flow();
|
|
|
+ for (int i=0;i<flows.size();i++){
|
|
|
+ if (flows.get(i).getComment().getMessage().equals("发起流程")){
|
|
|
+ flow = flows.get(i);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
|
- UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
|
|
|
+ UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
|
|
|
|
|
|
- SpringUtil.getBean(MyNoticeService.class).add(task.getProcInstId(),titleName,task.getProcDefId(),actName,
|
|
|
- flow.getAssigneeName(),format.format(flow.getHistIns().getEndTime()),
|
|
|
- flow.getAssigneeName(),flow.getAssigneeId(),userDTO.getId());
|
|
|
+ SpringUtil.getBean(MyNoticeService.class).add(task.getProcInstId(),titleName,task.getProcDefId(),actName,
|
|
|
+ flow.getAssigneeName(),format.format(flow.getHistIns().getEndTime()),
|
|
|
+ flow.getAssigneeName(),flow.getAssigneeId(),userDTO.getId());
|
|
|
+ }
|
|
|
|
|
|
System.out.println ( "end=========" );
|
|
|
} else if ( "take".equals ( eventName ) ) {//连线监听
|