diff --git a/README.md b/README.md index 325b6cf..b97d2ee 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,17 @@ # Release Notes +```sql + +alter table note_record + add img_record_status int null comment '证据状态 1:暂存 2:核实 3:提交' after law_asker; + +alter table note_record + modify confession_material varchar(128) null comment '供述材料数量'; + + +``` + # 发布时间 2024-09-05 # 变更记录 - 修复案件证据分页失效问题 diff --git a/src/main/java/com/supervision/constant/OcrProcessStatus.java b/src/main/java/com/supervision/constant/OcrProcessStatus.java new file mode 100644 index 0000000..982f7c7 --- /dev/null +++ b/src/main/java/com/supervision/constant/OcrProcessStatus.java @@ -0,0 +1,33 @@ +package com.supervision.constant; + +import lombok.Getter; + +/** + * 识别状态 -1:未识别 0:正在识别 1:识别成功 2:识别失败 + */ +@Getter +public enum OcrProcessStatus { + + UNPROCESS(-1, "未识别"), + + PROCESSING(0, "正在识别"), + + SUCCESS(1,"识别成功"), + + FAIL(2,"识别失败"); + + private int code; + + private String name; + OcrProcessStatus(int code,String name) { + this.code = code; + this.name = name; + } + + public static boolean isFailCode(Integer code) { + if (null == code){ + return false; + } + return FAIL.code == code; + } +} diff --git a/src/main/java/com/supervision/police/controller/OCRRecordController.java b/src/main/java/com/supervision/police/controller/OCRRecordController.java index d93c74c..45daa9c 100644 --- a/src/main/java/com/supervision/police/controller/OCRRecordController.java +++ b/src/main/java/com/supervision/police/controller/OCRRecordController.java @@ -27,7 +27,7 @@ public class OCRRecordController { */ @PostMapping("/saveRecord") public R saveRecord(@RequestBody NoteRecordReqVO noteRecordReqVO) { - String recordId = ocrRecordService.saveRecord(noteRecordReqVO); + String recordId = ocrRecordService.saveRecord(noteRecordReqVO); return R.ok(recordId); } @@ -39,7 +39,7 @@ public class OCRRecordController { */ @GetMapping("/info") public R queryRecordInfo(@RequestParam("recordId") String recordId) { - NoteRecordDTO noteRecord = ocrRecordService.queryRecordInfo(recordId); + NoteRecordDTO noteRecord = ocrRecordService.queryRecordInfo(recordId); return R.ok(noteRecord); } @@ -50,7 +50,7 @@ public class OCRRecordController { */ @GetMapping("/queryFileList") public R> queryFileList(@RequestParam("recordId") String recordId) { - List recordFileDTOList = ocrRecordService.queryFileList(recordId); + List recordFileDTOList = ocrRecordService.queryFileList(recordId); return R.ok(recordFileDTOList); } @@ -62,7 +62,7 @@ public class OCRRecordController { @GetMapping("/reOcr") public R reOcr(@RequestParam("ocrId") String ocrId) { - Boolean success = ocrRecordService.reOcr(ocrId); + Boolean success = ocrRecordService.reOcr(ocrId); return R.ok(success); } @@ -73,7 +73,7 @@ public class OCRRecordController { */ @PostMapping("/reviseOcrText") public R reviseOcrText(@RequestBody List ocrTextDTOList) { - Boolean success = ocrRecordService.reviseOcrText(ocrTextDTOList); + Boolean success = ocrRecordService.reviseOcrText(ocrTextDTOList); return R.ok(success); } @@ -85,7 +85,7 @@ public class OCRRecordController { */ @GetMapping("/submitTask") public R submitRecordTask(String recordId) { - Boolean success = ocrRecordService.submitRecordTask(recordId); + Boolean success = ocrRecordService.submitRecordTask(recordId); return R.ok(success); } diff --git a/src/main/java/com/supervision/police/domain/NoteRecord.java b/src/main/java/com/supervision/police/domain/NoteRecord.java index 54504c0..7994b6d 100644 --- a/src/main/java/com/supervision/police/domain/NoteRecord.java +++ b/src/main/java/com/supervision/police/domain/NoteRecord.java @@ -62,7 +62,7 @@ public class NoteRecord implements Serializable { /** * 供述材料 */ - private Integer confessionMaterial; + private String confessionMaterial; /** * 询问人 @@ -92,6 +92,11 @@ public class NoteRecord implements Serializable { */ private String dataStatus; + /** + * 证据状态 1:暂存 2:核实 3:提交 + */ + private Integer imgRecordStatus; + @TableField(exist = false) private List children = new ArrayList<>(); diff --git a/src/main/java/com/supervision/police/dto/NoteRecordDTO.java b/src/main/java/com/supervision/police/dto/NoteRecordDTO.java index 3fdb537..0dc8829 100644 --- a/src/main/java/com/supervision/police/dto/NoteRecordDTO.java +++ b/src/main/java/com/supervision/police/dto/NoteRecordDTO.java @@ -37,7 +37,7 @@ public class NoteRecordDTO { @Schema(description = "供述材料数量") - private Integer confessionMaterial; + private String confessionMaterial; @Schema(description = "询问人") diff --git a/src/main/java/com/supervision/police/dto/RetrieveReqDTO.java b/src/main/java/com/supervision/police/dto/RetrieveReqDTO.java index 59c0ada..8d3a091 100644 --- a/src/main/java/com/supervision/police/dto/RetrieveReqDTO.java +++ b/src/main/java/com/supervision/police/dto/RetrieveReqDTO.java @@ -10,6 +10,9 @@ public class RetrieveReqDTO { */ private String text; + + private String title; + public RetrieveReqDTO() { } diff --git a/src/main/java/com/supervision/police/mapper/FileOcrProcessMapper.java b/src/main/java/com/supervision/police/mapper/FileOcrProcessMapper.java index a5a9b54..ca44cb1 100644 --- a/src/main/java/com/supervision/police/mapper/FileOcrProcessMapper.java +++ b/src/main/java/com/supervision/police/mapper/FileOcrProcessMapper.java @@ -15,7 +15,7 @@ import java.util.List; */ public interface FileOcrProcessMapper extends BaseMapper { - List queryFileList(@Param("fileIdList") List fileIdList); + List queryFileList(@Param("status") String status, @Param("fileIdList") List fileIdList); } diff --git a/src/main/java/com/supervision/police/service/FileOcrProcessService.java b/src/main/java/com/supervision/police/service/FileOcrProcessService.java index b8fcb99..1214148 100644 --- a/src/main/java/com/supervision/police/service/FileOcrProcessService.java +++ b/src/main/java/com/supervision/police/service/FileOcrProcessService.java @@ -39,6 +39,9 @@ public interface FileOcrProcessService extends IService { List queryFileList(List fileIdList); + List queryFileList(String status,List fileIdList); + + List queryListByRecordId(String recordId); } diff --git a/src/main/java/com/supervision/police/service/impl/FileOcrProcessServiceImpl.java b/src/main/java/com/supervision/police/service/impl/FileOcrProcessServiceImpl.java index ce07d00..bad0ad2 100644 --- a/src/main/java/com/supervision/police/service/impl/FileOcrProcessServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/FileOcrProcessServiceImpl.java @@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.supervision.constant.OcrProcessStatus; import com.supervision.minio.domain.MinioFile; import com.supervision.minio.service.MinioService; import com.supervision.police.domain.FileOcrProcess; @@ -65,11 +66,26 @@ public class FileOcrProcessServiceImpl extends ServiceImpl(1); } + + Map ocrProcessMap = super.lambdaQuery().in(FileOcrProcess::getFileId, fileIdList).list() + .stream().collect( + Collectors.toMap(FileOcrProcess::getFileId, fileOcrProcess -> fileOcrProcess, (k1, k2) -> k1)); + List processList = new ArrayList<>(); for (String fileId : fileIdList) { - FileOcrProcess fileOcrProcess = new FileOcrProcess(fileId, -1); - super.save(fileOcrProcess); - processList.add(fileOcrProcess); + if (null != ocrProcessMap.get(fileId)){ + // 跳过识别成功的文件 + FileOcrProcess fileOcrProcess = ocrProcessMap.get(fileId); + if (OcrProcessStatus.isFailCode(fileOcrProcess.getStatus())){ + fileOcrProcess.setStatus(OcrProcessStatus.UNPROCESS.getCode()); + super.updateById(fileOcrProcess); + processList.add(fileOcrProcess); + } + }else { + FileOcrProcess fileOcrProcess = new FileOcrProcess(fileId, OcrProcessStatus.UNPROCESS.getCode()); + super.save(fileOcrProcess); + processList.add(fileOcrProcess); + } } consumer.accept(processList); @@ -154,7 +170,15 @@ public class FileOcrProcessServiceImpl extends ServiceImpl(1); } - return super.baseMapper.queryFileList(fileIdList); + return super.baseMapper.queryFileList(null,fileIdList); + } + + @Override + public List queryFileList(String status, List fileIdList) { + if (CollUtil.isEmpty(fileIdList)){ + return new ArrayList<>(1); + } + return super.baseMapper.queryFileList(status,fileIdList); } @Override diff --git a/src/main/java/com/supervision/police/service/impl/NoteRecordSplitServiceImpl.java b/src/main/java/com/supervision/police/service/impl/NoteRecordSplitServiceImpl.java index 93c858f..6815062 100644 --- a/src/main/java/com/supervision/police/service/impl/NoteRecordSplitServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/NoteRecordSplitServiceImpl.java @@ -299,7 +299,9 @@ public class NoteRecordSplitServiceImpl extends ServiceImpl fileNameSet = recordDetailDTO.getFileList().stream().map(NoteRecordFileDTO::getFileName).collect(Collectors.toSet()); - recordDetailDTO.setConfessionMaterial(CollUtil.join(fileNameSet, ";")); + if (StrUtil.isEmpty(recordDetailDTO.getConfessionMaterial())){ + recordDetailDTO.setConfessionMaterial(CollUtil.join(fileNameSet, ";")); + } recordDetailDTO.setPercentageValue(taskRecordMap.get(recordDetailDTO.getId())); recordDetailDTO.setRecordTypeValue(recordFileDTOS); recordDetailDTO.setSubmittedValue(taskRecordMap.get(recordDetailDTO.getId())); diff --git a/src/main/java/com/supervision/police/vo/NoteRecordReqVO.java b/src/main/java/com/supervision/police/vo/NoteRecordReqVO.java index 06aa811..5160050 100644 --- a/src/main/java/com/supervision/police/vo/NoteRecordReqVO.java +++ b/src/main/java/com/supervision/police/vo/NoteRecordReqVO.java @@ -2,6 +2,8 @@ package com.supervision.police.vo; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.NumberUtil; +import cn.hutool.core.util.StrUtil; import com.supervision.police.domain.NoteRecord; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -39,6 +41,9 @@ public class NoteRecordReqVO { */ private String confessionMaterial; + @Schema(description = "第n供述材料") + private String indexNum; + @Schema(description = "询问人") private String lawAsker; @@ -52,6 +57,10 @@ public class NoteRecordReqVO { @Schema(description = "供述结束时间") private String confessionEndTime; + + @Schema(description = "证据状态 1:暂存 2:核实 3:提交") + private Integer imgRecordStatus; + public NoteRecord toNoteRecord(){ NoteRecord noteRecord = new NoteRecord(); noteRecord.setId(id); @@ -62,11 +71,15 @@ public class NoteRecordReqVO { } noteRecord.setName(name); noteRecord.setRole(role); - //noteRecord.setConfessionMaterial(confessionMaterial); + if (NumberUtil.isNumber(this.indexNum)){ + noteRecord.setIndexNum(Integer.parseInt(this.indexNum)); + } + // noteRecord.setConfessionMaterial(confessionMaterial); noteRecord.setLawAsker(lawAsker); noteRecord.setConfessionStartTime(confessionStartTime); noteRecord.setConfessionEndTime(confessionEndTime); noteRecord.setCasePersonId(personId); + noteRecord.setImgRecordStatus(this.imgRecordStatus); return noteRecord; } diff --git a/src/main/resources/mapper/FileOcrProcessMapper.xml b/src/main/resources/mapper/FileOcrProcessMapper.xml index af90b1f..ed8a593 100644 --- a/src/main/resources/mapper/FileOcrProcessMapper.xml +++ b/src/main/resources/mapper/FileOcrProcessMapper.xml @@ -35,9 +35,16 @@ op.draw_img_id as drawImgId from minio_file mf left join file_ocr_process op on op.file_id = mf.id - where mf.id in - - #{item} - + + + op.status = #{status} + + + mf.id in + + #{item} + + +