From 32beb17997328ddd30a4ecc57486856583f4000f Mon Sep 17 00:00:00 2001 From: lijiarao Date: Mon, 5 Feb 2024 10:16:23 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E4=BC=98=E5=8C=96=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E6=9F=A5=E8=AF=A2=E9=80=9F=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activiti/mapper/xml/ProcessAllMapper.xml | 82 +++++++++++-------- .../activiti/service/ProcessAllService.java | 21 ++++- 2 files changed, 67 insertions(+), 36 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/mapper/xml/ProcessAllMapper.xml b/laws-modules/src/main/java/com/jero/modules/activiti/mapper/xml/ProcessAllMapper.xml index 21a8066a..712e1ac9 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/mapper/xml/ProcessAllMapper.xml +++ b/laws-modules/src/main/java/com/jero/modules/activiti/mapper/xml/ProcessAllMapper.xml @@ -2,20 +2,45 @@ - + - order by receivedTaskTime + order by received_task_time + + desc + + + + + + + order by par.create_time desc @@ -79,7 +97,7 @@ pa.end_time, pa.over_time, pa.project_id, - pa.received_task_time as receivedTaskTime, + pa.received_task_time, pa.completed_task_time from process_all pa ${ew.customSqlSegment} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java index b2569a11..7444784e 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java @@ -105,7 +105,7 @@ public class ProcessAllService extends ServiceImpl List records = completedList.getRecords(); List collect = records.stream().map(ProcessAll::getProcessInstanceId).collect(Collectors.toList()); QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.select("process_instance_id","group_concat(user_id) as user_id"); + wrapper.select("process_instance_id","group_concat(distinct user_id) as user_id"); wrapper.lambda().in(ProcessApprovalRecord::getProcessInstanceId,collect) .eq(ProcessApprovalRecord::getFinishFlag,FinishFlagEnum.INCOMPLETE.getValue()) .eq(ProcessApprovalRecord::getOverDue, YesOrNoEnum.NO.getValue()) @@ -121,7 +121,20 @@ public class ProcessAllService extends ServiceImpl public IPage getSentList(Page page, QueryWrapper queryWrapper, HttpServletRequest req) { String column = req.getParameter("column"); String order = req.getParameter("order"); - return processAllMapper.getSentList(page,queryWrapper,column,order); + IPage sentList = processAllMapper.getSentList(page, queryWrapper, column, order); + List records = sentList.getRecords(); + List collect = records.stream().map(ProcessAll::getProcessInstanceId).collect(Collectors.toList()); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.select("process_instance_id","group_concat(distinct user_id) as user_id"); + wrapper.lambda().in(ProcessApprovalRecord::getProcessInstanceId,collect) + .eq(ProcessApprovalRecord::getFinishFlag,FinishFlagEnum.INCOMPLETE.getValue()) + .groupBy(ProcessApprovalRecord::getProcessInstanceId); + List approvalRecordList = approvalRecordService.list(wrapper); + Map userMap = CollStreamUtil.toMap(approvalRecordList, ProcessApprovalRecord::getProcessInstanceId, ProcessApprovalRecord::getUserId); + for (ProcessAll record : records) { + record.setHandleUserId(userMap.get(record.getProcessInstanceId())); + } + return sentList; } public IPage getAllList(Page page, QueryWrapper queryWrapper, HttpServletRequest req) { @@ -134,7 +147,7 @@ public class ProcessAllService extends ServiceImpl List incompleteRecordList = new ArrayList<>(); if (!incompleteCollect.isEmpty()) { QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.select("process_instance_id","group_concat(user_id) as user_id"); + wrapper.select("process_instance_id","group_concat(distinct user_id) as user_id"); wrapper.lambda().in(ProcessApprovalRecord::getProcessInstanceId,incompleteCollect) .eq(ProcessApprovalRecord::getFinishFlag,FinishFlagEnum.INCOMPLETE.getValue()) .groupBy(ProcessApprovalRecord::getProcessInstanceId); @@ -146,7 +159,7 @@ public class ProcessAllService extends ServiceImpl List withdrawnRecordList = new ArrayList<>(); if (!withdrawnCollect.isEmpty()){ QueryWrapper wrapper1 = new QueryWrapper<>(); - wrapper1.select("process_instance_id","group_concat(user_id) as user_id"); + wrapper1.select("process_instance_id","group_concat(distinct user_id) as user_id"); wrapper1.lambda().in(ProcessApprovalRecord::getProcessInstanceId,withdrawnCollect) .eq(ProcessApprovalRecord::getFinishFlag,FinishFlagEnum.WITHDRAWN.getValue()) .groupBy(ProcessApprovalRecord::getProcessInstanceId);