1. 修复bug

topo_dev
xueqingkun 6 months ago
parent eb6699bd54
commit 6c2482addb

@ -998,17 +998,17 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
*
*
* @param oldEvidenceList
* @param newEvidenceFileList
* @param newEvidenceList
* @return
*/
private List<CaseEvidenceDetailDTO> findChangedEvidence(List<CaseEvidenceDetailDTO> oldEvidenceList,
List<CaseEvidenceDetailDTO> newEvidenceFileList) {
List<CaseEvidenceDetailDTO> newEvidenceList) {
List<CaseEvidenceDetailDTO> caseEvidence2DTOList = new ArrayList<>();
if (CollUtil.isEmpty(oldEvidenceList) && CollUtil.isNotEmpty(newEvidenceFileList)) {
if (CollUtil.isEmpty(oldEvidenceList) && CollUtil.isNotEmpty(newEvidenceList)) {
// 数据库中不存在数据,则全部新增
for (CaseEvidenceDetailDTO evidenceDetailDTO : newEvidenceFileList) {
for (CaseEvidenceDetailDTO evidenceDetailDTO : newEvidenceList) {
List<String> fileIds = evidenceDetailDTO.getFileList().stream().map(EvidenceFileDTO::getFileId).toList();
evidenceDetailDTO.setUpdateStatus("1");
for (EvidenceFileDTO evidenceFileDTO : evidenceDetailDTO.getFileList()) {
@ -1016,10 +1016,10 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
evidenceFileDTO.setRank(findRank(fileIds, evidenceFileDTO.getFileId()));
}
}
caseEvidence2DTOList.addAll(newEvidenceFileList);
caseEvidence2DTOList.addAll(newEvidenceList);
}
if (CollUtil.isNotEmpty(oldEvidenceList) && CollUtil.isEmpty(newEvidenceFileList)) {
if (CollUtil.isNotEmpty(oldEvidenceList) && CollUtil.isEmpty(newEvidenceList)) {
// 数据库中存在数据,没有新增数据
for (CaseEvidenceDetailDTO evidenceDetailDTO : oldEvidenceList) {
evidenceDetailDTO.setUpdateStatus("0");
@ -1031,16 +1031,19 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
}
if (CollUtil.isNotEmpty(oldEvidenceList) && CollUtil.isNotEmpty(newEvidenceFileList)) {
if (CollUtil.isNotEmpty(oldEvidenceList) && CollUtil.isNotEmpty(newEvidenceList)) {
// 数据库中和新数据都存在
Map<String, EvidenceFileDTO> fileCache = Stream.of(newEvidenceFileList, oldEvidenceList)
Map<String, Map<String, EvidenceFileDTO>> evidenceFileCache = Stream.of(newEvidenceList, oldEvidenceList)
.flatMap(Collection::stream)
.flatMap(evidenceDetailDTO -> evidenceDetailDTO.getFileList().stream())
.collect(Collectors.toMap(EvidenceFileDTO::getFileId, Function.identity()));
.collect(Collectors.groupingBy(EvidenceFileDTO::getEvidenceId,
Collectors.toMap(EvidenceFileDTO::getFileId, Function.identity())));
for (CaseEvidenceDetailDTO oldEvidence : oldEvidenceList) {
boolean isFind = false;
for (CaseEvidenceDetailDTO newEvidence : newEvidenceFileList) {
for (CaseEvidenceDetailDTO newEvidence : newEvidenceList) {
Map<String, EvidenceFileDTO> fileCache = evidenceFileCache.get(newEvidence.getId());
if (StrUtil.equals(oldEvidence.getId(), newEvidence.getId())) {
isFind = true;
oldEvidence.setUpdateStatus("-1");
@ -1095,7 +1098,7 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
}
for (CaseEvidenceDetailDTO newEvidence : newEvidenceFileList) {
for (CaseEvidenceDetailDTO newEvidence : newEvidenceList) {
if (StrUtil.isEmpty(newEvidence.getId())) {
newEvidence.setUpdateStatus("1");
List<String> newFileIds = newEvidence.getFileList().stream().map(EvidenceFileDTO::getFileId).toList();

@ -33,6 +33,7 @@
<resultMap id="evidenceFileDTOMapId" type="com.supervision.police.dto.EvidenceFileDTO">
<id column="file_id" property="fileId"/>
<id column="evidence_id" property="evidenceId"/>
<id column="batch_no" property="batchNo"/>
<result column="filename" property="fileName"/>
<result column="file_type" property="fileType"/>
@ -64,6 +65,7 @@
ce.process_status,
ce.append_processing,
ef.file_id,
ef.evidence_id,
ef.batch_no,
mf.filename,
mf.file_type,

Loading…
Cancel
Save