update 增加通用接口 降低耦合
This commit is contained in:
parent
6ce92e1669
commit
9b507f06c4
@ -0,0 +1,71 @@
|
|||||||
|
package org.dromara.common.core.domain.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 业务与流程实例关联对象
|
||||||
|
*
|
||||||
|
* @author may
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class BusinessInstanceDTO implements Serializable {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程实例id
|
||||||
|
*/
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程定义id
|
||||||
|
*/
|
||||||
|
private String processDefinitionId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程定义名称
|
||||||
|
*/
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 业务id
|
||||||
|
*/
|
||||||
|
private String businessKey;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 租户id
|
||||||
|
*/
|
||||||
|
private String tenantId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 启动时间
|
||||||
|
*/
|
||||||
|
private Date startTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 结束时间
|
||||||
|
*/
|
||||||
|
private Date endTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 启动人id
|
||||||
|
*/
|
||||||
|
private String startUserId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程状态
|
||||||
|
*/
|
||||||
|
private String businessStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程状态
|
||||||
|
*/
|
||||||
|
private String businessStatusName;
|
||||||
|
}
|
@ -30,4 +30,21 @@ public interface WorkflowService {
|
|||||||
* @param businessKey 业务id
|
* @param businessKey 业务id
|
||||||
*/
|
*/
|
||||||
String getBusinessStatus(String businessKey);
|
String getBusinessStatus(String businessKey);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置流程实例对象
|
||||||
|
*
|
||||||
|
* @param obj 业务对象
|
||||||
|
* @param businessKey 业务id
|
||||||
|
*/
|
||||||
|
void setBusinessInstanceDTO(Object obj, String businessKey);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置流程实例对象
|
||||||
|
*
|
||||||
|
* @param obj 业务对象
|
||||||
|
* @param idList 业务id
|
||||||
|
* @param fieldName 主键属性名称
|
||||||
|
*/
|
||||||
|
void setBusinessInstanceListDTO(Object obj, List<String> idList, String fieldName);
|
||||||
}
|
}
|
||||||
|
@ -71,9 +71,9 @@ public interface FlowConstant {
|
|||||||
String ZIP = "ZIP";
|
String ZIP = "ZIP";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 流程实例对象
|
* 业务与流程实例关联对象
|
||||||
*/
|
*/
|
||||||
String PROCESS_INSTANCE_VO = "processInstanceVo";
|
String BUSINESS_INSTANCE_DTO = "businessInstanceDTO";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 流程定义配置
|
* 流程定义配置
|
||||||
|
@ -4,6 +4,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
|||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
import io.github.linpeilie.annotations.AutoMapper;
|
import io.github.linpeilie.annotations.AutoMapper;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.dromara.common.core.domain.dto.BusinessInstanceDTO;
|
||||||
import org.dromara.workflow.domain.TestLeave;
|
import org.dromara.workflow.domain.TestLeave;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
@ -62,9 +63,9 @@ public class TestLeaveVo implements Serializable {
|
|||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 流程实例对象
|
* 业务与流程实例关联对象
|
||||||
*/
|
*/
|
||||||
private ProcessInstanceVo processInstanceVo;
|
private BusinessInstanceDTO businessInstanceDTO;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -160,7 +160,7 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
public boolean completeTask(CompleteTaskBo completeTaskBo) {
|
public boolean completeTask(CompleteTaskBo completeTaskBo) {
|
||||||
try {
|
try {
|
||||||
String userId = String.valueOf(LoginHelper.getUserId());
|
String userId = String.valueOf(LoginHelper.getUserId());
|
||||||
Task task = WorkflowUtils.getTaskByCurrUser(completeTaskBo.getTaskId());
|
Task task = WorkflowUtils.getTaskByCurrentUser(completeTaskBo.getTaskId());
|
||||||
if (task == null) {
|
if (task == null) {
|
||||||
throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL);
|
throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL);
|
||||||
}
|
}
|
||||||
@ -463,7 +463,7 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public boolean delegateTask(DelegateBo delegateBo) {
|
public boolean delegateTask(DelegateBo delegateBo) {
|
||||||
Task task = WorkflowUtils.getTaskByCurrUser(delegateBo.getTaskId());
|
Task task = WorkflowUtils.getTaskByCurrentUser(delegateBo.getTaskId());
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(task)) {
|
if (ObjectUtil.isEmpty(task)) {
|
||||||
throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL);
|
throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL);
|
||||||
@ -537,7 +537,7 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean transferTask(TransmitBo transmitBo) {
|
public boolean transferTask(TransmitBo transmitBo) {
|
||||||
Task task = WorkflowUtils.getTaskByCurrUser(transmitBo.getTaskId());
|
Task task = WorkflowUtils.getTaskByCurrentUser(transmitBo.getTaskId());
|
||||||
if (ObjectUtil.isEmpty(task)) {
|
if (ObjectUtil.isEmpty(task)) {
|
||||||
throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL);
|
throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL);
|
||||||
}
|
}
|
||||||
@ -663,7 +663,7 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public String backProcess(BackProcessBo backProcessBo) {
|
public String backProcess(BackProcessBo backProcessBo) {
|
||||||
String userId = String.valueOf(LoginHelper.getUserId());
|
String userId = String.valueOf(LoginHelper.getUserId());
|
||||||
Task task = WorkflowUtils.getTaskByCurrUser(backProcessBo.getTaskId());
|
Task task = WorkflowUtils.getTaskByCurrentUser(backProcessBo.getTaskId());
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(task)) {
|
if (ObjectUtil.isEmpty(task)) {
|
||||||
throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL);
|
throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL);
|
||||||
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.dromara.common.core.service.WorkflowService;
|
||||||
import org.dromara.common.core.utils.MapstructUtils;
|
import org.dromara.common.core.utils.MapstructUtils;
|
||||||
import org.dromara.common.core.utils.StreamUtils;
|
import org.dromara.common.core.utils.StreamUtils;
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
@ -15,9 +16,7 @@ import org.dromara.workflow.domain.TestLeave;
|
|||||||
import org.dromara.workflow.domain.bo.TestLeaveBo;
|
import org.dromara.workflow.domain.bo.TestLeaveBo;
|
||||||
import org.dromara.workflow.domain.vo.TestLeaveVo;
|
import org.dromara.workflow.domain.vo.TestLeaveVo;
|
||||||
import org.dromara.workflow.mapper.TestLeaveMapper;
|
import org.dromara.workflow.mapper.TestLeaveMapper;
|
||||||
import org.dromara.workflow.service.IActProcessInstanceService;
|
|
||||||
import org.dromara.workflow.service.ITestLeaveService;
|
import org.dromara.workflow.service.ITestLeaveService;
|
||||||
import org.dromara.workflow.utils.WorkflowUtils;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
@ -35,7 +34,7 @@ import java.util.List;
|
|||||||
public class TestLeaveServiceImpl implements ITestLeaveService {
|
public class TestLeaveServiceImpl implements ITestLeaveService {
|
||||||
|
|
||||||
private final TestLeaveMapper baseMapper;
|
private final TestLeaveMapper baseMapper;
|
||||||
private final IActProcessInstanceService actProcessInstanceService;
|
private final WorkflowService workflowService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询请假
|
* 查询请假
|
||||||
@ -43,7 +42,7 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
|
|||||||
@Override
|
@Override
|
||||||
public TestLeaveVo queryById(Long id) {
|
public TestLeaveVo queryById(Long id) {
|
||||||
TestLeaveVo testLeaveVo = baseMapper.selectVoById(id);
|
TestLeaveVo testLeaveVo = baseMapper.selectVoById(id);
|
||||||
WorkflowUtils.setProcessInstanceVo(testLeaveVo, String.valueOf(id));
|
workflowService.setBusinessInstanceDTO(testLeaveVo, String.valueOf(id));
|
||||||
return testLeaveVo;
|
return testLeaveVo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -58,7 +57,7 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
|
|||||||
List<TestLeaveVo> rows = build.getRows();
|
List<TestLeaveVo> rows = build.getRows();
|
||||||
if (CollUtil.isNotEmpty(rows)) {
|
if (CollUtil.isNotEmpty(rows)) {
|
||||||
List<String> ids = StreamUtils.toList(rows, e -> String.valueOf(e.getId()));
|
List<String> ids = StreamUtils.toList(rows, e -> String.valueOf(e.getId()));
|
||||||
WorkflowUtils.setProcessInstanceListVo(rows, ids, "id");
|
workflowService.setBusinessInstanceListDTO(rows, ids, "id");
|
||||||
}
|
}
|
||||||
return build;
|
return build;
|
||||||
}
|
}
|
||||||
@ -92,7 +91,7 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
|
|||||||
bo.setId(add.getId());
|
bo.setId(add.getId());
|
||||||
}
|
}
|
||||||
TestLeaveVo testLeaveVo = MapstructUtils.convert(add, TestLeaveVo.class);
|
TestLeaveVo testLeaveVo = MapstructUtils.convert(add, TestLeaveVo.class);
|
||||||
WorkflowUtils.setProcessInstanceVo(testLeaveVo, String.valueOf(add.getId()));
|
workflowService.setBusinessInstanceDTO(testLeaveVo, String.valueOf(add.getId()));
|
||||||
return testLeaveVo;
|
return testLeaveVo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -104,7 +103,7 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
|
|||||||
TestLeave update = MapstructUtils.convert(bo, TestLeave.class);
|
TestLeave update = MapstructUtils.convert(bo, TestLeave.class);
|
||||||
baseMapper.updateById(update);
|
baseMapper.updateById(update);
|
||||||
TestLeaveVo testLeaveVo = MapstructUtils.convert(update, TestLeaveVo.class);
|
TestLeaveVo testLeaveVo = MapstructUtils.convert(update, TestLeaveVo.class);
|
||||||
WorkflowUtils.setProcessInstanceVo(testLeaveVo, String.valueOf(update.getId()));
|
workflowService.setBusinessInstanceDTO(testLeaveVo, String.valueOf(update.getId()));
|
||||||
return testLeaveVo;
|
return testLeaveVo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -115,7 +114,7 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
|
|||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Boolean deleteWithValidByIds(Collection<Long> ids) {
|
public Boolean deleteWithValidByIds(Collection<Long> ids) {
|
||||||
List<String> idList = StreamUtils.toList(ids, String::valueOf);
|
List<String> idList = StreamUtils.toList(ids, String::valueOf);
|
||||||
actProcessInstanceService.deleteRunAndHisInstance(idList);
|
workflowService.deleteRunAndHisInstance(idList);
|
||||||
return baseMapper.deleteBatchIds(ids) > 0;
|
return baseMapper.deleteBatchIds(ids) > 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -49,4 +49,27 @@ public class WorkflowServiceImpl implements WorkflowService {
|
|||||||
public String getBusinessStatus(String businessKey) {
|
public String getBusinessStatus(String businessKey) {
|
||||||
return WorkflowUtils.getBusinessStatus(businessKey);
|
return WorkflowUtils.getBusinessStatus(businessKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置流程实例对象
|
||||||
|
*
|
||||||
|
* @param obj 业务对象
|
||||||
|
* @param businessKey 业务id
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setBusinessInstanceDTO(Object obj, String businessKey) {
|
||||||
|
WorkflowUtils.setBusinessInstanceDTO(obj, businessKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置流程实例对象
|
||||||
|
*
|
||||||
|
* @param obj 业务对象
|
||||||
|
* @param idList 业务id
|
||||||
|
* @param fieldName 主键属性名称
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setBusinessInstanceListDTO(Object obj, List<String> idList, String fieldName) {
|
||||||
|
WorkflowUtils.setBusinessInstanceListDTO(obj, idList, fieldName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,7 @@ import cn.hutool.core.util.StrUtil;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import lombok.AccessLevel;
|
import lombok.AccessLevel;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import org.dromara.common.core.domain.dto.BusinessInstanceDTO;
|
||||||
import org.dromara.common.core.domain.dto.RoleDTO;
|
import org.dromara.common.core.domain.dto.RoleDTO;
|
||||||
import org.dromara.common.core.domain.dto.UserDTO;
|
import org.dromara.common.core.domain.dto.UserDTO;
|
||||||
import org.dromara.common.core.service.UserService;
|
import org.dromara.common.core.service.UserService;
|
||||||
@ -27,7 +28,6 @@ import org.dromara.workflow.domain.ActHiProcinst;
|
|||||||
import org.dromara.workflow.domain.ActHiTaskinst;
|
import org.dromara.workflow.domain.ActHiTaskinst;
|
||||||
import org.dromara.workflow.domain.vo.MultiInstanceVo;
|
import org.dromara.workflow.domain.vo.MultiInstanceVo;
|
||||||
import org.dromara.workflow.domain.vo.ParticipantVo;
|
import org.dromara.workflow.domain.vo.ParticipantVo;
|
||||||
import org.dromara.workflow.domain.vo.ProcessInstanceVo;
|
|
||||||
import org.dromara.workflow.flowable.cmd.UpdateHiTaskInstCmd;
|
import org.dromara.workflow.flowable.cmd.UpdateHiTaskInstCmd;
|
||||||
import org.dromara.workflow.mapper.ActHiTaskinstMapper;
|
import org.dromara.workflow.mapper.ActHiTaskinstMapper;
|
||||||
import org.dromara.workflow.service.IActHiProcinstService;
|
import org.dromara.workflow.service.IActHiProcinstService;
|
||||||
@ -46,7 +46,7 @@ import org.flowable.task.service.impl.persistence.entity.TaskEntity;
|
|||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
import static org.dromara.workflow.common.constant.FlowConstant.PROCESS_INSTANCE_VO;
|
import static org.dromara.workflow.common.constant.FlowConstant.BUSINESS_INSTANCE_DTO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 工作流工具
|
* 工作流工具
|
||||||
@ -241,20 +241,21 @@ public class WorkflowUtils {
|
|||||||
* @param obj 业务对象
|
* @param obj 业务对象
|
||||||
* @param businessKey 业务id
|
* @param businessKey 业务id
|
||||||
*/
|
*/
|
||||||
public static void setProcessInstanceVo(Object obj, String businessKey) {
|
public static void setBusinessInstanceDTO(Object obj, String businessKey) {
|
||||||
if (StringUtils.isBlank(businessKey) || obj == null) {
|
if (StringUtils.isBlank(businessKey) || obj == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ActHiProcinst actHiProcinst = ACT_HI_PROCINST_SERVICE.selectByBusinessKey(businessKey);
|
ActHiProcinst actHiProcinst = ACT_HI_PROCINST_SERVICE.selectByBusinessKey(businessKey);
|
||||||
if (actHiProcinst == null) {
|
if (actHiProcinst == null) {
|
||||||
ProcessInstanceVo processInstanceVo = new ProcessInstanceVo();
|
BusinessInstanceDTO businessInstanceDTO = new BusinessInstanceDTO();
|
||||||
processInstanceVo.setBusinessStatus(BusinessStatusEnum.DRAFT.getStatus());
|
businessInstanceDTO.setBusinessStatus(BusinessStatusEnum.DRAFT.getStatus());
|
||||||
ReflectUtils.invokeSetter(obj, PROCESS_INSTANCE_VO, processInstanceVo);
|
ReflectUtils.invokeSetter(obj, BUSINESS_INSTANCE_DTO, businessInstanceDTO);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ProcessInstanceVo processInstanceVo = BeanUtil.toBean(actHiProcinst, ProcessInstanceVo.class);
|
BusinessInstanceDTO businessInstanceDTO = BeanUtil.toBean(actHiProcinst, BusinessInstanceDTO.class);
|
||||||
processInstanceVo.setBusinessStatusName(BusinessStatusEnum.findByStatus(processInstanceVo.getBusinessStatus()));
|
businessInstanceDTO.setBusinessStatusName(BusinessStatusEnum.findByStatus(businessInstanceDTO.getBusinessStatus()));
|
||||||
ReflectUtils.invokeSetter(obj, PROCESS_INSTANCE_VO, processInstanceVo);
|
businessInstanceDTO.setProcessDefinitionId(actHiProcinst.getProcDefId());
|
||||||
|
ReflectUtils.invokeSetter(obj, BUSINESS_INSTANCE_DTO, businessInstanceDTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -264,7 +265,7 @@ public class WorkflowUtils {
|
|||||||
* @param idList 业务id
|
* @param idList 业务id
|
||||||
* @param fieldName 主键属性名称
|
* @param fieldName 主键属性名称
|
||||||
*/
|
*/
|
||||||
public static void setProcessInstanceListVo(Object obj, List<String> idList, String fieldName) {
|
public static void setBusinessInstanceListDTO(Object obj, List<String> idList, String fieldName) {
|
||||||
if (CollUtil.isEmpty(idList) || obj == null) {
|
if (CollUtil.isEmpty(idList) || obj == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -273,21 +274,22 @@ public class WorkflowUtils {
|
|||||||
for (Object o : collection) {
|
for (Object o : collection) {
|
||||||
String fieldValue = ReflectUtils.invokeGetter(o, fieldName).toString();
|
String fieldValue = ReflectUtils.invokeGetter(o, fieldName).toString();
|
||||||
if (CollUtil.isEmpty(actHiProcinstList)) {
|
if (CollUtil.isEmpty(actHiProcinstList)) {
|
||||||
ProcessInstanceVo processInstanceVo = new ProcessInstanceVo();
|
BusinessInstanceDTO businessInstanceDTO = new BusinessInstanceDTO();
|
||||||
processInstanceVo.setBusinessStatus(BusinessStatusEnum.DRAFT.getStatus());
|
businessInstanceDTO.setBusinessStatus(BusinessStatusEnum.DRAFT.getStatus());
|
||||||
processInstanceVo.setBusinessStatusName(BusinessStatusEnum.findByStatus(processInstanceVo.getBusinessStatus()));
|
businessInstanceDTO.setBusinessStatusName(BusinessStatusEnum.findByStatus(businessInstanceDTO.getBusinessStatus()));
|
||||||
ReflectUtils.invokeSetter(o, PROCESS_INSTANCE_VO, processInstanceVo);
|
ReflectUtils.invokeSetter(o, BUSINESS_INSTANCE_DTO, businessInstanceDTO);
|
||||||
} else {
|
} else {
|
||||||
ActHiProcinst actHiProcinst = actHiProcinstList.stream().filter(e -> e.getBusinessKey().equals(fieldValue)).findFirst().orElse(null);
|
ActHiProcinst actHiProcinst = actHiProcinstList.stream().filter(e -> e.getBusinessKey().equals(fieldValue)).findFirst().orElse(null);
|
||||||
if (ObjectUtil.isNotEmpty(actHiProcinst)) {
|
if (ObjectUtil.isNotEmpty(actHiProcinst)) {
|
||||||
ProcessInstanceVo processInstanceVo = BeanUtil.toBean(actHiProcinst, ProcessInstanceVo.class);
|
BusinessInstanceDTO businessInstanceDTO = BeanUtil.toBean(actHiProcinst, BusinessInstanceDTO.class);
|
||||||
processInstanceVo.setBusinessStatusName(BusinessStatusEnum.findByStatus(processInstanceVo.getBusinessStatus()));
|
businessInstanceDTO.setBusinessStatusName(BusinessStatusEnum.findByStatus(businessInstanceDTO.getBusinessStatus()));
|
||||||
ReflectUtils.invokeSetter(o, PROCESS_INSTANCE_VO, processInstanceVo);
|
businessInstanceDTO.setProcessDefinitionId(actHiProcinst.getProcDefId());
|
||||||
|
ReflectUtils.invokeSetter(o, BUSINESS_INSTANCE_DTO, businessInstanceDTO);
|
||||||
} else {
|
} else {
|
||||||
ProcessInstanceVo processInstanceVo = new ProcessInstanceVo();
|
BusinessInstanceDTO businessInstanceDTO = new BusinessInstanceDTO();
|
||||||
processInstanceVo.setBusinessStatus(BusinessStatusEnum.DRAFT.getStatus());
|
businessInstanceDTO.setBusinessStatus(BusinessStatusEnum.DRAFT.getStatus());
|
||||||
processInstanceVo.setBusinessStatusName(BusinessStatusEnum.findByStatus(processInstanceVo.getBusinessStatus()));
|
businessInstanceDTO.setBusinessStatusName(BusinessStatusEnum.findByStatus(businessInstanceDTO.getBusinessStatus()));
|
||||||
ReflectUtils.invokeSetter(o, PROCESS_INSTANCE_VO, processInstanceVo);
|
ReflectUtils.invokeSetter(o, BUSINESS_INSTANCE_DTO, businessInstanceDTO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -346,10 +348,11 @@ public class WorkflowUtils {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据任务id查询 当前用户的任务,检查 当前人员 是否是该 taskId 的办理人
|
* 根据任务id查询 当前用户的任务,检查 当前人员 是否是该 taskId 的办理人
|
||||||
|
*
|
||||||
* @param taskId 任务id
|
* @param taskId 任务id
|
||||||
* @return
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public static Task getTaskByCurrUser(String taskId){
|
public static Task getTaskByCurrentUser(String taskId) {
|
||||||
TaskQuery taskQuery = QueryUtils.taskQuery();
|
TaskQuery taskQuery = QueryUtils.taskQuery();
|
||||||
taskQuery.taskId(taskId).taskCandidateOrAssigned(String.valueOf(LoginHelper.getUserId()));
|
taskQuery.taskId(taskId).taskCandidateOrAssigned(String.valueOf(LoginHelper.getUserId()));
|
||||||
|
|
||||||
@ -358,8 +361,6 @@ public class WorkflowUtils {
|
|||||||
List<String> groupIds = StreamUtils.toList(roles, e -> String.valueOf(e.getRoleId()));
|
List<String> groupIds = StreamUtils.toList(roles, e -> String.valueOf(e.getRoleId()));
|
||||||
taskQuery.taskCandidateGroupIn(groupIds);
|
taskQuery.taskCandidateGroupIn(groupIds);
|
||||||
}
|
}
|
||||||
Task task = taskQuery.singleResult();
|
return taskQuery.singleResult();
|
||||||
|
|
||||||
return task;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user