波形代码提交

This commit is contained in:
wurui
2023-03-23 14:51:15 +08:00
parent 50107edbe9
commit 49744fdf85
20 changed files with 353 additions and 42 deletions

View File

@@ -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<java.util.List < com.njcn.device.pms.pojo.dto.PmsMonitorDTO>>
*/
@PostMapping("/getMonitorInfoListByCond")
public HttpResult<List<PmsMonitorDTO>> getMonitorInfoListByCond(@RequestBody PmsMonitorParam pmsMonitorParam);
HttpResult<List<PmsMonitorDTO>> getMonitorInfoListByCond(@RequestBody PmsMonitorParam pmsMonitorParam);
/**
@@ -66,4 +68,13 @@ public interface MonitorClient {
HttpResult<List<Monitor>> getMonitorList(@RequestBody List<String> monitorIds);
/***
* 获取台账和终端信息(波形专用)
* @author wr
* @date 2023-03-23 10:53
* @param param
* @return HttpResult<List<Monitor>>
*/
@PostMapping("getMonitorTerminal")
HttpResult<MonitorVO> getMonitorTerminal(@RequestBody MonitorTerminalParam param);
}

View File

@@ -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<MonitorClie
log.error("{}异常,降级处理,异常为:{}", "获取主网监测点数据 ", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<MonitorVO> getMonitorTerminal(MonitorTerminalParam param) {
log.error("{}异常,降级处理,异常为:{}", "获取台账和终端信息(波形专用) ", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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<MonitorVO> 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);
}
}
}

View File

@@ -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<Monitor> {
List<PmsMonitorInfoDTO> 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);
}

View File

@@ -131,7 +131,37 @@
AND pm.`Name` LIKE CONCAT('%',#{pmsMonitorInfoParam.monitorName},'%')
</if>
</select>
<select id="getMonitorTerminal" resultType="com.njcn.device.pms.pojo.vo.MonitorVO">
SELECT
pm.Id,
pm.NAME,
pm.Terminal_Wiring_Method,
pt.Ip,
pt.Port,
pm.Pt1,
pm.Pt2,
pm.Ct1,
pm.Ct2
FROM
pms_monitor pm
INNER JOIN pms_terminal pt on pt.Id=pm.Terminal_Id
where pm.id = #{id}
</select>
<select id="getPwMonitorTerminal" resultType="com.njcn.device.pms.pojo.vo.MonitorVO">
SELECT
pm.Monitor_Id,
pm.Terminal_Wiring_Method,
pt.Ip,
pt.PORT,
pm.Pt1,
pm.Pt2,
pm.Ct1,
pm.Ct2
FROM
pms_distribution_monitor pm
INNER JOIN pms_terminal pt ON pt.Id = pm.Terminal_Id
where pm.Monitor_Id = #{id}
</select>
</mapper>

View File

@@ -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<Monitor> {
*/
boolean updateStatus(MonitorStatus monitorParam);
/***
* 获取台账和终端信息
* @author wr
* @date 2023-03-23 10:17
* @param param
* @return MonitorVO
*/
MonitorVO monitorTerminal(MonitorTerminalParam param);
}

View File

@@ -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<MonitorMapper, Monitor> impl
LambdaQueryWrapper<Monitor> 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<MonitorMapper, Monitor> 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) {