统一待办集成修改
This commit is contained in:
+76
-58
@@ -1,6 +1,7 @@
|
||||
package com.jero.modules.docking.hiwork.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.common.api.PushWorkflowIntegrationAPI;
|
||||
import com.jero.common.api.dto.message.HiworkTodoAdd;
|
||||
@@ -25,6 +26,7 @@ import org.apache.shiro.SecurityUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.text.SimpleDateFormat;
|
||||
@@ -53,7 +55,13 @@ public class HiworkTodoServiceImpl implements PushWorkflowIntegrationAPI {
|
||||
private ProcessNodeService processNodeService;
|
||||
@Resource
|
||||
private ProcessAllService processAllService;
|
||||
@Resource
|
||||
private RestTemplate restTemplate;
|
||||
|
||||
@Value("${hiwork.ip}")
|
||||
private String ip;
|
||||
@Value("${hiwork.todoUrl}")
|
||||
private String todoUrl;
|
||||
@Value("${hiwork.isWorkflow}")
|
||||
private boolean isWorkflow;
|
||||
@Value("${hiwork.sysCode}")
|
||||
@@ -82,7 +90,12 @@ public class HiworkTodoServiceImpl implements PushWorkflowIntegrationAPI {
|
||||
List<HiworkTodo> hiworkTodoList = getHiworkTodos(hiworkTodoAddList);
|
||||
log.info("统一待办推送入参" + JSON.toJSONString(hiworkTodoList));
|
||||
// 远程调用
|
||||
hiworkPostUtil.postTodo(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);
|
||||
}
|
||||
@@ -98,64 +111,69 @@ public class HiworkTodoServiceImpl implements PushWorkflowIntegrationAPI {
|
||||
if(Objects.isNull(processApprovalRecord)){
|
||||
continue;
|
||||
}
|
||||
|
||||
HiworkTodo hiworkTodo = new HiworkTodo();
|
||||
hiworkTodo.setSysCode(hiworkSysCode);
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String date = new SimpleDateFormat("yyyy年MM月dd日").format(new Date());
|
||||
String noticeTitle = processApprovalRecord.getTaskName() + "(" + loginUser.getUsername() + date + ")";
|
||||
hiworkTodo.setNoticeTitle(noticeTitle);
|
||||
hiworkTodo.setProcessId(processApprovalRecord.getProcessInstanceId());
|
||||
hiworkTodo.setProcessName(processApprovalRecord.getTaskName());
|
||||
hiworkTodo.setProcessType(PROCESS_TYPE);
|
||||
hiworkTodo.setTaskId(processApprovalRecord.getTaskId());
|
||||
hiworkTodo.setTaskName(processApprovalRecord.getTaskName());
|
||||
|
||||
LambdaQueryWrapper<ProcessNode> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProcessNode::getProcessDefinitionId,processDefinitionId);
|
||||
wrapper.eq(ProcessNode::getNodeName,processApprovalRecord.getTaskName());
|
||||
wrapper.eq(ProcessNode::getIsView, YesOrNoEnum.YES.getValue());
|
||||
ProcessNode processNode = processNodeService.getOne(wrapper,false);
|
||||
if(!Objects.isNull(processNode)){
|
||||
if(processNode.getNodeName().contains("会签")){
|
||||
hiworkTodo.setMultiInstance(1);
|
||||
}
|
||||
hiworkTodo.setNodeBusiCode(processNode.getXmlNodeId());
|
||||
// 是否显示(0否,1是)
|
||||
hiworkTodo.setIsShow(String.valueOf(processNode.getIsView()));
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<ProcessAll> queryProcessAll = new LambdaQueryWrapper<>();
|
||||
queryProcessAll.eq(ProcessAll::getProcessInstanceId,processApprovalRecord.getProcessInstanceId());
|
||||
ProcessAll processAll = processAllService.getOne(queryProcessAll);
|
||||
if(!Objects.isNull(processAll)){
|
||||
SysUser sysUser = sysUserService.getById(processAll.getCreateUserId());
|
||||
if(!Objects.isNull(sysUser)){
|
||||
hiworkTodo.setCreateUserCode(sysUser.getUsername());
|
||||
hiworkTodo.setCreateUserName(sysUser.getRealname());
|
||||
}
|
||||
hiworkTodo.setDueTime(processAll.getDueTime().getTime());
|
||||
hiworkTodo.setBid(processAll.getProjectId());
|
||||
String url = hiworkFontUrl.replace("{projectId}",processAll.getProjectId())
|
||||
.replace("{taskName}",processApprovalRecord.getTaskName())
|
||||
.replace("{taskId}",processApprovalRecord.getTaskId())
|
||||
.replace("{processInstanceId}",processApprovalRecord.getProcessInstanceId())
|
||||
.replace("{nodeId}",processApprovalRecord.getNodeId());
|
||||
// 跳转链接
|
||||
hiworkTodo.setBusinessLink(url.replace("{url}", Objects.requireNonNull(ProcessTypeEnum.getFontReturnUrlPc(processAll.getPrcType()))));
|
||||
// APP跳转链接
|
||||
hiworkTodo.setAppBusinessLink(url.replace("{url}", Objects.requireNonNull(ProcessTypeEnum.getFontReturnUrlPc(processAll.getPrcType()))));
|
||||
}
|
||||
SysUser sysUser = sysUserService.getById(processApprovalRecord.getUserId());
|
||||
if(!Objects.isNull(sysUser)){
|
||||
hiworkTodo.setUserId(processApprovalRecord.getUserId());
|
||||
hiworkTodo.setUserCode(sysUser.getUsername());
|
||||
hiworkTodo.setUserName(sysUser.getRealname());
|
||||
}
|
||||
hiworkTodo.setReceiveTime(Instant.now());
|
||||
hiworkTodo.setIsTodo(String.valueOf(processApprovalRecord.getFinishFlag()));
|
||||
hiworkTodoList.add(hiworkTodo);
|
||||
getObj(hiworkTodoList, processDefinitionId, processApprovalRecord);
|
||||
}
|
||||
return hiworkTodoList;
|
||||
}
|
||||
|
||||
private void getObj(List<HiworkTodo> hiworkTodoList, String processDefinitionId, ProcessApprovalRecord processApprovalRecord) {
|
||||
HiworkTodo hiworkTodo = new HiworkTodo();
|
||||
hiworkTodo.setSysCode(hiworkSysCode);
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String date = new SimpleDateFormat("yyyy年MM月dd日").format(new Date());
|
||||
String noticeTitle = processApprovalRecord.getTaskName() + "(" + loginUser.getUsername() + date + ")";
|
||||
hiworkTodo.setNoticeTitle(noticeTitle);
|
||||
hiworkTodo.setProcessId(processApprovalRecord.getProcessInstanceId());
|
||||
hiworkTodo.setProcessName(processApprovalRecord.getTaskName());
|
||||
hiworkTodo.setProcessType(PROCESS_TYPE);
|
||||
hiworkTodo.setTaskId(processApprovalRecord.getTaskId());
|
||||
hiworkTodo.setTaskName(processApprovalRecord.getTaskName());
|
||||
|
||||
LambdaQueryWrapper<ProcessNode> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProcessNode::getProcessDefinitionId,processDefinitionId);
|
||||
wrapper.eq(ProcessNode::getNodeName,processApprovalRecord.getTaskName());
|
||||
wrapper.eq(ProcessNode::getIsView, YesOrNoEnum.YES.getValue());
|
||||
ProcessNode processNode = processNodeService.getOne(wrapper,false);
|
||||
if(!Objects.isNull(processNode)){
|
||||
if(processNode.getNodeName().contains("会签")){
|
||||
hiworkTodo.setMultiInstance(1);
|
||||
}
|
||||
hiworkTodo.setNodeBusiCode(processNode.getXmlNodeId());
|
||||
// 是否显示(0否,1是)
|
||||
hiworkTodo.setIsShow(String.valueOf(processNode.getIsView()));
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<ProcessAll> queryProcessAll = new LambdaQueryWrapper<>();
|
||||
queryProcessAll.eq(ProcessAll::getProcessInstanceId,processApprovalRecord.getProcessInstanceId());
|
||||
ProcessAll processAll = processAllService.getOne(queryProcessAll);
|
||||
if(!Objects.isNull(processAll)){
|
||||
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());
|
||||
String url = hiworkFontUrl.replace("{projectId}",processAll.getProjectId())
|
||||
.replace("{taskName}",processApprovalRecord.getTaskName())
|
||||
.replace("{taskId}",processApprovalRecord.getTaskId())
|
||||
.replace("{processInstanceId}",processApprovalRecord.getProcessInstanceId())
|
||||
.replace("{nodeId}",processApprovalRecord.getNodeId());
|
||||
// 跳转链接
|
||||
hiworkTodo.setBusinessLink(url.replace("{url}", Objects.requireNonNull(ProcessTypeEnum.getFontReturnUrlPc(processAll.getPrcType()))));
|
||||
// APP跳转链接
|
||||
hiworkTodo.setAppBusinessLink(url.replace("{url}", Objects.requireNonNull(ProcessTypeEnum.getFontReturnUrlPc(processAll.getPrcType()))));
|
||||
}
|
||||
SysUser sysUser = sysUserService.getById(processApprovalRecord.getUserId());
|
||||
if(!Objects.isNull(sysUser)){
|
||||
hiworkTodo.setUserId(processApprovalRecord.getUserId());
|
||||
hiworkTodo.setUserCode(sysUser.getUsername());
|
||||
hiworkTodo.setUserName(sysUser.getRealname());
|
||||
}
|
||||
hiworkTodo.setReceiveTime(Instant.now());
|
||||
hiworkTodo.setIsTodo(String.valueOf(processApprovalRecord.getFinishFlag()));
|
||||
hiworkTodoList.add(hiworkTodo);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user