|
|
|
@ -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();
|
|
|
|
|