diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/EventVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/EventVO.java new file mode 100644 index 000000000..35a1771bb --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/EventVO.java @@ -0,0 +1,53 @@ +package com.njcn.device.pq.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @version 1.0.0 + * @author: zbj + * @date: 2023/04/03 + */ +@Data +public class EventVO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 发生时间 + */ + @ApiModelProperty("发生时间") + private String time; + + /** + * 监测点名称 + */ + @ApiModelProperty("监测点名称") + private String name; + + /** + * 暂降原因 + */ + @ApiModelProperty("暂降原因") + private String reason; + + /** + * 暂降类型 + */ + @ApiModelProperty("暂降类型") + private String type; + + /** + * 暂降幅值 + */ + @ApiModelProperty("暂降幅值") + private String amplitude; + + /** + * 持续时间 + */ + @ApiModelProperty("持续时间") + private String duration; +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/LargeScreenController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/LargeScreenController.java index d6b7b91bc..d70dee297 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/LargeScreenController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/LargeScreenController.java @@ -6,10 +6,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.device.pq.pojo.param.LargeScreenParam; -import com.njcn.device.pq.pojo.vo.AreaDownVO; -import com.njcn.device.pq.pojo.vo.DownTimeVO; -import com.njcn.device.pq.pojo.vo.LoadTypeVO; -import com.njcn.device.pq.pojo.vo.MonitoringPointScaleVO; +import com.njcn.device.pq.pojo.vo.*; import com.njcn.event.service.majornetwork.LargeScreenService; import com.njcn.web.controller.BaseController; @@ -78,4 +75,17 @@ public class LargeScreenController extends BaseController { List result = largeScreenService.getTimeCount(largeScreenParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } + + /** + * 大屏获取暂降事件最新50条数据 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/eventLists") + @ApiOperation("大屏获取暂降事件最新50条数据") + @ApiImplicitParam(name = "largeScreenParam", value = "大屏获取暂降事件最新50条数据", required = true) + public HttpResult> eventLists(@RequestBody @Validated LargeScreenParam largeScreenParam) { + String methodDescribe = getMethodDescribe("eventLists"); + List result = largeScreenService.eventLists(largeScreenParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/LargeScreenMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/LargeScreenMapper.java index c58093b22..d3d76ef13 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/LargeScreenMapper.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/LargeScreenMapper.java @@ -18,4 +18,5 @@ public interface LargeScreenMapper { List> getTimeCount(@Param("lineIds") List lineIds, @Param("startTime") String startTime, @Param("endTime") String endTime); + List> eventLists(@Param("startTime") String startTime, @Param("endTime") String endTime); } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/LargeScreenMapper.xml b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/LargeScreenMapper.xml index 2145c44b4..45adf4496 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/LargeScreenMapper.xml +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/LargeScreenMapper.xml @@ -53,4 +53,24 @@ group by day + + diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/LargeScreenServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/LargeScreenServiceImpl.java index 736358a4f..308e037a1 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/LargeScreenServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/LargeScreenServiceImpl.java @@ -7,6 +7,7 @@ import com.njcn.device.pq.pojo.param.LargeScreenParam; import com.njcn.device.pq.pojo.param.MonitoringPointScaleParam; import com.njcn.device.pq.pojo.vo.AreaDownVO; import com.njcn.device.pq.pojo.vo.DownTimeVO; +import com.njcn.device.pq.pojo.vo.EventVO; import com.njcn.device.pq.pojo.vo.LoadTypeVO; import com.njcn.event.mapper.majornetwork.LargeScreenMapper; import com.njcn.event.service.majornetwork.LargeScreenService; @@ -196,14 +197,14 @@ public class LargeScreenServiceImpl implements LargeScreenService { Map eventMap = new HashedMap(); for (Map map : maps) { - eventMap.put(LocalDate.parse(map.get("day").toString()),Integer.parseInt(map.get("count").toString())); + eventMap.put(LocalDate.parse(map.get("day").toString()), Integer.parseInt(map.get("count").toString())); } // 创建返回结果的Map集合 Map resultMap = new HashMap<>(); // 定义事件日期区间 LocalDate start = LocalDate.parse(largeScreenParam.getSearchBeginTime()); // 开始日期 - LocalDate end = LocalDate.parse( largeScreenParam.getSearchEndTime()); // 结束日期 + LocalDate end = LocalDate.parse(largeScreenParam.getSearchEndTime()); // 结束日期 // 循环遍历事件日期区间中的每一天,并尝试从事件日期的Map集合中获取对应的值 for (LocalDate date = start; !date.isAfter(end); date = date.plusDays(1)) { Integer value = eventMap.get(date); @@ -227,4 +228,26 @@ public class LargeScreenServiceImpl implements LargeScreenService { } return result; } + + /** + * 大屏获取暂降事件最新50条数据 + */ + @Override + public List eventLists(LargeScreenParam largeScreenParam) { + List result = new ArrayList<>(); + List> maps = largeScreenMapper.eventLists(largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime()); + for (Map map : maps) { + EventVO eventVO = new EventVO(); + eventVO.setTime(map.get("time").toString()); + eventVO.setName(map.get("name").toString()); + eventVO.setReason(map.get("reason").toString()); + eventVO.setType(map.get("type").toString()); + eventVO.setAmplitude(map.get("amplitude").toString()); + eventVO.setDuration(map.get("duration").toString()); + result.add(eventVO); + } + return result; + } + + } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/LargeScreenService.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/LargeScreenService.java index 76f93ff92..7b33030b4 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/LargeScreenService.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/LargeScreenService.java @@ -3,6 +3,7 @@ package com.njcn.event.service.majornetwork; import com.njcn.device.pq.pojo.param.LargeScreenParam; import com.njcn.device.pq.pojo.vo.AreaDownVO; import com.njcn.device.pq.pojo.vo.DownTimeVO; +import com.njcn.device.pq.pojo.vo.EventVO; import com.njcn.device.pq.pojo.vo.LoadTypeVO; import java.util.List; @@ -20,4 +21,6 @@ public interface LargeScreenService { List getLoadType(LargeScreenParam largeScreenParam); List getTimeCount(LargeScreenParam largeScreenParam); + + List eventLists(LargeScreenParam largeScreenParam); }