1. 修复证据改造bug

topo_dev
xueqingkun 6 months ago
parent 107478dab1
commit e62774775c

@ -52,6 +52,11 @@ public class CaseEvidence implements Serializable {
*/
private String processStatus;
/**
* 0: 1
*/
private String appendProcessing;
private String title;
/**

@ -79,6 +79,11 @@ public class CaseEvidenceDetailDTO {
*/
private String processStatus;
/**
*
*/
private String appendProcessing;
private String fileId;
public CaseEvidenceDetailDTO() {
@ -167,7 +172,7 @@ public class CaseEvidenceDetailDTO {
}
}
if (3 == directory.getLevel() && CollUtil.isNotEmpty(this.fileList)){
if (3 == directory.getLevel()){
this.evidenceFormat = "文件夹";
}
}

@ -86,7 +86,11 @@ public class EvidenceProcessDTO {
}
this.evidenceType = caseEvidence.getEvidenceType();
if (StrUtil.isNotEmpty(caseEvidence.getProcessStatus())) {
this.status = EvidenceConstants.PROCESS_STATUS_MAPPING.get(caseEvidence.getProcessStatus());
if (StrUtil.isEmpty(caseEvidence.getAppendProcessing()) || StrUtil.equals(caseEvidence.getAppendProcessing(),"0")){
this.status = "2";// 处理完成
}else if (StrUtil.equals(caseEvidence.getAppendProcessing(),"1")){
this.status = "1";// 处理中
}
}else {
this.status = EvidenceConstants.PROCESS_STATUS_UNPROCESSED;
}

@ -146,4 +146,7 @@ public interface CaseEvidenceService extends IService<CaseEvidence> {
EvidenceDirectory createDirectory(EvidenceDirectoryReqVO evidenceDirectory);
void syncEvidenceAnalysis(List<CaseEvidenceDetailDTO> evidenceList);
void updateEvidenceAppendProcessingNewTransaction(String evidenceId, String appendProcessing);
}

@ -21,12 +21,15 @@ import com.supervision.police.vo.VerifyEvidenceReqVO;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.aop.framework.AopContext;
import org.springframework.aop.support.AopUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@ -498,15 +501,20 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
// 在已经存在的目录下追加文件只需要重新及进行ocr识别
log.info("ocrAndExtract:开始只进行文件内容识别...");
Map<String, List<EvidenceFileDTO>> evidenceMap = ocrFileDTOList.stream().collect(Collectors.groupingBy(EvidenceFileDTO::getEvidenceId));
for (Map.Entry<String, List<EvidenceFileDTO>> entry : evidenceMap.entrySet()) {
String evidenceId = entry.getKey();
// 首先统一更新为正在处理
updateEvidenceAppendProcessingNewTransaction(evidenceId,"1");
}
for (Map.Entry<String, List<EvidenceFileDTO>> entry : evidenceMap.entrySet()) {
String evidenceId = entry.getKey();
List<EvidenceFileDTO> value = entry.getValue();
List<FileOcrProcess> fileOcrProcesses = fileOcrProcessService.multipleTypeOcrProcess(value.stream().map(EvidenceFileDTO::getFileId).toList(), evidenceId);
boolean match = fileOcrProcesses.stream().anyMatch(fileOcrProcess -> Integer.valueOf(2).equals(fileOcrProcess.getStatus()));
this.lambdaUpdate().eq(CaseEvidence::getId, evidenceId)
.set(CaseEvidence::getProcessStatus,
match ? EvidenceConstants.PROCESS_STATUS_FAILED : EvidenceConstants.PROCESS_STATUS_SUCCESS).update();
for (EvidenceFileDTO evidenceFileDTO : value) {
fileOcrProcessService.multipleTypeOcrProcess(List.of(evidenceFileDTO.getFileId()),evidenceFileDTO.getFileType());
}
updateEvidenceAppendProcessingNewTransaction(evidenceId,"0");
}
}
@ -524,6 +532,14 @@ 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) {
this.lambdaUpdate().eq(CaseEvidence::getId, evidenceId)
.set(CaseEvidence::getAppendProcessing, appendProcessing)
.set(CaseEvidence::getUpdateTime, LocalDateTime.now()).update();
}
/**
* note:
*

@ -20,6 +20,7 @@ import com.supervision.police.service.NoteRecordService;
import com.supervision.police.service.OCRService;
import com.supervision.utils.PDFReadUtil;
import com.supervision.utils.WordReadUtil;
import io.swagger.v3.oas.annotations.OpenAPI31;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.aop.framework.AopContext;

@ -11,6 +11,7 @@
<result property="evidenceName" column="evidence_name" jdbcType="VARCHAR"/>
<result property="evidenceType" column="evidence_type" jdbcType="VARCHAR"/>
<result property="processStatus" column="process_status" jdbcType="VARCHAR"/>
<result property="appendProcessing" column="append_processing" jdbcType="VARCHAR"/>
<result property="property" column="property" jdbcType="JAVA_OBJECT" typeHandler="com.supervision.police.handler.NotePromptExtractAttributesTypeHandler"/>
<result property="title" column="title" jdbcType="VARCHAR"/>
<result property="partyA" column="party_a" jdbcType="VARCHAR"/>
@ -23,8 +24,8 @@
<sql id="Base_Column_List">
id,case_id,directoryId,evidence_name,
evidence_type,process_status,property,
provider,party_a,party_b,
evidence_type,process_status,append_processing,
property,provider,party_a,party_b,
create_user_id,create_time,update_user_id,
update_time
</sql>
@ -46,6 +47,7 @@
<result column="evidence_type" property="evidenceType"/>
<result column="case_id" property="caseId"/>
<result column="process_status" property="processStatus"/>
<result column="append_processing" property="appendProcessing"/>
<result column="directory_id" property="directoryId"/>
<result column="title" property="title"/>
<result column="update_time" property="updateTime"/>
@ -60,6 +62,7 @@
ce.directory_id,
ce.title,
ce.process_status,
ce.append_processing,
ef.file_id,
ef.batch_no,
mf.filename,

Loading…
Cancel
Save