Browse Source

fix:查询重构

master
buaixuexideshitongxue 3 weeks ago
parent
commit
b4083861fd
  1. 21
      src/main/java/com/biutag/supervision/controller/warning/WarningController.java
  2. 5
      src/main/resources/mapper/ReportProjectMapper.xml

21
src/main/java/com/biutag/supervision/controller/warning/WarningController.java

@ -63,8 +63,6 @@ public class WarningController {
new Page<>(queryParam.getCurrent(), queryParam.getSize()), wrapper, queryParam.getWarningState()); new Page<>(queryParam.getCurrent(), queryParam.getSize()), wrapper, queryParam.getWarningState());
page.getRecords().forEach(this::fillProjectData); page.getRecords().forEach(this::fillProjectData);
sortByLastWarningTime(page.getRecords());
return Result.success(page); return Result.success(page);
} }
/** /**
@ -239,7 +237,7 @@ public class WarningController {
wrapper.between(true, "p.archiving", queryParam.getEndDate().get(0), queryParam.getEndDate().get(1)); wrapper.between(true, "p.archiving", queryParam.getEndDate().get(0), queryParam.getEndDate().get(1));
} }
wrapper.orderByAsc("p.warning_state").groupBy("p.id"); // wrapper.orderByAsc("p.warning_state").groupBy("p.id");
return wrapper; return wrapper;
} }
@ -253,11 +251,6 @@ public class WarningController {
if (CollectionUtil.isNotEmpty(list)) { if (CollectionUtil.isNotEmpty(list)) {
// 是否已下发问题 // 是否已下发问题
s.setStateData(list.stream().anyMatch(x -> "1".equals(x.getFlowState())) ? "1" : "0"); s.setStateData(list.stream().anyMatch(x -> "1".equals(x.getFlowState())) ? "1" : "0");
// 最新预警时间
list.stream().filter(r -> r.getSupervisionTime() != null)
.max((a, b) -> a.getSupervisionTime().compareTo(b.getSupervisionTime()))
.ifPresent(r -> s.setLastWarningTime(r.getSupervisionTime()
.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"))));
// 预警问题数 // 预警问题数
List<String> ids = list.stream().map(WarningRecord::getId).toList(); List<String> ids = list.stream().map(WarningRecord::getId).toList();
s.setWarningContent(contentService.count( s.setWarningContent(contentService.count(
@ -281,17 +274,5 @@ public class WarningController {
return depart.getShortName() + "/"; return depart.getShortName() + "/";
} }
/**
* 按最新预警时间倒序排列
*/
private void sortByLastWarningTime(List<EntryWindowVo> list) {
list.sort((a, b) -> {
if (a.getLastWarningTime() == null && b.getLastWarningTime() == null) return 0;
if (a.getLastWarningTime() == null) return 1;
if (b.getLastWarningTime() == null) return -1;
return b.getLastWarningTime().compareTo(a.getLastWarningTime());
});
}
} }

5
src/main/resources/mapper/ReportProjectMapper.xml

@ -67,7 +67,8 @@
<select id="queryPageWarning" resultType="com.biutag.supervision.pojo.vo.entryWindow.EntryWindowVo"> <select id="queryPageWarning" resultType="com.biutag.supervision.pojo.vo.entryWindow.EntryWindowVo">
SELECT SELECT
p.*, p.*,
COUNT(wr.id) AS count COUNT(wr.id) AS count,
MAX(wr.supervision_time) AS lastWarningTime
FROM FROM
report_project p report_project p
LEFT JOIN LEFT JOIN
@ -75,6 +76,8 @@
LEFT JOIN LEFT JOIN
warning_record wr ON wr.report_id = p.id warning_record wr ON wr.report_id = p.id
${ew.getCustomSqlSegment} ${ew.getCustomSqlSegment}
GROUP BY p.id
ORDER BY p.warning_state asc, lastWarningTime DESC
</select> </select>
<select id="queryPageCondition" resultType="com.biutag.supervision.pojo.vo.statement.ConditionVo"> <select id="queryPageCondition" resultType="com.biutag.supervision.pojo.vo.statement.ConditionVo">

Loading…
Cancel
Save