From e57527bce79333c1aae4e8412b86b138de0ee13e Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Thu, 11 May 2023 20:00:14 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E5=BE=85=E5=8A=9E=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/TodoTaskController.java | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java index 67af73ba..6bd8258a 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java @@ -290,6 +290,91 @@ public class TodoTaskController extends BaseAction { return todoList; } + @ApiOperation(value = "我的待办任务列表首页") + @ApiImplicitParams({@ApiImplicitParam(name = "name", value = "名称"), + @ApiImplicitParam(name = "current", value = "当前页"), + @ApiImplicitParam(name = "size", value = "每页条数"), + @ApiImplicitParam(name = "userId", value = "用户Id")}) + @PostMapping("/todoTaskListShow") + public List todoTaskListByUserIdShow(@RequestBody TaskCommonQuery taskCommonQuery) { + // 创建查询对象 + NativeTaskQuery nativeTaskQuery = taskTodoService.createSql(taskCommonQuery); + int current = taskCommonQuery.getCurrent(); + int size = taskCommonQuery.getSize(); + + long total = nativeTaskQuery.list().size(); + if (ChkUtil.isNotNull(taskCommonQuery.getName()) || ChkUtil.isNotNull(taskCommonQuery.getStartTime()) + || ChkUtil.isNotNull(taskCommonQuery.getEndTime())) { + current = 1; + } + // 获取查询列表 +// List list = nativeTaskQuery.listPage((current - 1) * size, size); + List list = nativeTaskQuery.list(); + List> listEnd = ActivitiTools.turnTasks(list); + for (Map map : listEnd) { + ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(map.get("processDefinitionId") + "").singleResult(); + map.put("processInstanceName", processDefinition.getName()); + //接受任务时间 +// map.put("acceptTime",); + } + + Set prdSet = new HashSet(); + + Map>> resutMap = new LinkedHashMap<>(); + for (Map map : listEnd) { + String key = map.get("name").toString() + "," + map.get("processInstanceId").toString(); + if (resutMap.get(key) == null) { + List> value = new ArrayList<>(); + value.add(map); + resutMap.put(key, value); + } else { + List> value = resutMap.get(key); + value.add(map); + resutMap.put(key, value); + } + } + + List todoList = new ArrayList<>(); + for (Map.Entry>> entry : resutMap.entrySet()) { + String prcId = entry.getKey().split(",")[1]; + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("PRC_ID", prcId); + if (taskCommonQuery.getPrcNum() != null && !taskCommonQuery.getPrcNum().equals("")) { + queryWrapper.like("PRC_NUM", taskCommonQuery.getPrcNum()); + } + if (taskCommonQuery.getPrcName() != null && !taskCommonQuery.getPrcName().equals("")) { + queryWrapper.like("PRC_NAME", taskCommonQuery.getPrcName()); + } + if (taskCommonQuery.getPrcType() != null && !taskCommonQuery.getPrcType().equals("")) { + queryWrapper.eq("PRC_TYPE", taskCommonQuery.getPrcType()); + } + BusProcessName busProcessName = iBusProcessNameService.getOne(queryWrapper); + String taskIds = ""; + for (Map map : entry.getValue()) { + if (busProcessName != null) { + BusProcessName res=new BusProcessName(); + BeanUtils.copyProperties(busProcessName,res); + res.setTaskIds(map.get("id").toString()); + res.setTaskInfo(entry.getValue().get(0).get("name").toString()); + res.setTaskAssignee(entry.getValue().get(0).get("assignee").toString()); + res.setMes(null); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String data = sdf.format(entry.getValue().get(0).get("createTime")); + res.setAcceptTime(data); +// //获取新的流程名称 +// QueryWrapper queryWrapper1=new QueryWrapper<>(); +// queryWrapper1.eq("P_ID",res.getPrcId()); +// queryWrapper1.eq("TASK_ID",res.getTaskIds()); +// BusProcessNew busProcessNew=iBusProcessNewService.getOne(queryWrapper1); +// res.setPrcName(busProcessNew != null ? (StringUtils.isNotBlank(busProcessNew.getPrcName()) ? busProcessNew.getPrcName() : "") : "" ); + todoList.add(res); + } + } + + } + return todoList; + } + @ApiOperation(value = "我的待办任务列表速度优化项") @ApiImplicitParams({@ApiImplicitParam(name = "name", value = "名称"),