1. 修复证据改造bug

topo_dev
xueqingkun 6 months ago
parent 653428e3e8
commit ae39e7428d

@ -108,6 +108,8 @@ public class CaseEvidenceDetailDTO {
}
this.fileId = caseEvidence.getFileId();
this.directoryId = caseEvidence.getDirectoryId();
this.updateTime = caseEvidence.getUpdateTime();
this.evidenceFormat = caseEvidence.getFileType();
}
this.fileList = fileList;
}
@ -152,14 +154,9 @@ public class CaseEvidenceDetailDTO {
* 12 3
* @param directory
*/
public void setEvidenceFormatValue(EvidenceDirectoryDTO directory,boolean ifFile){
if (ifFile){
this.evidenceFormat = CollUtil.getFirst(this.fileList).getFileType();
return;
}
public void setEvidenceFormatValue(EvidenceDirectoryDTO directory){
if (null == directory){
if (StrUtil.isNotEmpty(this.evidenceFormat) || null == directory){
return;
}
if (1 == directory.getLevel() || 2 == directory.getLevel()){

@ -59,6 +59,7 @@ public class EvidenceDirectoryDTO {
public EvidenceDirectoryDTO() {
}
public EvidenceDirectoryDTO(List<EvidenceDirectoryDTO> children) {
this.child = children;
}
public EvidenceDirectoryDTO(EvidenceDirectory directory){

@ -7,6 +7,8 @@ import com.supervision.police.dto.EvidenceDirectoryDTO;
import com.supervision.police.dto.EvidenceFileDTO;
import java.util.List;
import java.util.function.Consumer;
import java.util.function.Supplier;
/**
* @author Administrator
@ -45,4 +47,6 @@ public interface EvidenceDirectoryService extends IService<EvidenceDirectory> {
* @return
*/
List<CategoryPromptDTO> listCategoryPrompt(String caseId);
void removeDirectoryIf(String directoryId, Supplier<Boolean> condition);
}

@ -133,6 +133,13 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
boolean remove = super.lambdaUpdate().eq(CaseEvidence::getId, evidenceId).remove();
if (remove) {
evidenceFileService.lambdaUpdate().eq(EvidenceFile::getEvidenceId, evidenceId).remove();
// 同步删除文件夹
String caseId = caseEvidence.getCaseId();
List<EvidenceDirectoryDTO> evidenceDirectoryS = listDirectoryTree(caseId);
EvidenceDirectoryDTO directoryDTO = new EvidenceDirectoryDTO(evidenceDirectoryS);
EvidenceDirectoryDTO directory = directoryDTO.findDirectory(caseEvidence.getDirectoryId());
evidenceDirectoryService.removeDirectoryIf(directory.getId(),()->directory.getLevel() == 3);
caseStatusManageService.whenUpdateEvidence(caseEvidence.getCaseId());
}
} else {
@ -196,7 +203,7 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
comDictionaryService.getName(evidenceTypeDic, "evidence_type", caseEvidence.getEvidenceType()));
caseEvidenceDetailDTO.setContentTypeValue(recordFileDTOS);
EvidenceDirectoryDTO directory = evidenceDirectoryService.findDirectoryById(caseEvidence.getDirectoryId(), evidenceDirectoryDTOS);
caseEvidenceDetailDTO.setEvidenceFormatValue(directory, null != queryDirectory && queryDirectory.getLevel() == 3);
caseEvidenceDetailDTO.setEvidenceFormatValue(directory);
if (null != queryDirectory && queryDirectory.getLevel() == 3 && StrUtil.isNotEmpty(caseEvidence.getFileName())){
caseEvidenceDetailDTO.setEvidenceName(caseEvidence.getFileName().split("\\.")[0]);
}

@ -12,8 +12,8 @@ import com.supervision.police.service.EvidenceDirectoryService;
import com.supervision.police.mapper.EvidenceDirectoryMapper;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.function.Supplier;
import java.util.stream.Collectors;
/**
@ -59,7 +59,16 @@ public class EvidenceDirectoryServiceImpl extends ServiceImpl<EvidenceDirectoryM
if (CollUtil.isEmpty(directoryDTOS)){
return;
}
Map<String, List<EvidenceFileDTO>> fileMap = fileInfoList.stream().collect(Collectors.groupingBy(EvidenceFileDTO::getDirectoryId));
// 避免出现重复数据
Set<String> fileIds = new HashSet<>();
Map<String, List<EvidenceFileDTO>> fileMap = fileInfoList.stream().filter(item->{
if (fileIds.contains(item.getFileId())){
return false;
}
fileIds.add(item.getFileId());
return true;
}).collect(Collectors.groupingBy(EvidenceFileDTO::getDirectoryId));
for (EvidenceDirectoryDTO directoryDTO : directoryDTOS) {
//directoryDTO.appendChildDirectory();
directoryDTO.appendChildFile(fileMap);
@ -73,6 +82,14 @@ public class EvidenceDirectoryServiceImpl extends ServiceImpl<EvidenceDirectoryM
return super.getBaseMapper().listCategoryPrompt(caseId);
}
@Override
public void removeDirectoryIf(String directoryId, Supplier<Boolean> condition) {
if (condition.get()){
this.removeById(directoryId);
}
}
}

Loading…
Cancel
Save