mirror of
https://github.com/dromara/RuoYi-Vue-Plus.git
synced 2025-09-30 07:06:39 +08:00
add 添加当前登录人单据列表,添加单据状态
This commit is contained in:
parent
f0133aaba7
commit
a953008087
@ -52,6 +52,24 @@ public enum BusinessStatusEnum {
|
||||
*/
|
||||
private final String desc;
|
||||
|
||||
/**
|
||||
* 获取业务状态
|
||||
*
|
||||
* @param status 状态
|
||||
*/
|
||||
public static String getEumByStatus(String status) {
|
||||
if (StringUtils.isBlank(status)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
for (BusinessStatusEnum statusEnum : BusinessStatusEnum.values()) {
|
||||
if (statusEnum.getStatus().equals(status)) {
|
||||
return statusEnum.getDesc();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 启动流程校验
|
||||
*
|
||||
|
@ -116,4 +116,14 @@ public class ActProcessInstanceController extends BaseController {
|
||||
public R<Void> cancelProcessApply(@NotBlank(message = "流程实例id不能为空") @PathVariable String processInstanceId) {
|
||||
return toAjax(iActProcessInstanceService.cancelProcessApply(processInstanceId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询当前登录人单据
|
||||
*
|
||||
* @param processInstanceBo 参数
|
||||
*/
|
||||
@GetMapping("/getCurrentSubmitByPage")
|
||||
public TableDataInfo<ProcessInstanceVo> getCurrentSubmitByPage(ProcessInstanceBo processInstanceBo) {
|
||||
return iActProcessInstanceService.getCurrentSubmitByPage(processInstanceBo);
|
||||
}
|
||||
}
|
||||
|
@ -76,4 +76,14 @@ public class ProcessInstanceVo implements Serializable {
|
||||
* 启动人id
|
||||
*/
|
||||
private String startUserId;
|
||||
|
||||
/**
|
||||
* 流程状态
|
||||
*/
|
||||
private String businessStatus;
|
||||
|
||||
/**
|
||||
* 流程状态
|
||||
*/
|
||||
private String businessStatusName;
|
||||
}
|
||||
|
@ -96,4 +96,14 @@ public class TaskVo {
|
||||
* 认领时间
|
||||
*/
|
||||
private Date claimTime;
|
||||
|
||||
/**
|
||||
* 流程状态
|
||||
*/
|
||||
private String businessStatus;
|
||||
|
||||
/**
|
||||
* 流程状态
|
||||
*/
|
||||
private String businessStatusName;
|
||||
}
|
||||
|
@ -77,4 +77,12 @@ public interface IActProcessInstanceService {
|
||||
* @return 结果
|
||||
*/
|
||||
boolean cancelProcessApply(String processInstanceId);
|
||||
|
||||
/**
|
||||
* 分页查询当前登录人单据
|
||||
*
|
||||
* @param processInstanceBo 参数
|
||||
* @return 结果
|
||||
*/
|
||||
TableDataInfo<ProcessInstanceVo> getCurrentSubmitByPage(ProcessInstanceBo processInstanceBo);
|
||||
}
|
||||
|
@ -97,6 +97,7 @@ public class ActProcessInstanceServiceImpl implements IActProcessInstanceService
|
||||
for (ProcessInstance processInstance : processInstances) {
|
||||
ProcessInstanceVo processInstanceVo = BeanUtil.toBean(processInstance, ProcessInstanceVo.class);
|
||||
processInstanceVo.setIsSuspended(processInstance.isSuspended());
|
||||
processInstanceVo.setBusinessStatusName(BusinessStatusEnum.getEumByStatus(processInstance.getBusinessStatus()));
|
||||
list.add(processInstanceVo);
|
||||
}
|
||||
long count = query.count();
|
||||
@ -125,7 +126,9 @@ public class ActProcessInstanceServiceImpl implements IActProcessInstanceService
|
||||
}
|
||||
List<HistoricProcessInstance> historicProcessInstances = query.listPage(processInstanceBo.getPageNum(), processInstanceBo.getPageSize());
|
||||
for (HistoricProcessInstance historicProcessInstance : historicProcessInstances) {
|
||||
list.add(BeanUtil.toBean(historicProcessInstance, ProcessInstanceVo.class));
|
||||
ProcessInstanceVo processInstanceVo = BeanUtil.toBean(historicProcessInstance, ProcessInstanceVo.class);
|
||||
processInstanceVo.setBusinessStatusName(BusinessStatusEnum.getEumByStatus(historicProcessInstance.getBusinessStatus()));
|
||||
list.add(processInstanceVo);
|
||||
}
|
||||
long count = query.count();
|
||||
return new TableDataInfo<>(list, count);
|
||||
@ -246,8 +249,10 @@ public class ActProcessInstanceServiceImpl implements IActProcessInstanceService
|
||||
//翻译人员名称
|
||||
if (CollUtil.isNotEmpty(actHistoryInfoVoList)) {
|
||||
actHistoryInfoVoList.forEach(e -> {
|
||||
SysUserVo sysUserVo = iSysUserService.selectUserById(Long.valueOf(e.getAssignee()));
|
||||
e.setNickName(ObjectUtil.isNotEmpty(sysUserVo) ? sysUserVo.getNickName() : "");
|
||||
if (StringUtils.isNotBlank(e.getAssignee())) {
|
||||
SysUserVo sysUserVo = iSysUserService.selectUserById(Long.valueOf(e.getAssignee()));
|
||||
e.setNickName(ObjectUtil.isNotEmpty(sysUserVo) ? sysUserVo.getNickName() : "");
|
||||
}
|
||||
});
|
||||
}
|
||||
List<ActHistoryInfoVo> nodeInfoList = new ArrayList<>();
|
||||
@ -436,4 +441,31 @@ public class ActProcessInstanceServiceImpl implements IActProcessInstanceService
|
||||
throw new ServiceException("撤销失败:" + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询当前登录人单据
|
||||
*
|
||||
* @param processInstanceBo 参数
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<ProcessInstanceVo> getCurrentSubmitByPage(ProcessInstanceBo processInstanceBo) {
|
||||
List<ProcessInstanceVo> list = new ArrayList<>();
|
||||
HistoricProcessInstanceQuery query = historyService.createHistoricProcessInstanceQuery();
|
||||
query.processInstanceTenantId(TenantHelper.getTenantId());
|
||||
query.startedBy(processInstanceBo.getStartUserId());
|
||||
if (StringUtils.isNotBlank(processInstanceBo.getName())) {
|
||||
query.processInstanceNameLikeIgnoreCase("%" + processInstanceBo.getName() + "%");
|
||||
}
|
||||
if (StringUtils.isNotBlank(processInstanceBo.getBusinessKey())) {
|
||||
query.processInstanceBusinessKey(processInstanceBo.getBusinessKey());
|
||||
}
|
||||
List<HistoricProcessInstance> historicProcessInstanceList = query.listPage(processInstanceBo.getPageNum(), processInstanceBo.getPageSize());
|
||||
for (HistoricProcessInstance processInstance : historicProcessInstanceList) {
|
||||
ProcessInstanceVo processInstanceVo = BeanUtil.toBean(processInstance, ProcessInstanceVo.class);
|
||||
processInstanceVo.setBusinessStatusName(BusinessStatusEnum.getEumByStatus(processInstance.getBusinessStatus()));
|
||||
list.add(processInstanceVo);
|
||||
}
|
||||
long count = query.count();
|
||||
return new TableDataInfo<>(list, count);
|
||||
}
|
||||
}
|
||||
|
@ -32,10 +32,7 @@ import org.flowable.task.service.impl.persistence.entity.TaskEntity;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 任务 服务层实现
|
||||
@ -169,9 +166,19 @@ public class ActTaskServiceImpl implements IActTaskService {
|
||||
query.taskNameLike("%" + taskBo.getName() + "%");
|
||||
}
|
||||
List<Task> taskList = query.listPage(taskBo.getPageNum(), taskBo.getPageSize());
|
||||
List<ProcessInstance> processInstanceList = null;
|
||||
if (CollUtil.isNotEmpty(taskList)) {
|
||||
Set<String> processInstanceIds = StreamUtils.toSet(taskList, Task::getProcessInstanceId);
|
||||
processInstanceList = runtimeService.createProcessInstanceQuery().processInstanceIds(processInstanceIds).list();
|
||||
}
|
||||
List<TaskVo> list = new ArrayList<>();
|
||||
for (Task task : taskList) {
|
||||
list.add(BeanUtil.toBean(task, TaskVo.class));
|
||||
TaskVo taskVo = BeanUtil.toBean(task, TaskVo.class);
|
||||
processInstanceList.stream().filter(e -> e.getId().equals(task.getProcessInstanceId())).findFirst().ifPresent(e -> {
|
||||
taskVo.setBusinessStatus(e.getBusinessStatus());
|
||||
taskVo.setBusinessStatusName(BusinessStatusEnum.getEumByStatus(taskVo.getBusinessStatus()));
|
||||
});
|
||||
list.add(taskVo);
|
||||
}
|
||||
long count = query.count();
|
||||
return new TableDataInfo<>(list, count);
|
||||
@ -191,9 +198,19 @@ public class ActTaskServiceImpl implements IActTaskService {
|
||||
query.taskNameLike("%" + taskBo.getName() + "%");
|
||||
}
|
||||
List<HistoricTaskInstance> taskInstanceList = query.listPage(taskBo.getPageNum(), taskBo.getPageSize());
|
||||
List<HistoricProcessInstance> historicProcessInstanceList = null;
|
||||
if (CollUtil.isNotEmpty(taskInstanceList)) {
|
||||
Set<String> processInstanceIds = StreamUtils.toSet(taskInstanceList, HistoricTaskInstance::getProcessInstanceId);
|
||||
historicProcessInstanceList = historyService.createHistoricProcessInstanceQuery().processInstanceIds(processInstanceIds).list();
|
||||
}
|
||||
List<TaskVo> list = new ArrayList<>();
|
||||
for (HistoricTaskInstance task : taskInstanceList) {
|
||||
list.add(BeanUtil.toBean(task, TaskVo.class));
|
||||
TaskVo taskVo = BeanUtil.toBean(task, TaskVo.class);
|
||||
historicProcessInstanceList.stream().filter(e -> e.getId().equals(task.getProcessInstanceId())).findFirst().ifPresent(e -> {
|
||||
taskVo.setBusinessStatus(e.getBusinessStatus());
|
||||
taskVo.setBusinessStatusName(BusinessStatusEnum.getEumByStatus(taskVo.getBusinessStatus()));
|
||||
});
|
||||
list.add(taskVo);
|
||||
}
|
||||
long count = query.count();
|
||||
return new TableDataInfo<>(list, count);
|
||||
|
Loading…
Reference in New Issue
Block a user