|
|
|
@ -1,29 +1,31 @@
|
|
|
|
|
package com.supervision.police.service.impl;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
import cn.hutool.core.lang.Assert;
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
|
import com.supervision.police.service.EvidenceFileService;
|
|
|
|
|
import com.supervision.police.domain.FileEvidenceProperty;
|
|
|
|
|
import com.supervision.police.dto.RecordFileDTO;
|
|
|
|
|
import com.supervision.police.service.*;
|
|
|
|
|
import com.supervision.police.domain.CaseEvidence;
|
|
|
|
|
import com.supervision.police.domain.ComDictionary;
|
|
|
|
|
import com.supervision.police.domain.EvidenceFile;
|
|
|
|
|
import com.supervision.police.dto.CaseEvidenceDetailDTO;
|
|
|
|
|
import com.supervision.police.dto.EvidenceFileDTO;
|
|
|
|
|
import com.supervision.police.mapper.CaseEvidenceMapper;
|
|
|
|
|
import com.supervision.police.service.CaseEvidenceService;
|
|
|
|
|
import com.supervision.police.dto.CaseEvidenceDTO;
|
|
|
|
|
import com.supervision.police.service.CaseStatusManageService;
|
|
|
|
|
import com.supervision.police.service.ComDictionaryService;
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.function.Function;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
@Slf4j
|
|
|
|
@ -37,6 +39,11 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
|
|
|
|
|
|
|
|
|
|
private final CaseStatusManageService caseStatusManageService;
|
|
|
|
|
|
|
|
|
|
private final FileOcrProcessService fileOcrProcessService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private OCREvidenceService ocrEvidenceService;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional(transactionManager = "dataSourceTransactionManager",rollbackFor = Exception.class)
|
|
|
|
|
public String saveEvidence(CaseEvidenceDTO caseEvidenceDTO) {
|
|
|
|
@ -87,6 +94,12 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
|
|
|
|
|
evidenceFileService.save(evidenceFile);
|
|
|
|
|
});
|
|
|
|
|
caseStatusManageService.whenUpdateEvidence(caseEvidenceDTO.getCaseId());
|
|
|
|
|
|
|
|
|
|
// 更新证据属性信息
|
|
|
|
|
for (String fileId : caseEvidenceDTO.getFileIdList()) {
|
|
|
|
|
ocrEvidenceService.saveEvidenceProperty(caseEvidence.getId(),fileId,caseEvidenceDTO.getProperty());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return caseEvidenceDTO.getId();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -130,6 +143,9 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
|
|
|
|
|
List<EvidenceFileDTO> fileInfoList = evidenceFileService.listFileInfo(evidenceIds);
|
|
|
|
|
Map<String, List<EvidenceFileDTO>> evidenceFileMap = fileInfoList.stream().collect(Collectors.groupingBy(EvidenceFileDTO::getEvidenceId));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<RecordFileDTO> recordFileDTOS = fileOcrProcessService.queryFileList(fileInfoList.stream().map(EvidenceFileDTO::getFileId).toList());
|
|
|
|
|
|
|
|
|
|
// 转换分页结果
|
|
|
|
|
//查询字典
|
|
|
|
|
List<ComDictionary> evidenceTypeDic = comDictionaryService.lambdaQuery().eq(ComDictionary::getType, "evidence_type").list();
|
|
|
|
@ -137,13 +153,14 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
|
|
|
|
|
CaseEvidenceDetailDTO caseEvidenceDetailDTO = new CaseEvidenceDetailDTO(caseEvidence, evidenceFileMap.get(caseEvidence.getId()));
|
|
|
|
|
caseEvidenceDetailDTO.setEvidenceTypeDesc(
|
|
|
|
|
comDictionaryService.getName(evidenceTypeDic, "evidence_type", caseEvidence.getEvidenceType()));
|
|
|
|
|
caseEvidenceDetailDTO.setContentTypeValue(recordFileDTOS);
|
|
|
|
|
return caseEvidenceDetailDTO;
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional(transactionManager = "dataSourceTransactionManager",rollbackFor = Exception.class)
|
|
|
|
|
public CaseEvidenceDetailDTO queryEvidenceDetail(String evidenceId) {
|
|
|
|
|
return super.getBaseMapper().queryEvidenceDetail(evidenceId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|