fix 80442 已办性能未达标,登录人1k数据量,界面上点击查询接口时已超3s
This commit is contained in:
+24
-14
@@ -19,23 +19,33 @@
|
||||
</select>
|
||||
|
||||
<select id="getCompletedList" resultType="com.jero.modules.activiti.entity.ProcessAll">
|
||||
select p.*,
|
||||
group_concat(par.user_id) as handleUserId
|
||||
from (
|
||||
select pa.*,
|
||||
max(par.create_time) as receivedTaskTime,
|
||||
max(par.end_time) as completedTaskTime
|
||||
from process_all pa
|
||||
left join process_approval_record par on pa.process_instance_id = par.process_instance_id
|
||||
${ew.customSqlSegment}
|
||||
) p
|
||||
LEFT JOIN (
|
||||
SELECT user_id,process_instance_id from process_approval_record WHERE finish_flag = 1
|
||||
) par ON p.process_instance_id = par.process_instance_id
|
||||
group by p.process_instance_id
|
||||
select pa.*,
|
||||
max(par.create_time) as receivedTaskTime,
|
||||
max(par.end_time) as completedTaskTime
|
||||
from process_all pa
|
||||
left join process_approval_record par on pa.process_instance_id = par.process_instance_id
|
||||
${ew.customSqlSegment}
|
||||
<include refid="order"/>
|
||||
</select>
|
||||
|
||||
<!-- <select id="getCompletedList" resultType="com.jero.modules.activiti.entity.ProcessAll">-->
|
||||
<!-- select p.*,-->
|
||||
<!-- group_concat(par.user_id) as handleUserId-->
|
||||
<!-- from (-->
|
||||
<!-- select pa.*,-->
|
||||
<!-- max(par.create_time) as receivedTaskTime,-->
|
||||
<!-- max(par.end_time) as completedTaskTime-->
|
||||
<!-- from process_all pa-->
|
||||
<!-- left join process_approval_record par on pa.process_instance_id = par.process_instance_id-->
|
||||
<!-- ${ew.customSqlSegment}-->
|
||||
<!-- ) p-->
|
||||
<!-- LEFT JOIN (-->
|
||||
<!-- SELECT user_id,process_instance_id from process_approval_record WHERE finish_flag = 1-->
|
||||
<!-- ) par ON p.process_instance_id = par.process_instance_id-->
|
||||
<!-- group by p.process_instance_id-->
|
||||
<!-- <include refid="order"/>-->
|
||||
<!-- </select>-->
|
||||
|
||||
<select id="getSentList" resultType="com.jero.modules.activiti.entity.ProcessAll">
|
||||
select p.*, group_concat(par.user_id) as handleUserId
|
||||
from (
|
||||
|
||||
+14
-1
@@ -107,7 +107,20 @@ public class ProcessAllService extends ServiceImpl<ProcessAllMapper, ProcessAll>
|
||||
public IPage<ProcessAll> getCompletedList(Page<ProcessAll> page, QueryWrapper<ProcessAll> queryWrapper, HttpServletRequest req) {
|
||||
String column = req.getParameter("column");
|
||||
String order = req.getParameter("order");
|
||||
return processAllMapper.getCompletedList(page,queryWrapper,column,order);
|
||||
IPage<ProcessAll> completedList = processAllMapper.getCompletedList(page, queryWrapper, column, order);
|
||||
List<ProcessAll> records = completedList.getRecords();
|
||||
List<String> collect = records.stream().map(ProcessAll::getProcessInstanceId).collect(Collectors.toList());
|
||||
QueryWrapper<ProcessApprovalRecord> wrapper = new QueryWrapper<>();
|
||||
wrapper.select("process_instance_id","group_concat(user_id) as user_id");
|
||||
wrapper.lambda().in(ProcessApprovalRecord::getProcessInstanceId,collect)
|
||||
.eq(ProcessApprovalRecord::getFinishFlag,FinishFlagEnum.INCOMPLETE.getValue())
|
||||
.groupBy(ProcessApprovalRecord::getProcessInstanceId);
|
||||
List<ProcessApprovalRecord> approvalRecordList = approvalRecordService.list(wrapper);
|
||||
Map<String, String> userMap = CollStreamUtil.toMap(approvalRecordList, ProcessApprovalRecord::getProcessInstanceId, ProcessApprovalRecord::getUserId);
|
||||
for (ProcessAll record : records) {
|
||||
record.setHandleUserId(userMap.get(record.getProcessInstanceId()));
|
||||
}
|
||||
return completedList;
|
||||
}
|
||||
|
||||
public IPage<ProcessAll> getSentList(Page<ProcessAll> page, QueryWrapper<ProcessAll> queryWrapper, HttpServletRequest req) {
|
||||
|
||||
Reference in New Issue
Block a user