初始化

This commit is contained in:
2022-06-21 20:47:46 +08:00
parent b666a24a98
commit 59da3376c1
1246 changed files with 129600 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
package com.njcn.device.api;
import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.api.fallback.DeptLineFeignClientFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
* @author denghuajun
* @date 2022/2/11
*
*/
@FeignClient(value = ServerInfo.DEVICE,path = "/deptLine",fallbackFactory = DeptLineFeignClientFallbackFactory.class)
public interface DeptLineFeignClient {
@PostMapping("/getLineByDeptId")
HttpResult<List<String>> getLineByDeptId(String id);
@PostMapping("/selectDeptBindLines")
HttpResult<Boolean> selectDeptBindLines(@RequestParam("ids") List<String> ids);
}

View File

@@ -0,0 +1,25 @@
package com.njcn.device.api;
import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.api.fallback.DeviceTreeClientFallbackFactory;
import com.njcn.device.pojo.vo.TerminalTree;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
/**
* pqs
*
* @author cdf
* @date 2022/1/13
*/
@FeignClient(value = ServerInfo.DEVICE,path = "/terminalTree",fallbackFactory = DeviceTreeClientFallbackFactory.class)
public interface DeviceTreeClient {
/**
* 获取5层终端树
*/
@GetMapping("/getTerminalTreeForFive")
HttpResult<TerminalTree> getTerminalTreeForFive();
}

View File

@@ -0,0 +1,98 @@
package com.njcn.device.api;
import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.api.fallback.GeneralDeviceInfoClientFallbackFactory;
import com.njcn.device.pojo.bo.BaseLineInfo;
import com.njcn.device.pojo.dto.GeneralDeviceDTO;
import com.njcn.device.pojo.param.DeviceInfoParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* @author hongawen
* @version 1.0.0
* @date 2022年02月14日 14:02
*/
@FeignClient(value = ServerInfo.DEVICE, path = "/deviceInfo", fallbackFactory = GeneralDeviceInfoClientFallbackFactory.class)
public interface GeneralDeviceInfoClient {
/**
* 获取按部门分类的实际运行终端综合信息
*
* @param deviceInfoParam 查询终端条件
* @return 按部门分类的实际运行终端综合信息
*/
@PostMapping("/getPracticalRunDeviceInfoAsDept")
HttpResult<List<GeneralDeviceDTO>> getPracticalRunDeviceInfoAsDept(@RequestBody DeviceInfoParam deviceInfoParam);
/**
* 获取按部门分类的实际便携式终端综合信息
*
* @param deviceInfoParam 查询终端条件
* @return 按部门分类的实际便携式终端综合信息
*/
@PostMapping("/getOfflineRunDeviceInfoAsDept")
HttpResult<List<GeneralDeviceDTO>> getOfflineRunDeviceInfoAsDept(@RequestBody DeviceInfoParam deviceInfoParam);
/**
* 获取按部门分类的实际所有终端综合信息
*
* @param deviceInfoParam 查询终端条件
* @return 按部门分类的实际所有终端综合信息
*/
@PostMapping("/getPracticalAllDeviceInfoAsDept")
HttpResult<List<GeneralDeviceDTO>> getPracticalAllDeviceInfoAsDept(@RequestBody DeviceInfoParam deviceInfoParam);
/**
* 获取变电站分类的实际运行终端综合信息
*
* @param deviceInfoParam 查询终端条件
* @return 按部门分类的实际所有终端综合信息
*/
@PostMapping("/getPracticalRunDeviceInfoAsSubstation")
HttpResult<List<GeneralDeviceDTO>> getPracticalRunDeviceInfoAsSubstation(@RequestBody DeviceInfoParam deviceInfoParam);
/**
* 获取实际运行终端综合信息
*
* @param deviceInfoParam 查询终端条件
* @return 按部门分类的实际运行终端综合信息
*/
@PostMapping("/getPracticalRunDeviceInfo")
HttpResult<List<GeneralDeviceDTO>> getPracticalRunDeviceInfo(@RequestBody DeviceInfoParam deviceInfoParam);
/**
* 获取实际便携式终端综合信息
*
* @param deviceInfoParam 查询终端条件
* @return 按部门分类的实际便携式终端综合信息
*/
@PostMapping("/getOfflineRunDeviceInfo")
HttpResult<List<GeneralDeviceDTO>> getOfflineRunDeviceInfo(@RequestBody DeviceInfoParam deviceInfoParam);
/**
* 获取实际所有终端综合信息
*
* @param deviceInfoParam 查询终端条件
* @return 按部门分类的实际所有终端综合信息
*/
@PostMapping("/getPracticalAllDeviceInfo")
HttpResult<List<GeneralDeviceDTO>> getPracticalAllDeviceInfo(@RequestBody DeviceInfoParam deviceInfoParam);
/**
* 获取监测点及以上层的基础信息
*/
@PostMapping("/getBaseLineInfo")
HttpResult<List<BaseLineInfo>> getBaseLineInfo(@RequestBody List<String> lineIndex);
}

View File

@@ -0,0 +1,175 @@
package com.njcn.device.api;
import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.api.fallback.LineFeignClientFallbackFactory;
import com.njcn.device.pojo.dto.*;
import com.njcn.device.pojo.po.Line;
import com.njcn.device.pojo.po.Overlimit;
import com.njcn.device.pojo.vo.*;
import org.apache.commons.collections.map.MultiValueMap;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import javax.xml.transform.Result;
import java.util.List;
/**
* @author denghuajun
* @date 2022/2/28
*/
@FeignClient(value = ServerInfo.DEVICE, path = "/line", fallbackFactory = LineFeignClientFallbackFactory.class)
public interface LineFeignClient {
/**
* 获取终端状态信息
*
* @param id 监测点id
* @param searchBeginTime 起始时间
* @param searchEndTime 结束时间
* @return 终端状态信息
*/
@PostMapping("/getComFlagInfoData")
HttpResult<CommunicateVO> getComFlagInfoData(@RequestParam("id") String id,
@RequestParam("searchBeginTime") String searchBeginTime,
@RequestParam("searchEndTime") String searchEndTime);
/**
* 根据监测点id获取 终端id
*
* @param id 监测点id
* @return 终端id
*/
@PostMapping("getLineIdByDevId")
HttpResult<String> getLineIdByDevId(@RequestParam("id") String id);
/**
* 根据监测点id获取限值
*
* @param id 监测点id
* @return 获取限值
*/
@PostMapping("getOverLimitData")
HttpResult<Overlimit> getOverLimitData(@RequestParam("id") String id);
/**
* 根据监测点id获取监测点详情
*
* @param id 监测点id
* @return 监测点详情
*/
@PostMapping("getLineDetailData")
HttpResult<LineDetailDataVO> getLineDetailData(@RequestParam("id") String id);
/**
* 根据监测点id获取监测点越限
*
* @param id 监测点id
* @return 监测点越限详情
*/
@PostMapping("getLineOverLimitData")
HttpResult<LineOverLimitVO> getLineOverLimitData(@RequestParam("id") String id);
/**
* 获取投运在线的监测点的限值
*
* @param serverName 服务名称
* @param deptId 部门id
* @return 监测点越限详情
*/
@PostMapping("/getAllLineOverLimit")
HttpResult<List<Overlimit>> getAllLineOverLimit(@RequestParam("serverName") String serverName, @RequestParam(value = "deptId", required = false) String deptId);
/**
* 获取变电站详情
*
* @param id 变电站id
* @return 结果
*/
@PostMapping("getSubstationData")
HttpResult<List<SubstationDetailVO>> getSubstationData(@RequestParam("id") List<String> id);
/**
* 根据变电站id获取子节数据
*
* @param id 变电站id
* @return 结果
*/
@PostMapping("getSubIndexLineDetail")
HttpResult<List<Line>> getSubIndexLineDetail(@RequestParam("id") String id);
/**
* 获取所有监测点
* @param id 监测点集合
* @return 结果
*/
@PostMapping("getAllLine")
HttpResult<List<LineDeviceStateVO>> getAllLine(@RequestBody List<String> id);
/**
* 获取终端状态
* @param id id
* @return 结果
*/
@PostMapping("getDeviceState")
HttpResult<Integer> getDeviceState(@RequestParam("id") String id);
/**
* 获取变电站信息
* @param id id
* @return 结果
*/
@PostMapping("getSubstationInfo")
HttpResult<PollutionSubstationDTO> getSubstationInfo(@RequestParam("id") String id);
/**
* 获取监测点信息
* @param pollutionParamDTO 监测点对象
* @return 结果
*/
@PostMapping("getLineInfo")
HttpResult<List<PollutionLineDTO>> getLineInfo(@RequestBody PollutionParamDTO pollutionParamDTO);
/**
* 获取所有监测点
* @param id 监测点集合
* @return 结果
*/
@PostMapping("getLineSubGdDetail")
HttpResult<LineDetailVO> getLineSubGdDetail(@RequestParam("id") String id);
/**
* 获取告警变电站信息
* @param list 变电站集合
* @return 结果
*/
@PostMapping("getWarningSub")
HttpResult<List<WarningSubstationDTO>> getWarningSub(@RequestParam("list") List<String> list);
/**
* 获取监测点信息
* @param pollutionParamDTO 实体
* @return 结果
*/
@PostMapping("getOverLimitLineInfo")
HttpResult<List<OverLimitLineDTO>> getOverLimitLineInfo(@RequestBody PollutionParamDTO pollutionParamDTO);
/**
* 获取生成limitRate的监测点
* @return 监测点id集合
*/
@PostMapping("getLineList")
HttpResult<List<String>> getLineList();
/**
* 获取监测点限值
* @param pollutionParamDTO 监测点id集合
* @return 监测点限值信息
*/
@PostMapping("getOverLimitByList")
HttpResult<List<Overlimit>> getOverLimitByList(@RequestBody PollutionParamDTO pollutionParamDTO);
}

View File

@@ -0,0 +1,36 @@
package com.njcn.device.api;
import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.api.fallback.GeneralDeviceInfoClientFallbackFactory;
import com.njcn.device.api.fallback.TerminalBaseClientFallbackFactory;
import com.njcn.device.pojo.dto.GeneralDeviceDTO;
import com.njcn.device.pojo.po.Line;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
* @author hongawen
* @version 1.0.0
* @date 2022年02月14日 14:02
*/
@FeignClient(value = ServerInfo.DEVICE,path = "/device",fallbackFactory = TerminalBaseClientFallbackFactory.class)
public interface TerminalBaseClient {
/**
* 功能描述:根据变电站id获取变电站详情
*
* @param list
* @return
* @author xy
* @date 2022/2/21 18:53
*/
@GetMapping("/getSubstationById")
HttpResult<List<Line>> getSubstationById(@RequestParam("list") List<String> list);
}

View File

