|
|
|
@ -586,6 +586,7 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
|
|
|
|
|
List<EvidenceFileDTO> ocrFileDTOList = evidenceList.stream().filter(
|
|
|
|
|
// 当前目录下不是所有文件都是新增
|
|
|
|
|
evidenceDetail-> !evidenceDetail.getFileList().stream().allMatch(file -> StrUtil.equalsAny(file.getUpdateStatus(), "1", "-1"))
|
|
|
|
|
|| evidenceDetail.getDirectoryLevel() < 3
|
|
|
|
|
)
|
|
|
|
|
.flatMap(evidenceDetailDTO -> evidenceDetailDTO.getFileList().stream().filter(file -> StrUtil.equals(file.getUpdateStatus(), "1"))).toList();
|
|
|
|
|
if (CollUtil.isNotEmpty(ocrFileDTOList)){
|
|
|
|
@ -596,7 +597,9 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
|
|
|
|
|
for (Map.Entry<String, List<EvidenceFileDTO>> entry : evidenceMap.entrySet()) {
|
|
|
|
|
String evidenceId = entry.getKey();
|
|
|
|
|
// 首先统一更新为正在处理
|
|
|
|
|
updateEvidenceAppendProcessingNewTransaction(evidenceId,"1");
|
|
|
|
|
CaseEvidence one = this.lambdaQuery().eq(CaseEvidence::getId, evidenceId).one();
|
|
|
|
|
|
|
|
|
|
updateEvidenceAppendProcessingNewTransaction(evidenceId,one.getProcessStatus(),"1");
|
|
|
|
|
}
|
|
|
|
|
for (Map.Entry<String, List<EvidenceFileDTO>> entry : evidenceMap.entrySet()) {
|
|
|
|
|
|
|
|
|
@ -605,13 +608,15 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
|
|
|
|
|
for (EvidenceFileDTO evidenceFileDTO : value) {
|
|
|
|
|
fileOcrProcessService.multipleTypeOcrProcess(List.of(evidenceFileDTO.getFileId()),evidenceFileDTO.getFileType());
|
|
|
|
|
}
|
|
|
|
|
updateEvidenceAppendProcessingNewTransaction(evidenceId,"0");
|
|
|
|
|
log.info("ocrAndExtract:证据:{} 文件内容识别完成", evidenceId);
|
|
|
|
|
updateEvidenceAppendProcessingNewTransaction(evidenceId,EvidenceConstants.PROCESS_STATUS_SUCCESS,"0");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Set<String> evidenceIds = evidenceList.stream().filter(
|
|
|
|
|
// 当前目录下不是所有文件都是新增
|
|
|
|
|
evidenceDetail -> evidenceDetail.getFileList().stream().allMatch(file -> StrUtil.equalsAny(file.getUpdateStatus(), "1", "-1"))
|
|
|
|
|
&& evidenceDetail.getDirectoryLevel() == 3
|
|
|
|
|
)
|
|
|
|
|
.flatMap(evidenceDetailDTO -> evidenceDetailDTO.getFileList().stream().filter(file -> StrUtil.equals(file.getUpdateStatus(), "1"))
|
|
|
|
|
.map(EvidenceFileDTO::getEvidenceId)).collect(Collectors.toSet());
|
|
|
|
@ -625,8 +630,9 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional(transactionManager = "dataSourceTransactionManager", rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW)
|
|
|
|
|
public void updateEvidenceAppendProcessingNewTransaction(String evidenceId, String appendProcessing) {
|
|
|
|
|
public void updateEvidenceAppendProcessingNewTransaction(String evidenceId, String status,String appendProcessing) {
|
|
|
|
|
this.lambdaUpdate().eq(CaseEvidence::getId, evidenceId)
|
|
|
|
|
.set(StrUtil.isNotEmpty(status),CaseEvidence::getProcessStatus, status)
|
|
|
|
|
.set(CaseEvidence::getAppendProcessing, appendProcessing)
|
|
|
|
|
.set(CaseEvidence::getUpdateTime, LocalDateTime.now()).update();
|
|
|
|
|
}
|
|
|
|
@ -946,6 +952,7 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
|
|
|
|
|
caseEvidenceDetailDTO.setId(DefaultIdentifierGenerator.getInstance().nextId(null).toString());
|
|
|
|
|
caseEvidenceDetailDTO.setEvidenceType(directory.getCategoryId());
|
|
|
|
|
caseEvidenceDetailDTO.setDirectoryId(directoryId);
|
|
|
|
|
caseEvidenceDetailDTO.setDirectoryLevel(directory.getLevel());
|
|
|
|
|
EvidenceFileDTO evidenceFileDTO = new EvidenceFileDTO();
|
|
|
|
|
evidenceFileDTO.setFileId(fileId);
|
|
|
|
|
evidenceFileDTO.setProcessStatus(EvidenceConstants.PROCESS_STATUS_UNPROCESSED);
|
|
|
|
@ -974,6 +981,7 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
|
|
|
|
|
caseEvidenceDetailDTO.setEvidenceName(evidenceFile.getDirectoryName());
|
|
|
|
|
caseEvidenceDetailDTO.setEvidenceType(directory.getCategoryId());
|
|
|
|
|
caseEvidenceDetailDTO.setDirectoryId(directoryId);
|
|
|
|
|
caseEvidenceDetailDTO.setDirectoryLevel(directory.getLevel());
|
|
|
|
|
List<EvidenceFileDTO> evidenceFileDTOS = new ArrayList<>();
|
|
|
|
|
for (String fileId : evidenceFile.getFileIdList()) {
|
|
|
|
|
EvidenceFileDTO evidenceFileDTO = new EvidenceFileDTO();
|
|
|
|
@ -1101,7 +1109,8 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (CaseEvidenceDetailDTO newEvidence : newEvidenceList) {
|
|
|
|
|
if (StrUtil.isEmpty(newEvidence.getId())) {
|
|
|
|
|
if (StrUtil.isEmpty(newEvidence.getId()) ||
|
|
|
|
|
oldEvidenceList.stream().noneMatch(i -> StrUtil.equals(i.getId(), newEvidence.getId()))) {
|
|
|
|
|
newEvidence.setUpdateStatus("1");
|
|
|
|
|
List<String> newFileIds = newEvidence.getFileList().stream().map(EvidenceFileDTO::getFileId).toList();
|
|
|
|
|
for (EvidenceFileDTO evidenceFileDTO : newEvidence.getFileList()) {
|
|
|
|
|