diff --git a/src/main/java/com/biutag/supervision/pojo/param/NegativeQueryParam.java b/src/main/java/com/biutag/supervision/pojo/param/NegativeQueryParam.java index 6ba2549..f5995fa 100644 --- a/src/main/java/com/biutag/supervision/pojo/param/NegativeQueryParam.java +++ b/src/main/java/com/biutag/supervision/pojo/param/NegativeQueryParam.java @@ -101,5 +101,8 @@ public class NegativeQueryParam extends BasePage { @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private List mailTime = new ArrayList<>(); + @Schema(description = "问题类型") + private List threeLevelCode; + } diff --git a/src/main/java/com/biutag/supervision/service/NegativeQueryService.java b/src/main/java/com/biutag/supervision/service/NegativeQueryService.java index 681d595..71b114c 100644 --- a/src/main/java/com/biutag/supervision/service/NegativeQueryService.java +++ b/src/main/java/com/biutag/supervision/service/NegativeQueryService.java @@ -173,6 +173,21 @@ public class NegativeQueryService { }); } } + if (CollectionUtil.isNotEmpty(param.getThreeLevelCode())){ + queryWrapper.exists( + "SELECT 1 FROM negative_problem_relation npr " + + "WHERE npr.negativeId = negative.id AND npr.threeLevelCode IN (" + + String.join(",", param.getThreeLevelCode()) + ")" + ); + } + if (CollectionUtil.isNotEmpty(param.getHandleResultCode())){ + queryWrapper.exists( + "SELECT 1 FROM negative_blame nb " + + "WHERE nb.negativeId = negative.id AND nb.handleResultCode IN (" + + String.join(",", param.getHandleResultCode()) + ")" + ); + queryWrapper.in(Negative::getProcessingStatus,List.of("completed", "approval")); + } // 排序 queryWrapper.orderBy("crtTime".equals(param.getOrderProp()), OrderEnum.ascending.name().equals(param.getOrder()), Negative::getCrtTime) .orderBy("discoveryTime".equals(param.getOrderProp()), OrderEnum.ascending.name().equals(param.getOrder()), Negative::getDiscoveryTime);;