update 修改我的已办过滤抄送数据,添加已审批过得节点查询接口
This commit is contained in:
parent
5d38f4bb77
commit
e30e4fe447
@ -17,13 +17,13 @@ import org.dromara.workflow.domain.vo.TaskVo;
|
|||||||
import org.dromara.workflow.domain.vo.VariableVo;
|
import org.dromara.workflow.domain.vo.VariableVo;
|
||||||
import org.dromara.workflow.service.IActTaskService;
|
import org.dromara.workflow.service.IActTaskService;
|
||||||
import org.dromara.workflow.utils.QueryUtils;
|
import org.dromara.workflow.utils.QueryUtils;
|
||||||
import org.dromara.workflow.utils.WorkflowUtils;
|
|
||||||
import org.flowable.engine.TaskService;
|
import org.flowable.engine.TaskService;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 任务管理 控制层
|
* 任务管理 控制层
|
||||||
@ -257,4 +257,14 @@ public class ActTaskController extends BaseController {
|
|||||||
public R<List<VariableVo>> getProcessInstVariable(@PathVariable String taskId) {
|
public R<List<VariableVo>> getProcessInstVariable(@PathVariable String taskId) {
|
||||||
return R.ok(actTaskService.getInstanceVariable(taskId));
|
return R.ok(actTaskService.getInstanceVariable(taskId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取可驳回得任务节点
|
||||||
|
*
|
||||||
|
* @param processInstanceId 流程实例id
|
||||||
|
*/
|
||||||
|
@GetMapping("/getTaskNodeList/{processInstanceId}")
|
||||||
|
public R<Set<TaskVo>> getNodeList(@PathVariable String processInstanceId) {
|
||||||
|
return R.ok(actTaskService.getTaskNodeList(processInstanceId));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -81,6 +81,11 @@ public class TaskVo implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private Date createTime;
|
private Date createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 已办任务-创建时间
|
||||||
|
*/
|
||||||
|
private Date startTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 结束时间
|
* 结束时间
|
||||||
*/
|
*/
|
||||||
|
@ -27,6 +27,15 @@ public interface ActTaskMapper extends BaseMapperPlus<TaskVo, TaskVo> {
|
|||||||
*/
|
*/
|
||||||
Page<TaskVo> getTaskWaitByPage(@Param("page") Page<TaskVo> page, @Param(Constants.WRAPPER) Wrapper<TaskVo> queryWrapper);
|
Page<TaskVo> getTaskWaitByPage(@Param("page") Page<TaskVo> page, @Param(Constants.WRAPPER) Wrapper<TaskVo> queryWrapper);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取已办
|
||||||
|
*
|
||||||
|
* @param page 分页
|
||||||
|
* @param queryWrapper 条件
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
Page<TaskVo> getTaskFinishByPage(@Param("page") Page<TaskVo> page, @Param(Constants.WRAPPER) Wrapper<TaskVo> queryWrapper);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询当前用户的抄送
|
* 查询当前用户的抄送
|
||||||
*
|
*
|
||||||
|
@ -8,6 +8,7 @@ import org.dromara.workflow.domain.vo.VariableVo;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 任务 服务层
|
* 任务 服务层
|
||||||
@ -142,4 +143,12 @@ public interface IActTaskService {
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
List<VariableVo> getInstanceVariable(String taskId);
|
List<VariableVo> getInstanceVariable(String taskId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取可驳回得任务节点
|
||||||
|
*
|
||||||
|
* @param processInstanceId 流程实例id
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
Set<TaskVo> getTaskNodeList(String processInstanceId);
|
||||||
}
|
}
|
||||||
|
@ -336,39 +336,18 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
@Override
|
@Override
|
||||||
public TableDataInfo<TaskVo> getPageByTaskFinish(TaskBo taskBo, PageQuery pageQuery) {
|
public TableDataInfo<TaskVo> getPageByTaskFinish(TaskBo taskBo, PageQuery pageQuery) {
|
||||||
String userId = String.valueOf(LoginHelper.getUserId());
|
String userId = String.valueOf(LoginHelper.getUserId());
|
||||||
HistoricTaskInstanceQuery query = QueryUtils.hisTaskInstanceQuery();
|
QueryWrapper<TaskVo> queryWrapper = new QueryWrapper<>();
|
||||||
query.taskAssignee(userId).finished().orderByHistoricTaskInstanceStartTime().desc();
|
queryWrapper.like(StringUtils.isNotBlank(taskBo.getName()), "t.name_", taskBo.getName());
|
||||||
if (StringUtils.isNotBlank(taskBo.getName())) {
|
queryWrapper.like(StringUtils.isNotBlank(taskBo.getProcessDefinitionName()), "t.processDefinitionName", taskBo.getProcessDefinitionName());
|
||||||
query.taskNameLike("%" + taskBo.getName() + "%");
|
queryWrapper.eq(StringUtils.isNotBlank(taskBo.getProcessDefinitionKey()), "t.processDefinitionKey", taskBo.getProcessDefinitionKey());
|
||||||
|
queryWrapper.eq("t.assignee_", userId);
|
||||||
|
Page<TaskVo> page = actTaskMapper.getTaskFinishByPage(pageQuery.build(), queryWrapper);
|
||||||
|
|
||||||
|
List<TaskVo> taskList = page.getRecords();
|
||||||
|
for (TaskVo task : taskList) {
|
||||||
|
task.setBusinessStatusName(BusinessStatusEnum.findByStatus(task.getBusinessStatus()));
|
||||||
}
|
}
|
||||||
if (StringUtils.isNotBlank(taskBo.getProcessDefinitionName())) {
|
return new TableDataInfo<>(taskList, page.getTotal());
|
||||||
query.processDefinitionNameLike("%" + taskBo.getProcessDefinitionName() + "%");
|
|
||||||
}
|
|
||||||
if (StringUtils.isNotBlank(taskBo.getProcessDefinitionKey())) {
|
|
||||||
query.processDefinitionKey(taskBo.getProcessDefinitionKey());
|
|
||||||
}
|
|
||||||
List<HistoricTaskInstance> taskInstanceList = query.listPage(pageQuery.getFirstNum(), pageQuery.getPageSize());
|
|
||||||
List<HistoricProcessInstance> historicProcessInstanceList = null;
|
|
||||||
if (CollUtil.isNotEmpty(taskInstanceList)) {
|
|
||||||
Set<String> processInstanceIds = StreamUtils.toSet(taskInstanceList, HistoricTaskInstance::getProcessInstanceId);
|
|
||||||
historicProcessInstanceList = QueryUtils.hisInstanceQuery(processInstanceIds).list();
|
|
||||||
}
|
|
||||||
List<TaskVo> list = new ArrayList<>();
|
|
||||||
for (HistoricTaskInstance task : taskInstanceList) {
|
|
||||||
TaskVo taskVo = BeanUtil.toBean(task, TaskVo.class);
|
|
||||||
if (CollUtil.isNotEmpty(historicProcessInstanceList)) {
|
|
||||||
historicProcessInstanceList.stream().filter(e -> e.getId().equals(task.getProcessInstanceId())).findFirst().ifPresent(e -> {
|
|
||||||
taskVo.setBusinessStatus(e.getBusinessStatus());
|
|
||||||
taskVo.setBusinessStatusName(BusinessStatusEnum.findByStatus(taskVo.getBusinessStatus()));
|
|
||||||
taskVo.setProcessDefinitionKey(e.getProcessDefinitionKey());
|
|
||||||
taskVo.setProcessDefinitionName(e.getProcessDefinitionName());
|
|
||||||
});
|
|
||||||
}
|
|
||||||
taskVo.setAssignee(StringUtils.isNotBlank(task.getAssignee()) ? Long.valueOf(task.getAssignee()) : null);
|
|
||||||
list.add(taskVo);
|
|
||||||
}
|
|
||||||
long count = query.count();
|
|
||||||
return new TableDataInfo<>(list, count);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -742,4 +721,24 @@ public class ActTaskServiceImpl implements IActTaskService {
|
|||||||
}
|
}
|
||||||
return variableVoList;
|
return variableVoList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取可驳回得任务节点
|
||||||
|
*
|
||||||
|
* @param processInstanceId 流程实例id
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Set<TaskVo> getTaskNodeList(String processInstanceId) {
|
||||||
|
Set<TaskVo> list = new HashSet<>();
|
||||||
|
List<HistoricTaskInstance> historicTaskInstances = QueryUtils.hisTaskInstanceQuery(processInstanceId).orderByHistoricTaskInstanceEndTime().desc().list();
|
||||||
|
for (HistoricTaskInstance historicTaskInstance : historicTaskInstances) {
|
||||||
|
if (historicTaskInstance.getEndTime() != null) {
|
||||||
|
TaskVo taskVo = new TaskVo();
|
||||||
|
taskVo.setName(historicTaskInstance.getName());
|
||||||
|
taskVo.setTaskDefinitionKey(historicTaskInstance.getTaskDefinitionKey());
|
||||||
|
list.add(taskVo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="org.dromara.workflow.mapper.ActTaskMapper">
|
<mapper namespace="org.dromara.workflow.mapper.ActTaskMapper">
|
||||||
<resultMap type="org.dromara.workflow.domain.vo.TaskVo" id="TaskWaitingVoResult">
|
<resultMap type="org.dromara.workflow.domain.vo.TaskVo" id="TaskVoResult">
|
||||||
<result property="id" column="ID_"/>
|
<result property="id" column="ID_"/>
|
||||||
<result property="name" column="NAME_"/>
|
<result property="name" column="NAME_"/>
|
||||||
<result property="description" column="DESCRIPTION_"/>
|
<result property="description" column="DESCRIPTION_"/>
|
||||||
@ -15,6 +15,7 @@
|
|||||||
<result property="taskDefinitionId" column="TASK_DEF_ID_"/>
|
<result property="taskDefinitionId" column="TASK_DEF_ID_"/>
|
||||||
<result property="processDefinitionId" column="PROC_DEF_ID_"/>
|
<result property="processDefinitionId" column="PROC_DEF_ID_"/>
|
||||||
<result property="createTime" column="CREATE_TIME_"/>
|
<result property="createTime" column="CREATE_TIME_"/>
|
||||||
|
<result property="startTime" column="START_TIME_"/>
|
||||||
<result property="endTime" column="END_TIME_"/>
|
<result property="endTime" column="END_TIME_"/>
|
||||||
<result property="taskDefinitionKey" column="TASK_DEF_KEY_"/>
|
<result property="taskDefinitionKey" column="TASK_DEF_KEY_"/>
|
||||||
<result property="dueDate" column="DUE_DATE_"/>
|
<result property="dueDate" column="DUE_DATE_"/>
|
||||||
@ -28,7 +29,7 @@
|
|||||||
<result property="processDefinitionKey" column="processDefinitionName"/>
|
<result property="processDefinitionKey" column="processDefinitionName"/>
|
||||||
|
|
||||||
</resultMap>
|
</resultMap>
|
||||||
<select id="getTaskWaitByPage" resultMap="TaskWaitingVoResult">
|
<select id="getTaskWaitByPage" resultMap="TaskVoResult">
|
||||||
select *
|
select *
|
||||||
from (SELECT RES.*,
|
from (SELECT RES.*,
|
||||||
AHP.BUSINESS_STATUS_,
|
AHP.BUSINESS_STATUS_,
|
||||||
@ -41,7 +42,20 @@
|
|||||||
ORDER BY RES.CREATE_TIME_ DESC) t ${ew.getCustomSqlSegment}
|
ORDER BY RES.CREATE_TIME_ DESC) t ${ew.getCustomSqlSegment}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getTaskCopyByPage" resultMap="TaskWaitingVoResult">
|
<select id="getTaskFinishByPage" resultMap="TaskVoResult">
|
||||||
|
select *
|
||||||
|
from (SELECT HTI.*,
|
||||||
|
AHP.BUSINESS_STATUS_,
|
||||||
|
ARP.NAME_ AS processDefinitionName,
|
||||||
|
ARP.KEY_ AS processDefinitionKey
|
||||||
|
FROM ACT_HI_TASKINST HTI
|
||||||
|
INNER JOIN ACT_HI_PROCINST AHP ON HTI.PROC_INST_ID_ = AHP.PROC_INST_ID_
|
||||||
|
INNER JOIN ACT_RE_PROCDEF ARP ON ARP.ID_ = HTI.PROC_DEF_ID_
|
||||||
|
WHERE HTI.PARENT_TASK_ID_ IS NULL
|
||||||
|
ORDER BY HTI.START_TIME_ DESC) t ${ew.getCustomSqlSegment}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getTaskCopyByPage" resultMap="TaskVoResult">
|
||||||
select *
|
select *
|
||||||
from (SELECT AHT.*,
|
from (SELECT AHT.*,
|
||||||
AHP.BUSINESS_STATUS_,
|
AHP.BUSINESS_STATUS_,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user