@@ -0,0 +1,48 @@
package com.njcn.device.api.fallback;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.api.DeptLineFeignClient;
import com.njcn.device.utils.DeviceEnumUtil;
import com.njcn.web.pojo.param.DeptLineParam;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author denghuajun
* @date 2022/1/13
*
*/
@Slf4j
@Component
public class DeptLineFeignClientFallbackFactory implements FallbackFactory<DeptLineFeignClient> {
@Override
public DeptLineFeignClient create(Throwable throwable) {
//判断抛出异常是否为解码器抛出的业务异常
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
if (throwable.getCause() instanceof BusinessException) {
BusinessException businessException = (BusinessException) throwable.getCause();
exceptionEnum = DeviceEnumUtil.getExceptionEnum(businessException.getResult());
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new DeptLineFeignClient()
{
@Override
public HttpResult<List<String>> getLineByDeptId(String id) {
log.error("{}异常,降级处理,异常为:{}", "部门Id获取绑定监测点", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<Boolean> selectDeptBindLines(List<String> ids) {
log.error("{}异常,降级处理,异常为:{}", "部门Ids集合查询是否绑定", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -0,0 +1,44 @@
package com.njcn.device.api.fallback;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.api.DeviceTreeClient;
import com.njcn.device.pojo.vo.TerminalTree;
import com.njcn.device.utils.DeviceEnumUtil;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* pqs
*
* @author cdf
* @date 2022/1/13
*/
@Slf4j
@Component
public class DeviceTreeClientFallbackFactory implements FallbackFactory<DeviceTreeClient> {
@Override
public DeviceTreeClient create(Throwable cause) {
//判断抛出异常是否为解码器抛出的业务异常
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
if(cause.getCause() instanceof BusinessException){
BusinessException businessException = (BusinessException) cause.getCause();
exceptionEnum = DeviceEnumUtil.getExceptionEnum(businessException.getResult());
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new DeviceTreeClient() {
@Override
public HttpResult<TerminalTree> getTerminalTreeForFive() {
log.error("{}异常,降级处理,异常为:{}","获取终端五层树失败",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -0,0 +1,86 @@
package com.njcn.device.api.fallback;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.api.DeptLineFeignClient;
import com.njcn.device.api.GeneralDeviceInfoClient;
import com.njcn.device.pojo.bo.BaseLineInfo;
import com.njcn.device.pojo.dto.GeneralDeviceDTO;
import com.njcn.device.pojo.param.DeviceInfoParam;
import com.njcn.device.utils.DeviceEnumUtil;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author hongawen
* @version 1.0.0
* @date 2022年02月14日 14:03
*/
@Slf4j
@Component
public class GeneralDeviceInfoClientFallbackFactory implements FallbackFactory<GeneralDeviceInfoClient> {
@Override
public GeneralDeviceInfoClient create(Throwable throwable) {
//判断抛出异常是否为解码器抛出的业务异常
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
if (throwable.getCause() instanceof BusinessException) {
BusinessException businessException = (BusinessException) throwable.getCause();
exceptionEnum = DeviceEnumUtil.getExceptionEnum(businessException.getResult());
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new GeneralDeviceInfoClient()
{
@Override
public HttpResult<List<GeneralDeviceDTO>> getPracticalRunDeviceInfoAsDept(DeviceInfoParam deviceInfoParam) {
log.error("{}异常,降级处理,异常为:{}", "获取按部门分类的实际运行终端综合信息", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<GeneralDeviceDTO>> getOfflineRunDeviceInfoAsDept(DeviceInfoParam deviceInfoParam) {
log.error("{}异常,降级处理,异常为:{}", "获取按部门分类的实际便携式终端综合信息", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<GeneralDeviceDTO>> getPracticalAllDeviceInfoAsDept(DeviceInfoParam deviceInfoParam) {
log.error("{}异常,降级处理,异常为:{}", "获取按部门分类的实际所有终端综合信息", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<GeneralDeviceDTO>> getPracticalRunDeviceInfoAsSubstation(DeviceInfoParam deviceInfoParam) {
log.error("{}异常,降级处理,异常为:{}", "获取按变电站分类的实际运行终端综合信息", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<GeneralDeviceDTO>> getPracticalRunDeviceInfo(DeviceInfoParam deviceInfoParam) {
log.error("{}异常,降级处理,异常为:{}", "获取实际运行终端综合信息", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<GeneralDeviceDTO>> getOfflineRunDeviceInfo(DeviceInfoParam deviceInfoParam) {
log.error("{}异常,降级处理,异常为:{}", "获取实际便携式终端综合信息", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<GeneralDeviceDTO>> getPracticalAllDeviceInfo(DeviceInfoParam deviceInfoParam) {
log.error("{}异常,降级处理,异常为:{}", "获取实际所有终端综合信息", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<BaseLineInfo>> getBaseLineInfo(List<String> lineIndex) {
log.error("{}异常,降级处理,异常为:{}", "获取监测点及以上层的基础信息", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -0,0 +1,140 @@
package com.njcn.device.api.fallback;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.api.LineFeignClient;
import com.njcn.device.pojo.dto.*;
import com.njcn.device.pojo.po.Line;
import com.njcn.device.pojo.po.Overlimit;
import com.njcn.device.pojo.vo.*;
import com.njcn.device.utils.DeviceEnumUtil;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author denghuajun
* @date 2022/2/28
*/
@Slf4j
@Component
public class LineFeignClientFallbackFactory implements FallbackFactory<LineFeignClient> {
@Override
public LineFeignClient create(Throwable throwable) {
//判断抛出异常是否为解码器抛出的业务异常
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
if (throwable.getCause() instanceof BusinessException) {
BusinessException businessException = (BusinessException) throwable.getCause();
exceptionEnum = DeviceEnumUtil.getExceptionEnum(businessException.getResult());
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new LineFeignClient() {
@Override
public HttpResult<CommunicateVO> getComFlagInfoData(String id, String searchBeginTime, String searchEndTime) {
log.error("{}异常,降级处理,异常为:{}", "根据监测点Id获取终端状态统计", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<String> getLineIdByDevId(String id) {
log.error("{}异常,降级处理,异常为:{}", "根据监测点Id获取终端id", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<Overlimit> getOverLimitData(String id) {
log.error("{}异常,降级处理,异常为:{}", "根据监测点Id获取限值 ", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<LineDetailDataVO> getLineDetailData(String id) {
log.error("{}异常,降级处理,异常为:{}", "根据监测点Id获取监测点详情 ", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<LineOverLimitVO> getLineOverLimitData(String id) {
log.error("{}异常,降级处理,异常为:{}", "根据监测点Id获取监测点越限 ", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<Overlimit>> getAllLineOverLimit(String serverName, String deptId) {
log.error("{}异常,降级处理,异常为:{}", "获取投运在线的监测点的限值 ", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<SubstationDetailVO>> getSubstationData(List<String> id) {
log.error("{}异常,降级处理,异常为:{}", "获取变电站信息 ", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<Line>> getSubIndexLineDetail(String id) {
log.error("{}异常,降级处理,异常为:{}", "获取所有信息 ", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<LineDeviceStateVO>> getAllLine(List<String> id) {
log.error("{}异常,降级处理,异常为:{}", "获取终端信息 ", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<Integer> getDeviceState(String id) {
log.error("{}异常,降级处理,异常为:{}", "获取终端状态 ", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<PollutionSubstationDTO> getSubstationInfo(String id) {
log.error("{}异常,降级处理,异常为:{}", "变电站信息 ", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<PollutionLineDTO>> getLineInfo(PollutionParamDTO pollutionParamDTO) {
log.error("{}异常,降级处理,异常为:{}", "监测点信息 ", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<LineDetailVO> getLineSubGdDetail(String id) {
log.error("{}异常,降级处理,异常为:{}", "监测点详细信息 ", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<WarningSubstationDTO>> getWarningSub(List<String> list) {
log.error("{}异常,降级处理,异常为:{}", "变电站集合为 ", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<OverLimitLineDTO>> getOverLimitLineInfo(PollutionParamDTO pollutionParamDTO) {
log.error("{}异常,降级处理,异常为:{}", "监测点集合为 ", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<String>> getLineList() {
log.error("{}异常,降级处理,异常为:{}", "监测点集合为 ", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<Overlimit>> getOverLimitByList(PollutionParamDTO pollutionParamDTO) {
log.error("{}异常,降级处理,异常为:{}", "监测点集合为 ", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -0,0 +1,45 @@
package com.njcn.device.api.fallback;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.api.GeneralDeviceInfoClient;
import com.njcn.device.api.TerminalBaseClient;
import com.njcn.device.pojo.dto.GeneralDeviceDTO;
import com.njcn.device.pojo.po.Line;
import com.njcn.device.utils.DeviceEnumUtil;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author hongawen
* @version 1.0.0
* @date 2022年02月14日 14:03
*/
@Slf4j
@Component
public class TerminalBaseClientFallbackFactory implements FallbackFactory<TerminalBaseClient> {
@Override
public TerminalBaseClient create(Throwable throwable) {
//判断抛出异常是否为解码器抛出的业务异常
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
if (throwable.getCause() instanceof BusinessException) {
BusinessException businessException = (BusinessException) throwable.getCause();
exceptionEnum = DeviceEnumUtil.getExceptionEnum(businessException.getResult());
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new TerminalBaseClient()
{
@Override
public HttpResult<List<Line>> getSubstationById(List<String> list) {
log.error("{}异常,降级处理,异常为:{}", "根据变电站id获取变电站详情", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -0,0 +1,89 @@
package com.njcn.device.enums;
import lombok.Getter;
/**
* pqs
* 终端枚举
* @author cdf
* @date 2021/6/21
*/
@Getter
public enum DeviceResponseEnum {
/**
* A0250 ~ A0349 用于终端模块的枚举
*/
DEVICE_COMMON_ERROR("A00349","终端模块异常"),
PROJECT_SAME_NAME("A0250","项目名称已存在"),
PROJECT_NO("A0251","项目为空"),
PROVINCE_SAME_NAME("A0260","省份不可重复"),
PROVINCE_GET_ERROR("A0261","未知区域"),
PROVINCE_EMPTY("A0262","省份为空"),
GD_SAME_NAME("A0270","供电公司名称已存在"),
GD_NO("A0271","未知供电公司"),
GD_EMPTY("A0272","公司为空"),
SUB_SAME_NAME("A0280","变电站名称已存在"),
SUB_NO("A0281","变电站为空"),
DEVICE_SAME_NAME("A0290","设备名称已存在"),
DEVICE_REPETITION("A0291","设备名称重复"),
DEVICE_IP_REPETITION("A0292","设备IP重复"),
DEVICE_SAME_IP("A0293","当前设备ip已存在"),
DEVICE_EMPTY("A0294","设备为空"),
NODE_SAME_NAME("A0259","前置机名称已存在"),
NODE_IP_SAME("A0260","前置机ip已存在"),
NODE_INFO_FAIL("A0261","前置机服务器为空"),
SUBV_NAME_REPETITION("A0262","母线名称重复"),
SUBV_NAME_SAME("A0263","母线名称已存在"),
SUBV_NO("A0264","母线不存在"),
LINE_NAME_REPETITION("A0264","监测点名称重复"),
LINE_NUM_USE("A0266","监测点序号已存在"),
LINE_NUM_REPETITION("A0267","监测点序号重复"),
LINE_NO("A0268","监测点不存在"),
DEVICE_LINE_BIG("A0268","每台装置下监测点数量最多6个"),
DEVICE_UNKNOWN_ERROR("A0269","终端服务未知异常"),
PARENT_INDEX_LACK("A0270","索引和实体同时存在"),
REQUEST_DATA_ERROR("A2071","请求体格式有误"),
DEPT_LINE_EMPTY("A2072","当前用户部门未有监测点绑定"),
DIC_GET_EMPTY("A2073","字典获取为空"),
INVALID_LEVEL("A2074","非法拓扑等级"),
LINE_EMPTY("A2075","监测点为空"),
/*excel相关*/
Excel_ERROR("A2080","excel解析异常"),
FLOW_SAME_NAME("A0350","当前名称已存在"),
FLOW_FLAG("A0351","默认类型已存在"),
FLOW_ERROR("A0352","占比参数异常");
private final String code;
private final String message;
DeviceResponseEnum(String code, String message) {
this.code = code;
this.message = message;
}
}

View File

@@ -0,0 +1,44 @@
package com.njcn.device.enums;
import lombok.Getter;
import java.util.Arrays;
import java.util.Optional;
/**
* pqs
*
* @author cdf
* @date 2022/1/4
*/
@Getter
public enum LineBaseEnum {
/**
* 系统拓扑各层级描述
*/
PROJECT_LEVEL(0, "项目"),
PROVINCE_LEVEL(1, "省份"),
GD_LEVEL(2, "供电公司"),
SUB_LEVEL(3, "变电站"),
DEVICE_LEVEL(4, "设备"),
SUB_V_LEVEL(5, "母线"),
LINE_LEVEL(6, "监测点"),
INVALID_LEVEL(-1, "非法拓扑等级");
private final Integer code;
private final String message;
LineBaseEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
public static LineBaseEnum getLineBaseEnumByCode(Integer code) {
return Arrays.stream(LineBaseEnum.values())
.filter(lineBaseEnum -> lineBaseEnum.getCode().equals(code))
.findAny()
.orElse(INVALID_LEVEL);
}
}

View File

@@ -0,0 +1,35 @@
package com.njcn.device.enums;
import lombok.Getter;
/**
* @author hongawen
* @version 1.0.0
* @date 2022年02月23日 15:24
*/
@Getter
public enum LineFlagEnum {
/**
* 区分监测点的类型标志
*/
//非网公司
LINE_MONITOR_NOT_NET_COMPANY(0),
//网公司
LINE_MONITOR_NET_COMPANY(1),
//所有公司
LINE_MONITOR_ALL(2),
//电网侧
LINE_POWER_GRID(0),
//非电网侧
LINE_POWER(1),
//所有
LINE_POWER_ALL(2);
private final int flag;
LineFlagEnum(int flag) {
this.flag = flag;
}
}

View File

@@ -0,0 +1,42 @@
package com.njcn.device.pojo.bo;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @author hongawen
* @version 1.0.0
* @date 2022年03月31日 20:02
*/
@Data
public class BaseLineInfo implements Serializable {
private String id;
private String provincialName;
private String gdName;
private String subName;
private String subScale;
private String deviceName;
private String networkParam;
private String comState;
private String factoryName;
private LocalDateTime time;
private String subvName;
private String subvScale;
private String lineName;
}

View File

@@ -0,0 +1,37 @@
package com.njcn.device.pojo.bo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 设备状态类
* @author hongawen
* @version 1.0.0
* @date 2022年02月11日 14:54
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class DeviceType implements Serializable {
/**
* 终端模型0虚拟设备1实际设备2离线设备默认是实际设备
*/
private List<Integer> devModel;
/**
* 终端状态0投运1热备用2停运
*/
private List<Integer> runFlag;
/**
* 数据类型0暂态系统1稳态系统2两个系统
*/
private List<Integer> dataType ;
}

View File

@@ -0,0 +1,48 @@
package com.njcn.device.pojo.bo.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelIgnore;
import com.njcn.common.pojo.constant.PatternRegex;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
/**
* pqs
*
* @author cdf
* @date 2022/5/10
*/
@Data
public class LineMark implements Serializable {
@Excel(name = "省份", width = 15)
@NotBlank(message = "省份不可为空")
private String province;
@Excel(name = "供电公司", width = 15)
@Pattern(regexp = PatternRegex.DEV_NAME_REGEX, message = "供电公司名称违规")
@NotBlank(message = "公司不可为空")
private String gdName;
@Excel(name = "所属变电站", width = 45)
@Pattern(regexp = PatternRegex.DEV_NAME_REGEX, message = "变电站名称违规")
@NotBlank(message = "变电站不可为空")
private String subName;
@Excel(name = "装置名称", width = 35)
@Pattern(regexp = PatternRegex.DEV_NAME_REGEX, message = "设备名称违规")
@NotBlank(message = "装置不可为空")
private String devName;
@Excel(name = "监测点名称", width = 25)
@Pattern(regexp = PatternRegex.DEV_NAME_REGEX, message = "监测点名称违规")
@NotBlank(message = "监测点不可为空")
private String lineName;
@Excel(name = "监测点评级", width = 15)
@NotBlank(message = "评分等级不可为空")
private String mark;
@ExcelIgnore
private String devIndex;
@ExcelIgnore
private String lineIndex;
}

View File

@@ -0,0 +1,34 @@
package com.njcn.device.pojo.bo.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.io.Serializable;
/**
* @author hongawen
* @version 1.0.0
* @date 2022年04月12日 14:42
*/
@Data
public class NodeExcel implements Serializable {
@Excel(name = "前置名称", width = 15)
private String name;
@Excel(name = "IP", width = 15)
private String ip;
@Excel(name = "描述", width = 15)
private String remark;
@Excel(name = "等级", replace = {"极重要_0","普通_1","备用_2"}, width = 15)
private Integer nodeGrade;
@Excel(name = "支持最大装置数量", width = 15)
private Integer nodeDevNum;
@Excel(name = "排序", width = 15)
private Integer sort;
}

View File

@@ -0,0 +1,241 @@
package com.njcn.device.pojo.bo.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.device.pojo.constant.DeviceValidMessage;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* @author hongawen
* @version 1.0.0
* @date 2022年04月12日 09:15
*/
@Data
public class OracleTerminalExcel implements Serializable {
@Excel(name = "项目", width = 15)
@NotBlank(message = DeviceValidMessage.PROJECT_NAME_NOT)
@Pattern(regexp = PatternRegex.DEPT_NAME_REGEX, message = DeviceValidMessage.PROJECT_NAME_RULE)
private String projectName;
@Excel(name = "工程", width = 15)
@NotBlank(message = DeviceValidMessage.PROVINCE_NAME_NOT)
private String provinceName;
@Excel(name = "单位", width = 15)
@NotBlank(message = "供电公司名称")
@Pattern(regexp = PatternRegex.DEV_NAME_REGEX, message = "供电公司名称违规")
private String gdName;
@Excel(name = "部门", width = 15)
@NotBlank(message = "变电站名称不可为空")
@Pattern(regexp = PatternRegex.DEV_NAME_REGEX, message = "变电站名称违规")
private String substationName;
@Excel(name = "部门电压等级", width = 15)
@NotBlank(message = "电压等级不可为空")
private String subStationScale;
@Excel(name = "经度", width = 15)
private BigDecimal lng;
@Excel(name = "纬度", width = 15)
private BigDecimal lat;
@Excel(name = "终端", width = 15)
@Pattern(regexp = PatternRegex.DEV_NAME_REGEX, message = "设备名称违规")
private String deviceName;
@Excel(name = "终端模型", replace = {"虚拟设备_0", "实际设备_1", "离线设备_2"}, width = 15)
@NotNull(message = "设备模型不能为空")
private Integer devModel;
@Excel(name = "数据类型", replace = {"暂态系统_0", "稳态系统_1", "双系统_2"}, width = 15)
@NotNull(message = "数据类型不能为空")
private Integer devDataType;
@Excel(name = "运行状态", replace = {"投运_0", "热备用_1", "停运_2"}, width = 15)
@NotNull(message = "运行状态不能为空")
private Integer runFlag;
@Excel(name = "通讯状态", replace = {"中断_0", "正常_1"}, width = 15)
@NotNull(message = "通讯状态不能为空")
private Integer comFlag;
@Excel(name = "终端厂家", width = 15)
@NotBlank(message = "终端厂家不能为空")
private String manufacturer;
@Excel(name = "定检状态", replace = {"未检_0", "已检_1"}, width = 15)
@NotNull(message = "定检状态不能为空")
private Integer checkFlag;
@Excel(name = "终端类型", width = 15)
@NotBlank(message = "设备型号不能为空")
private String devType;
@Excel(name = "网络参数", width = 15)
@NotBlank(message = "设备ip不能为空")
private String ip;
@Excel(name = "召唤标志", replace = {"周期触发_0", "人为触发_1"}, width = 15)
@NotNull(message = "召唤标志不能为空")
private Integer callFlag;
@Excel(name = "端口", width = 15)
@Range(min = 1, max = 100000, message = "端口号违规")
@NotNull(message = "设备端口号不能为空")
private Integer port;
@Excel(name = "终端识别码", width = 15)
private String series;
@Excel(name = "终端秘钥", width = 15)
private String devKey;
@Excel(name = "前置名称", width = 15)
@NotBlank(message = "前置名称引不能为空")
private String nodeName;
@Excel(name = "投运时间", format = "yyyy-MM-dd", width = 15)
@NotNull(message = "投运时间不为空")
private LocalDate loginTime;
@Excel(name = "数据更新时间", format = "yyyy-MM-dd HH:mm:ss", width = 15)
@NotNull(message = "数据更新时间不为空")
private LocalDateTime updateTime;
@Excel(name = "本次定检时间", format = "yyyy-MM-dd", width = 15)
@NotNull(message = "本次定检时间不为空")
private LocalDate thisTimeCheck;
@Excel(name = "下次定检时间", format = "yyyy-MM-dd", width = 15)
@NotNull(message = "下次定检时间不为空")
private LocalDate nextTimeCheck;
@Excel(name = "对时功能", replace = {"关闭_0", "开启_1"}, width = 15)
private Integer onTime;
@Excel(name = "合同号", width = 15)
private String contract;
@Excel(name = "电度功能", replace = {"关闭_0", "开启_1"}, width = 15)
private Integer electroplate;
@Excel(name = "母线", width = 15)
@NotBlank(message = "母线名称不可为空")
@Pattern(regexp = PatternRegex.DEV_NAME_REGEX, message = "设备名称违规")
private String subvName;
@Excel(name = "母线号", width = 15)
@NotNull(message = "母线号不可为空")
@Range(min = 1, max = 6, message = "请选择母线号1-6")
private Integer subvNum;
@Excel(name = "母线电压等级", width = 15)
@NotBlank(message = "母线电压等级")
private String subvScale;
@Excel(name = "母线模型", replace = {"虚拟母线_0", "实际母线_1"}, width = 15)
private Integer subvModel;
@Excel(name = "监测点索引", width = 15)
@NotNull(message = "监测点索引不能为空")
private Integer id;
@Excel(name = "监测点名称", width = 15)
@NotBlank(message = "监测点名称不可为空")
@Pattern(regexp = PatternRegex.DEV_NAME_REGEX, message = "监测点名称违规")
private String lineName;
@Excel(name = "监测点线路号", width = 15)
@NotNull(message = "监测点序号不可为空")
private Integer lineNum;
@Excel(name = "pt1", width = 15)
@NotNull(message = "PT一次变比不可为空")
private Float pt1;
@Excel(name = "pt2", width = 15)
@NotNull(message = "PT二次变比不可为空")
private Float pt2;
@Excel(name = "ct1", width = 15)
@NotNull(message = "CT一次变比不可为空")
private Float ct1;
@Excel(name = "ct2", width = 15)
@NotNull(message = "CT二次变比不可为空")
private Float ct2;
@Excel(name = "设备容量", width = 15)
@NotNull(message = "设备容量不可为空")
private Float devCapacity;
@Excel(name = "短路容量", width = 15)
@NotNull(message = "短路容量不可为空")
private Float shortCapacity;
@Excel(name = "基准容量", width = 15)
@NotNull(message = "基准容量不可为空")
private Float standardCapacity;
@Excel(name = "协议容量", width = 15)
@NotNull(message = "协议容量不可为空")
private Float dealCapacity;
@Excel(name = "接线方式", replace = {"星型接法_0", "三角型接法_1", "开口三角型接法_2"}, width = 15)
@NotNull(message = "接线类型不可为空")
private Integer ptType;
@Excel(name = "测量间隔", width = 15)
@NotNull(message = "监测点测量间隔不可为空")
@Range(min = 1, max = 30, message = "取值范围1到30分钟")
private Integer timeInterval;
@Excel(name = "干扰源类型", width = 15)
@NotBlank(message = "干扰源类型不为空")
private String loadType;
@Excel(name = "行业类型", width = 15)
@NotBlank(message = "行业类型不为空")
private String businessType;
@Excel(name = "国网监测点号", width = 15)
private String monitorId;
@Excel(name = "电网标志", replace = {"电网侧_0", "非电网侧_1"}, width = 15)
@NotNull(message = "电网标志不为空")
private Integer powerFlag;
@Excel(name = "监测点对象名称", width = 15)
private String objName;
@Excel(name = "人为干预统计", replace = {"不参与统计_0", "参与统计_1"}, width = 15)
@NotNull(message = "统计标志不为空")
private Integer statFlag;
@Excel(name = "终端等级", width = 15)
private String lineGrade;
@Excel(name = "备注", width = 15)
private String remark;
@Data
@EqualsAndHashCode(callSuper = true)
public static class OracleTerminalExcelMsg extends OracleTerminalExcel implements Serializable {
@Excel(name = "错误信息描述", width = 30)
private String msg;
}
}

View File

@@ -0,0 +1,511 @@
package com.njcn.device.pojo.bo.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import java.io.Serializable;
@Data
public class OverLimitExcel implements Serializable {
/**
* 监测点序号
*/
@Excel(name = "监测点索引", width = 15)
private Integer id;
/**
* 频率限值
*/
@Excel(name = "频率限值", width = 15)
private Float freqDev;
/**
* 电压上偏差限值
*/
@Excel(name = "电压上偏差限值", width = 15)
private Float voltageDev;
/**
* 电压下偏差限值
*/
@Excel(name = "电压下偏差限值", width = 15)
private Float uvoltageDev;
/**
* 三相电压不平衡度限值
*/
@Excel(name = "三相电压不平衡度限值", width = 15)
private Float ubalance;
/**
* 闪变限值
*/
@Excel(name = "闪变限值", width = 15)
private Float flicker;
/**
* 电压总谐波畸变率限值
*/
@Excel(name = "电压总谐波畸变率限值", width = 15)
private Float uaberrance;
/**
* 负序电流限值
*/
@Excel(name = "负序电流限值", width = 15)
private Float iNeg;
/**
* 2次谐波电压限值
*/
@TableField("uharm_2")
@Excel(name = "2次谐波电压限值", width = 15)
private Float uharm2;
/**
* 3次谐波电压限值
*/
@TableField("uharm_3")
@Excel(name = "3次谐波电压限值", width = 15)
private Float uharm3;
/**
* 4次谐波电压限值
*/
@TableField("uharm_4")
@Excel(name = "4次谐波电压限值", width = 15)
private Float uharm4;
/**
* 5次谐波电压限值
*/
@TableField("uharm_5")
@Excel(name = "5次谐波电压限值", width = 15)
private Float uharm5;
/**
* 6次谐波电压限值
*/
@TableField("uharm_6")
@Excel(name = "6次谐波电压限值", width = 15)
private Float uharm6;
/**
* 7次谐波电压限值
*/
@TableField("uharm_7")
@Excel(name = "7次谐波电压限值", width = 15)
private Float uharm7;
/**
* 8次谐波电压限值
*/
@TableField("uharm_8")
@Excel(name = "8次谐波电压限值", width = 15)
private Float uharm8;
/**
* 9次谐波电压限值
*/
@TableField("uharm_9")
@Excel(name = "9次谐波电压限值", width = 15)
private Float uharm9;
/**
* 10次谐波电压限值
*/
@TableField("uharm_10")
@Excel(name = "10次谐波电压限值", width = 15)
private Float uharm10;
/**
* 11次谐波电压限值
*/
@TableField("uharm_11")
@Excel(name = "11次谐波电压限值", width = 15)
private Float uharm11;
/**
* 12次谐波电压限值
*/
@TableField("uharm_12")
@Excel(name = "12次谐波电压限值", width = 15)
private Float uharm12;
/**
* 13次谐波电压限值
*/
@TableField("uharm_13")
@Excel(name = "13次谐波电压限值", width = 15)
private Float uharm13;
/**
* 14次谐波电压限值
*/
@TableField("uharm_14")
@Excel(name = "14次谐波电压限值", width = 15)
private Float uharm14;
/**
* 15次谐波电压限值
*/
@TableField("uharm_15")
@Excel(name = "15次谐波电压限值", width = 15)
private Float uharm15;
/**
* 16次谐波电压限值
*/
@TableField("uharm_16")
@Excel(name = "16次谐波电压限值", width = 15)
private Float uharm16;
/**
* 17次谐波电压限值
*/
@TableField("uharm_17")
@Excel(name = "17次谐波电压限值", width = 15)
private Float uharm17;
/**
* 18次谐波电压限值
*/
@TableField("uharm_18")
@Excel(name = "18次谐波电压限值", width = 15)
private Float uharm18;
/**
* 19次谐波电压限值
*/
@TableField("uharm_19")
@Excel(name = "19次谐波电压限值", width = 15)
private Float uharm19;
/**
* 20次谐波电压限值
*/
@TableField("uharm_20")
@Excel(name = "20次谐波电压限值", width = 15)
private Float uharm20;
/**
* 21次谐波电压限值
*/
@TableField("uharm_21")
@Excel(name = "21次谐波电压限值", width = 15)
private Float uharm21;
/**
* 22次谐波电压限值
*/
@TableField("uharm_22")
@Excel(name = "22次谐波电压限值", width = 15)
private Float uharm22;
/**
* 23次谐波电压限值
*/
@TableField("uharm_23")
@Excel(name = "23次谐波电压限值", width = 15)
private Float uharm23;
/**
* 24次谐波电压限值
*/
@TableField("uharm_24")
@Excel(name = "24次谐波电压限值", width = 15)
private Float uharm24;
/**
* 25次谐波电压限值
*/
@TableField("uharm_25")
@Excel(name = "25次谐波电压限值", width = 15)
private Float uharm25;
/**
* 2次谐波电流限值
*/
@TableField("iharm_2")
@Excel(name = "2次谐波电流限值", width = 15)
private Float iharm2;
/**
* 3次谐波电流限值
*/
@TableField("iharm_3")
@Excel(name = "3次谐波电流限值", width = 15)
private Float iharm3;
/**
* 4次谐波电流限值
*/
@TableField("iharm_4")
@Excel(name = "4次谐波电流限值", width = 15)
private Float iharm4;
/**
* 5次谐波电流限值
*/
@TableField("iharm_5")
@Excel(name = "5次谐波电流限值", width = 15)
private Float iharm5;
/**
* 6次谐波电流限值
*/
@TableField("iharm_6")
@Excel(name = "6次谐波电流限值", width = 15)
private Float iharm6;
/**
* 7次谐波电流限值
*/
@TableField("iharm_7")
@Excel(name = "7次谐波电流限值", width = 15)
private Float iharm7;
/**
* 8次谐波电流限值
*/
@TableField("iharm_8")
@Excel(name = "8次谐波电流限值", width = 15)
private Float iharm8;
/**
* 9次谐波电流限值
*/
@TableField("iharm_9")
@Excel(name = "9次谐波电流限值", width = 15)
private Float iharm9;
/**
* 10次谐波电流限值
*/
@TableField("iharm_10")
@Excel(name = "10次谐波电流限值", width = 15)
private Float iharm10;
/**
* 11次谐波电流限值
*/
@TableField("iharm_11")
@Excel(name = "11次谐波电流限值", width = 15)
private Float iharm11;
/**
* 12次谐波电流限值
*/
@TableField("iharm_12")
@Excel(name = "12次谐波电流限值", width = 15)
private Float iharm12;
/**
* 13次谐波电流限值
*/
@TableField("iharm_13")
@Excel(name = "13次谐波电流限值", width = 15)
private Float iharm13;
/**
* 14次谐波电流限值
*/
@TableField("iharm_14")
@Excel(name = "14次谐波电流限值", width = 15)
private Float iharm14;
/**
* 15次谐波电流限值
*/
@TableField("iharm_15")
@Excel(name = "15次谐波电流限值", width = 15)
private Float iharm15;
/**
* 16次谐波电流限值
*/
@TableField("iharm_16")
@Excel(name = "16次谐波电流限值", width = 15)
private Float iharm16;
/**
* 17次谐波电流限值
*/
@TableField("iharm_17")
@Excel(name = "17次谐波电流限值", width = 15)
private Float iharm17;
/**
* 18次谐波电流限值
*/
@TableField("iharm_18")
@Excel(name = "18次谐波电流限值", width = 15)
private Float iharm18;
/**
* 19次谐波电流限值
*/
@TableField("iharm_19")
@Excel(name = "19次谐波电流限值", width = 15)
private Float iharm19;
/**
* 20次谐波电流限值
*/
@TableField("iharm_20")
@Excel(name = "20次谐波电流限值", width = 15)
private Float iharm20;
/**
* 21次谐波电流限值
*/
@TableField("iharm_21")
@Excel(name = "21次谐波电流限值", width = 15)
private Float iharm21;
/**
* 22次谐波电流限值
*/
@TableField("iharm_22")
@Excel(name = "22次谐波电流限值", width = 15)
private Float iharm22;
/**
* 23次谐波电流限值
*/
@TableField("iharm_23")
@Excel(name = "23次谐波电流限值", width = 15)
private Float iharm23;
/**
* 24次谐波电流限值
*/
@TableField("iharm_24")
@Excel(name = "24次谐波电流限值", width = 15)
private Float iharm24;
/**
* 25次谐波电流限值
*/
@TableField("iharm_25")
@Excel(name = "25次谐波电流限值", width = 15)
private Float iharm25;
/**
* 0.5次间谐波电压限值
*/
@TableField("inuharm_1")
@Excel(name = "0.5次间谐波电压限值", width = 15)
private Float inuharm1;
/**
* 1.5次间谐波电压限值
*/
@TableField("inuharm_2")
@Excel(name = "1.5次间谐波电压限值", width = 15)
private Float inuharm2;
/**
* 2.5次间谐波电压限值
*/
@TableField("inuharm_3")
@Excel(name = "2.5次间谐波电压限值", width = 15)
private Float inuharm3;
/**
* 3.5次间谐波电压限值
*/
@TableField("inuharm_4")
@Excel(name = "3.5次间谐波电压限值", width = 15)
private Float inuharm4;
/**
* 4.5次间谐波电压限值
*/
@TableField("inuharm_5")
@Excel(name = "4.5次间谐波电压限值", width = 15)
private Float inuharm5;
/**
* 5.5次间谐波电压限值
*/
@TableField("inuharm_6")
@Excel(name = "5.5次间谐波电压限值", width = 15)
private Float inuharm6;
/**
* 6.5次间谐波电压限值
*/
@TableField("inuharm_7")
@Excel(name = "6.5次间谐波电压限值", width = 15)
private Float inuharm7;
/**
* 7.5次间谐波电压限值
*/
@TableField("inuharm_8")
@Excel(name = "7.5次间谐波电压限值", width = 15)
private Float inuharm8;
/**
* 8.5次间谐波电压限值
*/
@TableField("inuharm_9")
@Excel(name = "8.5次间谐波电压限值", width = 15)
private Float inuharm9;
/**
* 9.5次间谐波电压限值
*/
@TableField("inuharm_10")
@Excel(name = "9.5次间谐波电压限值", width = 15)
private Float inuharm10;
/**
* 10.5次间谐波电压限值
*/
@TableField("inuharm_11")
@Excel(name = "10.5次间谐波电压限值", width = 15)
private Float inuharm11;
/**
* 11.5次间谐波电压限值
*/
@TableField("inuharm_12")
@Excel(name = "11.5次间谐波电压限值", width = 15)
private Float inuharm12;
/**
* 12.5次间谐波电压限值
*/
@TableField("inuharm_13")
@Excel(name = "12.5次间谐波电压限值", width = 15)
private Float inuharm13;
/**
* 13.5次间谐波电压限值
*/
@TableField("inuharm_14")
@Excel(name = "13.5次间谐波电压限值", width = 15)
private Float inuharm14;
/**
* 14.5次间谐波电压限值
*/
@TableField("inuharm_15")
@Excel(name = "14.5次间谐波电压限值", width = 15)
private Float inuharm15;
/**
* 15.5次间谐波电压限值
*/
@TableField("inuharm_16")
@Excel(name = "15.5次间谐波电压限值", width = 15)
private Float inuharm16;
}

View File

@@ -0,0 +1,208 @@
package com.njcn.device.pojo.bo.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.device.pojo.constant.DeviceValidMessage;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* 终端台账导入
* @author cdf
* @date 2022/5/17
*/
@Data
public class TerminalBaseExcel implements Serializable {
@Excel(name = "项目", width = 15)
@NotBlank(message = DeviceValidMessage.PROJECT_NAME_NOT)
@Pattern(regexp = PatternRegex.DEPT_NAME_REGEX, message = DeviceValidMessage.PROJECT_NAME_RULE)
private String projectName;
@Excel(name = "工程", width = 15)
@NotBlank(message = DeviceValidMessage.PROVINCE_NAME_NOT)
private String provinceName;
@Excel(name = "单位", width = 15)
@NotBlank(message = "供电公司名称")
@Pattern(regexp = PatternRegex.DEV_NAME_REGEX, message = "供电公司名称违规")
private String gdName;
@Excel(name = "部门", width = 15)
@NotBlank(message = "变电站名称不可为空")
@Pattern(regexp = PatternRegex.DEV_NAME_REGEX, message = "变电站名称违规")
private String substationName;
@Excel(name = "部门电压等级", width = 15)
@NotBlank(message = "电压等级不可为空")
private String subStationScale;
@Excel(name = "经度", width = 15)
private BigDecimal lng;
@Excel(name = "纬度", width = 15)
private BigDecimal lat;
@Excel(name = "终端", width = 15)
@Pattern(regexp = PatternRegex.DEV_NAME_REGEX, message = "设备名称违规")
private String deviceName;
@Excel(name = "终端模型", replace = {"虚拟设备_0", "实际设备_1", "离线设备_2"}, width = 15)
@NotNull(message = "设备模型不能为空")
private Integer devModel;
@Excel(name = "数据类型", replace = {"暂态系统_0", "稳态系统_1", "双系统_2"}, width = 15)
@NotNull(message = "数据类型不能为空")
private Integer devDataType;
@Excel(name = "运行状态", replace = {"投运_0", "热备用_1", "停运_2"}, width = 15)
@NotNull(message = "运行状态不能为空")
private Integer runFlag;
@Excel(name = "终端厂家", width = 15)
@NotBlank(message = "终端厂家不能为空")
private String manufacturer;
@Excel(name = "终端类型", width = 15)
@NotBlank(message = "设备型号不能为空")
private String devType;
@Excel(name = "网络参数", width = 15)
@NotBlank(message = "设备ip不能为空")
private String ip;
@Excel(name = "端口", width = 15)
@Range(min = 1, max = 100000, message = "端口号违规")
@NotNull(message = "设备端口号不能为空")
private Integer port;
@Excel(name = "终端识别码", width = 15)
private String series;
@Excel(name = "终端秘钥", width = 15)
private String devKey;
@Excel(name = "召唤标志",replace = {"周期触发_0", "变为触发_1"}, width = 15)
@NotNull(message = "召唤标志不为空")
private Integer callFlag;
@Excel(name = "前置名称", width = 15)
@NotBlank(message = "前置名称不能为空")
private String nodeName;
@Excel(name = "前置类型", width = 15)
@NotBlank(message = "前置类型不能为空")
private String frontType;
@Excel(name = "合同号", width = 15)
private String contract;
@Excel(name = "SIM卡号", width = 15)
private String sim;
@Excel(name = "母线", width = 15)
@NotBlank(message = "母线不能为空")
private String subvName;
@Excel(name = "母线号", width = 15)
@NotNull(message = "母线号不为空")
private Integer subvNum;
@Excel(name = "母线电压等级", width = 15)
@NotBlank(message = "母线电压等级不能为空")
private String subvScale;
@Excel(name = "母线模型", replace = {"虚拟母线_0", "实际母线_1"}, width = 15)
@NotNull(message = "母线模型不为空")
private Integer subvModel;
@Excel(name = "监测点索引", width = 15)
@NotNull(message = "监测点索引不能为空")
private Integer id;
@Excel(name = "监测点名称", width = 15)
@NotBlank(message = "监测点名称不能为空")
private String lineName;
@Excel(name = "监测点线路号", width = 15)
@NotNull(message = "监测点线路号不为空")
private Integer lineNum;
@Excel(name = "监测点等级", width = 15)
private String lineGrade;
@Excel(name = "pt", width = 20)
@NotBlank(message = "pt不能为空")
private String pt;
@Excel(name = "ct", width = 20)
@NotBlank(message = "ct不能为空")
private String ct;
@Excel(name = "设备容量", width = 15)
@NotNull(message = "设备容量不为空")
private Float devCapacity;
@Excel(name = "短路容量", width = 15)
@NotNull(message = "短路容量不为空")
private Float shortCapacity;
@Excel(name = "基准容量", width = 15)
@NotNull(message = "基准容量不为空")
private Float standardCapacity;
@Excel(name = "协议容量", width = 15)
@NotNull(message = "协议容量不为空")
private Float dealCapacity;
@Excel(name = "接线方式", replace = {"星型接法_0", "三角型接法_1", "开口三角型接法_2"}, width = 15)
@NotNull(message = "接线方式不为空")
private Integer ptType;
@Excel(name = "测量间隔", width = 15)
@NotNull(message = "测量间隔不为空")
private Integer timeInterval;
@Excel(name = "干扰源类型", width = 15)
@NotBlank(message = "干扰源类型不为空")
private String loadType;
@Excel(name = "行业类型", width = 15)
@NotBlank(message = "行业类型不为空")
private String businessType;
@Excel(name = "国网监测点号", width = 15)
private String monitorId;
@Excel(name = "监测点对象名称", width = 15)
private String objName;
@Excel(name = "电网侧标志", replace = {"电网侧_0", "非电网侧_1"}, width = 15)
@NotNull(message = "电网侧标志不为空")
private Integer powerFlag;
@Excel(name = "人为干预统计", replace = {"不参与统计_0", "参与统计_1"}, width = 15)
@NotNull(message = "统计标志不为空")
private Integer statFlag;
@Excel(name = "备注", width = 15)
private String remark;
@Data
@EqualsAndHashCode(callSuper = true)
public static class TerminalBaseExcelMsg extends TerminalBaseExcel implements Serializable {
@Excel(name = "错误信息描述", width = 30)
private String msg;
}
}

View File

@@ -0,0 +1,20 @@
package com.njcn.device.pojo.constant;
/**
* pqs
*
* @author cdf
* @date 2022/1/11
*/
public interface DeviceValidMessage {
String PROJECT_NAME_NOT = "项目名称不能为空";
String PROJECT_NAME_RULE = "项目名称违规";
String PROVINCE_NAME_NOT = "省份不可为空";
String TIME = "time";
String START_TIME = " 00:00:00";
String END_TIME = " 23:59:59";
String LINE_ID = "line_id";
}

View File

@@ -0,0 +1,61 @@
package com.njcn.device.pojo.dto;
import lombok.Data;
/**
* pqs
*
* @author cdf
* @date 2022/2/25
*/
@Data
public class DeviceLineDTO {
/**
* id
*/
private String id;
/**
* 父级Id
*/
private String pid;
/**
* 等级
*/
private Integer level;
/**
* 名称
*/
private String name;
/**
* 排序
*/
private Integer sort;
/**
* 设备状态
*/
private Integer comFlag;
/**
* 终端厂家
*/
private String manufacturer;
/**
* 电压等级Id字典表
*/
private String scale;
/**
* 干扰源类型,字典表
*/
private String loadType;
}

View File

@@ -0,0 +1,44 @@
package com.njcn.device.pojo.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* @author hongawen
* @version 1.0.0
* @date 2021年09月07日 10:48
* name对应统计名称如 区域南京市、苏州市电压等级10kV、220kV...
* index对应统计索引如 区域南京市索引、苏州市索引电压等级10kV索引、220kV索引...
* gdIndexes供电公司索引集合
* subIndexes变电站索引集合
* deviceIndexes终端索引集合
* voltageIndexes母线索引集合
* lineIndexes监测点索引集合
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class GeneralDeviceDTO implements Serializable {
private String name;
private String index;
private List<String> gdIndexes = new ArrayList<>();
private List<String> subIndexes = new ArrayList<>();
private List<String> deviceIndexes = new ArrayList<>();
private List<String> voltageIndexes = new ArrayList<>();
private List<String> lineIndexes = new ArrayList<>();
}

View File

@@ -0,0 +1,34 @@
package com.njcn.device.pojo.dto;
import lombok.Data;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/5/9 15:31
*/
@Data
public class OverLimitLineDTO {
private String id;
private String lineName;
private String lineScale;
private String loadType;
private String lineObjectName;
private String monitorNumber;
private String subName;
private String subScale;
private String cityCompany;
private String provinceCompany;
}

View File

@@ -0,0 +1,38 @@
package com.njcn.device.pojo.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/4/25 11:02
*/
@Data
public class PollutionLineDTO {
private static final long serialVersionUID = 1L;
@ApiModelProperty("id")
private String id;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("供电公司")
private String powerCompany;
@ApiModelProperty("变电站")
private String substation;
@ApiModelProperty("变电站id")
private String substationId;
@ApiModelProperty("母线")
private String busBar;
@ApiModelProperty("数据")
private Double data = -1.0;
}

View File

@@ -0,0 +1,19 @@
package com.njcn.device.pojo.dto;
import lombok.Data;
import java.util.List;
/**
* 类的介绍这个类是因为list长度太长导致不同模块调用openFeign的时候会报错目前解决办法是传递一个实体过来
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/4/25 13:23
*/
@Data
public class PollutionParamDTO {
List<String> lineList;
}

View File

@@ -0,0 +1,30 @@
package com.njcn.device.pojo.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/4/25 10:40
*/
@Data
public class PollutionSubstationDTO {
private static final long serialVersionUID = 1L;
@ApiModelProperty("id")
private String id;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("电压等级")
private String voltageLevel;
@ApiModelProperty("数据")
private Double data = -1.0;
}

View File

@@ -0,0 +1,24 @@
package com.njcn.device.pojo.dto;
import lombok.Data;
/**
* 类的介绍:
*
* @author xuyang
* @version 1.0.0
* @createTime 2022/5/9 9:31
*/
@Data
public class WarningSubstationDTO {
private String id;
private String subName;
private String scale;
private String city;
private String province;
}

View File

@@ -0,0 +1,52 @@
package com.njcn.device.pojo.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.Valid;
import java.util.List;
/**
* pqs
* 终端新增操作bo
* @author cdf
* @date 2021/7/2
*/
@Data
@ApiModel
public class AddTerminalParam {
@ApiModelProperty(name = "projectIndex",value = "项目索引")
private String projectIndex;
@ApiModelProperty(name = "provinceIndex",value = "省份索引")
private String provinceIndex;
@ApiModelProperty(name = "gdIndex",value = "供电索引")
private String gdIndex;
@ApiModelProperty(name = "subIndex",value = "变电站索引")
private String subIndex;
@Valid
@ApiModelProperty(name = "projectParam",value = "项目实体")
private ProjectParam projectParam;
@Valid
@ApiModelProperty(name = "provinceParam",value = "省份实体")
private ProvinceParam provinceParam;
@Valid
@ApiModelProperty(name = "gdInformationParam",value = "供电公司")
private GdInformationParam gdInformationParam;
@Valid
@ApiModelProperty(name = "subStationParam",value = "变电站")
private SubStationParam subStationParam;
@Valid
@ApiModelProperty(name = "deviceParam",value = "设备集合")
private List<DeviceParam> deviceParam;
}

View File

@@ -0,0 +1,51 @@
package com.njcn.device.pojo.param;
import com.njcn.web.pojo.annotation.DateTimeStrValid;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
/**
* pqs
*
* @author cdf
* @date 2022/6/10
*/
@Data
@ApiModel
public class AlarmParam extends BaseParam {
@NotBlank(message = "起始时间不可为空")
@DateTimeStrValid
@ApiModelProperty(name = "startTime",value = "起始时间")
private String startTime;
@NotBlank(message = "结束时间不可为空")
@DateTimeStrValid
@ApiModelProperty(name = "endTime",value = "结束时间")
private String endTime;
@ApiModelProperty(name = "type",value = "告警类型")
private String type;
@ApiModelProperty(name = "flag",value = "是否处理 0.未处理 1.处理")
private Integer flag;
@ApiModelProperty(name = "alarmLevel",value = "告警等级")
private Integer alarmLevel;
@ApiModelProperty(name = "alarmLevel",value = "监测点等级")
private String lineGrade;
@ApiModelProperty(name = "devLineId",value = "监测点装置id")
private String devLineId;
@ApiModelProperty(name = "processTime",value = "处理时间")
private String processTime;
}

View File

@@ -0,0 +1,171 @@
package com.njcn.device.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.common.pojo.dto.SimpleDTO;
import com.njcn.device.enums.LineFlagEnum;
import com.njcn.web.constant.ValidMessage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.util.List;
/**
* @author hongawen
* @version 1.0.0
* @date 2022年02月23日 19:04
*/
@Data
@ApiModel
@NoArgsConstructor
public class DeviceInfoParam implements Serializable {
/**
* 统计类型
*/
@ApiModelProperty(name = "statisticalType", value = "统计类型")
@NotNull(message = "统计类型不可为空")
private SimpleDTO statisticalType;
@ApiModelProperty(name = "deptIndex", value = "部门索引")
@NotBlank(message = "部门索引不可为空")
private String deptIndex;
@ApiModelProperty(name = "serverName", value = "服务名称")
private String serverName;
@ApiModelProperty(name = "scale", value = "电压等级")
private List<SimpleDTO> scale;
@ApiModelProperty(name = "manufacturer", value = "终端厂家")
private List<SimpleDTO> manufacturer;
@ApiModelProperty(name = "loadType", value = "干扰源类型")
private List<SimpleDTO> loadType;
/**
* xy添加
* 默认true
* true statFlag = 1
* false statFlag = 0 or 1
*/
@ApiModelProperty(name = "statFlag", value = "人为干预是否参与统计")
private Boolean statFlag;
/**
* 0-非网公司
* 1-网公司
* 2-全部数据
*/
@ApiModelProperty("网公司标识")
@Range(min = 0, max = 2, message = "网公司标识" + ValidMessage.PARAM_FORMAT_ERROR)
private int monitorFlag;
/**
* 0-电网侧
* 1-非电网侧
*/
@ApiModelProperty("电网侧标识")
@Range(min = 0, max = 2, message = "电网侧标识" + ValidMessage.PARAM_FORMAT_ERROR)
private int powerFlag;
/**
* 默认全部监测点
* @param deptIndex 部门索引
* @param serverName 服务名
*/
public DeviceInfoParam(String deptIndex, String serverName) {
this.deptIndex = deptIndex;
this.serverName = serverName;
monitorFlag = LineFlagEnum.LINE_MONITOR_ALL.getFlag();
powerFlag = LineFlagEnum.LINE_POWER_ALL.getFlag();
}
/**
* 默认全部监测点
* @param deptIndex 部门索引
* @param serverName 服务名
*/
public DeviceInfoParam(SimpleDTO statisticalType, String deptIndex, String serverName, List<SimpleDTO> scale, List<SimpleDTO> manufacturer, List<SimpleDTO> loadType) {
this.statisticalType = statisticalType;
this.deptIndex = deptIndex;
this.serverName = serverName;
this.scale = scale;
this.manufacturer = manufacturer;
this.loadType = loadType;
monitorFlag = LineFlagEnum.LINE_MONITOR_ALL.getFlag();
powerFlag = LineFlagEnum.LINE_POWER_ALL.getFlag();
}
/**
* 自定义上报方式、电网侧方式的统计
*/
public DeviceInfoParam(SimpleDTO statisticalType, String deptIndex, String serverName, List<SimpleDTO> scale, List<SimpleDTO> manufacturer, List<SimpleDTO> loadType, int monitorFlag, int powerFlag) {
this.statisticalType = statisticalType;
this.deptIndex = deptIndex;
this.serverName = serverName;
this.scale = scale;
this.manufacturer = manufacturer;
this.loadType = loadType;
this.monitorFlag = monitorFlag;
this.powerFlag = powerFlag;
}
@Data
@EqualsAndHashCode(callSuper = true)
public static class BusinessParam extends DeviceInfoParam{
@ApiModelProperty("开始时间")
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchBeginTime;
@ApiModelProperty("结束时间")
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchEndTime;
}
@Data
@EqualsAndHashCode(callSuper = true)
public static class CompareBusinessParam extends BusinessParam{
@ApiModelProperty("比较开始时间")
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String periodBeginTime;
@ApiModelProperty("比较结束时间")
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String periodEndTime;
}
@Data
@EqualsAndHashCode(callSuper = true)
public static class ConditionBusinessParam extends BusinessParam{
/**
* 0-年份
* 1-月份
* 2-天
*/
@ApiModelProperty("时间间隔标识0:按月查 1:按天查 2:查询当日)")
@Range(min = 0, max = 2, message = "时间间隔标识" + ValidMessage.PARAM_FORMAT_ERROR)
private int timeFlag;
}
}

View File

@@ -0,0 +1,38 @@
package com.njcn.device.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Pattern;
/**
* @version 1.0.0
* @author: chenchao
* @date: 2022/05/26 16:28
*/
@Data
@ApiModel
public class DeviceLogParam {
/**
* 套餐类型
*/
@ApiModelProperty("套餐类型")
private String type;
/**
* 开始时间
*/
@ApiModelProperty("开始时间")
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchBeginTime;
/**
* 结束时间
*/
@ApiModelProperty("结束时间")
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchEndTime;
}

View File

@@ -0,0 +1,140 @@
package com.njcn.device.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.web.constant.ValidMessage;
import com.njcn.web.pojo.annotation.DateTimeStrValid;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Range;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.time.LocalDateTime;
import java.util.List;
/**
* pqs
*
* @author cdf
* @date 2021/6/23
*/
@Data
@ApiModel
public class DeviceParam {
@ApiModelProperty(name = "devIndex",value = "设备索引")
private String devIndex;
@ApiModelProperty(name = "name",value = "设备名称",required = true)
@Pattern(regexp = PatternRegex.DEV_NAME_REGEX,message = "设备名称违规")
private String name;
@ApiModelProperty(name = "devType",value = "设备型号",required = true)
@NotBlank(message = "设备型号不能为空")
private String devType;
/**
* 通讯类型MMS、CLD字典表
*/
@ApiModelProperty(name = "comType",value = "通讯类型",required = true)
@NotBlank(message = "通讯类型不能为空")
private String comType;
@ApiModelProperty(name = "ip",value = "装置ip",required = true)
@NotBlank(message = "设备ip不能为空")
private String ip;
@ApiModelProperty(name = "port",value = "端口号",required = true)
@Range(min=1,max=100000,message="端口号违规")
@NotNull(message = "设备端口号不能为空")
private Integer port;
@ApiModelProperty(name = "nodeId",value = "前置服务器索引",required = true)
@NotNull(message = "前置机索引不能为空")
private String nodeId;
@ApiModelProperty(name = "series",value = "装置识别码采用3ds加密")
private String series;
/**
* 装置秘钥采用3ds加密
*/
@ApiModelProperty(name = "devKey",value = "设备秘钥")
private String devKey;
/**
* 装置模型0虚拟设备1实际设备2离线设备默认是实际设备
*/
@ApiModelProperty(name = "devModel",value = "设备模型",required = true)
@NotNull(message = "设备模型不能为空")
private Integer devModel;
/**
* 系统数据类型0暂态系统1稳态系统2两个系统
*/
@ApiModelProperty(name = "devDataType",value = "系统数据类型0暂态系统1稳态系统2两个系统",required = true)
@NotNull(message = "数据类型不能为空")
private Integer devDataType;
/**
* 已召唤标志0周期触发1变为触发
*/
@ApiModelProperty(name = "callFlag",value = "已召唤标志0周期触发1变为触发",required = true)
@NotNull(message = "召唤标志不能为空")
private Integer callFlag;
@ApiModelProperty(name = "manufacturer",value = "设备制造商Guid",required = true)
@NotBlank(message = "设备制造商不能为空")
private String manufacturer;
@ApiModelProperty(name = "electroplate",value = "电镀功能",required = true)
@NotNull(message = "电镀标识不能为空")
private Integer electroplate;
/**
* 投运时间
*/
@ApiModelProperty(name = "loginTime",value = "投运时间",required = true)
@NotBlank(message = "投运时间不为空")
@DateTimeStrValid(message = "投运时间格式错误")
private String loginTime;
@ApiModelProperty(name = "thisTimeCheck",value = "本次定检时间")
@DateTimeStrValid(message = "本次定检时间格式错误")
@NotBlank(message = "本次定检时间不为空")
private String thisTimeCheck;
@ApiModelProperty(name = "nextTimeCheck",value = "下次定检时间")
@DateTimeStrValid(message = "下次定检时间格式错误")
@NotBlank(message = "下次定检时间不为空")
private String nextTimeCheck;
@ApiModelProperty(name = "contract",value = "合同号")
private String contract;
@ApiModelProperty(name = "sim",value = "装置sim卡号")
private String sim;
@ApiModelProperty(name = "sort",value = "排序",required = true)
@NotNull(message = "排序不可为空")
private Integer sort;
@ApiModelProperty(name = "subVoltageParam",value = "母线集合")
@Valid
private List<SubVoltageParam> subVoltageParam;
/**
* 修改标识
*/
@ApiModelProperty(name = "updateFlag",value = "修改标识")
private Integer updateFlag;
}

View File

@@ -0,0 +1,49 @@
package com.njcn.device.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
/**
* @version 1.0.0
* @author: chenchao
* @date: 2022/06/01 11:24
*/
@Data
@ApiModel
public class EventLogParam {
/**
* 推送状态
*/
@ApiModelProperty("推送状态(0.全部1.成功2.失败)")
private Integer result;
/**
* 开始时间
*/
@ApiModelProperty("开始时间")
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchBeginTime;
/**
* 结束时间
*/
@ApiModelProperty("结束时间")
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchEndTime;
@ApiModelProperty("页码")
@NotNull(message = "页码不可为空")
@Range(min = 1,message = "页码必须大于0")
private Integer pageNum;
@ApiModelProperty("条数")
@NotNull(message = "条数不可为空")
@Range(min = 1,message = "条数必须大于0")
private Integer pageSize;
}

View File

@@ -0,0 +1,68 @@
package com.njcn.device.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.web.constant.ValidMessage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
/**
* @version 1.0.0
* @author: chenchao
* @date: 2022/05/12 15:17
*/
@Data
@ApiModel
public class FlowMealParam {
/**
* 名称
*/
@ApiModelProperty("套餐名称")
private String name;
/**
* 套餐流量MB
*/
@ApiModelProperty("套餐流量")
private Float flow;
/**
* 套餐类型0-基础套餐 1-扩展套餐)
*/
@ApiModelProperty("套餐类型")
private Integer type;
/**
* 是否默认0:不是默认 1:默认)只有一条默认
*/
@ApiModelProperty("是否默认")
private Integer flag;
/**
* 扩展套餐( 0-当月生效 1-连续生效)
*/
@ApiModelProperty("扩展套餐")
private Integer comboType;
/**
* 更新操作实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class FlowMealUpdateParam extends FlowMealParam {
/**
* 表Id
*/
@ApiModelProperty("id")
@NotBlank(message = ValidMessage.ID_NOT_BLANK)
@Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
private String id;
}
}

View File

@@ -0,0 +1,88 @@
package com.njcn.device.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.web.constant.ValidMessage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import java.util.List;
/**
* @version 1.0.0
* @author: chenchao
* @date: 2022/05/18 10:00
*/
@Data
@ApiModel
public class FlowStrategyParam {
/**
* 策略名称
*/
@ApiModelProperty("策略名称")
private String name;
/**
* 是否通用0:定制 1:通用) 只有一条通用数据
*/
@ApiModelProperty("是否通用0:定制 1:通用)")
private Integer flag;
/**
* 普通占比值
*/
@ApiModelProperty("普通占比值")
private String comPerData;
/**
* 普通占比绑定类型
*/
@ApiModelProperty("普通占比绑定类型")
private List<String> comList;
/**
* 预警占比值
*/
@ApiModelProperty("预警占比值")
private String warnPerData;
/**
* 预警占比绑定类型
*/
@ApiModelProperty("预警占比绑定类型")
private List<String> warnList;
/**
* 告警占比值
*/
@ApiModelProperty("告警占比值")
private String alertPerData;
/**
* 告警占比绑定类型
*/
@ApiModelProperty("告警占比绑定类型")
private List<String> alertList;
/**
* 更新操作实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class FlowStrategyUpdateParam extends FlowStrategyParam {
/**
* 表Id
*/
@ApiModelProperty("id")
@NotBlank(message = ValidMessage.ID_NOT_BLANK)
@Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
private String id;
}
}

View File

@@ -0,0 +1,49 @@
package com.njcn.device.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.web.constant.ValidMessage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
/**
* 供电公司信息表
*
* @author hongawen
* @since 2021-04-09
*/
@Data
@ApiModel
public class GdInformationParam {
@ApiModelProperty(name = "name",value = "供电公司名称",required = true)
@NotBlank(message = "供电公司名称")
@Pattern(regexp = PatternRegex.DEV_NAME_REGEX,message = "供电公司名称违规")
private String name;
@ApiModelProperty(name = "sort",value = "排序",required = true)
@NotNull(message = "排序不可为空")
private Integer sort;
/**
* 更新操作实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class GdInformationUpdateParam extends GdInformationParam {
/**
* 表Id
*/
@ApiModelProperty("gdIndex")
@NotBlank(message = ValidMessage.ID_NOT_BLANK)
@Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
private String gdIndex;
}
}

View File

@@ -0,0 +1,152 @@
package com.njcn.device.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
/**
* 线路信息表
*
* @author hongawen
* @since 2021-04-09
*/
@Data
@ApiModel
public class LineParam {
@ApiModelProperty(name = "lineIndex",value = "监测点索引")
private String lineIndex;
@ApiModelProperty(name = "name",value = "监测点名称",required = true)
@NotBlank(message = "监测点名称不可为空")
@Pattern(regexp = PatternRegex.DEV_NAME_REGEX,message = "监测点名称违规")
private String name;
/**
* PT一次变比
*/
@ApiModelProperty(name = "pt1",value = "PT一次变比",required = true)
@NotNull(message = "PT一次变比不可为空")
private Float pt1;
/**
* PT二次变比
*/
@ApiModelProperty(name = "pt2",value = "PT二次变比",required = true)
@NotNull(message = "PT二次变比不可为空")
private Float pt2;
/**
* CT一次变比
*/
@ApiModelProperty(name = "ct1",value = "CT一次变比",required = true)
@NotNull(message = "CT一次变比不可为空")
private Float ct1;
/**
* CT二次变比
*/
@ApiModelProperty(name = "ct2",value = "CT二次变比",required = true)
@NotNull(message = "CT二次变比不可为空")
private Float ct2;
/**
* 设备容量
*/
@ApiModelProperty(name = "devCapacity",value = "设备容量",required = true)
@NotNull(message = "设备容量不可为空")
private Float devCapacity;
/**
* 短路容量
*/
@ApiModelProperty(name = "shortCapacity",value = "短路容量",required = true)
@NotNull(message = "短路容量不可为空")
private Float shortCapacity;
/**
* 协议容量
*/
@ApiModelProperty(name = "dealCapacity",value = "协议容量",required = true)
@NotNull(message = "协议容量不可为空")
private Float dealCapacity;
/**
* 基准容量
*/
@ApiModelProperty(name = "standardCapacity",value = "基准容量新增时候可为空",required = true)
@NotNull(message = "基准容量不可为空")
private Float standardCapacity;
@ApiModelProperty(name = "timeInterval",value = "测量间隔",required = true)
@NotNull(message = "监测点测量间隔不可为空")
@Range(min = 1,max = 30,message = "取值范围1到30分钟")
private Integer timeInterval;
@ApiModelProperty(name = "loadType",value = "关联PQS_Dicdata表负荷类型Guid",required = true)
@NotBlank(message = "负荷类型不为空")
private String loadType;
@ApiModelProperty(name = "businessType",value = "关联PQS_Dicdata表行业类型Guid",required = true)
@NotBlank(message = "行业类型不为空")
private String businessType;
@ApiModelProperty(name = "remark",value = "备注")
private String remark;
@ApiModelProperty(name = "monitorId",value = "国网谐波监测平台监测点号")
private String monitorId;
@ApiModelProperty(name = "powerFlag",value = "监测点性质 0-电网侧1-非电网侧",required = true)
@NotNull(message = "监测点性质不为空")
private Integer powerFlag;
@ApiModelProperty(name = "objName",value = "监测点对象名称")
private String objName;
/**
* 接线类型(0:星型接法;1:三角型接法;2:开口三角型接法)
*/
@ApiModelProperty(name = "ptType",value = "接线类型(0:星型接法;1:三角型接法;2:开口三角型接法)",required = true)
@NotNull(message = "接线类型不可为空")
private Integer ptType;
@ApiModelProperty(name = "num",value = "监测点序列",required = true)
@NotNull(message = "监测点序号不可为空")
private Integer num;
@ApiModelProperty(name = "sort",value = "排序",required = true)
@NotNull(message = "排序不可为空")
private Integer sort;
/**
* 电压上偏差限值
*/
@ApiModelProperty(name = "voltageDev",value = "电压上偏差限值",required = true)
@NotNull(message = "电压上偏差限值不能为空")
private Float voltageDev;
/**
* 电压下偏差限值
*/
@ApiModelProperty(name = "uvoltageDev",value = "电压下偏差限值",required = true)
@NotNull(message = "电压下偏差限值不能为空")
private Float uvoltageDev;
/**
* 修改标识
*/
@ApiModelProperty(name = "updateFlag",value = "修改标识")
private Integer updateFlag;
}

View File

@@ -0,0 +1,41 @@
package com.njcn.device.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Pattern;
/**
* 前置机信息表
*
* @author hongawen
* @since 2021-04-09
*/
@ApiModel
@Data
public class NodeInformationParam {
/**
* 服务器名称
*/
@ApiModelProperty(name = "nodeName",value = "服务器名称",required = true)
@Pattern(regexp = PatternRegex.DEV_NAME_REGEX,message = "服务器名称违规")
private String nodeName;
/**
* 服务器描述
*/
@Pattern(regexp = PatternRegex.DES64_REGEX)
private String nodeDesc;
/**
* 服务器IPIP唯一判断
*/
@Pattern(regexp =PatternRegex.IP_REGEX ,message = "服务器IP违规")
private String nodeIp;
}

View File

@@ -0,0 +1,96 @@
package com.njcn.device.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.web.constant.ValidMessage;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
/**
* pqs
*
* @author cdf
* @date 2022/1/14
*/
@Data
@ApiModel
public class NodeParam {
/**
* 名称
*/
@ApiModelProperty(name = "name",value = "前置服务器名称")
@NotBlank(message = "前置机名称不能为空")
@Pattern(regexp = PatternRegex.DEV_NAME_REGEX, message = ValidMessage.NAME_FORMAT_ERROR)
private String name;
/**
* 服务器IP
*/
@ApiModelProperty(name = "ip",value = "服务器IP")
@NotBlank(message = "前置机IP不能为空")
@Pattern(regexp = PatternRegex.IP_REGEX, message = ValidMessage.IP_FORMAT_ERROR)
private String ip;
/**
* 描述
*/
@ApiModelProperty(name = "remark",value = "描述")
private String remark;
/**
* 状态 前置等级
*/
@ApiModelProperty(name = "nodeGrade",value = "前置等级")
@NotNull(message = "前置机等级不可为空")
private Integer nodeGrade;
/**
* 前置机支持最大装置数
*/
@ApiModelProperty(name = "nodeDevNum",value = "前置机支持最大装置数")
@NotNull(message = "前置机支持最大装置数不可为空")
private Integer nodeDevNum;
/**
* 排序
*/
@ApiModelProperty(name = "sort",value = "排序")
@NotNull(message = "排序不可为空")
private Integer sort;
/**
* 更新操作实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class NodeUpdateParam extends NodeParam {
/**
* 表Id
*/
@ApiModelProperty("id")
@NotBlank(message = ValidMessage.ID_NOT_BLANK)
@Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
private String id;
}
/**
* 前置查询
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class NodeQueryParam extends BaseParam {
@ApiModelProperty("前置等级")
private Integer nodeGrade;
}
}

View File

@@ -0,0 +1,56 @@
package com.njcn.device.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.device.pojo.constant.DeviceValidMessage;
import com.njcn.web.constant.ValidMessage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
/**
* 项目信息表,层次高于省级。
*
* @author hongawen
* @since 2021-04-09
*/
@Data
@ApiModel
public class ProjectParam {
/**
* 项目名称(唯一性判断)
*/
@ApiModelProperty(name = "name",value = "项目名称",required = true)
@NotBlank(message= DeviceValidMessage.PROJECT_NAME_NOT)
@Pattern(regexp = PatternRegex.DEPT_NAME_REGEX,message = DeviceValidMessage.PROJECT_NAME_RULE)
private String name;
@ApiModelProperty(name = "sort",value = "排序",required = true)
@NotNull(message = "排序不可为空")
private Integer sort;
/**
* 更新操作实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class ProjectUpdateParam extends ProjectParam {
/**
* 表Id
*/
@ApiModelProperty("projectIndex")
@NotBlank(message = ValidMessage.ID_NOT_BLANK)
@Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
private String projectIndex;
}
}

View File

@@ -0,0 +1,50 @@
package com.njcn.device.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.device.pojo.constant.DeviceValidMessage;
import com.njcn.web.constant.ValidMessage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
/**
* pqs
*
* @author cdf
* @date 2021/6/24
*/
@Data
@ApiModel
public class ProvinceParam {
@ApiModelProperty(name ="name",value = "省份",required = true)
@NotBlank(message = DeviceValidMessage.PROVINCE_NAME_NOT)
private String name;
@ApiModelProperty(name = "sort",value = "排序",required = true)
@NotNull(message = "排序不可为空")
private Integer sort;
/**
* 更新操作实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class ProvinceUpdateParam extends ProvinceParam {
/**
* 表Id
*/
@ApiModelProperty("provinceIndex")
@NotBlank(message = ValidMessage.ID_NOT_BLANK)
@Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
private String provinceIndex;
}
}

View File

@@ -0,0 +1,65 @@
package com.njcn.device.pojo.param;
import com.njcn.common.pojo.dto.SimpleDTO;
import com.njcn.web.constant.ValidMessage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* @author denghuajun
* @version 1.0.0
* @date 2022/3/30
*/
@Data
@ApiModel
@NoArgsConstructor
public class RunManageParam implements Serializable {
@ApiModelProperty(name = "statisticalType", value = "统计类型")
@NotNull(message = "统计类型不可为空")
private SimpleDTO statisticalType;
@ApiModelProperty(name = "deptIndex", value = "部门索引")
@NotBlank(message = "部门索引不可为空")
private String deptIndex;
@ApiModelProperty(name = "scale", value = "电压等级")
private List<SimpleDTO> scale;
@ApiModelProperty(name = "loadType", value = "干扰源类型")
private List<SimpleDTO> loadType;
@ApiModelProperty(name = "manufacturer", value = "终端厂家")
private List<SimpleDTO> manufacturer;
/**
* 0-非网公司
* 1-网公司
* 2-全部数据
*/
@ApiModelProperty("网公司标识")
@Range(min = 0, max = 2, message = "网公司标识" + ValidMessage.PARAM_FORMAT_ERROR)
private int monitorFlag;
/**
* 0-电网侧
* 1-非电网侧
*/
@ApiModelProperty("电网侧标识")
@Range(min = 0, max = 1, message = "电网侧标识" + ValidMessage.PARAM_FORMAT_ERROR)
private int powerFlag;
@ApiModelProperty(name = "comFlag", value = "通讯状态")
private List<Integer> comFlag;
@ApiModelProperty(name = "runFlag", value = "终端状态")
private List<Integer> runFlag;
}

View File

@@ -0,0 +1,75 @@
package com.njcn.device.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.web.constant.ValidMessage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.math.BigDecimal;
/**
* pqs
* 变电站bo
* @author cdf
* @date 2021/7/1
*/
@Data
@ApiModel
public class SubStationParam {
@ApiModelProperty(name ="name",value = "变电站名称",required = true)
@NotBlank(message = "变电站名称不可为空")
@Pattern(regexp = PatternRegex.DEV_NAME_REGEX,message = "变电站名称违规")
private String name;
@ApiModelProperty(name = "sort",value = "排序",required = true)
@NotNull(message = "排序不可为空")
private Integer sort;
/**
* 关联PQS_Dictionary表电压等级Guid
*/
@NotBlank(message = "电压等级不可为空")
@ApiModelProperty(name ="scale",value = "电压等级",required = true)
private String scale;
/**
* 变电站经度longitude
* @author cdf
* @date 2021/7/16
*/
@ApiModelProperty(name ="longitude",value = "变电站经度")
private BigDecimal lng;
/**
* 变电站纬度
* @author cdf
* @date 2021/7/16
*/
@ApiModelProperty(name ="scale",value = "变电站纬度")
private BigDecimal lat;
/**
* 更新操作实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class SubStationUpdateParam extends SubStationParam {
/**
* 表Id
*/
@ApiModelProperty("subIndex")
@NotBlank(message = ValidMessage.ID_NOT_BLANK)
@Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
private String subIndex;
}
}

View File

@@ -0,0 +1,70 @@
package com.njcn.device.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.web.constant.ValidMessage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Range;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.util.List;
/**
* 母线信息表
*
* @author cdf
* @since 2021-04-09
*/
@Data
@ApiModel
public class SubVoltageParam {
@ApiModelProperty(name = "subvIndex",value = "母线索引")
private String subvIndex;
@ApiModelProperty(name = "name",value = "母线名称",required = true)
@NotBlank(message = "母线名称不可为空")
@Pattern(regexp = PatternRegex.DEV_NAME_REGEX,message = "设备名称违规")
private String name;
/**
* 母线号(在同一台设备中的电压通道号)
*/
@NotNull(message = "母线号不可为空")
@Range(min = 1,max = 6,message = "请选择母线号1-6")
@ApiModelProperty(name = "num",value = "母线号",required = true)
private Integer num;
@ApiModelProperty(name = "scale",value = "电压等级",required = true)
@NotBlank(message = "母线电压等级")
private String scale;
/**
* 母线模型0虚拟母线1实际母线
* 默认是实际母线
*/
@ApiModelProperty(name = "model",value = "母线模型",required = true)
@NotNull(message = "母线模型不可为空")
private Integer model;
@ApiModelProperty(name = "sort",value = "排序",required = true)
@NotNull(message = "排序不可为空")
private Integer sort;
@ApiModelProperty(name = "lineParam",value = "监测点集合")
@Valid
private List<LineParam> lineParam;
/**
* 修改标识
*/
@ApiModelProperty(name = "updateFlag",value = "修改标识")
private Integer updateFlag;
}

View File

@@ -0,0 +1,27 @@
package com.njcn.device.pojo.param;
import lombok.Data;
import java.util.List;
/**
* pqs
* 终端台账统计
* @author cdf
* @date 2022/3/31
*/
@Data
public class TerminalLedgerParam {
private List<String> areaIds;
private List<String> voltageIds;
private List<String> factoryIds;
private List<String> loadTypeIds;
private List<String> appearIds;
private List<String> natureIds;
}

View File

@@ -0,0 +1,27 @@
package com.njcn.device.pojo.param;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* pqs
*
* @author cdf
* @date 2022/5/11
*/
@Data
@ApiModel
public class TerminalMainQueryParam extends BaseParam {
@ApiModelProperty(name = "通讯状态 0中断1正常")
private Integer comFlag;
@ApiModelProperty(name = "运行状态 0投运1热备用2停运")
private Integer runFlag;
@ApiModelProperty(name = "装置型号")
private String devType;
@ApiModelProperty(name = "装置版本协议")
private String version;
@ApiModelProperty(name = "监测点等级")
private String lineGrade;
}

View File

@@ -0,0 +1,43 @@
package com.njcn.device.pojo.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.Valid;
import java.util.List;
/**
* pqs
* 终端修改操作bo
* @author cdf
* @date 2021/7/2
*/
@Data
@ApiModel
public class UpdateTerminalParam {
@ApiModelProperty(name = "projectUpdateParam",value = "项目体")
@Valid
private ProjectParam.ProjectUpdateParam projectUpdateParam;
@ApiModelProperty(name = "provinceUpdateParam",value = "省份")
@Valid
private ProvinceParam.ProvinceUpdateParam provinceUpdateParam;
@ApiModelProperty(name = "gdInformationUpdateParam",value = "供电公司")
@Valid
private GdInformationParam.GdInformationUpdateParam gdInformationUpdateParam;
@ApiModelProperty(name = "subStationUpdateParam",value = "变电站")
@Valid
private SubStationParam.SubStationUpdateParam subStationUpdateParam;
@ApiModelProperty(name = "deviceUpdateParamList",value = "设备")
@Valid
private List<DeviceParam> deviceUpdateParamList;
}

View File

@@ -0,0 +1,80 @@
package com.njcn.device.pojo.param;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.web.constant.ValidMessage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import java.time.LocalDate;
/**
* @version 1.0.0
* @author: chenchao
* @date: 2022/05/23 16:44
*/
@Data
@ApiModel
public class VersionParam {
/**
* 程序版本号
*/
@ApiModelProperty("程序版本号")
private String name;
/**
* 版本协议
*/
@ApiModelProperty("版本协议")
private String protocol;
/**
* 版本日期
*/
@ApiModelProperty("版本日期")
private LocalDate date;
/**
* 装置系列(终端类型),字典表
*/
@ApiModelProperty("装置系列(终端类型)")
private String devType;
/**
* 版本类型Null为通用类型not null为特殊类型
*/
@ApiModelProperty("版本类型Null为通用类型not null为特殊类型")
private String versionType;
/**
* 描述
*/
@ApiModelProperty("描述")
private String remark;
/**
* 版本文件信息
*/
@ApiModelProperty("版本文件信息")
private byte[] file;
/**
* 更新操作实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class VersionUpdateParam extends VersionParam {
/**
* 表Id
*/
@ApiModelProperty("id")
@NotBlank(message = ValidMessage.ID_NOT_BLANK)
@Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
private String id;
}
}

View File

@@ -0,0 +1,64 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("cld_alarm")
public class Alarm extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 告警信息表序号
*/
private String id;
/**
* 告警类型序号
*/
private String type;
/**
* 告警对应的装置或者监测点
*/
private String lineId;
private Integer devLineType;
private LocalDateTime processTime;
/**
* 是否处理0-未处理 1-已处理)
*/
private Integer flag;
/**
* 告警的详细描述
*/
private String remark;
/**
* 状态 0-删除1-正常;默认正常
*/
private Integer state;
}

View File

@@ -0,0 +1,46 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-07
*/
@Getter
@Setter
@TableName("pq_communicate")
public class Communicate {
private static final long serialVersionUID = 1L;
/**
* 终端Id
*/
private String id;
/**
* 更新时间
*/
private LocalDateTime updateTime;
/**
* 事件类型(0中断1正常2退出)
*/
private Integer type;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,37 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-04
*/
@Data
@TableName("pq_dept_line")
public class DeptLine {
private static final long serialVersionUID = 1L;
/**
* 部门Id
*/
private String id;
/**
* 监测点Id
*/
private String lineId;
}

View File

@@ -0,0 +1,42 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-07
*/
@Data
@TableName("cld_dev_fuction")
public class DevFuction {
private static final long serialVersionUID = 1L;
/**
* 装置功能Id
*/
private String id;
/**
* 装置序号
*/
private String lineId;
/**
* 功能码,字典表
*/
private String fucName;
}

View File

@@ -0,0 +1,42 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-07
*/
@Data
@TableName("cld_dev_meal")
public class DevMeal {
/**
* 装置序号
*/
@TableId
private String lineId;
/**
* 基础流量套餐序号
*/
private String baseMealId;
/**
* 扩展流量套餐序号
*/
private String reamMealId;
}

View File

@@ -0,0 +1,54 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("cld_dev_state")
public class DevState extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 终端状态运行Id
*/
private String id;
/**
* 装置序号
*/
private String lineId;
/**
* 装置状态类型1剩余内存单位MB2剩余存储空间(单位GB)3CPU版本 4CPU1的负荷单位%5CPU2的负荷单位% 装置状态类型1剩余内存单位MB2剩余存储空间(单位GB)3CPU版本 4CPU1的负荷单位%5CPU2的负荷单位% 装置状态类型1剩余内存单位MB2剩余存储空间(单位GB)3CPU版本 4CPU1的负荷单位%5CPU2的负荷单位% 装置状态类型1剩余内存单位MB2剩余存储空间(单位GB)3CPU版本 4CPU1的负荷单位%5CPU2的负荷单位% 装置状态类型1剩余内存单位MB2剩余存储空间(单位GB)3CPU版本4CPU1的负荷单位%5CPU2的负荷单位%
*/
private String type;
/**
* 时间
*/
private LocalDateTime updateTime;
/**
* 值
*/
private Float value;
}

View File

@@ -0,0 +1,36 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-07
*/
@Data
@TableName("cld_dev_strategy")
public class DevStrategy {
/**
* 装置序号
*/
@TableId
private String lineId;
/**
* 流量策略Id
*/
private String strategyId;
}

View File

@@ -0,0 +1,74 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("cld_dev_version")
public class DevVersion extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 装置序号
*/
private String lineId;
/**
* 版本序号
*/
private String versionId;
/**
* 版本状态0-前期版本;1-当前版本)
*/
private Boolean flag;
/**
* 操作结果0-升级失败;1-升级成功)
*/
private Boolean result;
/**
* 状态 0-删除1-正常;默认正常
*/
private Boolean state;
/**
* 创建用户
*/
private String createBy;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新用户
*/
private String updateBy;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,139 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import lombok.Data;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-04
*/
@Data
@TableName("pq_device")
public class Device implements Serializable{
private static final long serialVersionUID = 1L;
/**
* 装置序号
*/
private String id;
/**
* 装置模型0虚拟设备1实际设备2离线设备默认是实际设备
*/
private Integer devModel;
/**
* 数据类型0暂态系统1稳态系统2两个系统
*/
private Integer devDataType;
/**
* 终端运行状态0投运1热备用2停运
*/
private Integer runFlag;
/**
* 通讯状态0中断1正常
*/
private Integer comFlag;
/**
* 设备制造商,字典表
*/
private String manufacturer;
/**
* 定检状态0未检 1已检
*/
private Integer checkFlag;
/**
* 前置类型MMS、CLD字典表
*/
private String frontType;
/**
* 终端型号570、580……字典表
*/
private String devType;
/**
* 网络参数
*/
private String ip;
/**
* 召唤标志0周期触发1变为触发
*/
private Integer callFlag;
/**
* 端口
*/
private Integer port;
/**
* 装置识别码3ds加密
*/
private String series;
/**
* 装置秘钥3ds加密
*/
private String devKey;
/**
* 前置序号Id,前置表
*/
private String nodeId;
/**
* 投运时间
*/
private LocalDate loginTime;
/**
* 数据更新时间
*/
private LocalDateTime updateTime;
/**
* 本次定检时间,默认等于投运时间
*/
private LocalDate thisTimeCheck;
/**
* 下次定检时间,默认为投运时间后推3年假如时间小于3个月则为待检
*/
private LocalDate nextTimeCheck;
/**
* 电度功能 0 关闭 1开启
*/
private Integer electroplate;
/**
* 对时功能 0 关闭, 1开启
*/
private Integer onTime;
/**
* 合同号
*/
private String contract;
/**
* 设备sim卡号
*/
private String sim;
}

View File

@@ -0,0 +1,41 @@
package com.njcn.device.pojo.po;
import lombok.Data;
import org.influxdb.annotation.Column;
import org.influxdb.annotation.Measurement;
import java.time.Instant;
/**
* @version 1.0.0
* @author: chenchao
* @date: 2022/06/09 11:00
*/
@Data
@Measurement(name = "pqs_event_push_logs")
public class EventPushLogs {
@Column(name = "id")
private String id;
@Column(name = "time")
private Instant timeId;
@Column(name = "line_id")
private String lineId;
@Column(name = "create_time")
private String createTime;
@Column(name = "update_time")
private String updateTime;
@Column(name = "push_failed")
private Integer pushFailed;
@Column(name = "result")
private Integer result;
}

View File

@@ -0,0 +1,60 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("cld_flow_meal")
public class FlowMeal extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 流量套餐序号Id
*/
private String id;
/**
* 套餐名
*/
private String name;
/**
* 套餐类型0-基础套餐 1-扩展套餐)
*/
private Integer type;
/**
* 是否默认0:不是默认 1:默认) 只有一条默认 是否默认0:不是默认 1:默认)只有一条默认
*/
private Integer flag;
/**
* 扩展套餐( 0-当月生效 1-连续生效)
*/
private Integer comboType;
/**
* 套餐流量MB
*/
private Float flow;
/**
* 状态 0-删除1-正常;默认正常
*/
private Integer state;
}

View File

@@ -0,0 +1,60 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("cld_flow_strategy")
public class FlowStrategy extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 流量策略字典序号Id
*/
private String id;
/**
* 流量策略名
*/
private String name;
/**
* 是否通用0:定制 1:通用) 只有一条通用数据
*/
private Integer flag;
/**
* 普通, 流量策略字典表
*/
private String comPer;
/**
* 预警,流量策略字典表
*/
private String warnPer;
/**
* 告警, 流量策略字典表
*/
private String alertPer;
/**
* 状态 0-删除1-正常;默认正常
*/
private Integer state;
}

View File

@@ -0,0 +1,36 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-07
*/
@Data
@TableName("cld_flow_strategy_dic")
public class FlowStrategyDic {
private static final long serialVersionUID = 1L;
/**
* 流量策略字典序号Id
*/
private String id;
/**
* 流量策略类型0-普通 1-预警 2-告警)
*/
private Integer type;
/**
* 占比
*/
private Float value;
}

View File

@@ -0,0 +1,71 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-04
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("pq_line")
public class Line extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 监测点Id
*/
private String id;
/**
* 父节点0为根节点
*/
private String pid;
/**
* 上层所有节点
*/
private String pids;
/**
* 名称
*/
private String name;
/**
* 等级0-项目名称1- 工程名称2-单位3-部门4-终端5-母线6-监测点
*/
private Integer level;
/**
* 排序默认为0有特殊排序需要时候人为输入
*/
private Integer sort;
/**
* 备注
*/
private String remark;
/**
* 状态 0-删除1-正常;默认正常
*/
private Integer state;
}

View File

@@ -0,0 +1,33 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* </p>
*
* @author cdf
* @since 2022-01-04
*/
@Data
@TableName("pq_line_bak")
public class LineBak {
private static final long serialVersionUID = 1L;
/**
* 监测点Id
*/
private String id;
/**
* 原始监测点Id
*/
private Integer lineId;
}

View File

@@ -0,0 +1,128 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-04
*/
@Data
@TableName("pq_line_detail")
public class LineDetail{
private static final long serialVersionUID = 1L;
/**
* 监测点序号
*/
private String id;
/**
* 线路号(在同一台设备中的监测点号)
*/
private Integer num;
/**
* PT一次变比
*/
private Float pt1;
/**
* PT二次变比
*/
private Float pt2;
/**
* CT一次变比
*/
private Float ct1;
/**
* CT二次变比
*/
private Float ct2;
/**
* 设备容量
*/
private Float devCapacity;
/**
* 短路容量
*/
private Float shortCapacity;
/**
* 基准容量
*/
private Float standardCapacity;
/**
* 协议容量
*/
private Float dealCapacity;
/**
* 接线类型(0:星型接法;1:三角型接法;2:开口三角型接法)
*/
private Integer ptType;
/**
* 测量间隔1-10分钟
*/
private Integer timeInterval;
/**
* 干扰源类型,字典表
*/
private String loadType;
/**
* 行业类型,字典表
*/
private String businessType;
/**
* 网公司谐波监测平台标志(0-否;1-是),默认否
*/
private Integer monitorFlag;
/**
* 电网标志0-电网侧1-非电网侧)
*/
private Integer powerFlag;
/**
* 国网谐波监测平台监测点号
*/
private String monitorId;
/**
* 监测点对象名称
*/
private String objName;
/**
* 人为干预 0 不参与统计 1 参与统计
*/
private Integer statFlag;
/**
* 关联字典的终端等级
*/
private String lineGrade;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,46 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-07
*/
@Getter
@Setter
@TableName("cld_month_flow")
public class MonthFlow extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 装置序号
*/
private String lineId;
/**
* 统计时间
*/
private LocalDateTime timeId;
/**
* 统计流量,由前置提供
*/
private Float statisValue;
/**
* 实际流量,定时查询
*/
private Float actualValue;
}

View File

@@ -0,0 +1,71 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-04
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("pq_node")
public class Node extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 前置序号
*/
private String id;
/**
* 名称
*/
private String name;
/**
* 服务器IP
*/
private String ip;
/**
* 描述
*/
private String remark;
/**
* 状态 0-删除1-正常;默认正常
*/
private Integer state;
/**
* 状态 前置等级
*/
private Integer nodeGrade;
/**
* 前置机支持最大装置数
*/
private Integer nodeDevNum;
/**
* 排序
*/
private Integer sort;
}

View File

@@ -0,0 +1,533 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.math.BigDecimal;
import com.njcn.device.utils.COverlimit;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-04
*/
@Data
@TableName("pq_overlimit")
public class Overlimit {
private static final long serialVersionUID = 1L;
/**
* 监测点序号
*/
private String id;
/**
* 频率限值
*/
private Float freqDev;
/**
* 电压上偏差限值
*/
private Float voltageDev;
/**
* 电压下偏差限值
*/
private Float uvoltageDev;
/**
* 三相电压不平衡度限值
*/
private Float ubalance;
/**
* 闪变限值
*/
private Float flicker;
/**
* 电压总谐波畸变率限值
*/
private Float uaberrance;
/**
* 负序电流限值
*/
private Float iNeg;
/**
* 2次谐波电压限值
*/
@TableField("uharm_2")
private Float uharm2;
/**
* 3次谐波电压限值
*/
@TableField("uharm_3")
private Float uharm3;
/**
* 4次谐波电压限值
*/
@TableField("uharm_4")
private Float uharm4;
/**
* 5次谐波电压限值
*/
@TableField("uharm_5")
private Float uharm5;
/**
* 6次谐波电压限值
*/
@TableField("uharm_6")
private Float uharm6;
/**
* 7次谐波电压限值
*/
@TableField("uharm_7")
private Float uharm7;
/**
* 8次谐波电压限值
*/
@TableField("uharm_8")
private Float uharm8;
/**
* 9次谐波电压限值
*/
@TableField("uharm_9")
private Float uharm9;
/**
* 10次谐波电压限值
*/
@TableField("uharm_10")
private Float uharm10;
/**
* 11次谐波电压限值
*/
@TableField("uharm_11")
private Float uharm11;
/**
* 12次谐波电压限值
*/
@TableField("uharm_12")
private Float uharm12;
/**
* 13次谐波电压限值
*/
@TableField("uharm_13")
private Float uharm13;
/**
* 14次谐波电压限值
*/
@TableField("uharm_14")
private Float uharm14;
/**
* 15次谐波电压限值
*/
@TableField("uharm_15")
private Float uharm15;
/**
* 16次谐波电压限值
*/
@TableField("uharm_16")
private Float uharm16;
/**
* 17次谐波电压限值
*/
@TableField("uharm_17")
private Float uharm17;
/**
* 18次谐波电压限值
*/
@TableField("uharm_18")
private Float uharm18;
/**
* 19次谐波电压限值
*/
@TableField("uharm_19")
private Float uharm19;
/**
* 20次谐波电压限值
*/
@TableField("uharm_20")
private Float uharm20;
/**
* 21次谐波电压限值
*/
@TableField("uharm_21")
private Float uharm21;
/**
* 22次谐波电压限值
*/
@TableField("uharm_22")
private Float uharm22;
/**
* 23次谐波电压限值
*/
@TableField("uharm_23")
private Float uharm23;
/**
* 24次谐波电压限值
*/
@TableField("uharm_24")
private Float uharm24;
/**
* 25次谐波电压限值
*/
@TableField("uharm_25")
private Float uharm25;
/**
* 2次谐波电流限值
*/
@TableField("iharm_2")
private Float iharm2;
/**
* 3次谐波电流限值
*/
@TableField("iharm_3")
private Float iharm3;
/**
* 4次谐波电流限值
*/
@TableField("iharm_4")
private Float iharm4;
/**
* 5次谐波电流限值
*/
@TableField("iharm_5")
private Float iharm5;
/**
* 6次谐波电流限值
*/
@TableField("iharm_6")
private Float iharm6;
/**
* 7次谐波电流限值
*/
@TableField("iharm_7")
private Float iharm7;
/**
* 8次谐波电流限值
*/
@TableField("iharm_8")
private Float iharm8;
/**
* 9次谐波电流限值
*/
@TableField("iharm_9")
private Float iharm9;
/**
* 10次谐波电流限值
*/
@TableField("iharm_10")
private Float iharm10;
/**
* 11次谐波电流限值
*/
@TableField("iharm_11")
private Float iharm11;
/**
* 12次谐波电流限值
*/
@TableField("iharm_12")
private Float iharm12;
/**
* 13次谐波电流限值
*/
@TableField("iharm_13")
private Float iharm13;
/**
* 14次谐波电流限值
*/
@TableField("iharm_14")
private Float iharm14;
/**
* 15次谐波电流限值
*/
@TableField("iharm_15")
private Float iharm15;
/**
* 16次谐波电流限值
*/
@TableField("iharm_16")
private Float iharm16;
/**
* 17次谐波电流限值
*/
@TableField("iharm_17")
private Float iharm17;
/**
* 18次谐波电流限值
*/
@TableField("iharm_18")
private Float iharm18;
/**
* 19次谐波电流限值
*/
@TableField("iharm_19")
private Float iharm19;
/**
* 20次谐波电流限值
*/
@TableField("iharm_20")
private Float iharm20;
/**
* 21次谐波电流限值
*/
@TableField("iharm_21")
private Float iharm21;
/**
* 22次谐波电流限值
*/
@TableField("iharm_22")
private Float iharm22;
/**
* 23次谐波电流限值
*/
@TableField("iharm_23")
private Float iharm23;
/**
* 24次谐波电流限值
*/
@TableField("iharm_24")
private Float iharm24;
/**
* 25次谐波电流限值
*/
@TableField("iharm_25")
private Float iharm25;
/**
* 0.5次间谐波电压限值
*/
@TableField("inuharm_1")
private Float inuharm1;
/**
* 1.5次间谐波电压限值
*/
@TableField("inuharm_2")
private Float inuharm2;
/**
* 2.5次间谐波电压限值
*/
@TableField("inuharm_3")
private Float inuharm3;
/**
* 3.5次间谐波电压限值
*/
@TableField("inuharm_4")
private Float inuharm4;
/**
* 4.5次间谐波电压限值
*/
@TableField("inuharm_5")
private Float inuharm5;
/**
* 5.5次间谐波电压限值
*/
@TableField("inuharm_6")
private Float inuharm6;
/**
* 6.5次间谐波电压限值
*/
@TableField("inuharm_7")
private Float inuharm7;
/**
* 7.5次间谐波电压限值
*/
@TableField("inuharm_8")
private Float inuharm8;
/**
* 8.5次间谐波电压限值
*/
@TableField("inuharm_9")
private Float inuharm9;
/**
* 9.5次间谐波电压限值
*/
@TableField("inuharm_10")
private Float inuharm10;
/**
* 10.5次间谐波电压限值
*/
@TableField("inuharm_11")
private Float inuharm11;
/**
* 11.5次间谐波电压限值
*/
@TableField("inuharm_12")
private Float inuharm12;
/**
* 12.5次间谐波电压限值
*/
@TableField("inuharm_13")
private Float inuharm13;
/**
* 13.5次间谐波电压限值
*/
@TableField("inuharm_14")
private Float inuharm14;
/**
* 14.5次间谐波电压限值
*/
@TableField("inuharm_15")
private Float inuharm15;
/**
* 15.5次间谐波电压限值
*/
@TableField("inuharm_16")
private Float inuharm16;
public Overlimit(){}
public Overlimit(String lineId, String scaTmp, float fDLRL, float fJZRL, float fXYRL, float fSBRL){
float[] fLimit = COverlimit.GetOverLimit(scaTmp, fDLRL, fJZRL, fXYRL, fSBRL);
this.id=lineId;
this.freqDev=fLimit[0];
this.voltageDev=fLimit[1];
this.ubalance=fLimit[2];
this.flicker=fLimit[3];
this.uaberrance=fLimit[4];
this.uharm2=fLimit[5];
this.uharm3=fLimit[6];
this.uharm4=fLimit[7];
this.uharm5=fLimit[8];
this.uharm6=fLimit[9];
this.uharm7=fLimit[10];
this.uharm8=fLimit[11];
this.uharm9=fLimit[12];
this.uharm10=fLimit[13];
this.uharm11=fLimit[14];
this.uharm12=fLimit[15];
this.uharm13=fLimit[16];
this.uharm14=fLimit[17];
this.uharm15=fLimit[18];
this.uharm16=fLimit[19];
this.uharm17=fLimit[20];
this.uharm18=fLimit[21];
this.uharm19=fLimit[22];
this.uharm20=fLimit[23];
this.uharm21=fLimit[24];
this.uharm22=fLimit[25];
this.uharm23=fLimit[26];
this.uharm24=fLimit[27];
this.uharm25=fLimit[28];
this.iharm2=fLimit[29];
this.iharm3=fLimit[30];
this.iharm4=fLimit[31];
this.iharm5=fLimit[32];
this.iharm6=fLimit[33];
this.iharm7=fLimit[34];
this.iharm8=fLimit[35];
this.iharm9=fLimit[36];
this.iharm10=fLimit[37];
this.iharm11=fLimit[38];
this.iharm12=fLimit[39];
this.iharm13=fLimit[40];
this.iharm14=fLimit[41];
this.iharm15=fLimit[42];
this.iharm16=fLimit[43];
this.iharm17=fLimit[44];
this.iharm18=fLimit[45];
this.iharm19=fLimit[46];
this.iharm20=fLimit[47];
this.iharm21=fLimit[48];
this.iharm22=fLimit[49];
this.iharm23=fLimit[50];
this.iharm24=fLimit[51];
this.iharm25=fLimit[52];
this.uvoltageDev=fLimit[53];
this.iNeg=fLimit[54];
this.inuharm1=fLimit[55];
this.inuharm2=fLimit[56];
this.inuharm3=fLimit[57];
this.inuharm4=fLimit[58];
this.inuharm5=fLimit[59];
this.inuharm6=fLimit[60];
this.inuharm7=fLimit[61];
this.inuharm8=fLimit[62];
this.inuharm9=fLimit[63];
this.inuharm10=fLimit[64];
this.inuharm11=fLimit[65];
this.inuharm12=fLimit[66];
this.inuharm13=fLimit[67];
this.inuharm14=fLimit[68];
this.inuharm15=fLimit[69];
this.inuharm16=fLimit[70];
}
}

View File

@@ -0,0 +1,88 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("cld_protect_value")
public class ProtectValue extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 定值序号
*/
private String id;
/**
* 内部定值时是终端Id外部定值时是监测点Id
*/
private String lineId;
/**
* 装置型号,字典表
*/
private String devType;
/**
* 类型 80-外部定值 十进制类型 81-外部定值的十六进制类型 90-内部定值 十进制类型 91-内部定制 十六进制类型
*/
private Integer type;
/**
* 定值类型1基本定值 2谐波电压定值 3谐波电流定值 4间谐波电压定值
*/
private Integer dzType;
/**
* 单位
*/
private String unit;
/**
* 最大值
*/
private Float maxValue;
/**
* 最小值
*/
private Float minValue;
/**
* 默认值
*/
private Float defaulValue;
/**
* 设定值
*/
private String setValue;
/**
* 描述
*/
private String remark;
/**
* 排序
*/
private Integer sort;
}

View File

@@ -0,0 +1,58 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("cld_protect_word")
public class ProtectWord extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 控制字序号
*/
private String id;
/**
* 是否选中0-否1-是)
*/
private Boolean flag;
/**
* 控制位序号0,1,2,3,……,15
*/
private Integer typeNum;
/**
* 控制位为0时表达意义
*/
private String bit0;
/**
* 控制位为1时表达意义
*/
private String bit1;
/**
* 描述
*/
private String remark;
}

View File

@@ -0,0 +1,76 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-07
*/
@Getter
@Setter
@TableName("pq_push")
public class Push extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 终端变更记录Id
*/
private String id;
/**
* 前置服务器Id
*/
private String nodeId;
/**
* 目标类型(0终端1监测点)
*/
private Boolean objType;
/**
* 操作类型(0:新增;1:修改;2:删除)
*/
private Boolean handleType;
/**
* 目标Id,可能是终端监测点Id
*/
private String lineId;
/**
* 数据状态0:删除;1:未推送;2:已推送)默认未推送
*/
private Boolean state;
/**
* 创建用户
*/
private String createBy;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新用户
*/
private String updateBy;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,44 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("cld_statis_flow")
public class StatisFlow extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 装置序号
*/
private String lineId;
/**
* 统计时间
*/
private LocalDateTime timeId;
/**
* 统计流量,由前置提供
*/
private Float statisValue;
}

View File

@@ -0,0 +1,24 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* pqs
*
* @author cdf
* @date 2022/5/20
*/
@Data
@TableName("cld_strategydic_fun")
public class StrategydicFun {
/**
* 流量策略基础字典表序号
*/
private String strategyDicId;
/**
* 功能码序号
*/
private String fuctionId;
}

View File

@@ -0,0 +1,48 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.math.BigDecimal;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-04
*/
@Data
@TableName("pq_substation")
public class Substation {
private static final long serialVersionUID = 1L;
/**
* 变电站序号
*/
private String id;
/**
* 电压等级Id字典表
*/
private String scale;
/**
* 经度
*/
private BigDecimal lng;
/**
* 纬度
*/
private BigDecimal lat;
}

View File

@@ -0,0 +1,76 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDate;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("cld_version")
public class Version extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 终端程序版本Id
*/
private String id;
/**
* 程序版本号(汉字,字母,数字,特殊字符(.)
*/
private String name;
/**
* 协议版本(汉字,字母,数字,特殊字符(.)
*/
private String protocol;
/**
* 应用程序版本日期
*/
private LocalDate date;
/**
* 装置系列,字典表
*/
private String devType;
/**
* 版本类型Null为通用类型not null为特殊类型
*/
private String versionType;
/**
* 版本文件信息
*/
private byte[] file;
/**
* 终端程序版本状态0-停用 1-启用)
*/
private Integer versionFlag;
/**
* 描述
*/
private String remark;
/**
* 状态 0-删除1-正常;默认正常
*/
private Integer state;
}

View File

@@ -0,0 +1,48 @@
package com.njcn.device.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author cdf
* @since 2022-01-04
*/
@Data
@TableName("pq_voltage")
public class Voltage {
private static final long serialVersionUID = 1L;
/**
* 母线序号
*/
private String id;
/**
* 母线号(在同一台设备中的电压通道号)
*/
private Integer num;
/**
* 电压等级Id字典表
*/
private String scale;
/**
* 母线模型0虚拟母线1实际母线默认是实际母线
*/
private Integer model;
}

View File

@@ -0,0 +1,26 @@
package com.njcn.device.pojo.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author denghuajun
* @date 2022/2/28
*
*/
@Data
public class CommunicateVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 更新时间
*/
private List<String> updateTime;
/**
* 事件类型(0中断1正常2退出)
*/
private List<Integer> type;
}

View File

@@ -0,0 +1,21 @@
package com.njcn.device.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author denghuajun
* @date 2022/1/14
*
*/
@Data
public class DeptLineTreeVO {
@ApiModelProperty("未绑定树")
private List<TerminalTree> nothingBindTree;
@ApiModelProperty("其他绑定树")
private List<TerminalTree> otherBindTree;
@ApiModelProperty("本身绑定树")
private List<TerminalTree> myselfBindTree;
}

View File

@@ -0,0 +1,49 @@
package com.njcn.device.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @version 1.0.0
* @author: chenchao
* @date: 2022/05/26 18:41
*/
@Data
public class DeviceLogVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@ApiModelProperty("id")
private String id;
/**
* 装置、监测点名称
*/
@ApiModelProperty("装置、监测点名称")
private String name;
/**
* 日志类型
*/
@ApiModelProperty("日志类型")
private String type;
/**
* 描述
*/
@ApiModelProperty("描述")
private String remark;
/**
* 更新时间
*/
@ApiModelProperty("更新时间")
private String updateTime;
/**
* 更新用户
*/
@ApiModelProperty("更新用户")
private String updateBy;
}

View File

@@ -0,0 +1,119 @@
package com.njcn.device.pojo.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
/**
* pqs
* 用于前端页面展示实体类
* 设备
* @author cdf
* @date 2021/6/23
*/
@Data
public class DeviceVO {
private String devIndex;
/**
* 关联表NodeInformation服务器表序号表明这台设备运行在哪台服务器上
*/
private String nodeId;
private String name;
/**
* 装置通讯状态0中断1正常
*/
private Integer comFlag;
private String devType;
@ApiModelProperty(name = "frontType",value = "前置类型MMS、CLD字典表")
private String frontType;
private String ip;
/**
* 投运时间
*/
private LocalDate loginTime;
/**
* 数据更新时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
/**
* 已召唤标志0周期触发1变为触发
*/
private Integer callFlag;
/**
* 端口ID用于端口映射
*/
private Integer port;
/**
* 装置状态0投运1热备用2停运
*/
private Integer runFlag;
/**
* 装置识别码采用3ds加密
*/
private String series;
/**
* 装置秘钥采用3ds加密
*/
private String devKey;
/**
* 装置模型0虚拟设备1实际设备2离线设备默认是实际设备
*/
private Integer devModel;
/**
* 数据类型0暂态系统1稳态系统2两个系统
*/
@ApiModelProperty(name = "dataType",value = "数据类型0暂态系统1稳态系统2两个系统",required = true)
private Integer devDataType;
@ApiModelProperty(name = "manufacturer",value = "设备制造商Guid")
private String manufacturer;
@ApiModelProperty(name = "electroplate",value = "电镀功能")
private Integer electroplate;
@ApiModelProperty(name = "thisTimeCheck",value = "本次定检时间")
private LocalDate thisTimeCheck;
@ApiModelProperty(name = "nextTimeCheck",value = "下次定检时间")
private LocalDate nextTimeCheck;
/**
* 合同号
*/
@ApiModelProperty(name = "contract",value = "合同号")
private String contract;
/**
* 设备sim卡号
*/
@ApiModelProperty(name = "contract",value = "装置sim卡")
private String sim;
@ApiModelProperty(name = "sort",value = "排序",required = true)
private Integer sort;
@ApiModelProperty(name = "subVoltageVOList",value = "母线集合")
private List<SubVoltageVO> subVoltageVOList;
}

View File

@@ -0,0 +1,84 @@
package com.njcn.device.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @version 1.0.0
* @author: chenchao
* @date: 2022/06/01 13:37
*/
@Data
public class EventLogVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 监测点id
*/
@ApiModelProperty("监测点id")
private String lineId;
/**
* 暂降发生时刻
*/
@ApiModelProperty("暂降发生时刻")
private String time;
/**
* 特征幅值
*/
@ApiModelProperty("特征幅值")
private String eventValue;
/**
* 持续时间
*/
@ApiModelProperty("持续时间(s)")
private String PersistTime;
/**
* 供电公司名
*/
@ApiModelProperty("供电公司名")
private String powerCompany;
/**
* 变电站名
*/
@ApiModelProperty("变电站名")
private String substation;
/**
* 监测点名
*/
@ApiModelProperty("监测点名")
private String line;
/**
* 首次推送时间
*/
@ApiModelProperty("首次推送时间")
private String creatTime;
/**
* 成功推送时间
*/
@ApiModelProperty("成功推送时间")
private String creatTimed;
/**
* 推送失败次数
*/
@ApiModelProperty("推送失败次数")
private Integer pushFailed;
/**
* 推送结果
*/
@ApiModelProperty("推送结果")
private String result;
/**
* 人工推送时间
*/
@ApiModelProperty("人工推送时间")
private String updateTime;
/**
* 操作
*/
@ApiModelProperty("操作")
private String state;
}

View File

@@ -0,0 +1,67 @@
package com.njcn.device.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @version 1.0.0
* @author: chenchao
* @date: 2022/05/18 11:38
*/
@Data
public class FlowStrategyVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@ApiModelProperty("id")
private String id;
/**
* 策略名
*/
@ApiModelProperty("策略名")
private String name;
/**
* 是否通用
*/
@ApiModelProperty("是否通用0:定制 1:通用)\t只有一条通用数据")
private Integer flag;
/**
* 普通占比值
*/
@ApiModelProperty("普通占比值")
private String comPerData;
/**
* 预警占比值
*/
@ApiModelProperty("预警占比值")
private String warnPerData;
/**
* 告警占比值
*/
@ApiModelProperty("告警占比值")
private String alertPerData;
/**
* 更新用户
*/
@ApiModelProperty("更新用户")
private String updateBy;
/**
* 更新时间
*/
@ApiModelProperty("更新时间")
private String updateTime;
}

View File

@@ -0,0 +1,33 @@
package com.njcn.device.pojo.vo;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.web.constant.ValidMessage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
/**
* 供电公司信息表
*
* @author hongawen
* @since 2021-04-09
*/
@Data
@ApiModel
public class GdInformationVO {
@ApiModelProperty("gdIndex")
private String gdIndex;
@ApiModelProperty(name = "name",value = "供电公司名称",required = true)
private String name;
@ApiModelProperty(name = "sort",value = "排序",required = true)
private Integer sort;
}

View File

@@ -0,0 +1,80 @@
package com.njcn.device.pojo.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @author denghuajun
* @date 2022/2/23
* 监测点信息
*/
@Data
@ApiModel
public class LineDetailDataVO {
@ApiModelProperty(name = "id",value = "监测点序号")
private Integer id;
@ApiModelProperty(name = "lineName",value = "监测点名称")
private String lineName;
@ApiModelProperty(name = "areaName",value = "工程名称")
private String areaName;
@ApiModelProperty(name = "gdName",value = "单位")
private String gdName;
@ApiModelProperty(name = "bdName",value = "部门")
private String bdName;
@ApiModelProperty(name = "scale",value = "电压等级")
private String scale;
@ApiModelProperty(name = "manufacturer",value = "厂家")
private String manufacturer;
@ApiModelProperty(name = "devName",value = "终端名称")
private String devName;
@ApiModelProperty(name = "ip",value = "网络参数")
private String ip;
@ApiModelProperty(name = "runFlag",value = "终端运行状态")
private String runFlag;
@ApiModelProperty(name = "comFlag",value = "通讯状态")
private String comFlag;
@ApiModelProperty(name = "loadType",value = "干扰源类型")
private String loadType;
@ApiModelProperty(name = "businessType",value = "行业类型")
private String businessType;
@ApiModelProperty(name = "objName",value = "监测点对象名称")
private String objName;
@ApiModelProperty(name = "ptType",value = "接线方式")
private String ptType;
@ApiModelProperty(name = "pt",value = "PT变比")
private String pt;
@ApiModelProperty(name = "ct",value = "CT变比")
private String ct;
@ApiModelProperty(name = "standardCapacity",value = "基准容量MVA")
private Float standardCapacity;
@ApiModelProperty(name = "shortCapacity",value = "最小短路容量MVA")
private Float shortCapacity;
@ApiModelProperty(name = "devCapacity",value = "供电设备容量MVA")
private Float devCapacity;
@ApiModelProperty(name = "dealCapacity",value = "用户协议容量MVA")
private Float dealCapacity;
}

View File

@@ -0,0 +1,23 @@
package com.njcn.device.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @author denghuajun
* @version 1.0.0
* @date 2022年05月06日 15:38
*/
@Data
public class LineDetailVO implements Serializable {
@ApiModelProperty("供电公司名称")
private String gdName;
@ApiModelProperty("变电站名称")
private String subName;
@ApiModelProperty("监测点名称")
private String lineName;
}

View File

@@ -0,0 +1,26 @@
package com.njcn.device.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @author denghuajun
* @version 1.0.0
* @date 2022年04月20日 16:53
*/
@Data
public class LineDeviceStateVO implements Serializable {
@ApiModelProperty(name = "id",value = "监测点索引")
private String id;
@ApiModelProperty(name = "name",value = "监测点名称")
private String name;
@ApiModelProperty(name = "pids",value = "节点")
private String pids;
@ApiModelProperty(name = "state",value = "通讯状态")
private Integer state;
}

View File

@@ -0,0 +1,20 @@
package com.njcn.device.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @author denghuajun
* @version 1.0.0
* @date 2022年05月10日 11:09
*/
@Data
public class LineDistributionVO implements Serializable {
@ApiModelProperty("区域名称")
private String areaName;
@ApiModelProperty("监测点个数")
private Integer lineNum;
}

View File

@@ -0,0 +1,59 @@
package com.njcn.device.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
/**
* @author denghuajun
* @version 1.0.0
* @date 2022年05月12日 10:13
*/
@Data
public class LineFlowMealDetailVO implements Serializable {
@ApiModelProperty("id")
private String id;
@ApiModelProperty("pid")
private String pid;
@ApiModelProperty("pids")
private String pids;
@ApiModelProperty("等级")
private Integer level;
@ApiModelProperty("区域/电压等级/干扰源类型/终端厂家")
private String name;
@ApiModelProperty("终端状态")
private Integer runFlag;
@ApiModelProperty("通讯状态")
private Integer comFlag;
@ApiModelProperty("最新更新时间")
private LocalDateTime updateTime;
@ApiModelProperty("在线率")
private Float onlineRate;
@ApiModelProperty("数据完整性")
private Float integrity;
@ApiModelProperty("套餐流量")
private Float flowMeal;
@ApiModelProperty("已用流量")
private Float statisValue;
@ApiModelProperty("流量占比")
private Float flowProportion;
@ApiModelProperty("子集")
private List<LineFlowMealDetailVO> children;
}

View File

@@ -0,0 +1,25 @@
package com.njcn.device.pojo.vo;
import lombok.Data;
import org.influxdb.annotation.Column;
import org.influxdb.annotation.Measurement;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @author denghuajun
* @version 1.0.0
* @date 2022年05月24日 10:00
*/
@Data
@Measurement(name = "pqs_integrity")
public class LineInfluxDbInegrityVO implements Serializable {
@Column(name = "line_id")
private String lineId;
@Column(name = "integrity")
private Double integrity;
}

View File

@@ -0,0 +1,24 @@
package com.njcn.device.pojo.vo;
import lombok.Data;
import org.influxdb.annotation.Column;
import org.influxdb.annotation.Measurement;
import java.io.Serializable;
/**
* @author denghuajun
* @version 1.0.0
* @date 2022年05月24日 09:45
*/
@Data
@Measurement(name = "pqs_onlinerate")
public class LineInfluxDbOnlineVO implements Serializable {
@Column(name = "dev_index")
private String devIndex;
@Column(name = "onlinerate")
private Double onlineRate;
}

View File

@@ -0,0 +1,43 @@
package com.njcn.device.pojo.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* pqs
*
* @author cdf
* @date 2022/5/10
*/
@Data
@ApiModel
public class LineMarkVO {
private static final long serialVersionUID = 1L;
@ApiModelProperty(name = "省份")
private String province;
@ApiModelProperty(name = "公司")
private String gdName;
@ApiModelProperty(name = "单位")
private String subName;
@ApiModelProperty(name = "设备id")
private String devIndex;
@ApiModelProperty(name = "设备名称")
private String devName;
@ApiModelProperty(name = "监测点")
private String lineIndex;
@ApiModelProperty(name = "监测点名称")
private String lineName;
@ApiModelProperty(name = "监测点通讯状态")
private Integer comFlag;
@ApiModelProperty(name = "运行状态")
private Integer runFlag;
@ApiModelProperty(name = "数据更新时间")
private String updateTime;
@ApiModelProperty(name = "监测点等级")
private String lineGrade;
@ApiModelProperty(name = "监测点等级id")
private String lineGradeId;
}

View File

@@ -0,0 +1,122 @@
package com.njcn.device.pojo.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author denghuajun
* @date 2022/2/23
*
*/
@Data
@ApiModel
public class LineOverLimitVO {
@ApiModelProperty(name = "freqDev",value = "频率限值")
private Float freqDev;
@ApiModelProperty(name = "voltageDev",value = "电压上偏差限值")
private Float voltageDev;
@ApiModelProperty(name = "uvoltageDev",value = "电压下偏差限值")
private Float uvoltageDev;
@ApiModelProperty(name = "ubalance",value = "三相电压不平衡度限值")
private Float ubalance;
@ApiModelProperty(name = "iNeg",value = "负序电流")
private Float iNeg;
@ApiModelProperty(name = "flicker",value = "长时闪变限值")
private Float flicker;
@ApiModelProperty(name = "uaberrance",value = "电压总谐波畸变率限值")
private Float uaberrance;
@ApiModelProperty(name = "oddHarm",value = "奇次谐波含有率限值")
private Float oddHarm;
@ApiModelProperty(name = "evenHarm",value = "偶次谐波含有率限值")
private Float evenHarm;
@ApiModelProperty(name = "iharm2",value = "2次谐波电流幅值限值")
private Float iharm2;
@ApiModelProperty(name = "iharm3",value = "3次谐波电流幅值限值")
private Float iharm3;
@ApiModelProperty(name = "iharm4",value = "4次谐波电流幅值限值")
private Float iharm4;
@ApiModelProperty(name = "iharm5",value = "5次谐波电流幅值限值")
private Float iharm5;
@ApiModelProperty(name = "iharm6",value = "6次谐波电流幅值限值")
private Float iharm6;
@ApiModelProperty(name = "iharm7",value = "7次谐波电流幅值限值")
private Float iharm7;
@ApiModelProperty(name = "iharm8",value = "8次谐波电流幅值限值")
private Float iharm8;
@ApiModelProperty(name = "iharm9",value = "9次谐波电流幅值限值")
private Float iharm9;
@ApiModelProperty(name = "iharm10",value = "10次谐波电流幅值限值")
private Float iharm10;
@ApiModelProperty(name = "iharm11",value = "11次谐波电流幅值限值")
private Float iharm11;
@ApiModelProperty(name = "iharm12",value = "12次谐波电流幅值限值")
private Float iharm12;
@ApiModelProperty(name = "iharm13",value = "13次谐波电流幅值限值")
private Float iharm13;
@ApiModelProperty(name = "iharm14",value = "14次谐波电流幅值限值")
private Float iharm14;
@ApiModelProperty(name = "iharm15",value = "15次谐波电流幅值限值")
private Float iharm15;
@ApiModelProperty(name = "iharm16",value = "16次谐波电流幅值限值")
private Float iharm16;
@ApiModelProperty(name = "iharm17",value = "17次谐波电流幅值限值")
private Float iharm17;
@ApiModelProperty(name = "iharm18",value = "18次谐波电流幅值限值")
private Float iharm18;
@ApiModelProperty(name = "iharm19",value = "19次谐波电流幅值限值")
private Float iharm19;
@ApiModelProperty(name = "iharm20",value = "20次谐波电流幅值限值")
private Float iharm20;
@ApiModelProperty(name = "iharm21",value = "21次谐波电流幅值限值")
private Float iharm21;
@ApiModelProperty(name = "iharm22",value = "22次谐波电流幅值限值")
private Float iharm22;
@ApiModelProperty(name = "iharm23",value = "23次谐波电流幅值限值")
private Float iharm23;
@ApiModelProperty(name = "iharm24",value = "24次谐波电流幅值限值")
private Float iharm24;
@ApiModelProperty(name = "iharm25",value = "25次谐波电流幅值限值")
private Float iharm25;
@ApiModelProperty(name = "inUharm",value = "0.5-1.5次间谐波电压幅值限值")
private Float inUharm;
@ApiModelProperty(name = "inUharm16",value = "2.5-15.5次间谐波电压幅值限值")
private Float inUharm16;
}

View File

@@ -0,0 +1,27 @@
package com.njcn.device.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @author denghuajun
* @version 1.0.0
* @date 2022年05月11日 10:29
*/
@Data
public class LineStateVO implements Serializable {
@ApiModelProperty("通讯正常数")
private Integer normalStateNum;
@ApiModelProperty("通讯中断数")
private Integer suspendStateNum;
@ApiModelProperty("停运数")
private Integer offStreamStateNum;
@ApiModelProperty("热备用数")
private Integer hotSpareStateNum;
}

View File

@@ -0,0 +1,24 @@
package com.njcn.device.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.Instant;
import java.util.Date;
/**
* @author denghuajun
* @version 1.0.0
* @date 2022年05月24日 15:12
*/
@Data
public class LineStaticsValueVO implements Serializable {
@ApiModelProperty("时间")
private String time;
@ApiModelProperty("数值")
private Double value;
}

View File

@@ -0,0 +1,24 @@
package com.njcn.device.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author denghuajun
* @version 1.0.0
* @date 2022年05月24日 15:11
*/
@Data
public class LineStaticsViewVO implements Serializable {
@ApiModelProperty("在线率")
List<LineStaticsValueVO> onlineRateValue;
@ApiModelProperty("数据完整性")
List<LineStaticsValueVO> integrityValue;
@ApiModelProperty("流量占比")
List<LineStaticsValueVO> flowMealValue;
}

View File

@@ -0,0 +1,43 @@
package com.njcn.device.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @author denghuajun
* @version 1.0.0
* @date 2022年05月10日 15:19
*/
@Data
public class LineStatisticsDetailVO implements Serializable {
@ApiModelProperty("序号")
private Integer orderNo;
@ApiModelProperty("id")
private String id;
@ApiModelProperty("区域/电压等级/干扰源类型/终端厂家")
private String areaName;
@ApiModelProperty("监测点总数")
private Integer lineNum;
@ApiModelProperty("监测点新增数")
private Integer addLineNum;
@ApiModelProperty("通讯正常数")
private Integer normalStateNum;
@ApiModelProperty("通讯中断数")
private Integer suspendStateNum;
@ApiModelProperty("停运数")
private Integer offStreamStateNum;
@ApiModelProperty("热备用数")
private Integer hotSpareStateNum;
}

View File

@@ -0,0 +1,38 @@
package com.njcn.device.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author denghuajun
* @version 1.0.0
* @date 2022年05月11日 14:20
*/
@Data
public class LineStatisticsTableVO implements Serializable {
@ApiModelProperty("id")
private String id;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("pid")
private String pid;
@ApiModelProperty("pidS")
private String pidS;
@ApiModelProperty("终端状态")
private Integer runFlag;
@ApiModelProperty("通讯状态")
private Integer comFlag;
@ApiModelProperty("子集")
private List<LineStatisticsTableVO> children;
}

View File

@@ -0,0 +1,127 @@
package com.njcn.device.pojo.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* 线路信息表
*
* @author hongawen
* @since 2021-04-09
*/
@Data
@ApiModel
public class LineVO {
@ApiModelProperty(name = "id",value = "监测点索引")
private String lineIndex;
@ApiModelProperty(name = "name",value = "监测点名称")
private String name;
/**
* PT一次变比
*/
@ApiModelProperty(name = "pt1",value = "PT一次变比")
private Float pt1;
/**
* PT二次变比
*/
@ApiModelProperty(name = "pt2",value = "PT二次变比")
private Float pt2;
/**
* CT一次变比
*/
@ApiModelProperty(name = "ct1",value = "CT一次变比")
private Float ct1;
/**
* CT二次变比
*/
@ApiModelProperty(name = "ct2",value = "CT二次变比")
private Float ct2;
/**
* 设备容量
*/
@ApiModelProperty(name = "devCapacity",value = "设备容量")
private Float devCapacity;
/**
* 短路容量
*/
@ApiModelProperty(name = "shortCapacity",value = "短路容量")
private Float shortCapacity;
/**
* 协议容量
*/
@ApiModelProperty(name = "dealCapacity",value = "协议容量")
private Float dealCapacity;
/**
* 基准容量
*/
@ApiModelProperty(name = "standardCapacity",value = "基准容量")
private Float standardCapacity;
@ApiModelProperty(name = "num",value = "监测点序号")
private Integer num;
@ApiModelProperty(name = "timeInterval",value = "测量间隔")
private Integer timeInterval;
@ApiModelProperty(name = "loadType",value = "关联PQS_Dicdata表负荷类型Guid")
private String loadType;
@ApiModelProperty(name = "businessType",value = "关联PQS_Dicdata表行业类型Guid")
private String businessType;
@ApiModelProperty(name = "remark",value = "备注")
private String remark;
@ApiModelProperty(name = "monitorId",value = "国网谐波监测平台监测点号")
private String monitorId;
/**
* 网公司谐波监测平台标志(0-否;1-是),默认否
*/
@ApiModelProperty(name = "monitorFlag",value = "网公司谐波监测平台标志(0-否;1-是),默认否")
private Integer monitorFlag;
@ApiModelProperty(name = "powerFlag",value = "监测点性质 0-电网侧1-非电网侧")
private Integer powerFlag;
@ApiModelProperty(name = "objName",value = "监测点对象名称")
private String objName;
/**
* 接线类型(0:星型接法;1:三角型接法;2:开口三角型接法)
*/
@ApiModelProperty(name = "ptType",value = "接线类型(0:星型接法;1:三角型接法;2:开口三角型接法)")
private Integer ptType;
/**
* 电压上偏差限值
*/
@ApiModelProperty(name = "voltageDev",value = "电压上偏差限值",required = true)
private Float voltageDev;
/**
* 电压下偏差限值
*/
@ApiModelProperty(name = "uvoltageDev",value = "电压下偏差限值",required = true)
private Float uvoltageDev;
@ApiModelProperty(name = "sort",value = "排序",required = true)
private Integer sort;
}

View File

@@ -0,0 +1,39 @@
package com.njcn.device.pojo.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* 项目信息表,层次高于省级。
*
* @author hongawen
* @since 2021-04-09
*/
@Data
@ApiModel
public class ProjectVO {
/**
* 表Id
*/
@ApiModelProperty("projectIndex")
private String projectIndex;
/**
* 项目名称(唯一性判断)
*/
@ApiModelProperty(name = "name",value = "项目名称",required = true)
private String name;
@ApiModelProperty(name = "sort",value = "排序",required = true)
private Integer sort;
}

View File

@@ -0,0 +1,39 @@
package com.njcn.device.pojo.vo;
import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.device.pojo.constant.DeviceValidMessage;
import com.njcn.web.constant.ValidMessage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
/**
* pqs
*
* @author cdf
* @date 2021/6/24
*/
@Data
@ApiModel
public class ProvinceVO {
/**
* 表Id
*/
@ApiModelProperty("provinceIndex")
private String provinceIndex;
@ApiModelProperty(name ="name",value = "省份",required = true)
private String name;
@ApiModelProperty(name = "sort",value = "排序",required = true)
@NotNull(message = "排序不可为空")
private Integer sort;
}

Some files were not shown because too many files have changed in this diff Show More