From f4e574b06c7a074ff5fab2c5200d6a50b6639758 Mon Sep 17 00:00:00 2001 From: buaixuexideshitongxue <2936013465@qq.com> Date: Wed, 18 Mar 2026 11:31:40 +0800 Subject: [PATCH] =?UTF-8?q?fix--=E6=A1=88=E4=BB=B6=E6=A0=B8=E6=9F=A5?= =?UTF-8?q?=E5=8F=B0=E8=B4=A6=E4=BF=AE=E6=94=B9=E5=B1=9E=E5=AE=9E=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/entity/DataCaseVerif.java | 3 ++ .../service/DataCaseVerifService.java | 54 ++++++++++++++++++- 2 files changed, 55 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/biutag/supervision/pojo/entity/DataCaseVerif.java b/src/main/java/com/biutag/supervision/pojo/entity/DataCaseVerif.java index d798f6d..a14c7a4 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/DataCaseVerif.java +++ b/src/main/java/com/biutag/supervision/pojo/entity/DataCaseVerif.java @@ -91,4 +91,7 @@ public class DataCaseVerif { private String involvedIssue; + @TableField(exist = false) + private String checkStatusCode; + } diff --git a/src/main/java/com/biutag/supervision/service/DataCaseVerifService.java b/src/main/java/com/biutag/supervision/service/DataCaseVerifService.java index 4a1af98..0496381 100644 --- a/src/main/java/com/biutag/supervision/service/DataCaseVerifService.java +++ b/src/main/java/com/biutag/supervision/service/DataCaseVerifService.java @@ -1,5 +1,6 @@ package com.biutag.supervision.service; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; @@ -24,8 +25,11 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; +import java.util.Collections; import java.util.List; +import java.util.Map; import java.util.Objects; +import java.util.stream.Collectors; @RequiredArgsConstructor @Service @@ -37,11 +41,13 @@ public class DataCaseVerifService extends ServiceImpl page(DataCaseVerifQueryParam queryParam) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.like(StrUtil.isNotBlank(queryParam.getOriginId()), DataCaseVerif::getOriginId, queryParam.getOriginId()) .like(StrUtil.isNotBlank(queryParam.getThingDesc()), DataCaseVerif::getThingDesc, queryParam.getThingDesc()) - .eq(StrUtil.isNotBlank(queryParam.getCheckStatus()), DataCaseVerif::getIsReal, queryParam.getCheckStatus()) +// .eq(StrUtil.isNotBlank(queryParam.getCheckStatus()), DataCaseVerif::getIsReal, queryParam.getCheckStatus()) .in(CollectionUtil.isNotEmpty(queryParam.getInvolvedIssue()),DataCaseVerif::getInvolvedIssue,queryParam.getInvolvedIssue()) .eq(StrUtil.isNotBlank(queryParam.getDistributionState()), DataCaseVerif::getDistributionState, queryParam.getDistributionState()) .orderByDesc(DataCaseVerif::getCreateTime); @@ -67,7 +73,51 @@ public class DataCaseVerifService extends ServiceImpl negativeWrapper = new LambdaQueryWrapper<>(); + negativeWrapper.select(Negative::getOriginId) + .eq(Negative::getCheckStatusCode, queryParam.getCheckStatus()); + + List negativeList = negativeService.list(negativeWrapper); + List originIds = negativeList.stream() + .map(Negative::getOriginId) + .filter(StrUtil::isNotBlank) + .distinct() + .toList(); + + if (CollUtil.isEmpty(originIds)) { + return Page.of(queryParam.getCurrent(), queryParam.getSize()) + .setRecords(Collections.emptyList()) + .setTotal(0); + } + + queryWrapper.in(DataCaseVerif::getOriginId, originIds); + } + + Page page = page(Page.of(queryParam.getCurrent(), queryParam.getSize()), queryWrapper); + if (CollUtil.isNotEmpty(page.getRecords())) { + + List originIds = page.getRecords().stream() + .map(DataCaseVerif::getOriginId) + .filter(StrUtil::isNotBlank) + .toList(); + + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(Negative::getOriginId, originIds) + .select(Negative::getOriginId, Negative::getCheckStatusCode); + List negatives = negativeService.list(wrapper); + Map map = negatives.stream() + .collect(Collectors.toMap( + Negative::getOriginId, + Negative::getCheckStatusCode, + (v1, v2) -> v1 + )); + // 回填 + page.getRecords().forEach(item -> item.setCheckStatusCode(map.get(item.getOriginId()))); + } + return page; } @Transactional(rollbackFor = Exception.class)