add 流程结束后发送hiwork消息
This commit is contained in:
+2
@@ -18,4 +18,6 @@ public interface PushWorkflowIntegrationAPI {
|
|||||||
* @Description: 统一待办集成
|
* @Description: 统一待办集成
|
||||||
**/
|
**/
|
||||||
void sendTodoTask(List<HiworkTodoAdd> hiworkTodoAddList);
|
void sendTodoTask(List<HiworkTodoAdd> hiworkTodoAddList);
|
||||||
|
|
||||||
|
void sendActivityComplete(String processInstanceId);
|
||||||
}
|
}
|
||||||
|
|||||||
+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
|
@NotNull
|
||||||
private List<HiworkTodo> getHiworkTodos(List<HiworkTodoAdd> hiworkTodoAddList) {
|
private List<HiworkTodo> getHiworkTodos(List<HiworkTodoAdd> hiworkTodoAddList) {
|
||||||
List<HiworkTodo> hiworkTodoList = new ArrayList<>();
|
List<HiworkTodo> hiworkTodoList = new ArrayList<>();
|
||||||
@@ -130,7 +188,7 @@ public class HiworkTodoServiceImpl implements PushWorkflowIntegrationAPI {
|
|||||||
String noticeTitle = processApprovalRecord.getTaskName() + "(" + loginUser.getRealname() + " " + date + ")";
|
String noticeTitle = processApprovalRecord.getTaskName() + "(" + loginUser.getRealname() + " " + date + ")";
|
||||||
hiworkTodo.setNoticeTitle(noticeTitle);
|
hiworkTodo.setNoticeTitle(noticeTitle);
|
||||||
hiworkTodo.setProcessId(processApprovalRecord.getProcessInstanceId());
|
hiworkTodo.setProcessId(processApprovalRecord.getProcessInstanceId());
|
||||||
hiworkTodo.setProcessName(processApprovalRecord.getTaskName());
|
hiworkTodo.setProcessName(processApprovalRecord.getPrcName());
|
||||||
hiworkTodo.setProcessType(PROCESS_TYPE);
|
hiworkTodo.setProcessType(PROCESS_TYPE);
|
||||||
hiworkTodo.setTaskId(processApprovalRecord.getTaskId());
|
hiworkTodo.setTaskId(processApprovalRecord.getTaskId());
|
||||||
hiworkTodo.setTaskName(processApprovalRecord.getTaskName());
|
hiworkTodo.setTaskName(processApprovalRecord.getTaskName());
|
||||||
|
|||||||
+3
@@ -290,6 +290,9 @@ public class MyGlobalEventListener implements ActivitiEventListener {
|
|||||||
log.info("taskEntity.getActivityName() = " + execution.getActivityName());
|
log.info("taskEntity.getActivityName() = " + execution.getActivityName());
|
||||||
log.info("taskEntity.getDeploymentId() = " + execution.getDeploymentId());
|
log.info("taskEntity.getDeploymentId() = " + execution.getDeploymentId());
|
||||||
log.info("taskEntity.getProcessDefinitionId() = " + execution.getProcessDefinitionId());
|
log.info("taskEntity.getProcessDefinitionId() = " + execution.getProcessDefinitionId());
|
||||||
|
// 对接统一平台生成办结
|
||||||
|
PushWorkflowIntegrationAPI pushWorkflowIntegrationAPI = SpringContextUtil.getBean(PushWorkflowIntegrationAPI.class);
|
||||||
|
pushWorkflowIntegrationAPI.sendActivityComplete(processInstanceId);
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isFirstNodeTask(ProcessApprovalRecord record) {
|
private boolean isFirstNodeTask(ProcessApprovalRecord record) {
|
||||||
|
|||||||
Reference in New Issue
Block a user