From 3b68f67ac353922c4c060e2a459f7a860a9f2d64 Mon Sep 17 00:00:00 2001 From: zhangbaojian <1065122561@qq.com> Date: Mon, 3 Apr 2023 10:48:35 +0800 Subject: [PATCH 1/4] =?UTF-8?q?zbj//=E5=A4=A7=E5=B1=8F=E6=9A=82=E9=99=8D?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E8=B4=9F=E8=8D=B7=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../njcn/device/pq/pojo/vo/LoadTypeVO.java | 29 ++++++++ .../majornetwork/LargeScreenController.java | 22 +++++- .../majornetwork/LargeScreenMapper.java | 3 + .../mapping/LargeScreenMapper.xml | 24 +++++- .../Impl/LargeScreenServiceImpl.java | 73 ++++++++++++++++++- .../majornetwork/LargeScreenService.java | 5 ++ 6 files changed, 146 insertions(+), 10 deletions(-) create mode 100644 pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LoadTypeVO.java diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LoadTypeVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LoadTypeVO.java new file mode 100644 index 000000000..2c2e49d2c --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LoadTypeVO.java @@ -0,0 +1,29 @@ +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 LoadTypeVO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 干扰源类型名称 + */ + @ApiModelProperty("干扰源类型名称") + private String name; + + /** + * 干扰源暂降次数 + */ + @ApiModelProperty("干扰源暂降次数") + private Integer count; +} 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 f87c3f92f..04e321d69 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 @@ -7,6 +7,7 @@ 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.LoadTypeVO; import com.njcn.device.pq.pojo.vo.MonitoringPointScaleVO; import com.njcn.event.service.majornetwork.LargeScreenService; @@ -22,6 +23,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @version 1.0.0 * @author: zbj @@ -37,15 +40,28 @@ public class LargeScreenController extends BaseController { private final LargeScreenService largeScreenService; /** - * 监测点规模 + * 暂降事件区域 */ @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/getAreaDownStatistics") - @ApiOperation("区域暂降统计") - @ApiImplicitParam(name = "largeScreenParam", value = "区域暂降统计", required = true) + @ApiOperation("暂降事件区域") + @ApiImplicitParam(name = "largeScreenParam", value = "暂降事件区域", required = true) public HttpResult getAreaDownStatistics(@RequestBody @Validated LargeScreenParam largeScreenParam) { String methodDescribe = getMethodDescribe("getAreaDownStatistics"); AreaDownVO result = largeScreenService.getAreaDownStatistics(largeScreenParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } + + /** + * 暂降事件负荷类型 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getLoadType") + @ApiOperation("暂降事件负荷类型") + @ApiImplicitParam(name = "largeScreenParam", value = "暂降事件负荷类型", required = true) + public HttpResult> getLoadType(@RequestBody @Validated LargeScreenParam largeScreenParam) { + String methodDescribe = getMethodDescribe("getLoadType"); + List result = largeScreenService.getLoadType(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 c8cbca97c..5f438750d 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 @@ -13,4 +13,7 @@ import java.util.Map; public interface LargeScreenMapper { Map selectDownCount(@Param("lineIds") List lineIds, @Param("startTime") String startTime, @Param("endTime") String endTime); + + List> selectLoadTypeCount(@Param("lineIds") List lineIds, @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 75dd78923..748772a56 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 @@ -6,17 +6,35 @@ select count(ed.event_id) "count" from r_mp_event_detail ed - left join sys_dict_data dd on ed.event_type and dd.Type_Id ='c37861896dafab0883321e1d508caa51' where ed.measurement_point_id in #{item} - and date_format(pl.Create_Time,'%y%m%d') >= date_format(#{startTime},'%y%m%d') + and date_format(ed.create_time,'%y%m%d') >= date_format(#{startTime},'%y%m%d') - and date_format(pl.Create_Time,'%y%m%d') <= date_format(#{endTime},'%y%m%d') + and date_format(ed.create_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d') + + + 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 745ee2fac..1faeb4aba 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 @@ -6,6 +6,7 @@ import com.njcn.device.pq.pojo.param.DeviceInfoParam; 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.LoadTypeVO; import com.njcn.device.pq.pojo.vo.MonitoringPointScaleVO; import com.njcn.event.mapper.majornetwork.LargeScreenMapper; import com.njcn.event.service.majornetwork.LargeScreenService; @@ -14,9 +15,12 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import com.njcn.device.pq.api.GeneralDeviceInfoClient; + import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * @version 1.0.0 @@ -33,7 +37,7 @@ public class LargeScreenServiceImpl implements LargeScreenService { private final LargeScreenMapper largeScreenMapper; /** - * 区域暂降统计 + * 暂降事件区域 */ @Override public AreaDownVO getAreaDownStatistics(LargeScreenParam largeScreenParam) { @@ -56,14 +60,14 @@ public class LargeScreenServiceImpl implements LargeScreenService { List generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(deviceInfoParam).getData(); for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList) { - if (generalDeviceDTO.getLineIndexes().size() == 0){ + if (generalDeviceDTO.getLineIndexes().size() == 0) { MonitoringPointScaleParam param = new MonitoringPointScaleParam(); param.setName(generalDeviceDTO.getName()); param.setIndex(generalDeviceDTO.getIndex()); param.setCount(0); list.add(param); - }else{ - Map map = largeScreenMapper.selectDownCount(generalDeviceDTO.getLineIndexes(),largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime()); + } else { + Map map = largeScreenMapper.selectDownCount(generalDeviceDTO.getLineIndexes(), largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime()); MonitoringPointScaleParam param = new MonitoringPointScaleParam(); param.setName(generalDeviceDTO.getName()); param.setIndex(generalDeviceDTO.getIndex()); @@ -97,4 +101,65 @@ public class LargeScreenServiceImpl implements LargeScreenService { }*/ } + + /** + * 暂降事件负荷类型 + */ + @Override + public List getLoadType(LargeScreenParam largeScreenParam) { + //创建返回VO + List result = new ArrayList<>(); + DeviceInfoParam.BusinessParam deviceInfoParam = new DeviceInfoParam.BusinessParam(); + //部门索引 + deviceInfoParam.setDeptIndex(largeScreenParam.getDeptIndex()); + //统计类型 + SimpleDTO simpleDTO = new SimpleDTO(); + simpleDTO.setCode(String.valueOf(StatisticsEnum.LOAD_TYPE)); + deviceInfoParam.setStatisticalType(simpleDTO); + //添加时间 + deviceInfoParam.setSearchBeginTime(largeScreenParam.getSearchBeginTime()); + deviceInfoParam.setSearchEndTime(largeScreenParam.getSearchEndTime()); + //添加服务名 + deviceInfoParam.setServerName("event-boot"); + // 获取所有数据 + List generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(deviceInfoParam).getData(); + + //获取所有监测点集合 + List lineIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList()); + + List> maps = largeScreenMapper.selectLoadTypeCount(lineIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime()); + + Map countMap = new HashMap<>(); + for (Map map : maps) { + for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList) { + for (String lineIndex : generalDeviceDTO.getLineIndexes()) { + if (map.get("id").equals(lineIndex)) { + if (countMap.containsKey(generalDeviceDTO.getName())) { + int id = Integer.parseInt(map.get("count").toString()); + countMap.put(generalDeviceDTO.getName(), countMap.get(generalDeviceDTO.getName()) + id); + break; + } else { + int id = Integer.parseInt(map.get("count").toString()); + countMap.put(generalDeviceDTO.getName(), id); + break; + } + } + } + } + + } + List nameList = generalDeviceDTOList.stream().map(GeneralDeviceDTO::getName).collect(Collectors.toList()); + for (String s : nameList) { + if (!countMap.containsKey(s)) { + countMap.put(s, 0); + } + } + for (String s : countMap.keySet()) { + LoadTypeVO loadTypeVO = new LoadTypeVO(); + loadTypeVO.setName(s); + loadTypeVO.setCount(countMap.get(s)); + result.add(loadTypeVO); + } + 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 2e3a2454b..40282ccdd 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 @@ -2,6 +2,9 @@ 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.LoadTypeVO; + +import java.util.List; /** @@ -13,4 +16,6 @@ public interface LargeScreenService { AreaDownVO getAreaDownStatistics(LargeScreenParam largeScreenParam); + List getLoadType(LargeScreenParam largeScreenParam); + } From 62d0e20cba9f05e26c886814907dc72f12bcb751 Mon Sep 17 00:00:00 2001 From: zhangbaojian <1065122561@qq.com> Date: Mon, 3 Apr 2023 11:47:46 +0800 Subject: [PATCH 2/4] =?UTF-8?q?zbj//=E5=A4=A7=E5=B1=8F=E6=9A=82=E9=99=8D?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E6=97=B6=E9=97=B4=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../njcn/device/pq/pojo/vo/DownTimeVO.java | 29 ++++++++ .../majornetwork/LargeScreenController.java | 14 ++++ .../majornetwork/LargeScreenMapper.java | 2 + .../mapping/LargeScreenMapper.xml | 16 +++++ .../Impl/LargeScreenServiceImpl.java | 67 ++++++++++++++++++- .../majornetwork/LargeScreenService.java | 2 + 6 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/DownTimeVO.java diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/DownTimeVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/DownTimeVO.java new file mode 100644 index 000000000..77dc580b1 --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/DownTimeVO.java @@ -0,0 +1,29 @@ +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 DownTimeVO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 时间 + */ + @ApiModelProperty("时间") + private String time; + + /** + * 干扰源暂降次数 + */ + @ApiModelProperty("干扰源暂降次数") + private Integer count; +} 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 04e321d69..d6b7b91bc 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 @@ -7,6 +7,7 @@ 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; @@ -64,4 +65,17 @@ public class LargeScreenController extends BaseController { List result = largeScreenService.getLoadType(largeScreenParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } + + /** + * 暂降事件时间统计 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getTimeCount") + @ApiOperation("暂降事件时间统计") + @ApiImplicitParam(name = "largeScreenParam", value = "暂降事件时间统计", required = true) + public HttpResult> getTimeCount(@RequestBody @Validated LargeScreenParam largeScreenParam) { + String methodDescribe = getMethodDescribe("getTimeCount"); + List result = largeScreenService.getTimeCount(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 5f438750d..c58093b22 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 @@ -16,4 +16,6 @@ public interface LargeScreenMapper { List> selectLoadTypeCount(@Param("lineIds") List lineIds, @Param("startTime") String startTime, @Param("endTime") String endTime); + List> getTimeCount(@Param("lineIds") List lineIds, @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 748772a56..2145c44b4 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 @@ -37,4 +37,20 @@ group by ed.measurement_point_id + + 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 1faeb4aba..736358a4f 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 @@ -6,16 +6,19 @@ import com.njcn.device.pq.pojo.param.DeviceInfoParam; 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.LoadTypeVO; -import com.njcn.device.pq.pojo.vo.MonitoringPointScaleVO; import com.njcn.event.mapper.majornetwork.LargeScreenMapper; import com.njcn.event.service.majornetwork.LargeScreenService; import com.njcn.system.pojo.enums.StatisticsEnum; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.map.HashedMap; import org.springframework.stereotype.Service; import com.njcn.device.pq.api.GeneralDeviceInfoClient; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -162,4 +165,66 @@ public class LargeScreenServiceImpl implements LargeScreenService { } return result; } + + /** + * 暂降事件时间统计 + */ + @Override + public List getTimeCount(LargeScreenParam largeScreenParam) { + //创建返回VO + List result = new ArrayList<>(); + DeviceInfoParam.BusinessParam deviceInfoParam = new DeviceInfoParam.BusinessParam(); + //部门索引 + deviceInfoParam.setDeptIndex(largeScreenParam.getDeptIndex()); + //统计类型 + SimpleDTO simpleDTO = new SimpleDTO(); + simpleDTO.setCode(String.valueOf(StatisticsEnum.LOAD_TYPE)); + deviceInfoParam.setStatisticalType(simpleDTO); + //添加时间 + deviceInfoParam.setSearchBeginTime(largeScreenParam.getSearchBeginTime()); + deviceInfoParam.setSearchEndTime(largeScreenParam.getSearchEndTime()); + //添加服务名 + deviceInfoParam.setServerName("event-boot"); + // 获取所有数据 + List generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(deviceInfoParam).getData(); + + //获取所有监测点集合 + List lineIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList()); + + List> maps = largeScreenMapper.getTimeCount(lineIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime()); + + Map eventMap = new HashedMap(); + + for (Map map : maps) { + 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()); // 结束日期 + // 循环遍历事件日期区间中的每一天,并尝试从事件日期的Map集合中获取对应的值 + for (LocalDate date = start; !date.isAfter(end); date = date.plusDays(1)) { + Integer value = eventMap.get(date); + + // 如果事件日期的Map集合中存在这一天,则将对应键值对添加到返回结果的Map集合中 + if (value != null) { + resultMap.put(date, value); + } + // 否则,将这一天添加到返回结果的Map集合中,并将值设为0,表示这一天没有事件 + else { + resultMap.put(date, 0); + } + } + // 输出返回结果的Map集合中的每一个键值对 + resultMap.entrySet().forEach(System.out::println); + for (LocalDate s : resultMap.keySet()) { + DownTimeVO downTimeVO = new DownTimeVO(); + downTimeVO.setTime(s.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + downTimeVO.setCount(resultMap.get(s)); + result.add(downTimeVO); + } + 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 40282ccdd..76f93ff92 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 @@ -2,6 +2,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.LoadTypeVO; import java.util.List; @@ -18,4 +19,5 @@ public interface LargeScreenService { List getLoadType(LargeScreenParam largeScreenParam); + List getTimeCount(LargeScreenParam largeScreenParam); } From 965f7af23387e405e3a54a98b8503494ce8acc61 Mon Sep 17 00:00:00 2001 From: hanyong <1334742946@qq.com> Date: Mon, 3 Apr 2023 14:49:54 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=9E=9A=E4=B8=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/njcn/system/enums/DicDataTypeEnum.java | 1 + 1 file changed, 1 insertion(+) diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataTypeEnum.java b/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataTypeEnum.java index 14ad7df09..cfa13df96 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataTypeEnum.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataTypeEnum.java @@ -63,6 +63,7 @@ public enum DicDataTypeEnum { WORK_ORDER_PROCESS("工单流程","Work_Order_Process"), ASSESS_RESULT("评估结果","Assess_Result"), WORK_ORDER_TYPE("工单类型","Work_Order_Type"), + DEV_VOLTAGE_STAND("标准电压等级","Dev_Voltage_Stand"), PRIMARY_TYPE("一级业务类型","Primary_Type"); From 91bdf291ab0d8620d1872ca66175abfcd70d7eb6 Mon Sep 17 00:00:00 2001 From: zhangbaojian <1065122561@qq.com> Date: Mon, 3 Apr 2023 14:58:20 +0800 Subject: [PATCH 4/4] =?UTF-8?q?zbj//=E5=A4=A7=E5=B1=8F=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E6=9A=82=E9=99=8D=E4=BA=8B=E4=BB=B6=E6=9C=80=E6=96=B050?= =?UTF-8?q?=E6=9D=A1=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/njcn/device/pq/pojo/vo/EventVO.java | 53 +++++++++++++++++++ .../majornetwork/LargeScreenController.java | 18 +++++-- .../majornetwork/LargeScreenMapper.java | 1 + .../mapping/LargeScreenMapper.xml | 20 +++++++ .../Impl/LargeScreenServiceImpl.java | 27 +++++++++- .../majornetwork/LargeScreenService.java | 3 ++ 6 files changed, 116 insertions(+), 6 deletions(-) create mode 100644 pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/EventVO.java 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); }