From 6e22084bd569d3758e43b279745ef673c533b9b9 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 29 十一月 2024 22:28:13 +0800
Subject: [PATCH] 首页待办查询
---
business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java | 71 +++++++++++++++++++++++++++++++++++
1 files changed, 70 insertions(+), 1 deletions(-)
diff --git a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
index 03743a5..a13a46a 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
@@ -235,6 +235,75 @@
return ok;
}
+ @Override
+ public void getAllTodoTask(String taskName, int pageSize, int pageNum, Result result) {
+ TaskQuery taskQuery = taskService.createTaskQuery()
+ .active()
+ .includeProcessVariables()
+ .orderByTaskCreateTime().desc();
+
+ if (StringUtils.isNotBlank(taskName)) {
+ taskQuery.processDefinitionNameLike(taskName);
+ }
+ result.total(taskQuery.count());
+ List<Task> taskList = taskQuery.listPage(pageSize * (pageNum - 1), pageSize);
+ List<CustomerTaskVO> vos = new ArrayList<>();
+ for (Task task : taskList) {
+ CustomerTaskVO taskVO = new CustomerTaskVO();
+ // 褰撳墠娴佺▼淇℃伅
+ taskVO.setTaskId(task.getId());
+ taskVO.setCreateTime(task.getCreateTime());
+ taskVO.setProcessDefId(task.getProcessDefinitionId());
+ taskVO.setExecutionId(task.getExecutionId());
+ taskVO.setTaskName(task.getName());
+ taskVO.setTaskStatus(TaskStatusEnum.TODO);
+ // 娴佺▼瀹氫箟淇℃伅
+ ProcessDefinition pd = repositoryService.createProcessDefinitionQuery()
+ .processDefinitionId(task.getProcessDefinitionId())
+ .singleResult();
+ taskVO.setDeployId(pd.getDeploymentId());
+ taskVO.setProcessName(pd.getName());
+ taskVO.setProcessInsId(task.getProcessInstanceId());
+
+ // 娴佺▼鍙戣捣浜轰俊鎭�
+ HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
+ .processInstanceId(task.getProcessInstanceId())
+ .singleResult();
+ SysUser startUser = sysUserService.selectUserById(Long.parseLong(historicProcessInstance.getStartUserId()));
+ taskVO.setPromoterId(startUser.getUserId());
+ taskVO.setPromoterName(startUser.getNickName());
+ taskVO.setPromoterUnitName(Objects.nonNull(startUser.getDept()) ? startUser.getDept().getDeptName() : "");
+ taskVO.setPromoterUnitId(Objects.nonNull(startUser.getDept()) ? startUser.getDept().getDeptId() : null);
+ // 娴佺▼澶勭悊浜轰俊鎭�
+ List<IdentityLink> identityLinksForTask = taskService.getIdentityLinksForTask(task.getId());
+ for (IdentityLink identityLink : identityLinksForTask) {
+ // 缁戝畾鐨勬槸鐢ㄦ埛锛屾煡鍑虹敤鎴峰鍚嶃�侀儴闂�
+ if (StringUtils.isNotBlank(identityLink.getUserId())) {
+ SysUser sysUser = sysUserService.selectUserById(Long.parseLong(identityLink.getUserId()));
+ if (Objects.nonNull(sysUser)) {
+ taskVO.setHandlerId(sysUser.getUserId());
+ if (Objects.nonNull(sysUser.getDept())) {
+ taskVO.setHandlerUnitId(sysUser.getDept().getDeptId());
+ taskVO.setHandlerUnitName(sysUser.getDept().getDeptName());
+ }
+ taskVO.setHandlerName(sysUser.getNickName());
+ }
+ // 缁戝畾鐨勬槸瑙掕壊锛屾煡鍑鸿鑹插悕绉�
+ } else if (StringUtils.isNotBlank(identityLink.getGroupId())) {
+ SysRole role = sysRoleService.selectRoleById(Long.parseLong(identityLink.getGroupId()));
+ if (Objects.nonNull(role)) {
+ taskVO.setHandlerUnitId(Long.parseLong(identityLink.getGroupId()));
+ taskVO.setHandlerUnitName("鐢辨嫢鏈夎鑹诧細銆�" + role.getRoleName() + "銆戠殑浜哄鐞�");
+ taskVO.setHandlerName("鏆傛湭澶勭悊");
+ taskVO.setHandlerId(null);
+ }
+ }
+ }
+ vos.add(taskVO);
+ }
+ result.put("taskList", vos);
+ }
+
/**
* 鏌ヨ寰呭姙浠诲姟
*
@@ -244,7 +313,7 @@
* @param pageNum
* @param result
*/
- private void getTodoTaskList(String processInsId, String taskName, int pageSize, int pageNum, Result result) {
+ public void getTodoTaskList(String processInsId, String taskName, int pageSize, int pageNum, Result result) {
TaskQuery taskQuery = taskService.createTaskQuery()
.active()
.processInstanceId(processInsId)
--
Gitblit v1.8.0