fu-hsi-service/src/main/java/com/supervision/police/service/CaseEvidenceService.java

153 lines
4.4 KiB
Java

package com.supervision.police.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.supervision.police.domain.CaseEvidence;
import com.supervision.police.domain.EvidenceDirectory;
import com.supervision.police.dto.*;
import com.supervision.police.vo.EvidenceDirectoryReqVO;
import com.supervision.police.vo.VerifyEvidenceReqVO;
import java.util.List;
public interface CaseEvidenceService extends IService<CaseEvidence> {
/**
* 保存案件证据信息
* @param caseEvidenceDTO 证据信息
* @return 证据id
*/
String saveEvidence(CaseEvidenceDTO caseEvidenceDTO);
/**
* 更新案件证据信息
* @param caseEvidenceDTO 证据信息
* @return 证据id
*/
String updateEvidence(CaseEvidenceDTO caseEvidenceDTO);
/**
* 删除案件证据信息
* @param evidenceId 证据id
* @return 是否删除成功 true/false
*/
boolean deleteEvidence(String evidenceId);
/**
* 查询案件证据信息列表
* @param caseId 案件id
* @return 证据信息列表
*/
List<CaseEvidenceDetailDTO> queryEvidenceList(String caseId);
List<CaseEvidenceDetailDTO> queryEvidenceList(String caseId,String batchNo);
/**
* 分页查询案件证据信息列表
* @param caseId 案件id
* @param directoryId 目录id
* @param pageNum 每页大小
* @param pageSize 当前页码
* @return
*/
IPage<CaseEvidenceDetailDTO> pageListEvidence(String caseId,String directoryId,String evidenceName, Integer pageNum, Integer pageSize);
CaseEvidenceDetailDTO queryEvidenceDetail(String evidenceId);
List<EvidenceCategoryDTO> listCategoryTree(String caseType);
/**
* 证据属性分析
* @param evidenceId 证据id
*/
void evidenceAnalysis(String evidenceId);
void callEvidenceAnalysis(String evidenceId);
/**
* 查询案件证据目录树
* @param caseId 案件id
* @return
*/
List<EvidenceDirectoryDTO> listFileTree(String caseId);
List<EvidenceDirectoryDTO> listFileTree(String caseId,String batchNo);
List<EvidenceDirectoryDTO> listFileTree(String caseId,String batchNo,String evidenceId,String directoryId);
List<EvidenceDirectoryDTO> listDirectoryTree(String caseId);
/**
* 初始化案件证据目录
* @param caseId 案件id
* @param caseType 案件类型
*/
void initCaseEvidenceDirectory(String caseId,String caseType);
/**
* 更新案件证据目录
* @param evidenceDirectory 目录信息
* @return true / false
*/
Boolean updateDirectory(EvidenceDirectory evidenceDirectory);
/**
* 移动文件到指定目录
* @param evidenceFileDTO 文件信息
* @return true / false
*/
Boolean moveFile(DirectoryFileDTO evidenceFileDTO);
/**
* 删除文件
* @param evidenceFileDTO 文件信息
* @return true / false
*/
Boolean removeFile(DirectoryFileDTO evidenceFileDTO);
/**
* 删除目录
* @param directoryIdList 目录id集合
* @return
*/
Boolean removeDirectory(List<String> directoryIdList);
/**
* 证据识别并提取
* @param evidenceFileDTOS 文件信息
*/
String ocrAndExtract(String caseId, List<EvidenceDirectoryDTO> evidenceFileDTOS);
String updateCaseEvidence4NewTransaction(List<CaseEvidenceDetailDTO> caseEvidenceDetailDTOList);
/**
* 证据识别并提取列表
* @param caseId 案件id
* @param batchNo 批次号
* @return
*/
List<EvidenceProcessDTO> listOcrAndExtract(String caseId,String batchNo);
void verifyEvidence(List<EvidenceVerifyDTO> evidenceVerifyDTOS,String caseId,String batchNo);
void verifyEvidence(VerifyEvidenceReqVO verifyEvidenceReqVO);
List<EvidenceDirectoryDTO> evidenceDetails(String caseId, String batchNo,String evidenceId);
String generateDirectoryName(String caseId, String categoryId, String provider);
EvidenceDirectory createDirectory(EvidenceDirectoryReqVO evidenceDirectory);
/**
* 预处理ocr任务 note:这个方法用来提前处理 word 、 pfd 类型的数据。是一个新的事务不会与前面的事务保持原子性
* @param evidenceFileList 文件信息列表
*/
void preSyncSubmitOCR(List<EvidenceFileDTO> evidenceFileList);
}