统一待办集成修改
This commit is contained in:
+76
-58
@@ -1,6 +1,7 @@
|
|||||||
package com.jero.modules.docking.hiwork.service.impl;
|
package com.jero.modules.docking.hiwork.service.impl;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.jero.common.api.PushWorkflowIntegrationAPI;
|
import com.jero.common.api.PushWorkflowIntegrationAPI;
|
||||||
import com.jero.common.api.dto.message.HiworkTodoAdd;
|
import com.jero.common.api.dto.message.HiworkTodoAdd;
|
||||||
@@ -25,6 +26,7 @@ import org.apache.shiro.SecurityUtils;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
@@ -53,7 +55,13 @@ public class HiworkTodoServiceImpl implements PushWorkflowIntegrationAPI {
|
|||||||
private ProcessNodeService processNodeService;
|
private ProcessNodeService processNodeService;
|
||||||
@Resource
|
@Resource
|
||||||
private ProcessAllService processAllService;
|
private ProcessAllService processAllService;
|
||||||
|
@Resource
|
||||||
|
private RestTemplate restTemplate;
|
||||||
|
|
||||||
|
@Value("${hiwork.ip}")
|
||||||
|
private String ip;
|
||||||
|
@Value("${hiwork.todoUrl}")
|
||||||
|
private String todoUrl;
|
||||||
@Value("${hiwork.isWorkflow}")
|
@Value("${hiwork.isWorkflow}")
|
||||||
private boolean isWorkflow;
|
private boolean isWorkflow;
|
||||||
@Value("${hiwork.sysCode}")
|
@Value("${hiwork.sysCode}")
|
||||||
@@ -82,7 +90,12 @@ public class HiworkTodoServiceImpl implements PushWorkflowIntegrationAPI {
|
|||||||
List<HiworkTodo> hiworkTodoList = getHiworkTodos(hiworkTodoAddList);
|
List<HiworkTodo> hiworkTodoList = getHiworkTodos(hiworkTodoAddList);
|
||||||
log.info("统一待办推送入参" + JSON.toJSONString(hiworkTodoList));
|
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){
|
}catch (Exception e){
|
||||||
log.error("统一待办推送异常",e);
|
log.error("统一待办推送异常",e);
|
||||||
}
|
}
|
||||||
@@ -98,64 +111,69 @@ public class HiworkTodoServiceImpl implements PushWorkflowIntegrationAPI {
|
|||||||
if(Objects.isNull(processApprovalRecord)){
|
if(Objects.isNull(processApprovalRecord)){
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
getObj(hiworkTodoList, processDefinitionId, 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());
|
|
||||||
}
|
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
return hiworkTodoList;
|
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