1. 修复证据改造bug

topo_dev
xueqingkun 8 months ago
parent 653428e3e8
commit ae39e7428d

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

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

@ -7,6 +7,8 @@ import com.supervision.police.dto.EvidenceDirectoryDTO;
import com.supervision.police.dto.EvidenceFileDTO; import com.supervision.police.dto.EvidenceFileDTO;
import java.util.List; import java.util.List;
import java.util.function.Consumer;
import java.util.function.Supplier;
/** /**
* @author Administrator * @author Administrator
@ -45,4 +47,6 @@ public interface EvidenceDirectoryService extends IService<EvidenceDirectory> {
* @return * @return
*/ */
List<CategoryPromptDTO> listCategoryPrompt(String caseId); 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(); boolean remove = super.lambdaUpdate().eq(CaseEvidence::getId, evidenceId).remove();
if (remove) { if (remove) {
evidenceFileService.lambdaUpdate().eq(EvidenceFile::getEvidenceId, evidenceId).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()); caseStatusManageService.whenUpdateEvidence(caseEvidence.getCaseId());
} }
} else { } else {
@ -196,7 +203,7 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
comDictionaryService.getName(evidenceTypeDic, "evidence_type", caseEvidence.getEvidenceType())); comDictionaryService.getName(evidenceTypeDic, "evidence_type", caseEvidence.getEvidenceType()));
caseEvidenceDetailDTO.setContentTypeValue(recordFileDTOS); caseEvidenceDetailDTO.setContentTypeValue(recordFileDTOS);
EvidenceDirectoryDTO directory = evidenceDirectoryService.findDirectoryById(caseEvidence.getDirectoryId(), evidenceDirectoryDTOS); 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())){ if (null != queryDirectory && queryDirectory.getLevel() == 3 && StrUtil.isNotEmpty(caseEvidence.getFileName())){
caseEvidenceDetailDTO.setEvidenceName(caseEvidence.getFileName().split("\\.")[0]); caseEvidenceDetailDTO.setEvidenceName(caseEvidence.getFileName().split("\\.")[0]);
} }

@ -12,8 +12,8 @@ import com.supervision.police.service.EvidenceDirectoryService;
import com.supervision.police.mapper.EvidenceDirectoryMapper; import com.supervision.police.mapper.EvidenceDirectoryMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.*;
import java.util.Map; import java.util.function.Supplier;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -59,7 +59,16 @@ public class EvidenceDirectoryServiceImpl extends ServiceImpl<EvidenceDirectoryM
if (CollUtil.isEmpty(directoryDTOS)){ if (CollUtil.isEmpty(directoryDTOS)){
return; 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) { for (EvidenceDirectoryDTO directoryDTO : directoryDTOS) {
//directoryDTO.appendChildDirectory(); //directoryDTO.appendChildDirectory();
directoryDTO.appendChildFile(fileMap); directoryDTO.appendChildFile(fileMap);
@ -73,6 +82,14 @@ public class EvidenceDirectoryServiceImpl extends ServiceImpl<EvidenceDirectoryM
return super.getBaseMapper().listCategoryPrompt(caseId); return super.getBaseMapper().listCategoryPrompt(caseId);
} }
@Override
public void removeDirectoryIf(String directoryId, Supplier<Boolean> condition) {
if (condition.get()){
this.removeById(directoryId);
}
}
} }

Loading…
Cancel
Save