|
|
|
@ -2,6 +2,8 @@ package com.supervision.police.service.impl;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
|
|
import cn.hutool.core.date.TimeInterval;
|
|
|
|
|
import cn.hutool.core.lang.Assert;
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
|
@ -413,7 +415,6 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional(rollbackFor = Exception.class, transactionManager = "dataSourceTransactionManager")
|
|
|
|
|
public void refreshCaseEvidence() {
|
|
|
|
|
log.info("开始初始化案件的证据目录。=========>>>>");
|
|
|
|
|
|
|
|
|
@ -430,7 +431,31 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
|
|
|
|
|
"7", "5",/*视听资料*/
|
|
|
|
|
"8", "6"/*勘验笔录*/);
|
|
|
|
|
|
|
|
|
|
TimeInterval interval = DateUtil.timer();
|
|
|
|
|
interval.start();
|
|
|
|
|
int successCount = 0;
|
|
|
|
|
int errorCount = 0;
|
|
|
|
|
int index = 0;
|
|
|
|
|
for (ModelCase modelCase : list) {
|
|
|
|
|
interval.start(modelCase.getId());
|
|
|
|
|
log.info("开始初始化案件【{}】的目录。", modelCase.getCaseName());
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
((CaseEvidenceService) AopContext.currentProxy()).doReplaceEvidence(modelCase, allEvidence, catagroyMap, allFile);
|
|
|
|
|
successCount++;
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("案件{}的目录初始化失败。案件id:{}", modelCase.getCaseName(), modelCase.getId(),e);
|
|
|
|
|
errorCount++;
|
|
|
|
|
}
|
|
|
|
|
index += 1;
|
|
|
|
|
log.info("案件【{}】的目录初始化完成。耗时:{}秒,占总体进度:{}%", modelCase.getCaseName(),interval.intervalSecond(modelCase.getId()),index/(list.size()*1.0)*100);
|
|
|
|
|
}
|
|
|
|
|
log.info("<<<<=======初始化案件的证据目录完成。案件总条数:{},总耗时:{}秒,成功个数:{},失败个数:{}", list.size(),interval.intervalSecond(),successCount,errorCount);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class, transactionManager = "dataSourceTransactionManager",propagation = Propagation.REQUIRES_NEW)
|
|
|
|
|
public void doReplaceEvidence(ModelCase modelCase, List<CaseEvidence> allEvidence, Map<String, String> catagroyMap, List<EvidenceFile> allFile) {
|
|
|
|
|
String caseType = modelCase.getCaseType();
|
|
|
|
|
String id = modelCase.getId();
|
|
|
|
|
// 开始初始化
|
|
|
|
@ -438,6 +463,7 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
|
|
|
|
|
EvidenceDirectoryDTO rootDirectory = new EvidenceDirectoryDTO(listDirectoryTree(id));
|
|
|
|
|
|
|
|
|
|
List<CaseEvidence> evidenceList = allEvidence.stream().filter(ce -> StrUtil.equals(ce.getCaseId(), id)).toList();
|
|
|
|
|
log.info("案件{}证据总数:{}", modelCase.getCaseName(), evidenceList.size());
|
|
|
|
|
for (CaseEvidence caseEvidence : evidenceList) {
|
|
|
|
|
String directoryId = caseEvidence.getDirectoryId();
|
|
|
|
|
if (StrUtil.isNotEmpty(directoryId)){
|
|
|
|
@ -482,9 +508,6 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
log.info("<<<<=======初始化案件的证据目录完成。案件总条数:{}", list.size());
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private EvidenceDirectoryDTO findTopDirectory(EvidenceDirectoryDTO rootDirectory, String categoryId) {
|
|
|
|
|
if (StrUtil.equals(rootDirectory.getCategoryId(), categoryId)){
|
|
|
|
|