统一待办集成
This commit is contained in:
+21
@@ -0,0 +1,21 @@
|
|||||||
|
package com.jero.common.api;
|
||||||
|
|
||||||
|
|
||||||
|
import com.jero.common.api.dto.message.HiworkTodoAdd;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: liao
|
||||||
|
* @Date: 2023/10/27 15:15
|
||||||
|
* @Description: 发送消息
|
||||||
|
*/
|
||||||
|
public interface PushWorkflowIntegrationAPI {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: liao
|
||||||
|
* @Date: 2023/10/13 15:12
|
||||||
|
* @Description: 统一待办集成
|
||||||
|
**/
|
||||||
|
void sendTodoTask(List<HiworkTodoAdd> hiworkTodoAddList);
|
||||||
|
}
|
||||||
+24
@@ -0,0 +1,24 @@
|
|||||||
|
package com.jero.common.api.dto.message;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: liao
|
||||||
|
* @Date: 2023/10/13 14:22
|
||||||
|
* @Description: 待办
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@ApiModel(value="统一待办集成", description="统一待办集成")
|
||||||
|
public class HiworkTodoAdd {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "审批记录表id")
|
||||||
|
private String recordId;
|
||||||
|
@ApiModelProperty(value = "流程定义id")
|
||||||
|
private String processDefinitionId;
|
||||||
|
}
|
||||||
-43
@@ -1,43 +0,0 @@
|
|||||||
package com.jero.modules.docking.hiwork.entity;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModel;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
import lombok.experimental.Accessors;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @Author: liao
|
|
||||||
* @Date: 2023/10/16 17:23
|
|
||||||
* @Description: 统一待办集成-添加
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
@Accessors(chain = true)
|
|
||||||
@EqualsAndHashCode(callSuper = false)
|
|
||||||
@ApiModel(value="统一待办集成-添加", description="统一待办集成-添加")
|
|
||||||
public class HiworkTodoAdd {
|
|
||||||
@ApiModelProperty(value = "标题")
|
|
||||||
private String title;
|
|
||||||
@ApiModelProperty(value = "任务id")
|
|
||||||
private String taskId;
|
|
||||||
@ApiModelProperty(value = "流程类型,字典")
|
|
||||||
private String processType;
|
|
||||||
@ApiModelProperty(value = "是否会签")
|
|
||||||
private Integer isCounterSignature;
|
|
||||||
@ApiModelProperty(value = "节点编号")
|
|
||||||
private String nodeNumber;
|
|
||||||
@ApiModelProperty(value = "跳转链接")
|
|
||||||
private String jumpLink;
|
|
||||||
@ApiModelProperty(value = "APP跳转链接")
|
|
||||||
private String appJumpLink;
|
|
||||||
@ApiModelProperty(value = "创建人id")
|
|
||||||
private String creatorId;
|
|
||||||
@ApiModelProperty(value = "接收人id")
|
|
||||||
private String recipientId;
|
|
||||||
@ApiModelProperty(value = "截止时间")
|
|
||||||
private Long endTime;
|
|
||||||
@ApiModelProperty(value = "业务主键")
|
|
||||||
private String businessId;
|
|
||||||
@ApiModelProperty(value = "待办、已办(1、待办 2已办 3结束 6 删除)")
|
|
||||||
private String isTodo;
|
|
||||||
}
|
|
||||||
+2
-1
@@ -1,6 +1,7 @@
|
|||||||
package com.jero.modules.docking.hiwork.service;
|
package com.jero.modules.docking.hiwork.service;
|
||||||
|
|
||||||
import com.jero.modules.docking.hiwork.entity.HiworkTodoAdd;
|
|
||||||
|
import com.jero.common.api.dto.message.HiworkTodoAdd;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|||||||
+119
-76
@@ -1,41 +1,68 @@
|
|||||||
package com.jero.modules.docking.hiwork.service.impl;
|
package com.jero.modules.docking.hiwork.service.impl;
|
||||||
|
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.jero.modules.docking.hiwork.entity.HiworkTodoAdd;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.jero.modules.docking.hiwork.service.IHiworkTodoService;
|
import com.jero.common.api.PushWorkflowIntegrationAPI;
|
||||||
import com.jero.modules.docking.hiwork.util.HiworkPostUtil;
|
import com.jero.common.api.dto.message.HiworkTodoAdd;
|
||||||
import com.jero.modules.docking.hiwork.entity.HiworkTodo;
|
|
||||||
import com.jero.common.api.vo.ResultCommon;
|
import com.jero.common.api.vo.ResultCommon;
|
||||||
|
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||||
|
import com.jero.common.exception.JeroBootException;
|
||||||
|
import com.jero.common.system.vo.LoginUser;
|
||||||
|
import com.jero.modules.activiti.entity.ProcessAll;
|
||||||
|
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||||
|
import com.jero.modules.activiti.entity.ProcessNode;
|
||||||
|
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||||
|
import com.jero.modules.activiti.service.ProcessAllService;
|
||||||
|
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||||
|
import com.jero.modules.activiti.service.ProcessNodeService;
|
||||||
|
import com.jero.modules.docking.hiwork.entity.HiworkTodo;
|
||||||
|
import com.jero.modules.docking.hiwork.util.HiworkPostUtil;
|
||||||
import com.jero.modules.system.entity.SysUser;
|
import com.jero.modules.system.entity.SysUser;
|
||||||
import com.jero.modules.system.service.ISysUserService;
|
import com.jero.modules.system.service.ISysUserService;
|
||||||
import org.activiti.engine.RuntimeService;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.activiti.engine.TaskService;
|
|
||||||
import org.activiti.engine.runtime.ProcessInstance;
|
|
||||||
import org.activiti.engine.task.Task;
|
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.shiro.SecurityUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.time.Instant;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: liao
|
* @Author: liao
|
||||||
* @Date: 2023/10/13 14:23
|
* @Date: 2023/10/13 14:23
|
||||||
* @Description: 待办
|
* @Description: 待办
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
public class HiworkTodoServiceImpl implements IHiworkTodoService {
|
public class HiworkTodoServiceImpl implements PushWorkflowIntegrationAPI {
|
||||||
|
|
||||||
@Autowired
|
@Resource
|
||||||
private ISysUserService sysUserService;
|
private ISysUserService sysUserService;
|
||||||
@Autowired
|
@Resource
|
||||||
private TaskService taskService;
|
private ProcessApprovalRecordService processApprovalRecordService;
|
||||||
@Autowired
|
@Resource
|
||||||
private RuntimeService runtimeService;
|
|
||||||
@Autowired
|
|
||||||
private HiworkPostUtil hiworkPostUtil;
|
private HiworkPostUtil hiworkPostUtil;
|
||||||
|
@Resource
|
||||||
|
private ProcessNodeService processNodeService;
|
||||||
|
@Resource
|
||||||
|
private ProcessAllService processAllService;
|
||||||
|
|
||||||
|
@Value("${hiwork.isWorkflow}")
|
||||||
|
private boolean isWorkflow;
|
||||||
|
@Value("${hiwork.sysCode}")
|
||||||
|
private String hiworkSysCode;
|
||||||
|
@Value("${hiwork.fontUrl}")
|
||||||
|
private String hiworkFontUrl;
|
||||||
|
|
||||||
|
|
||||||
|
private static final String PROCESS_TYPE = "标准法规SRMS";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: liao
|
* @Author: liao
|
||||||
@@ -44,75 +71,91 @@ public class HiworkTodoServiceImpl implements IHiworkTodoService {
|
|||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public void sendTodoTask(List<HiworkTodoAdd> hiworkTodoAddList) {
|
public void sendTodoTask(List<HiworkTodoAdd> hiworkTodoAddList) {
|
||||||
|
if(!isWorkflow){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (CollectionUtils.isEmpty(hiworkTodoAddList)) {
|
if (CollectionUtils.isEmpty(hiworkTodoAddList)) {
|
||||||
throw new JeroBootException(ResultCommon.EMPTY_COMMON, "hiworkTodoAddList");
|
throw new JeroBootException(ResultCommon.EMPTY_COMMON, "hiworkTodoAddList");
|
||||||
}
|
}
|
||||||
|
try {
|
||||||
|
List<HiworkTodo> hiworkTodoList = getHiworkTodos(hiworkTodoAddList);
|
||||||
|
log.info("统一待办推送入参" + JSON.toJSONString(hiworkTodoList));
|
||||||
|
// 远程调用
|
||||||
|
hiworkPostUtil.postTodo(hiworkTodoList);
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error("统一待办推送异常",e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
private List<HiworkTodo> getHiworkTodos(List<HiworkTodoAdd> hiworkTodoAddList) {
|
||||||
List<HiworkTodo> hiworkTodoList = new ArrayList<>();
|
List<HiworkTodo> hiworkTodoList = new ArrayList<>();
|
||||||
hiworkTodoAddList.forEach(hiworkTodoAdd -> {
|
for (HiworkTodoAdd hiworkTodoAdd : hiworkTodoAddList) {
|
||||||
|
String recordId = hiworkTodoAdd.getRecordId();
|
||||||
|
String processDefinitionId = hiworkTodoAdd.getProcessDefinitionId();
|
||||||
|
ProcessApprovalRecord processApprovalRecord = processApprovalRecordService.getById(recordId);
|
||||||
|
if(Objects.isNull(processApprovalRecord)){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
HiworkTodo hiworkTodo = new HiworkTodo();
|
HiworkTodo hiworkTodo = new HiworkTodo();
|
||||||
// 异步系统标识
|
hiworkTodo.setSysCode(hiworkSysCode);
|
||||||
hiworkTodo.setSysCode(HiworkPostUtil.getSysCode());
|
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
// 标题
|
String date = new SimpleDateFormat("yyyy年MM月dd日").format(new Date());
|
||||||
hiworkTodo.setNoticeTitle(hiworkTodoAdd.getTitle());
|
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());
|
||||||
|
|
||||||
if (StringUtils.isBlank(hiworkTodoAdd.getTaskId())) {
|
LambdaQueryWrapper<ProcessNode> wrapper = new LambdaQueryWrapper<>();
|
||||||
throw new JeroBootException(ResultCommon.EMPTY_COMMON, "taskId");
|
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()));
|
||||||
}
|
}
|
||||||
Task task = taskService.createTaskQuery().taskId(hiworkTodoAdd.getTaskId()).singleResult();
|
|
||||||
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
|
|
||||||
.processInstanceId(task.getProcessInstanceId()).singleResult();
|
|
||||||
|
|
||||||
// 流程实例id
|
LambdaQueryWrapper<ProcessAll> queryProcessAll = new LambdaQueryWrapper<>();
|
||||||
hiworkTodo.setProcessId(processInstance.getId());
|
queryProcessAll.eq(ProcessAll::getProcessInstanceId,processApprovalRecord.getProcessInstanceId());
|
||||||
// 流程实例名称
|
ProcessAll processAll = processAllService.getOne(queryProcessAll);
|
||||||
hiworkTodo.setProcessName(processInstance.getName());
|
if(!Objects.isNull(processAll)){
|
||||||
// 流程类型,字典
|
SysUser sysUser = sysUserService.getById(processAll.getCreateUserId());
|
||||||
hiworkTodo.setProcessType(hiworkTodoAdd.getProcessType());
|
if(!Objects.isNull(sysUser)){
|
||||||
// 任务id
|
hiworkTodo.setCreateUserCode(sysUser.getUsername());
|
||||||
hiworkTodo.setTaskId(hiworkTodoAdd.getTaskId());
|
hiworkTodo.setCreateUserName(sysUser.getRealname());
|
||||||
// 节点名称
|
}
|
||||||
hiworkTodo.setTaskName(task.getName());
|
hiworkTodo.setDueTime(processAll.getDueTime().getTime());
|
||||||
// 是否会签
|
hiworkTodo.setBid(processAll.getProjectId());
|
||||||
hiworkTodo.setMultiInstance(hiworkTodoAdd.getIsCounterSignature());
|
String url = hiworkFontUrl.replace("{projectId}",processAll.getProjectId())
|
||||||
// 节点编号
|
.replace("{taskName}",processApprovalRecord.getTaskName())
|
||||||
hiworkTodo.setNodeBusiCode(hiworkTodoAdd.getNodeNumber());
|
.replace("{taskId}",processApprovalRecord.getTaskId())
|
||||||
// 跳转链接
|
.replace("{processInstanceId}",processApprovalRecord.getProcessInstanceId())
|
||||||
hiworkTodo.setBusinessLink(hiworkTodoAdd.getJumpLink());
|
.replace("{nodeId}",processApprovalRecord.getNodeId());
|
||||||
// APP跳转链接
|
// 跳转链接
|
||||||
hiworkTodo.setAppBusinessLink(hiworkTodoAdd.getAppJumpLink());
|
hiworkTodo.setBusinessLink(url.replace("{url}", Objects.requireNonNull(ProcessTypeEnum.getFontReturnUrlPc(processAll.getPrcType()))));
|
||||||
|
// APP跳转链接
|
||||||
if (StringUtils.isBlank(hiworkTodoAdd.getCreatorId())) {
|
hiworkTodo.setAppBusinessLink(url.replace("{url}", Objects.requireNonNull(ProcessTypeEnum.getFontReturnUrlPc(processAll.getPrcType()))));
|
||||||
throw new JeroBootException(ResultCommon.EMPTY_COMMON, "creatorId");
|
|
||||||
}
|
}
|
||||||
SysUser creatorUser = sysUserService.getById(hiworkTodoAdd.getCreatorId());
|
SysUser sysUser = sysUserService.getById(processApprovalRecord.getUserId());
|
||||||
// 创建人code
|
if(!Objects.isNull(sysUser)){
|
||||||
hiworkTodo.setCreateUserCode(creatorUser.getUsername());
|
hiworkTodo.setUserId(processApprovalRecord.getUserId());
|
||||||
// 创建人姓名
|
hiworkTodo.setUserCode(sysUser.getUsername());
|
||||||
hiworkTodo.setCreateUserName(creatorUser.getRealname());
|
hiworkTodo.setUserName(sysUser.getRealname());
|
||||||
|
|
||||||
if (StringUtils.isBlank(hiworkTodoAdd.getRecipientId())) {
|
|
||||||
throw new JeroBootException(ResultCommon.EMPTY_COMMON, "recipientId");
|
|
||||||
}
|
}
|
||||||
SysUser recipientUser = sysUserService.getById(hiworkTodoAdd.getRecipientId());
|
hiworkTodo.setReceiveTime(Instant.now());
|
||||||
// 接收人id
|
hiworkTodo.setIsTodo(String.valueOf(processApprovalRecord.getFinishFlag()));
|
||||||
hiworkTodo.setUserId(recipientUser.getId());
|
|
||||||
// 接收人code
|
|
||||||
hiworkTodo.setUserCode(recipientUser.getUsername());
|
|
||||||
// 接收人姓名
|
|
||||||
hiworkTodo.setUserName(recipientUser.getRealname());
|
|
||||||
|
|
||||||
// 截止时间
|
|
||||||
hiworkTodo.setDueTime(hiworkTodoAdd.getEndTime());
|
|
||||||
// 业务主键
|
|
||||||
hiworkTodo.setBid(hiworkTodoAdd.getBusinessId());
|
|
||||||
// 待办、已办
|
|
||||||
hiworkTodo.setIsTodo(hiworkTodoAdd.getIsTodo());
|
|
||||||
|
|
||||||
hiworkTodoList.add(hiworkTodo);
|
hiworkTodoList.add(hiworkTodo);
|
||||||
});
|
}
|
||||||
|
return hiworkTodoList;
|
||||||
// 远程调用
|
|
||||||
hiworkPostUtil.postTodo(hiworkTodoList);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+123
@@ -0,0 +1,123 @@
|
|||||||
|
package com.jero.modules.activiti.entity;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.Instant;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author lqt
|
||||||
|
* @version 1.0
|
||||||
|
* @date 2024/2/1 14:47
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class PushWorkflowIntegration implements Serializable {
|
||||||
|
/**
|
||||||
|
* 异构系统标识 固定 SRMS
|
||||||
|
*/
|
||||||
|
private String sysCode;
|
||||||
|
/**
|
||||||
|
* 标题 流程名称(姓名+时间)
|
||||||
|
*/
|
||||||
|
private String noticeTitle;
|
||||||
|
/**
|
||||||
|
* 描述
|
||||||
|
*/
|
||||||
|
private String noticeDescription;
|
||||||
|
/**
|
||||||
|
* 流程编号
|
||||||
|
*/
|
||||||
|
private String busiDefCode;
|
||||||
|
/**
|
||||||
|
* 流程实例id
|
||||||
|
*/
|
||||||
|
private String processId;
|
||||||
|
/**
|
||||||
|
* 流程实例名称
|
||||||
|
*/
|
||||||
|
private String processName;
|
||||||
|
/**
|
||||||
|
* 流程类型,字典 标准法规SRMS
|
||||||
|
*/
|
||||||
|
private String processType;
|
||||||
|
/**
|
||||||
|
* 任务id
|
||||||
|
*/
|
||||||
|
private String taskId;
|
||||||
|
/**
|
||||||
|
* 节点名称
|
||||||
|
*/
|
||||||
|
private String taskName;
|
||||||
|
/**
|
||||||
|
* 是否会签
|
||||||
|
*/
|
||||||
|
private Integer multiInstance;
|
||||||
|
/**
|
||||||
|
* 节点编号
|
||||||
|
*/
|
||||||
|
private String nodeBusiCode;
|
||||||
|
/**
|
||||||
|
* 跳转链接
|
||||||
|
*/
|
||||||
|
private String businessLink;
|
||||||
|
/**
|
||||||
|
* APP跳转链接
|
||||||
|
*/
|
||||||
|
private String appBusinessLink;
|
||||||
|
/**
|
||||||
|
* 创建人code
|
||||||
|
*/
|
||||||
|
private String createUserCode;
|
||||||
|
/**
|
||||||
|
* 创建人姓名
|
||||||
|
*/
|
||||||
|
private String createUserName;
|
||||||
|
/**
|
||||||
|
* 接收人id
|
||||||
|
*/
|
||||||
|
private String userId;
|
||||||
|
/**
|
||||||
|
* 接收人code 多人待办LIST 方式传输
|
||||||
|
*/
|
||||||
|
private String userCode;
|
||||||
|
/**
|
||||||
|
* 接收人姓名
|
||||||
|
*/
|
||||||
|
private String userName;
|
||||||
|
/**
|
||||||
|
* 参与者id
|
||||||
|
*/
|
||||||
|
private String participantId;
|
||||||
|
/**
|
||||||
|
* 参与者编号
|
||||||
|
*/
|
||||||
|
private String participantCode;
|
||||||
|
/**
|
||||||
|
* 接收时间
|
||||||
|
*/
|
||||||
|
private Instant receiveTime;
|
||||||
|
/**
|
||||||
|
* 截止时间
|
||||||
|
*/
|
||||||
|
private Long dueTime;
|
||||||
|
/**
|
||||||
|
* 业务主键
|
||||||
|
*/
|
||||||
|
private String bid;
|
||||||
|
/**
|
||||||
|
* 待办、已办 1、待办 2已办 3结束 6 删除 暂停的时候传 3-结束
|
||||||
|
*/
|
||||||
|
private String isTodo;
|
||||||
|
/**
|
||||||
|
* 是否展示在列表中 钉钉时需要必传
|
||||||
|
*/
|
||||||
|
private String isShow;
|
||||||
|
/**
|
||||||
|
* 优先级 钉钉时需要必传 非必填 不做处理
|
||||||
|
*/
|
||||||
|
private String priority;
|
||||||
|
/**
|
||||||
|
* 是否通知消息
|
||||||
|
*/
|
||||||
|
private String notifyConfig;
|
||||||
|
}
|
||||||
@@ -12,33 +12,41 @@ import lombok.Getter;
|
|||||||
public enum ProcessTypeEnum {
|
public enum ProcessTypeEnum {
|
||||||
|
|
||||||
|
|
||||||
FB_ENTRY_CHANGE("标准法规入库/变更流程",1, "com.jero.modules.activiti.process.fb.service.impl.ProcessFbEntryChangeServiceImpl"),
|
FB_ENTRY_CHANGE("标准法规入库/变更流程",1, "com.jero.modules.activiti.process.fb.service.impl.ProcessFbEntryChangeServiceImpl","/workCenter/StandardEntryOrChangeProcess","/workCenter/StandardEntryOrChangeProcess"),
|
||||||
FB_STANDARD_CONSULTATION("标准征求意见流程",2, "com.jero.modules.activiti.process.fb.service.impl.ProcessFbStandardConsultationServiceImpl"),
|
FB_STANDARD_CONSULTATION("标准征求意见流程",2, "com.jero.modules.activiti.process.fb.service.impl.ProcessFbStandardConsultationServiceImpl","/workCenter/StandardConsultationProcess","/workCenter/StandardConsultationProcess"),
|
||||||
PROJECT_ASSESS("项目合规评估流程",3, "com.jero.modules.activiti.process.projectassess.service.ProcessProjectAssessService"),
|
PROJECT_ASSESS("项目合规评估流程",3, "com.jero.modules.activiti.process.projectassess.service.ProcessProjectAssessService","/workCenter/ProjectComplianceEvaluationProcess","/workCenter/ProjectComplianceEvaluationProcess"),
|
||||||
PROJECT_NOT_MET("未符合项跟踪流程",4, "com.jero.modules.activiti.process.projectnotmet.service.ProcessProjectNotMetService"),
|
PROJECT_NOT_MET("未符合项跟踪流程",4, "com.jero.modules.activiti.process.projectnotmet.service.ProcessProjectNotMetService","/workCenter/NoMatchTrackingProcess","/workCenter/NoMatchTrackingProcess"),
|
||||||
PROJECT_STANDARD("法规合规评估流程",5, "com.jero.modules.activiti.process.projectstandard.service.ProcessProjectStandardService"),
|
PROJECT_STANDARD("法规合规评估流程",5, "com.jero.modules.activiti.process.projectstandard.service.ProcessProjectStandardService","/workCenter/StandardComplianceProcess","/workCenter/StandardComplianceProcess"),
|
||||||
FB_STANDARD_PURCHASE("法规采购流程",6, "com.jero.modules.activiti.process.fb.service.impl.ProcessFbStandardPurchaseServiceImpl"),
|
FB_STANDARD_PURCHASE("法规采购流程",6, "com.jero.modules.activiti.process.fb.service.impl.ProcessFbStandardPurchaseServiceImpl","/workCenter/StandardProcurementProcess","/workCenter/StandardProcurementProcess"),
|
||||||
ES_INIT_CHANGE("企标立项/变更计划",7, "com.jero.modules.activiti.process.esInitChange.service.impl.ProcessEsInitChangeServiceImpl"),
|
ES_INIT_CHANGE("企标立项/变更计划",7, "com.jero.modules.activiti.process.esInitChange.service.impl.ProcessEsInitChangeServiceImpl","/workCenter/enterpriseStandardInitChange/planApprovalChangeFlow","/workCenter/enterpriseStandardInitChange"),
|
||||||
ES_ANNUAL_REPORT("年度制修订计划审批流程(各部门主动上报)",8, "com.jero.modules.activiti.process.esAbolish.service.impl.ProcessEsAbolishServiceImpl"),
|
ES_ANNUAL_REPORT("年度制修订计划审批流程(各部门主动上报)",8, "com.jero.modules.activiti.process.esAbolish.service.impl.ProcessEsAbolishServiceImpl","/workCenter/annualRevisionPlanActivelyReport/revisionPlanActivelyReportFlow","/workCenter/annualRevisionPlanActivelyReport"),
|
||||||
ES_ANNUAL_INIT("年度制修订计划审批流程(标准化发起)",9, "com.jero.modules.activiti.process.esAnnualReport.service.impl.ProcessEsAnnualReportServiceImpl"),
|
ES_ANNUAL_INIT("年度制修订计划审批流程(标准化发起)",9, "com.jero.modules.activiti.process.esAnnualReport.service.impl.ProcessEsAnnualReportServiceImpl","/workCenter/annualRevisionPlanStandardizationInit/revisionPlanStandardizationInitFlow","/workCenter/annualRevisionPlanStandardizationInit"),
|
||||||
ES_REVISION("企标制修订流程(草案编写/征求意见/报批)", 10, "com.jero.modules.activiti.process.esRevision.service.impl.EsRevisionServiceImpl"),
|
ES_REVISION("企标制修订流程(草案编写/征求意见/报批)", 10, "com.jero.modules.activiti.process.esRevision.service.impl.EsRevisionServiceImpl","/workCenter/enterpriseStandardRevision/enterpriseStandardRevisionFlow","/workCenter/enterpriseStandardRevision"),
|
||||||
ES_CHANGE("企标更改流程",11, "com.jero.modules.activiti.process.esChange.service.impl.ProcessEsChangeServiceImpl"),
|
ES_CHANGE("企标更改流程",11, "com.jero.modules.activiti.process.esChange.service.impl.ProcessEsChangeServiceImpl","/workCenter/enterpriseStandardChange/enterpriseStandardChangeFlow","/workCenter/enterpriseStandardChange/enterpriseStandardChangeFlow"),
|
||||||
ES_RECHECK("企标复审流程",12, "com.jero.modules.activiti.process.esRecheck.service.impl.ProcessEsRecheckServiceImpl"),
|
ES_RECHECK("企标复审流程",12, "com.jero.modules.activiti.process.esRecheck.service.impl.ProcessEsRecheckServiceImpl","/workCenter/enterpriseStandardRecheck/enterpriseStandardRecheckFlow","/workCenter/enterpriseStandardRecheck"),
|
||||||
ES_ABOLISH("企标废止流程",13, "com.jero.modules.activiti.process.esAbolish.service.impl.ProcessEsAbolishServiceImpl"),
|
ES_ABOLISH("企标废止流程",13, "com.jero.modules.activiti.process.esAbolish.service.impl.ProcessEsAbolishServiceImpl","/workCenter/enterpriseStandardAnnul/enterpriseStandardAnnulFlow","/workCenter/enterpriseStandardAnnul"),
|
||||||
ES_ARCHIVE("企标封存流程",14, "com.jero.modules.activiti.process.esArchive.service.impl.ProcessEsArchiveServiceImpl"),
|
ES_ARCHIVE("企标封存流程",14, "com.jero.modules.activiti.process.esArchive.service.impl.ProcessEsArchiveServiceImpl","/workCenter/enterpriseStandardSealSave/enterpriseStandardSealSaveFlow","/workCenter/enterpriseStandardSealSave"),
|
||||||
ES_ENABLE("已封存企标启用流程",15, "com.jero.modules.activiti.process.esEnable.service.impl.ProcessEsEnableServiceImpl"),
|
ES_ENABLE("已封存企标启用流程",15, "com.jero.modules.activiti.process.esEnable.service.impl.ProcessEsEnableServiceImpl","/workCenter/enterpriseStandardStartUse/enterpriseStandardStartUseFlow","/workCenter/enterpriseStandardStartUse"),
|
||||||
ES_INSPECT_PLAN("企标稽查计划", 16, "com.jero.modules.activiti.process.esinspectplan.service.impl.EsInspectPlanFlow"),
|
ES_INSPECT_PLAN("企标稽查计划", 16, "com.jero.modules.activiti.process.esinspectplan.service.impl.EsInspectPlanFlow","/workCenter/EnterpriseStandardInspectionPlan","/workCenter/EnterpriseStandardInspectionPlan"),
|
||||||
ES_INSPECT("企标稽查流程", 17, "com.jero.modules.activiti.process.esinspect.service.impl.EsInspectFlow"),
|
ES_INSPECT("企标稽查流程", 17, "com.jero.modules.activiti.process.esinspect.service.impl.EsInspectFlow","/workCenter/EnterpriseStandardInspectionProcess","/workCenter/EnterpriseStandardInspectionProcess"),
|
||||||
ES_INSPECT_DELAY_APPLY("稽查延期申请流程", 18, "com.jero.modules.activiti.process.esinspectdelayapply.service.impl.EsInspectDelayApplyFlow"),
|
ES_INSPECT_DELAY_APPLY("稽查延期申请流程", 18, "com.jero.modules.activiti.process.esinspectdelayapply.service.impl.EsInspectDelayApplyFlow","/workCenter/InspectionExtensionRequestProcess","/workCenter/InspectionExtensionRequestProcess"),
|
||||||
ES_INSPECT_REPORT("企标稽查整改", 19, "com.jero.modules.activiti.process.esinspectrectify.service.impl.EsInspectRectifyFlow"),
|
ES_INSPECT_REPORT("企标稽查整改", 19, "com.jero.modules.activiti.process.esinspectrectify.service.impl.EsInspectRectifyFlow","/workCenter/EnterpriseStandardInspectionRectification","/workCenter/EnterpriseStandardInspectionRectification"),
|
||||||
PERMISSION_APPLY_PROCESS("权限申请流程", 20, "com.jero.modules.activiti.process.espermissionapply.service.impl.EsPermissionApplyFlow"),
|
PERMISSION_APPLY_PROCESS("权限申请流程", 20, "com.jero.modules.activiti.process.espermissionapply.service.impl.EsPermissionApplyFlow","/workCenter/PermissionApplicationProcess","/workCenter/PermissionApplicationProcess"),
|
||||||
STANDARD_DECLARE("标准宣贯流程", 21, "com.jero.modules.activiti.process.esdeclare.service.impl.EsDeclareFlow"),
|
STANDARD_DECLARE("标准宣贯流程", 21, "com.jero.modules.activiti.process.esdeclare.service.impl.EsDeclareFlow","/workCenter/StandardPromotionProcess",""),
|
||||||
MEETING_MANAGE("会后管理流程", 22, "com.jero.modules.activiti.process.meetingmanage.service.impl.MeetingManageFlow")
|
MEETING_MANAGE("会后管理流程", 22, "com.jero.modules.activiti.process.meetingmanage.service.impl.MeetingManageFlow","/workCenter/PostMeetingManageProcess","")
|
||||||
;
|
;
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
private Integer value;
|
private Integer value;
|
||||||
private String implClass;
|
private String implClass;
|
||||||
|
/**
|
||||||
|
* PC端跳转链接 (统一待办集成使用)
|
||||||
|
*/
|
||||||
|
private String fontReturnUrlPc;
|
||||||
|
/**
|
||||||
|
* APP端跳转链接(统一待办集成使用)
|
||||||
|
*/
|
||||||
|
private String fontReturnUrlApp;
|
||||||
|
|
||||||
public static String getNameByValue(Integer value) {
|
public static String getNameByValue(Integer value) {
|
||||||
for (ProcessTypeEnum enumObject : values()) {
|
for (ProcessTypeEnum enumObject : values()) {
|
||||||
@@ -69,4 +77,21 @@ public enum ProcessTypeEnum {
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getFontReturnUrlPc(Integer value) {
|
||||||
|
for (ProcessTypeEnum enumObject : values()) {
|
||||||
|
if (enumObject.getValue().equals(value)) {
|
||||||
|
return enumObject.getFontReturnUrlPc();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
public static String getFontReturnUrlApp(Integer value) {
|
||||||
|
for (ProcessTypeEnum enumObject : values()) {
|
||||||
|
if (enumObject.getValue().equals(value)) {
|
||||||
|
return enumObject.getFontReturnUrlApp();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+20
-3
@@ -6,6 +6,8 @@ import cn.hutool.core.date.DateTime;
|
|||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
import com.jero.common.api.PushWorkflowIntegrationAPI;
|
||||||
|
import com.jero.common.api.dto.message.HiworkTodoAdd;
|
||||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||||
import com.jero.common.system.vo.LoginUser;
|
import com.jero.common.system.vo.LoginUser;
|
||||||
import com.jero.modules.activiti.entity.ProcessAll;
|
import com.jero.modules.activiti.entity.ProcessAll;
|
||||||
@@ -20,7 +22,6 @@ import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
|||||||
import com.jero.modules.activiti.service.ProcessNodeService;
|
import com.jero.modules.activiti.service.ProcessNodeService;
|
||||||
import com.jero.modules.activiti.util.SpringContextUtil;
|
import com.jero.modules.activiti.util.SpringContextUtil;
|
||||||
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
import com.jero.modules.laws.common.util.CurrentUserUtil;
|
||||||
import lombok.Synchronized;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.activiti.engine.delegate.event.ActivitiEvent;
|
import org.activiti.engine.delegate.event.ActivitiEvent;
|
||||||
import org.activiti.engine.delegate.event.ActivitiEventListener;
|
import org.activiti.engine.delegate.event.ActivitiEventListener;
|
||||||
@@ -30,6 +31,7 @@ import org.activiti.engine.impl.persistence.entity.ExecutionEntityImpl;
|
|||||||
import org.activiti.engine.impl.persistence.entity.TaskEntity;
|
import org.activiti.engine.impl.persistence.entity.TaskEntity;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -149,7 +151,15 @@ public class MyGlobalEventListener implements ActivitiEventListener {
|
|||||||
approvalRecord.setCreateTime(createTime);
|
approvalRecord.setCreateTime(createTime);
|
||||||
approvalRecord.setNodeId(taskDefinitionKey);
|
approvalRecord.setNodeId(taskDefinitionKey);
|
||||||
recordService.save(approvalRecord);
|
recordService.save(approvalRecord);
|
||||||
// todo 对接统一平台生成待办任务
|
|
||||||
|
// 对接统一平台生成待办任务
|
||||||
|
PushWorkflowIntegrationAPI pushWorkflowIntegrationAPI = SpringContextUtil.getBean(PushWorkflowIntegrationAPI.class);
|
||||||
|
List<HiworkTodoAdd> list = new ArrayList<>();
|
||||||
|
HiworkTodoAdd hiworkTodoAdd = new HiworkTodoAdd();
|
||||||
|
hiworkTodoAdd.setRecordId(approvalRecord.getId());
|
||||||
|
hiworkTodoAdd.setProcessDefinitionId(processDefinitionId);
|
||||||
|
list.add(hiworkTodoAdd);
|
||||||
|
pushWorkflowIntegrationAPI.sendTodoTask(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void taskAssigned(ActivitiEvent event) {
|
private void taskAssigned(ActivitiEvent event) {
|
||||||
@@ -225,7 +235,14 @@ public class MyGlobalEventListener implements ActivitiEventListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
recordService.updateById(approvalRecord);
|
recordService.updateById(approvalRecord);
|
||||||
// todo 对接统一平台生成完成任务
|
// 对接统一平台生成完成任务
|
||||||
|
PushWorkflowIntegrationAPI pushWorkflowIntegrationAPI = SpringContextUtil.getBean(PushWorkflowIntegrationAPI.class);
|
||||||
|
List<HiworkTodoAdd> list = new ArrayList<>();
|
||||||
|
HiworkTodoAdd hiworkTodoAdd = new HiworkTodoAdd();
|
||||||
|
hiworkTodoAdd.setRecordId(approvalRecord.getId());
|
||||||
|
hiworkTodoAdd.setProcessDefinitionId(approvalRecord.getProcessInstanceId());
|
||||||
|
list.add(hiworkTodoAdd);
|
||||||
|
pushWorkflowIntegrationAPI.sendTodoTask(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void activityComplete(ActivitiEvent event) {
|
private void activityComplete(ActivitiEvent event) {
|
||||||
|
|||||||
@@ -405,6 +405,10 @@ hiwork:
|
|||||||
messageUrl: taskapi/task.basedata/notice/noticeCalls/send
|
messageUrl: taskapi/task.basedata/notice/noticeCalls/send
|
||||||
# 是否发送消息
|
# 是否发送消息
|
||||||
isSend: false
|
isSend: false
|
||||||
|
# 是否推送统一待办
|
||||||
|
isWorkflow: false
|
||||||
|
# 前端调用地址
|
||||||
|
fontUrl: http://localhost:3334/{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId}
|
||||||
|
|
||||||
# 汽车标准数字化平台ASMS
|
# 汽车标准数字化平台ASMS
|
||||||
asms:
|
asms:
|
||||||
|
|||||||
Reference in New Issue
Block a user