update hiwork消息新增flowid
This commit is contained in:
+1
-1
@@ -19,5 +19,5 @@ public interface PushWorkflowIntegrationAPI {
|
||||
**/
|
||||
void sendTodoTask(List<HiworkTodoAdd> hiworkTodoAddList);
|
||||
|
||||
void sendActivityComplete(String processInstanceId);
|
||||
void sendActivityComplete(List<HiworkTodoAdd> processInstanceId);
|
||||
}
|
||||
|
||||
+86
-122
@@ -91,7 +91,7 @@ public class HiworkTodoServiceImpl implements PushWorkflowIntegrationAPI {
|
||||
throw new JeroBootException(ResultCommon.EMPTY_COMMON, "hiworkTodoAddList");
|
||||
}
|
||||
try {
|
||||
List<HiworkTodo> hiworkTodoList = getHiworkTodos(hiworkTodoAddList);
|
||||
List<HiworkTodo> hiworkTodoList = getHiworkTodos(hiworkTodoAddList,false);
|
||||
log.info("统一待办推送入参" + JSON.toJSONString(hiworkTodoList));
|
||||
// 远程调用
|
||||
JSONObject json = restTemplate.postForObject(ip + todoUrl,hiworkTodoList, JSONObject.class);
|
||||
@@ -106,13 +106,12 @@ public class HiworkTodoServiceImpl implements PushWorkflowIntegrationAPI {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendActivityComplete(String processInstanceId) {
|
||||
public void sendActivityComplete(List<HiworkTodoAdd> hiworkTodoAddList) {
|
||||
if(!isWorkflow){
|
||||
return;
|
||||
}
|
||||
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
try {
|
||||
List<HiworkTodo> hiworkTodoList = getHiworkTodos(processAll);
|
||||
List<HiworkTodo> hiworkTodoList = getHiworkTodos(hiworkTodoAddList, true);
|
||||
log.info("统一待办推送入参" + JSON.toJSONString(hiworkTodoList));
|
||||
// 远程调用
|
||||
JSONObject json = restTemplate.postForObject(ip + todoUrl,hiworkTodoList, JSONObject.class);
|
||||
@@ -125,45 +124,9 @@ public class HiworkTodoServiceImpl implements PushWorkflowIntegrationAPI {
|
||||
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.setFlowid(processAll.getProcessInstanceId());
|
||||
hiworkTodo.setProcessId(processAll.getProcessInstanceId());
|
||||
hiworkTodo.setProcessName(ProcessTypeEnum.getNameByValue(processAll.getPrcType()));
|
||||
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());
|
||||
hiworkTodo.setIsTodo(String.valueOf(3));
|
||||
hiworkTodoList.add(hiworkTodo);
|
||||
return hiworkTodoList;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private List<HiworkTodo> getHiworkTodos(List<HiworkTodoAdd> hiworkTodoAddList) {
|
||||
private List<HiworkTodo> getHiworkTodos(List<HiworkTodoAdd> hiworkTodoAddList, boolean b) {
|
||||
List<HiworkTodo> hiworkTodoList = new ArrayList<>();
|
||||
for (HiworkTodoAdd hiworkTodoAdd : hiworkTodoAddList) {
|
||||
String recordId = hiworkTodoAdd.getRecordId();
|
||||
@@ -172,89 +135,90 @@ public class HiworkTodoServiceImpl implements PushWorkflowIntegrationAPI {
|
||||
if(Objects.isNull(processApprovalRecord)){
|
||||
continue;
|
||||
}
|
||||
getObj(hiworkTodoList, processDefinitionId, processApprovalRecord);
|
||||
HiworkTodo hiworkTodo = new HiworkTodo();
|
||||
hiworkTodo.setSysCode(hiworkSysCode);
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String date = DateUtil.formatDateTime(new Date());
|
||||
String noticeTitle = processApprovalRecord.getTaskName() + "(" + loginUser.getRealname() + " " + date + ")";
|
||||
hiworkTodo.setNoticeTitle(noticeTitle);
|
||||
hiworkTodo.setFlowid(processApprovalRecord.getProcessInstanceId());
|
||||
hiworkTodo.setProcessId(processApprovalRecord.getProcessInstanceId());
|
||||
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.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)){
|
||||
hiworkTodo.setProcessName(ProcessTypeEnum.getNameByValue(processAll.getPrcType()));
|
||||
|
||||
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
|
||||
//.replaceAll("&","%26")
|
||||
//.replaceAll("\\?","%3F")
|
||||
.replace("{projectId}",processAll.getProjectId())
|
||||
.replace("{taskName}",processApprovalRecord.getTaskName())
|
||||
.replace("{taskId}",processApprovalRecord.getTaskId())
|
||||
.replace("{processInstanceId}",processApprovalRecord.getProcessInstanceId())
|
||||
.replace("{nodeId}",processApprovalRecord.getNodeId());
|
||||
// 跳转链接
|
||||
String businessLink = url.replace("{url}", Objects.requireNonNull(ProcessTypeEnum.getFontReturnUrlPc(processAll.getPrcType())));
|
||||
hiworkTodo.setBusinessLink(businessLink);
|
||||
// APP跳转链接
|
||||
String appUrl = hiworkFontAppUrl
|
||||
//.replaceAll("&","%26")
|
||||
//.replaceAll("\\?","%3F")
|
||||
.replace("{projectId}",processAll.getProjectId())
|
||||
.replace("{taskName}",processApprovalRecord.getTaskName())
|
||||
.replace("{taskId}",processApprovalRecord.getTaskId())
|
||||
.replace("{processInstanceId}",processApprovalRecord.getProcessInstanceId())
|
||||
.replace("{nodeId}",processApprovalRecord.getNodeId());
|
||||
String appBusinessLink = appUrl.replace("{url}", Objects.requireNonNull(ProcessTypeEnum.getFontReturnUrlPc(processAll.getPrcType())));
|
||||
hiworkTodo.setAppBusinessLink(appBusinessLink);
|
||||
}
|
||||
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());
|
||||
//2已完成时进入下一节点
|
||||
Integer finishFlag = processApprovalRecord.getFinishFlag();
|
||||
if (finishFlag.equals(2)){
|
||||
hiworkTodo.setMultiInstance(0);
|
||||
}
|
||||
if (b){
|
||||
hiworkTodo.setIsTodo(String.valueOf(3));
|
||||
}else {
|
||||
hiworkTodo.setIsTodo(String.valueOf(finishFlag));
|
||||
}
|
||||
hiworkTodoList.add(hiworkTodo);
|
||||
}
|
||||
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 = DateUtil.formatDateTime(new Date());
|
||||
String noticeTitle = processApprovalRecord.getTaskName() + "(" + loginUser.getRealname() + " " + date + ")";
|
||||
hiworkTodo.setNoticeTitle(noticeTitle);
|
||||
hiworkTodo.setFlowid(processApprovalRecord.getProcessInstanceId());
|
||||
hiworkTodo.setProcessId(processApprovalRecord.getProcessInstanceId());
|
||||
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.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)){
|
||||
hiworkTodo.setProcessName(ProcessTypeEnum.getNameByValue(processAll.getPrcType()));
|
||||
|
||||
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
|
||||
//.replaceAll("&","%26")
|
||||
//.replaceAll("\\?","%3F")
|
||||
.replace("{projectId}",processAll.getProjectId())
|
||||
.replace("{taskName}",processApprovalRecord.getTaskName())
|
||||
.replace("{taskId}",processApprovalRecord.getTaskId())
|
||||
.replace("{processInstanceId}",processApprovalRecord.getProcessInstanceId())
|
||||
.replace("{nodeId}",processApprovalRecord.getNodeId());
|
||||
// 跳转链接
|
||||
String businessLink = url.replace("{url}", Objects.requireNonNull(ProcessTypeEnum.getFontReturnUrlPc(processAll.getPrcType())));
|
||||
hiworkTodo.setBusinessLink(businessLink);
|
||||
// APP跳转链接
|
||||
String appUrl = hiworkFontAppUrl
|
||||
//.replaceAll("&","%26")
|
||||
//.replaceAll("\\?","%3F")
|
||||
.replace("{projectId}",processAll.getProjectId())
|
||||
.replace("{taskName}",processApprovalRecord.getTaskName())
|
||||
.replace("{taskId}",processApprovalRecord.getTaskId())
|
||||
.replace("{processInstanceId}",processApprovalRecord.getProcessInstanceId())
|
||||
.replace("{nodeId}",processApprovalRecord.getNodeId());
|
||||
String appBusinessLink = appUrl.replace("{url}", Objects.requireNonNull(ProcessTypeEnum.getFontReturnUrlPc(processAll.getPrcType())));
|
||||
hiworkTodo.setAppBusinessLink(appBusinessLink);
|
||||
}
|
||||
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());
|
||||
//2已完成时进入下一节点
|
||||
Integer finishFlag = processApprovalRecord.getFinishFlag();
|
||||
if (finishFlag.equals(2)){
|
||||
hiworkTodo.setMultiInstance(0);
|
||||
}
|
||||
hiworkTodo.setIsTodo(String.valueOf(finishFlag));
|
||||
hiworkTodoList.add(hiworkTodo);
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -263,6 +263,9 @@ public class MyGlobalEventListener implements ActivitiEventListener {
|
||||
hiworkTodoAdd.setProcessDefinitionId(processDefinitionId);
|
||||
list.add(hiworkTodoAdd);
|
||||
pushWorkflowIntegrationAPI.sendTodoTask(list);
|
||||
|
||||
// 对接统一平台生成办结
|
||||
pushWorkflowIntegrationAPI.sendActivityComplete(list);
|
||||
}
|
||||
|
||||
private void activityComplete(ActivitiEvent event) {
|
||||
@@ -290,9 +293,6 @@ public class MyGlobalEventListener implements ActivitiEventListener {
|
||||
log.info("taskEntity.getActivityName() = " + execution.getActivityName());
|
||||
log.info("taskEntity.getDeploymentId() = " + execution.getDeploymentId());
|
||||
log.info("taskEntity.getProcessDefinitionId() = " + execution.getProcessDefinitionId());
|
||||
// 对接统一平台生成办结
|
||||
PushWorkflowIntegrationAPI pushWorkflowIntegrationAPI = SpringContextUtil.getBean(PushWorkflowIntegrationAPI.class);
|
||||
pushWorkflowIntegrationAPI.sendActivityComplete(processInstanceId);
|
||||
}
|
||||
|
||||
private boolean isFirstNodeTask(ProcessApprovalRecord record) {
|
||||
|
||||
Reference in New Issue
Block a user