add 流程结束后发送hiwork消息
This commit is contained in:
+59
-1
@@ -107,6 +107,64 @@ public class HiworkTodoServiceImpl implements PushWorkflowIntegrationAPI {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendActivityComplete(String processInstanceId) {
|
||||
if(!isWorkflow){
|
||||
return;
|
||||
}
|
||||
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
try {
|
||||
List<HiworkTodo> hiworkTodoList = getHiworkTodos(processAll);
|
||||
log.info("统一待办推送入参" + JSON.toJSONString(hiworkTodoList));
|
||||
// 远程调用
|
||||
JSONObject json = restTemplate.postForObject(ip + todoUrl,hiworkTodoList, JSONObject.class);
|
||||
if(!Objects.isNull(json) && json.containsKey("success") && Objects.equals("true",json.getString("success"))){
|
||||
log.info("统一待办推送成功");
|
||||
}else{
|
||||
log.info("统一待办推送失败");
|
||||
}
|
||||
}catch (Exception e){
|
||||
log.error("统一待办推送异常",e);
|
||||
}
|
||||
}
|
||||
@NotNull
|
||||
private List<HiworkTodo> getHiworkTodos(ProcessAll processAll) {
|
||||
List<HiworkTodo> hiworkTodoList = new ArrayList<>();
|
||||
HiworkTodo hiworkTodo = new HiworkTodo();
|
||||
hiworkTodo.setSysCode(hiworkSysCode);
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String date = DateUtil.formatDateTime(new Date());
|
||||
String noticeTitle = processAll.getPrcName() + "(" + loginUser.getRealname() + " " + date + ")";
|
||||
hiworkTodo.setNoticeTitle(noticeTitle);
|
||||
hiworkTodo.setProcessId(processAll.getProcessInstanceId());
|
||||
hiworkTodo.setProcessName(processAll.getPrcName());
|
||||
hiworkTodo.setProcessType(PROCESS_TYPE);
|
||||
|
||||
// 是否显示(0否,1是)
|
||||
hiworkTodo.setIsShow("1");
|
||||
|
||||
SysUser sysUser = sysUserService.getById(processAll.getCreateUserId());
|
||||
if(!Objects.isNull(sysUser)){
|
||||
hiworkTodo.setCreateUserCode(sysUser.getUsername());
|
||||
hiworkTodo.setCreateUserName(sysUser.getRealname());
|
||||
}
|
||||
if(!Objects.isNull(processAll.getDueTime())){
|
||||
hiworkTodo.setDueTime(processAll.getDueTime().getTime());
|
||||
}
|
||||
hiworkTodo.setBid(processAll.getProjectId());
|
||||
if(!Objects.isNull(sysUser)){
|
||||
hiworkTodo.setUserId(sysUser.getId());
|
||||
hiworkTodo.setUserCode(sysUser.getUsername());
|
||||
hiworkTodo.setUserName(sysUser.getRealname());
|
||||
}
|
||||
hiworkTodo.setReceiveTime(Instant.now());
|
||||
//2已完成时进入下一节点
|
||||
hiworkTodo.setMultiInstance(0);
|
||||
hiworkTodo.setIsTodo(String.valueOf(3));
|
||||
hiworkTodoList.add(hiworkTodo);
|
||||
return hiworkTodoList;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private List<HiworkTodo> getHiworkTodos(List<HiworkTodoAdd> hiworkTodoAddList) {
|
||||
List<HiworkTodo> hiworkTodoList = new ArrayList<>();
|
||||
@@ -130,7 +188,7 @@ public class HiworkTodoServiceImpl implements PushWorkflowIntegrationAPI {
|
||||
String noticeTitle = processApprovalRecord.getTaskName() + "(" + loginUser.getRealname() + " " + date + ")";
|
||||
hiworkTodo.setNoticeTitle(noticeTitle);
|
||||
hiworkTodo.setProcessId(processApprovalRecord.getProcessInstanceId());
|
||||
hiworkTodo.setProcessName(processApprovalRecord.getTaskName());
|
||||
hiworkTodo.setProcessName(processApprovalRecord.getPrcName());
|
||||
hiworkTodo.setProcessType(PROCESS_TYPE);
|
||||
hiworkTodo.setTaskId(processApprovalRecord.getTaskId());
|
||||
hiworkTodo.setTaskName(processApprovalRecord.getTaskName());
|
||||
|
||||
Reference in New Issue
Block a user