|
|
|
@ -1,6 +1,7 @@
|
|
|
|
|
package com.supervision.police.service.impl;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
|
@ -214,12 +215,40 @@ public class NoteRecordSplitServiceImpl extends ServiceImpl<NoteRecordSplitMappe
|
|
|
|
|
// LinkedHashMap 保障顺序
|
|
|
|
|
Map<String, List<NoteRecordDetailDTO>> nameMap = list.stream().filter(item -> StringUtils.isNotBlank(item.getName())).map(item -> new NoteRecordDetailDTO(item, fileMap))
|
|
|
|
|
.collect(Collectors.groupingBy(NoteRecordDetailDTO::getName, LinkedHashMap::new, Collectors.toList()));
|
|
|
|
|
// 获取所有的task任务
|
|
|
|
|
List<CaseTaskRecord> taskList = caseTaskRecordService.lambdaQuery().eq(CaseTaskRecord::getCaseId, noteRecords.getCaseId()).list();
|
|
|
|
|
Map<String, CaseTaskRecord> taskRecordMap = taskList.stream().collect(Collectors.toMap(CaseTaskRecord::getRecordId, Function.identity(), (k1, k2) -> k1));
|
|
|
|
|
|
|
|
|
|
List<NoteRecordDetailDTO> res = new ArrayList<>();
|
|
|
|
|
for (String name : nameMap.keySet()) {
|
|
|
|
|
NoteRecordDetailDTO noteRecordDetailDTO = new NoteRecordDetailDTO();
|
|
|
|
|
noteRecordDetailDTO.setName(name);
|
|
|
|
|
noteRecordDetailDTO.setChildren(nameMap.get(name));
|
|
|
|
|
noteRecordDetailDTO.setConfessionMaterial(CollUtil.size(noteRecordDetailDTO.getFileList()));
|
|
|
|
|
|
|
|
|
|
List<NoteRecordDetailDTO> noteRecordDetailDTOS = nameMap.get(name);
|
|
|
|
|
int fileCount = 0;
|
|
|
|
|
for (NoteRecordDetailDTO recordDetailDTO : noteRecordDetailDTOS) {
|
|
|
|
|
fileCount = fileCount + recordDetailDTO.getFileList().size();
|
|
|
|
|
CaseTaskRecord caseTaskRecord = taskRecordMap.get(recordDetailDTO.getId());
|
|
|
|
|
if (ObjectUtil.isNotEmpty(caseTaskRecord)) {
|
|
|
|
|
if (caseTaskRecord.getStatus() == 2) {
|
|
|
|
|
recordDetailDTO.setPercentage("100%");
|
|
|
|
|
} else if (caseTaskRecord.getStatus() == 0) {
|
|
|
|
|
recordDetailDTO.setPercentage("0%");
|
|
|
|
|
} else {
|
|
|
|
|
if (caseTaskRecord.getTaskCount() == 0) {
|
|
|
|
|
recordDetailDTO.setPercentage("0%");
|
|
|
|
|
} else {
|
|
|
|
|
// 获取执行的数量
|
|
|
|
|
double v = caseTaskRecord.getFinishCount() * 100.0 / caseTaskRecord.getTaskCount();
|
|
|
|
|
// 不能超过100%
|
|
|
|
|
recordDetailDTO.setPercentage(String.format("%.2f%%", Math.min(v, 100)));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
noteRecordDetailDTO.setChildren(noteRecordDetailDTOS);
|
|
|
|
|
// 统计所有children的文件数量
|
|
|
|
|
noteRecordDetailDTO.setConfessionMaterial(fileCount);
|
|
|
|
|
res.add(noteRecordDetailDTO);
|
|
|
|
|
}
|
|
|
|
|
List<NoteRecordDetailDTO> pager = ListUtils.Pager(size, page, res);
|
|
|
|
|