add 添加当前登录人单据列表,添加单据状态

This commit is contained in:
gssong 2023-06-23 16:03:07 +08:00
parent f0133aaba7
commit a953008087
7 changed files with 114 additions and 9 deletions

View File

@ -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;
}
/**
* 启动流程校验
*

View File

@ -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);
}
}

View File

@ -76,4 +76,14 @@ public class ProcessInstanceVo implements Serializable {
* 启动人id
*/
private String startUserId;
/**
* 流程状态
*/
private String businessStatus;
/**
* 流程状态
*/
private String businessStatusName;
}

View File

@ -96,4 +96,14 @@ public class TaskVo {
* 认领时间
*/
private Date claimTime;
/**
* 流程状态
*/
private String businessStatus;
/**
* 流程状态
*/
private String businessStatusName;
}

View File

@ -77,4 +77,12 @@ public interface IActProcessInstanceService {
* @return 结果
*/
boolean cancelProcessApply(String processInstanceId);
/**
* 分页查询当前登录人单据
*
* @param processInstanceBo 参数
* @return 结果
*/
TableDataInfo<ProcessInstanceVo> getCurrentSubmitByPage(ProcessInstanceBo processInstanceBo);
}

View File

@ -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);
}
}

View File

@ -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);