Просмотр исходного кода

feat(dispatch): 事件分级分页支持创建时间筛选;首页GIS点位状态收窄

- 事件分级:DisEventGradePageDTO 新增 startDate/endDate,分页查询按 create_time 区间过滤
- 调度首页:GIS 点位由「待核实+已核实+处置中」收窄为仅「已核实+处置中」,
  待核实事件未确认真实性不再上地图
null 4 дней назад
Родитель
Сommit
69c3b84c97

+ 6 - 0
pipe-network-service/zksy-system/src/main/java/com/zksy/dispatch/dto/DisEventGradePageDTO.java

@@ -30,6 +30,12 @@ public class DisEventGradePageDTO implements Serializable {
     @ApiModelProperty(value = "启用状态:GradeStatusEnum —— 0启用 1停用")
     private Integer status;
 
+    @ApiModelProperty(value = "创建开始日期(yyyy-MM-dd,含当天)")
+    private String startDate;
+
+    @ApiModelProperty(value = "创建结束日期(yyyy-MM-dd,含当天)")
+    private String endDate;
+
     @ApiModelProperty(value = "当前记录起始索引", required = true)
     private Long pageNum = 1L;
 

+ 13 - 0
pipe-network-service/zksy-system/src/main/java/com/zksy/dispatch/service/impl/DisEventGradeServiceImpl.java

@@ -16,7 +16,9 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.time.format.DateTimeParseException;
 import java.util.List;
 
 /**
@@ -36,6 +38,17 @@ public class DisEventGradeServiceImpl extends ServiceImpl<DisEventGradeMapper, D
         wrapper.eq(StringUtils.isNotBlank(dto.getEventType()), DisEventGrade::getEventType, dto.getEventType());
         wrapper.eq(StringUtils.isNotBlank(dto.getEventLevel()), DisEventGrade::getEventLevel, dto.getEventLevel());
         wrapper.eq(dto.getStatus() != null, DisEventGrade::getStatus, dto.getStatus());
+        // 创建时间区间过滤(含边界:结束日期取次日零点前),格式非法时忽略该条件不阻断查询
+        try {
+            if (StringUtils.isNotBlank(dto.getStartDate())) {
+                wrapper.ge(DisEventGrade::getCreateTime, LocalDate.parse(dto.getStartDate()).atStartOfDay());
+            }
+            if (StringUtils.isNotBlank(dto.getEndDate())) {
+                wrapper.lt(DisEventGrade::getCreateTime, LocalDate.parse(dto.getEndDate()).plusDays(1).atStartOfDay());
+            }
+        } catch (DateTimeParseException e) {
+            log.warn("分级标准查询日期格式错误: {} ~ {}", dto.getStartDate(), dto.getEndDate());
+        }
         wrapper.orderByAsc(DisEventGrade::getEventCategory).orderByAsc(DisEventGrade::getEventLevel);
         wrapper.orderByAsc(DisEventGrade::getId);
         Page<DisEventGrade> result = page(page, wrapper);

+ 3 - 2
pipe-network-service/zksy-system/src/main/java/com/zksy/dispatch/service/impl/DisEventServiceImpl.java

@@ -273,9 +273,10 @@ public class DisEventServiceImpl extends ServiceImpl<DisEventMapper, DisEvent>
         Map<Long, String> userNames = loadUserNames(disposingList);
         vo.setDisposingEvents(disposingList.stream().map(e -> toVO(e, userNames)).collect(Collectors.toList()));
 
-        // GIS 点位:未办结且有坐标
+        // GIS 点位:已核实 + 处置中(不含待核实),且有坐标
         List<Map<String, Object>> mapEvents = all.stream()
-                .filter(e -> EventStatusEnum.activeCodes().contains(e.getStatus())
+                .filter(e -> (EventStatusEnum.VERIFIED.getCode().equals(e.getStatus())
+                        || EventStatusEnum.DISPOSING.getCode().equals(e.getStatus()))
                         && e.getLongitude() != null && e.getLatitude() != null)
                 .map(e -> {
                     Map<String, Object> m = new LinkedHashMap<>();