diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/MonitorClient.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/MonitorClient.java index 513841c57..2c226f05d 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/MonitorClient.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/MonitorClient.java @@ -5,9 +5,11 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.device.pms.api.fallback.MonitorClientFallbackFactory; import com.njcn.device.pms.pojo.dto.PmsMonitorDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO; +import com.njcn.device.pms.pojo.param.MonitorTerminalParam; import com.njcn.device.pms.pojo.param.PmsMonitorInfoParam; import com.njcn.device.pms.pojo.param.PmsMonitorParam; import com.njcn.device.pms.pojo.po.Monitor; +import com.njcn.device.pms.pojo.vo.MonitorVO; import com.njcn.device.pq.pojo.po.Overlimit; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; @@ -44,7 +46,7 @@ public interface MonitorClient { * @return com.njcn.common.pojo.response.HttpResult> */ @PostMapping("/getMonitorInfoListByCond") - public HttpResult> getMonitorInfoListByCond(@RequestBody PmsMonitorParam pmsMonitorParam); + HttpResult> getMonitorInfoListByCond(@RequestBody PmsMonitorParam pmsMonitorParam); /** @@ -66,4 +68,13 @@ public interface MonitorClient { HttpResult> getMonitorList(@RequestBody List monitorIds); + /*** + * 获取台账和终端信息(波形专用) + * @author wr + * @date 2023-03-23 10:53 + * @param param + * @return HttpResult> + */ + @PostMapping("getMonitorTerminal") + HttpResult getMonitorTerminal(@RequestBody MonitorTerminalParam param); } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/MonitorClientFallbackFactory.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/MonitorClientFallbackFactory.java index eff78ea8e..31634f564 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/MonitorClientFallbackFactory.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/MonitorClientFallbackFactory.java @@ -6,9 +6,11 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.device.pms.api.MonitorClient; import com.njcn.device.pms.pojo.dto.PmsMonitorDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO; +import com.njcn.device.pms.pojo.param.MonitorTerminalParam; import com.njcn.device.pms.pojo.param.PmsMonitorInfoParam; import com.njcn.device.pms.pojo.param.PmsMonitorParam; import com.njcn.device.pms.pojo.po.Monitor; +import com.njcn.device.pms.pojo.vo.MonitorVO; import com.njcn.device.pms.utils.PmsDeviceEnumUtil; import com.njcn.device.pq.pojo.po.Overlimit; import feign.hystrix.FallbackFactory; @@ -59,6 +61,12 @@ public class MonitorClientFallbackFactory implements FallbackFactory getMonitorTerminal(MonitorTerminalParam param) { + log.error("{}异常,降级处理,异常为:{}", "获取台账和终端信息(波形专用) ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } }; } } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/MonitorTerminalParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/MonitorTerminalParam.java new file mode 100644 index 000000000..10095770a --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/MonitorTerminalParam.java @@ -0,0 +1,30 @@ +package com.njcn.device.pms.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + * <监测点波形入参> + * + * @author wr + * @createTime: 2023-03-23 + */ +@Data +public class MonitorTerminalParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "id") + @NotBlank(message = "id不能为空") + private String id; + + @ApiModelProperty(value = "区分主配网(0:主网 1:配网)") + @NotNull(message = "区分类别不能为空") + private Integer type; + + @ApiModelProperty(value = "区分系统(0:pq 1:pms)") + @NotNull(message = "区分系统不能为空") + private Integer systemType; +} diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/MonitorVO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/MonitorVO.java new file mode 100644 index 000000000..d0da9fe46 --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/MonitorVO.java @@ -0,0 +1,60 @@ +package com.njcn.device.pms.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * <功能描述> + * + * @author wr + * @createTime: 2023-03-23 + */ +@Data +public class MonitorVO { + /** + * 监测点ID + */ + @ApiModelProperty(name = "id", value = "监测点ID") + private String id; + + /** + * 监测点名称 + */ + @ApiModelProperty(name = "name", value = "监测点名称") + private String name; + + /** + * 监测终端接线方式(字典) + */ + private String terminalWiringMethod; + + /** + * IP地址 + */ + private String ip; + + /** + * 通信端口 + */ + private String port; + + /** + * pt变比 + */ + private Double pt1; + + /** + * pt变比 + */ + private Double pt2; + + /** + * ct变比 + */ + private Double ct1; + + /** + * ct变比 + */ + private Double ct2; +} diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsMonitorController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsMonitorController.java index 95b9377a0..5debaa6b3 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsMonitorController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsMonitorController.java @@ -1,6 +1,7 @@ package com.njcn.device.pms.controller.ledgerManger; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.constant.OperateType; @@ -11,12 +12,9 @@ import com.njcn.common.utils.HttpResultUtil; import com.njcn.device.pms.annotation.TerminalOperationLogDesc; import com.njcn.device.pms.pojo.dto.PmsMonitorDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO; -import com.njcn.device.pms.pojo.param.TerminalQueryParam; -import com.njcn.device.pms.pojo.param.MonitorParam; -import com.njcn.device.pms.pojo.param.MonitorStatus; -import com.njcn.device.pms.pojo.param.PmsMonitorInfoParam; -import com.njcn.device.pms.pojo.param.PmsMonitorParam; +import com.njcn.device.pms.pojo.param.*; import com.njcn.device.pms.pojo.po.Monitor; +import com.njcn.device.pms.pojo.vo.MonitorVO; import com.njcn.device.pms.pojo.vo.PmsMonitorVO; import com.njcn.device.pms.service.majornetwork.IMonitorService; @@ -270,5 +268,18 @@ public class PmsMonitorController extends BaseController { } + @PostMapping("/getMonitorTerminal") + @ApiOperation("获取台账和终端信息(波形专用)") + @ApiImplicitParam(name = "monitorParam", value = "主网监测点实体", required = true) + public HttpResult getMonitorTerminal(@RequestBody MonitorTerminalParam param) { + String methodDescribe = getMethodDescribe("getMonitorTerminal"); + MonitorVO monitorVO = monitorService.monitorTerminal(param); + if (ObjectUtil.isEmpty(monitorVO)) { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NO_DATA, null, methodDescribe); + } else { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, monitorVO, methodDescribe); + } + + } } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/MonitorMapper.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/MonitorMapper.java index ca3fe804b..4bb24d2e3 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/MonitorMapper.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/MonitorMapper.java @@ -10,6 +10,7 @@ import com.njcn.device.pms.pojo.param.PmsMonitorInfoParam; import com.njcn.device.pms.pojo.param.PmsMonitorParam; import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; import com.njcn.device.pms.pojo.po.Monitor; +import com.njcn.device.pms.pojo.vo.MonitorVO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -56,4 +57,22 @@ public interface MonitorMapper extends BaseMapper { List getMonitorInfo(@Param("pmsMonitorInfoParam") PmsMonitorInfoParam pmsMonitorInfoParam); + /*** + * 主网监测点和终端信息(波形查看专用) + * @author wr + * @date 2023-03-23 10:21 + * @param id + * @return MonitorVO + */ + MonitorVO getMonitorTerminal(@Param("id")String id); + + + /*** + * 配网监测点和终端信息(波形查看专用) + * @author wr + * @date 2023-03-23 10:21 + * @param id + * @return MonitorVO + */ + MonitorVO getPwMonitorTerminal(@Param("id")String id); } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/MonitorMapper.xml b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/MonitorMapper.xml index e28e3f331..7fa20eb96 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/MonitorMapper.xml +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/MonitorMapper.xml @@ -131,7 +131,37 @@ AND pm.`Name` LIKE CONCAT('%',#{pmsMonitorInfoParam.monitorName},'%') + + diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorService.java index 710d7de16..fa5671017 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorService.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorService.java @@ -8,6 +8,7 @@ import com.njcn.device.pms.pojo.dto.PmsMonitorDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO; import com.njcn.device.pms.pojo.param.*; import com.njcn.device.pms.pojo.po.Monitor; +import com.njcn.device.pms.pojo.vo.MonitorVO; import com.njcn.device.pms.pojo.vo.PmsMonitorVO; import com.njcn.device.pq.pojo.po.Overlimit; @@ -124,4 +125,12 @@ public interface IMonitorService extends IService { */ boolean updateStatus(MonitorStatus monitorParam); + /*** + * 获取台账和终端信息 + * @author wr + * @date 2023-03-23 10:17 + * @param param + * @return MonitorVO + */ + MonitorVO monitorTerminal(MonitorTerminalParam param); } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java index 1946ddf71..ef1e06f3a 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java @@ -16,6 +16,7 @@ import com.njcn.device.pms.pojo.dto.PmsMonitorDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO; import com.njcn.device.pms.pojo.param.*; import com.njcn.device.pms.pojo.po.*; +import com.njcn.device.pms.pojo.vo.MonitorVO; import com.njcn.device.pms.pojo.vo.PmsMonitorVO; import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService; import com.njcn.device.pms.service.majornetwork.IMonitorService; @@ -149,7 +150,7 @@ public class MonitorServiceImpl extends ServiceImpl impl LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper .eq(StrUtil.isNotBlank(baseParam.getMonitorState()), Monitor::getMonitorState, baseParam.getMonitorState()) - .eq(StrUtil.isNotBlank(baseParam.getMonitorTag()),Monitor::getMonitorTag,baseParam.getMonitorTag()) + .eq(StrUtil.isNotBlank(baseParam.getMonitorTag()), Monitor::getMonitorTag, baseParam.getMonitorTag()) .and(StrUtil.isNotBlank(baseParam.getSearchValue()), i -> i.like(Monitor::getName, baseParam.getSearchValue()) .or() .like(Monitor::getId, baseParam.getSearchValue()) @@ -272,6 +273,31 @@ public class MonitorServiceImpl extends ServiceImpl impl return this.update(update); } + @Override + public MonitorVO monitorTerminal(MonitorTerminalParam param) { + //type 0:主网 1:配网 + MonitorVO monitorTerminal; + if (param.getType() == 0) { + monitorTerminal = this.baseMapper.getMonitorTerminal(param.getId()); + } else { + monitorTerminal = this.baseMapper.getPwMonitorTerminal(param.getId()); + } + String terminalWiringMethod = monitorTerminal.getTerminalWiringMethod(); + DictData data = dicDataFeignClient.getDicDataById(terminalWiringMethod).getData(); + if( DicDataEnum.STAR.getCode().equals(data.getCode())){ + monitorTerminal.setTerminalWiringMethod("0"); + } + if( DicDataEnum.STAR_TRIANGLE.getCode().equals(data.getCode())){ + monitorTerminal.setTerminalWiringMethod("1"); + } + if( DicDataEnum.OPEN_DELTA.getCode().equals(data.getCode())){ + monitorTerminal.setTerminalWiringMethod("2"); + }else{ + monitorTerminal.setTerminalWiringMethod("-1"); + } + return monitorTerminal; + } + private void checkParam(MonitorParam monitorParam, boolean update) { diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/MTransientParam.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/MTransientParam.java new file mode 100644 index 000000000..234fb5fa4 --- /dev/null +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/MTransientParam.java @@ -0,0 +1,25 @@ +package com.njcn.event.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + * <功能描述> + * + * @author wr + * @createTime: 2023-03-23 + */ +@Data +public class MTransientParam { + @ApiModelProperty(value = "监测点id") + @NotBlank(message = "监测点id不能为空") + private String id; + + + @ApiModelProperty(value = "区分主配网(0:主网 1:配网)") + @NotNull(message = "区分类别不能为空") + private Integer type; +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/TransientController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/TransientController.java index c28777e3b..622e7fcdf 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/TransientController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/TransientController.java @@ -7,6 +7,7 @@ import com.njcn.common.pojo.enums.common.LogEnum; 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.pms.pojo.param.MonitorTerminalParam; import com.njcn.event.pojo.dto.wave.WaveDataDTO; import com.njcn.event.pojo.param.TransientParam; import com.njcn.event.pojo.param.WaveFileParam; @@ -54,13 +55,9 @@ public class TransientController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/getTransientAnalyseWave") @ApiOperation("暂态事件波形分析") - @ApiImplicitParams({ - @ApiImplicitParam(name = "timeId", value = "暂态时刻", required = true), - @ApiImplicitParam(name = "lineId", value = "暂态监测点Id", required = true) - }) - public HttpResult getTransientAnalyseWave(@RequestParam("timeId") String timeId, @RequestParam("lineId") String lineId){ + public HttpResult getTransientAnalyseWave(@RequestBody MonitorTerminalParam param){ String methodDescribe = getMethodDescribe("getTransientAnalyseWave"); - WaveDataDTO wave = transientService.getTransientAnalyseWave(timeId, lineId); + WaveDataDTO wave = transientService.getTransientAnalyseWave(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, wave, methodDescribe); } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RmpEventDetailMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RmpEventDetailMapper.java index 2e3ae9ed6..9db032256 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RmpEventDetailMapper.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RmpEventDetailMapper.java @@ -45,4 +45,7 @@ public interface RmpEventDetailMapper extends BaseMapper { @Param("eventType") List eventType, @Param("startTime") String startTime, @Param("endTime") String endTime); + + + RmpEventDetailPO getbyName(@Param("id") String id); } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RmpEventDetailMapper.xml b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RmpEventDetailMapper.xml index 28f2138d4..472b743ad 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RmpEventDetailMapper.xml +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RmpEventDetailMapper.xml @@ -65,4 +65,10 @@ AND DATE_FORMAT(start_time, '%Y-%m') <= SUBSTRING(#{endTime}, 1, 7) + \ No newline at end of file diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java index 36e5f2826..afdede6f0 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java @@ -8,6 +8,14 @@ import com.njcn.common.config.GeneralInfo; import com.njcn.common.pojo.enums.common.ServerEnum; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.utils.PubUtils; +import com.njcn.device.pms.api.MonitorClient; +import com.njcn.device.pms.pojo.param.MonitorTerminalParam; +import com.njcn.device.pms.pojo.po.Monitor; +import com.njcn.device.pms.pojo.vo.MonitorVO; +import com.njcn.event.mapper.majornetwork.RmpEventDetailMapper; +import com.njcn.event.pojo.po.RmpEventDetailPO; +import com.njcn.event.pojo.vo.RmpEventDetailVO; +import com.njcn.event.service.majornetwork.RmpEventDetailService; import com.njcn.oss.constant.GeneralConstant; import com.njcn.oss.constant.OssPath; import com.njcn.device.pq.api.GeneralDeviceInfoClient; @@ -81,6 +89,9 @@ public class TransientServiceImpl implements TransientService { private final WaveUtil waveUtil; + private final MonitorClient monitorClient; + + private final RmpEventDetailMapper rmpEventDetailMapper; @Override public Page getTransientData(TransientParam transientParam) { @@ -173,15 +184,28 @@ public class TransientServiceImpl implements TransientService { } @Override - public WaveDataDTO getTransientAnalyseWave(String timeId, String lineId) { + public WaveDataDTO getTransientAnalyseWave(MonitorTerminalParam param) { + //EventDetail eventDetailByTime = eventDetailService.getEventDetailByTime(lineId, timeId); + WaveDataDTO waveDataDTO; //原始数据 WaveDataDTO originalData; - //根据监测点id获取监测点详情 - LineDetailDataVO lineDetailData = lineFeignClient.getLineDetailData(lineId).getData(); - EventDetail eventDetailByTime = eventDetailService.getEventDetailByTime(lineId, timeId); - String ip = lineDetailData.getIp(); - String waveName = eventDetailByTime.getWaveName(); + + //获取暂降事件 + RmpEventDetailPO eventDetail = rmpEventDetailMapper.getbyName(param.getId()); + LineDetailDataVO lineDetailData=new LineDetailDataVO(); + MonitorVO monitorVO=new MonitorVO(); + String ip; + if(param.getSystemType()==0){ + lineDetailData = lineFeignClient.getLineDetailData(eventDetail.getMeasurementPointId()).getData(); + ip=lineDetailData.getIp(); + }else{ + param.setId(eventDetail.getMeasurementPointId()); + monitorVO = monitorClient.getMonitorTerminal(param).getData(); + ip=monitorVO.getIp(); + } + + String waveName = eventDetail.getWavePath(); String cfgPath, datPath; if (generalInfo.getBusinessFileStorage() == GeneralConstant.LOCAL_DISK) { cfgPath = generalInfo.getBusinessWavePath() + File.separator + ip + File.separator + waveName + GeneralConstant.CFG; @@ -209,14 +233,21 @@ public class TransientServiceImpl implements TransientService { } } waveDataDTO = waveUtil.getValidData(originalData); - waveDataDTO.setPtType(PubUtils.ptTypeName(lineDetailData.getPtType())); - double pt1 = Double.parseDouble(lineDetailData.getPt().split(StrUtil.SLASH)[0]); - double pt2 = Double.parseDouble(lineDetailData.getPt().split(StrUtil.SLASH)[1]); - double ct1 = Double.parseDouble(lineDetailData.getCt().split(StrUtil.SLASH)[0]); - double ct2 = Double.parseDouble(lineDetailData.getCt().split(StrUtil.SLASH)[1]); - waveDataDTO.setPt(pt1 / pt2); - waveDataDTO.setCt(ct1 / ct2); + if(param.getSystemType()==0){ + waveDataDTO.setPtType(PubUtils.ptTypeName(lineDetailData.getPtType())); + double pt1 = Double.parseDouble(lineDetailData.getPt().split(StrUtil.SLASH)[0]); + double pt2 = Double.parseDouble(lineDetailData.getPt().split(StrUtil.SLASH)[1]); + double ct1 = Double.parseDouble(lineDetailData.getCt().split(StrUtil.SLASH)[0]); + double ct2 = Double.parseDouble(lineDetailData.getCt().split(StrUtil.SLASH)[1]); + waveDataDTO.setPt(pt1 / pt2); + waveDataDTO.setCt(ct1 / ct2); + return waveDataDTO; + } + waveDataDTO.setPtType(Integer.valueOf(monitorVO.getTerminalWiringMethod())); + waveDataDTO.setPt(monitorVO.getPt1() / monitorVO.getPt2()); + waveDataDTO.setCt(monitorVO.getCt1() / monitorVO.getCt2()); return waveDataDTO; + } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/TransientService.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/TransientService.java index 3fc5c4d9c..6ae6610dd 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/TransientService.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/TransientService.java @@ -1,6 +1,7 @@ package com.njcn.event.service.majornetwork; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.device.pms.pojo.param.MonitorTerminalParam; import com.njcn.event.pojo.dto.wave.WaveDataDTO; import com.njcn.event.pojo.param.TransientParam; import com.njcn.event.pojo.param.WaveFileParam; @@ -26,11 +27,10 @@ public interface TransientService { Page getTransientData(TransientParam transientParam); /** * 功能描述: 暂态事件波形分析 - * @param timeId - * @param lineId + * @param param * @return */ - WaveDataDTO getTransientAnalyseWave(String timeId, String lineId); + WaveDataDTO getTransientAnalyseWave(MonitorTerminalParam param); /** * 功能描述: 暂态事件波形文件下载 * @param waveFileParam diff --git a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/StrategyParam.java b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/StrategyParam.java index 04c866bdc..df6d12bc1 100644 --- a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/StrategyParam.java +++ b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/StrategyParam.java @@ -36,7 +36,7 @@ public class StrategyParam { @ApiModelProperty("名称") private String name; - @ApiModelProperty("等级(0:一级;1:二级;2:三级)") + @ApiModelProperty("等级(0:自动策略 1:手动策略 2:排除策略)") private Integer grade; @ApiModelProperty(value = "区分预警单/告警单(0:预警单 ;1:告警单)") @@ -142,9 +142,6 @@ public class StrategyParam { @ApiModelProperty("名称") private String name; -// @ApiModelProperty("变电站信息") -// private List childPower; - @ApiModelProperty("子节点详细信息") private List children; } diff --git a/pqs-process/process-boot/src/main/java/com/njcn/process/controller/ThsWarnStrategyController.java b/pqs-process/process-boot/src/main/java/com/njcn/process/controller/ThsWarnStrategyController.java index 7abc5ce5c..0c6b340b3 100644 --- a/pqs-process/process-boot/src/main/java/com/njcn/process/controller/ThsWarnStrategyController.java +++ b/pqs-process/process-boot/src/main/java/com/njcn/process/controller/ThsWarnStrategyController.java @@ -48,6 +48,15 @@ public class ThsWarnStrategyController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); } + @PostMapping("/getStrategyList") + @ApiOperation("数据查询") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + public HttpResult> strategyList(@RequestBody @Validated StrategyParam.StrategyPageParam param) { + String methodDescribe = getMethodDescribe("getStrategyPage"); + List list = thsWarnStrategyService.strategyList(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + @PostMapping("/insertStrategy") @ApiOperation(value = "数据添加") @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD) @@ -113,10 +122,10 @@ public class ThsWarnStrategyController extends BaseController { @GetMapping("/echoMonitor") @ApiOperation(value = "监测点回显") - public HttpResult> echoMonitor(@Param("deptId") String deptId,@Param("type") Integer type) { + public HttpResult echoMonitor(@Param("deptId") String deptId,@Param("type") Integer type) { String methodDescribe = getMethodDescribe("echoMonitor"); - List strings = thsWarnStrategyService.echoMonitor(deptId, type); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, strings, methodDescribe); + StrategyParam.MonitorTree info = thsWarnStrategyService.echoMonitor(deptId, type); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, info, methodDescribe); } @PostMapping("/delStrategy") diff --git a/pqs-process/process-boot/src/main/java/com/njcn/process/service/ThsWarnStrategyService.java b/pqs-process/process-boot/src/main/java/com/njcn/process/service/ThsWarnStrategyService.java index 500104787..36fdd19b8 100644 --- a/pqs-process/process-boot/src/main/java/com/njcn/process/service/ThsWarnStrategyService.java +++ b/pqs-process/process-boot/src/main/java/com/njcn/process/service/ThsWarnStrategyService.java @@ -27,6 +27,14 @@ public interface ThsWarnStrategyService extends IService { */ Page strategyPage(StrategyParam.StrategyPageParam param); + /*** + * 预警单/告警单集合 + * @author wr + * @date 2023-02-27 13:58 + * @param param + * @return Page + */ + List strategyList(StrategyParam.StrategyPageParam param); /*** * 预警单/告警单单条新增 @@ -101,7 +109,7 @@ public interface ThsWarnStrategyService extends IService { * @param type * @return List */ - List echoMonitor(String org,Integer type); + StrategyParam.MonitorTree echoMonitor(String org,Integer type); /*** * 预警单/告警单删除 diff --git a/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/ThsWarnStrategyServiceImpl.java b/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/ThsWarnStrategyServiceImpl.java index 8fc65c9f1..db170f806 100644 --- a/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/ThsWarnStrategyServiceImpl.java +++ b/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/ThsWarnStrategyServiceImpl.java @@ -1,6 +1,7 @@ package com.njcn.process.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; @@ -27,11 +28,13 @@ import com.njcn.user.pojo.dto.DeptDTO; import com.njcn.web.utils.RequestUtil; import com.njcn.web.utils.WebUtil; import lombok.RequiredArgsConstructor; +import org.apache.commons.math3.random.RandomDataGenerator; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; import java.util.stream.Collectors; +import java.util.stream.IntStream; /** *

@@ -62,6 +65,17 @@ public class ThsWarnStrategyServiceImpl extends ServiceImpl strategyList(StrategyParam.StrategyPageParam param) { + return this.list(new LambdaQueryWrapper() + .like(StrUtil.isNotBlank(param.getName()), ThsWarnStrategy::getName, param.getName()) + .eq(param.getGrade() != null, ThsWarnStrategy::getGrade, param.getGrade()) + .eq(param.getType() != null, ThsWarnStrategy::getType, param.getType()) + .ne(ThsWarnStrategy::getState, DataStateEnum.DELETED.getCode()) + + ); + } + @Override @Transactional(rollbackFor = {Exception.class}) public Boolean insertStrategy(StrategyParam.StrategyInsertParam param) { @@ -196,12 +210,18 @@ public class ThsWarnStrategyServiceImpl extends ServiceImpl echoMonitor(String org,Integer type) { + public StrategyParam.MonitorTree echoMonitor(String org,Integer type) { List list = thsDeptAlarmService.list(new LambdaQueryWrapper() .eq(ThsDeptAlarm::getDeptId, org) .eq(ThsDeptAlarm::getType, type) ); - return list.stream().map(ThsDeptAlarm::getMonitorId).distinct().collect(Collectors.toList()); + StrategyParam.MonitorTree tree=new StrategyParam.MonitorTree(); + List collect = list.stream().map(ThsDeptAlarm::getAlarmId).distinct().collect(Collectors.toList()); + if(CollectionUtil.isNotEmpty(collect)){ + tree.setId(collect.get(0)); + } + tree.setChildren(list.stream().map(ThsDeptAlarm::getMonitorId).distinct().collect(Collectors.toList())); + return tree; } @Override @@ -283,7 +303,9 @@ public class ThsWarnStrategyServiceImpl extends ServiceImpl { String[] split = key.split("_"); StrategyParam.MonitorTree power = new StrategyParam.MonitorTree(); - power.setId(split[0]); + //生成随机数 + RandomDataGenerator randomDataGenerator = new RandomDataGenerator(); + power.setId(split[0]+randomDataGenerator.nextInt(1,9)); power.setName("变电站名称: "+split[1]); //监测点信息 List monitors = new ArrayList(); diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java b/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java index 5e9aa5a85..04830abd1 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java @@ -252,7 +252,16 @@ public enum DicDataEnum { /** * 一级业务类型 */ - TRANS_BUSINESS("运检业务","Trans_Business"); + TRANS_BUSINESS("运检业务","Trans_Business"), + + /** + * 接线方式 + */ + STAR("星型接线","Trans_Business"), + STAR_TRIANGLE("星三角","Star_Triangle"), + OPEN_DELTA("开口三角","Open_Delta"),; + + private final String name;