|
|
|
@ -396,16 +396,19 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional(rollbackFor = Exception.class, transactionManager = "dataSourceTransactionManager")
|
|
|
|
|
public void initCaseEvidenceDirectory(String caseId, String caseType) {
|
|
|
|
|
|
|
|
|
|
List<EvidenceCategoryDTO> evidenceCategoryDTOS = evidenceCategoryService.listCategoryTree(caseType);
|
|
|
|
|
List<EvidenceCategoryDTO> evidenceCategoryTree = evidenceCategoryService.listCategoryTree(caseType);
|
|
|
|
|
List<EvidenceDirectoryDTO> evidenceDirectoryTree = evidenceDirectoryService.listDirectoryTree(caseId);
|
|
|
|
|
|
|
|
|
|
initCaseEvidenceDirectory(evidenceCategoryDTOS, caseId, null);
|
|
|
|
|
initCaseEvidenceDirectory(evidenceCategoryTree,evidenceDirectoryTree,caseId, null);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional(rollbackFor = Exception.class, transactionManager = "dataSourceTransactionManager")
|
|
|
|
|
public void refreshCaseEvidence() {
|
|
|
|
|
log.info("开始初始化案件的证据目录。=========>>>>");
|
|
|
|
|
|
|
|
|
|
List<ModelCase> list = modelCaseService.list();
|
|
|
|
|
List<CaseEvidence> allEvidence = super.list();
|
|
|
|
@ -420,15 +423,9 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
|
|
|
|
|
"7", "5",/*视听资料*/
|
|
|
|
|
"8", "6"/*勘验笔录*/);
|
|
|
|
|
|
|
|
|
|
Set<String> findCaseIdSet = evidenceDirectoryService.list().stream().map(EvidenceDirectory::getCaseId).collect(Collectors.toSet());
|
|
|
|
|
|
|
|
|
|
for (ModelCase modelCase : list) {
|
|
|
|
|
String caseType = modelCase.getCaseType();
|
|
|
|
|
String id = modelCase.getId();
|
|
|
|
|
if (findCaseIdSet.contains(id)){
|
|
|
|
|
// 已经初始化一次的数据,不进行二次处理
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
// 开始初始化
|
|
|
|
|
initCaseEvidenceDirectory(id, caseType);
|
|
|
|
|
EvidenceDirectoryDTO rootDirectory = new EvidenceDirectoryDTO(listDirectoryTree(id));
|
|
|
|
@ -478,6 +475,7 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
log.info("<<<<=======初始化案件的证据目录完成。案件总条数:{}", list.size());
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1127,20 +1125,38 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
|
|
|
|
|
/**
|
|
|
|
|
* 初始化案件证据目录
|
|
|
|
|
*
|
|
|
|
|
* @param evidenceCategoryDTOS 证据分类
|
|
|
|
|
* @param evidenceCategoryTree 证据分类
|
|
|
|
|
* @param caseId 案件id
|
|
|
|
|
* @param parentId 父级目录id
|
|
|
|
|
* @param evidenceDirectoryTree 父级目录id
|
|
|
|
|
*/
|
|
|
|
|
/**
|
|
|
|
|
* 初始化案件证据目录
|
|
|
|
|
* @param evidenceCategoryTree 证据分类树
|
|
|
|
|
* @param evidenceDirectoryTree 父级目录树
|
|
|
|
|
* @param caseId 案件id
|
|
|
|
|
* @param parentId 父目录id
|
|
|
|
|
*/
|
|
|
|
|
private void initCaseEvidenceDirectory(List<EvidenceCategoryDTO> evidenceCategoryDTOS, String caseId, String parentId) {
|
|
|
|
|
for (EvidenceCategoryDTO evidenceCategoryDTO : evidenceCategoryDTOS) {
|
|
|
|
|
EvidenceDirectory evidenceDirectory = new EvidenceDirectory();
|
|
|
|
|
evidenceDirectory.setCaseId(caseId);
|
|
|
|
|
evidenceDirectory.setDirectoryName(evidenceCategoryDTO.getCategoryName());
|
|
|
|
|
evidenceDirectory.setCategoryId(evidenceCategoryDTO.getId());
|
|
|
|
|
evidenceDirectory.setParentId(parentId);
|
|
|
|
|
evidenceDirectoryService.save(evidenceDirectory);
|
|
|
|
|
private void initCaseEvidenceDirectory(List<EvidenceCategoryDTO> evidenceCategoryTree, List<EvidenceDirectoryDTO> evidenceDirectoryTree,String caseId,String parentId) {
|
|
|
|
|
if (null == evidenceDirectoryTree){
|
|
|
|
|
evidenceDirectoryTree = new ArrayList<>(1);
|
|
|
|
|
}
|
|
|
|
|
for (EvidenceCategoryDTO evidenceCategoryDTO : evidenceCategoryTree) {
|
|
|
|
|
List<EvidenceDirectoryDTO> directoryDTOS = evidenceDirectoryTree.stream().filter(evidenceDirectoryDTO -> evidenceDirectoryDTO.getCategoryId().equals(evidenceCategoryDTO.getId())).toList();
|
|
|
|
|
if (CollUtil.isEmpty(directoryDTOS)){
|
|
|
|
|
EvidenceDirectory evidenceDirectory = new EvidenceDirectory();
|
|
|
|
|
evidenceDirectory.setCaseId(caseId);
|
|
|
|
|
evidenceDirectory.setDirectoryName(evidenceCategoryDTO.getCategoryName());
|
|
|
|
|
evidenceDirectory.setCategoryId(evidenceCategoryDTO.getId());
|
|
|
|
|
evidenceDirectory.setParentId(parentId);
|
|
|
|
|
evidenceDirectoryService.save(evidenceDirectory);
|
|
|
|
|
EvidenceDirectoryDTO directoryDTO = new EvidenceDirectoryDTO(evidenceDirectory);
|
|
|
|
|
evidenceDirectoryTree.add(directoryDTO);
|
|
|
|
|
directoryDTOS = List.of(directoryDTO);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
EvidenceDirectoryDTO parentDTO = CollUtil.getFirst(directoryDTOS);
|
|
|
|
|
if (CollUtil.isNotEmpty(evidenceCategoryDTO.getChild())) {
|
|
|
|
|
initCaseEvidenceDirectory(evidenceCategoryDTO.getChild(), caseId, evidenceDirectory.getId());
|
|
|
|
|
initCaseEvidenceDirectory(evidenceCategoryDTO.getChild(),parentDTO.getChild(),caseId,parentDTO.getId());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|