diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/DistributionMonitorClient.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/DistributionMonitorClient.java index f490cd08e..ec94cfbd0 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/DistributionMonitorClient.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/DistributionMonitorClient.java @@ -13,6 +13,8 @@ import com.njcn.device.pms.pojo.dto.PmsMonitorDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO; import com.njcn.device.pms.pojo.param.PmsMonitorInfoParam; import com.njcn.device.pms.pojo.param.PmsMonitorParam; +import com.njcn.device.pms.pojo.po.DistributionMonitor; +import com.njcn.device.pms.pojo.po.Monitor; import com.njcn.device.pms.pojo.vo.DoubleUserVO; import com.njcn.device.pq.pojo.po.Overlimit; import io.swagger.annotations.ApiImplicitParam; @@ -42,5 +44,13 @@ public interface DistributionMonitorClient { @PostMapping("/getDoubleUserByDept") HttpResult> getDoubleUserByDept(@RequestParam("orgId")String orgId); + /** + * 获取配网监测点数据 + * @author cdf + * @date 2022/11/29 + */ + @PostMapping("distributionMonitorList") + HttpResult> distributionMonitorList(@RequestBody List monitorIds); + } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/MonitorClient.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/MonitorClient.java index d83b55fa3..28a6702f7 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/MonitorClient.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/MonitorClient.java @@ -9,6 +9,7 @@ import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; import com.njcn.device.pms.pojo.param.PmsMonitorInfoParam; import com.njcn.device.pms.pojo.param.PmsMonitorParam; import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; +import com.njcn.device.pms.pojo.po.Monitor; import com.njcn.device.pq.pojo.po.Overlimit; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.validation.annotation.Validated; @@ -58,4 +59,13 @@ public interface MonitorClient { HttpResult getOverLimitData(@RequestParam("id") String id); + /** + * 获取主网监测点数据 + * @author cdf + * @date 2022/11/29 + */ + @PostMapping("getMonitorList") + HttpResult> getMonitorList(@RequestBody List monitorIds); + + } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/DistributionMonitorClientFallbackFactory.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/DistributionMonitorClientFallbackFactory.java index a307e5e41..e8e2dc218 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/DistributionMonitorClientFallbackFactory.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/DistributionMonitorClientFallbackFactory.java @@ -9,12 +9,14 @@ import com.njcn.device.pms.pojo.dto.PmsMonitorDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO; import com.njcn.device.pms.pojo.param.PmsMonitorInfoParam; import com.njcn.device.pms.pojo.param.PmsMonitorParam; +import com.njcn.device.pms.pojo.po.DistributionMonitor; import com.njcn.device.pms.pojo.vo.DoubleUserVO; import com.njcn.device.pms.utils.PmsDeviceEnumUtil; import com.njcn.device.pq.pojo.po.Overlimit; import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import java.util.List; @@ -45,6 +47,13 @@ public class DistributionMonitorClientFallbackFactory implements FallbackFactory } + @Override + public HttpResult> distributionMonitorList(List monitorIds) { + log.error("{}异常,降级处理,异常为:{}", "获取配网监测点", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + + }; } } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/MonitorClientFallbackFactory.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/MonitorClientFallbackFactory.java index 2858680d8..1119ba946 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/MonitorClientFallbackFactory.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/MonitorClientFallbackFactory.java @@ -10,6 +10,7 @@ import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; import com.njcn.device.pms.pojo.param.PmsMonitorInfoParam; import com.njcn.device.pms.pojo.param.PmsMonitorParam; import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; +import com.njcn.device.pms.pojo.po.Monitor; import com.njcn.device.pms.utils.PmsDeviceEnumUtil; import com.njcn.device.pq.pojo.po.Overlimit; import feign.hystrix.FallbackFactory; @@ -54,6 +55,12 @@ public class MonitorClientFallbackFactory implements FallbackFactory> getMonitorList(List monitorIds) { + log.error("{}异常,降级处理,异常为:{}", "获取主网监测点数据 ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } }; } } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/enums/PmsDeviceResponseEnum.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/enums/PmsDeviceResponseEnum.java index d466d3896..dab1146d9 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/enums/PmsDeviceResponseEnum.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/enums/PmsDeviceResponseEnum.java @@ -22,8 +22,24 @@ public enum PmsDeviceResponseEnum { NO_USER_TYPE("A00364","未查询字典用户类型"), NO_STATION("A00365","未查询指定电站信息"), + NO_LINE_SORT("A00366","未查询到字典监测点类别"), + GENERATRIXWIRE_NAME_REPEAT("A00368","同一母线下存在相同名称线路"), GENERATRIX_NAME_REPEAT("A00369","同一电站下存在相同名称母线"), + POWERGENERATIONUSER_SAME("A00370","发电用户名称或编号重复"), + POWERCLINET_SAME("A00371","用电用户名称或编号重复"), + WIRE_SAME("A00372","线路编号重复"), + GENWIRE_SAME("A00373","母线编号重复"), + POWER_CODE_SAME("A00374","台区名称或编号重复"), + POWER_CLIENT_DIS_EMPTY("A00375","发电用电用户参数不可为空"), + + + POWER_CLIENT_NOT_FIND("A00380","查无此用电用户"), + POWER_GEN_NOT_FIND("A00381","查无此发电用户"), + POWER_DIS_NOT_FIND("A00382","查无此台区信息"), + ONE_MONITOR_NOT_FIND("A00383","查无此I类监测点信息"), + TWO_MONITOR_NOT_FIND("A00384","查无此II类监测点信息"), + THREE_MONITOR_NOT_FIND("A00385","查无此III类监测点信息"), diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/DistributionMonitorParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/DistributionMonitorParam.java index 6ee6e28a3..ef881ec12 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/DistributionMonitorParam.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/DistributionMonitorParam.java @@ -25,26 +25,17 @@ public class DistributionMonitorParam { /** * 监测点ID */ - + @ApiModelProperty(value = "监测点类别(字典)") + @NotBlank(message = "监测点类别不能为空") private String monitorId; - /** - * 电压等级(字典) - */ - private String voltageLevel; - - /** - * 是否发电用户:0-否;1-是; - */ - private Boolean ifPowerUser; - /** * 监测点状态(字典) */ + @ApiModelProperty(value = "监测点状态(字典)") + @NotBlank(message = "监测点状态不能为空") private String monitorState; - /** - * 创建日期 - */ - private LocalDateTime createdDate; + @ApiModelProperty(value = "III类监测点小类 0.用电用户 1.发电用户 默认用电") + private Integer smallType; } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/MonitorParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/MonitorParam.java index e3e17c1d8..9054c9fab 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/MonitorParam.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/MonitorParam.java @@ -17,6 +17,15 @@ import java.time.LocalDateTime; @Data public class MonitorParam { + private static final long serialVersionUID = 1L; + + /** + * 监测线路ID + */ + @ApiModelProperty(value = "监测点编号") + @NotBlank(message = "监测点编号不可为空") + private String id; + /** * 监测点名称 */ @@ -32,6 +41,13 @@ public class MonitorParam { @NotBlank(message = "组织机构ID不能为空") private String orgId; + /** + * 组织机构名称(外键) + */ + @ApiModelProperty(value = "组织机构名称(外键)") + @NotBlank(message = "组织机构名称不能为空") + private String orgName; + /** * 运维单位ID(外键) @@ -40,6 +56,13 @@ public class MonitorParam { @NotBlank(message = "运维单位ID不能为空") private String operationId; + /** + * 运维单位名称 + */ + @ApiModelProperty(value = "运维单位名称") + @NotBlank(message = "运维单位名称不能为空") + private String operationName; + /** * 电站ID(外键) @@ -49,12 +72,26 @@ public class MonitorParam { private String powerrId; /** - * 母线ID(外键) + * 电站名称 */ - @ApiModelProperty(value = "母线ID(外键)") - @NotBlank(message = "母线ID不能为空") + @ApiModelProperty(value = "电站名称") + @NotBlank(message = "电站名称不能为空") + private String powerrName; + + /** + * 母线编号(外键) + */ + @ApiModelProperty(value = "母线编号(外键)") + @NotBlank(message = "母线编号不能为空") private String generatrixId; + /** + * 母线名称 + */ + @ApiModelProperty(value = "母线名称") + @NotBlank(message = "母线名称不能为空") + private String generatrixName; + /** * 监测线路名称 */ @@ -143,8 +180,8 @@ public class MonitorParam { * 是否用户专线(字典) */ @ApiModelProperty(value = "是否用户专线(字典)") - @NotBlank(message = "是否用户专线不可为空") - private String isSpecialSupplyElectricity; + @NotNull(message = "是否用户专线不可为空") + private Integer isSpecialSupplyElectricity; /** * 监测点标签 @@ -203,16 +240,6 @@ public class MonitorParam { private Integer isUpToGrid; - @Data - @EqualsAndHashCode(callSuper = true) - public static class UpdateMonitorParam extends MonitorParam{ - /** - * 监测线路ID - */ - @ApiModelProperty(value = "监测点ID") - @NotBlank(message = "监测点ID不可为空") - private String id; - } } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PmsTerminalParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PmsTerminalParam.java index f1f6143b3..b21378fbf 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PmsTerminalParam.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PmsTerminalParam.java @@ -1,5 +1,6 @@ package com.njcn.device.pms.pojo.param; +import com.njcn.web.pojo.annotation.DateTimeStrValid; import com.njcn.web.pojo.param.BaseParam; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -65,10 +66,12 @@ public class PmsTerminalParam { @ApiModelProperty(name = "verificationDate", value = "检定日期") @NotBlank(message = "检定日期不能为空") + @DateTimeStrValid(message = "检定日期格式有误") private String verificationDate; @ApiModelProperty(name = "useDate", value = "投用日期") @NotBlank(message = "投用日期不能为空") + @DateTimeStrValid(message = "投用日期格式有误") private String useDate; @ApiModelProperty(name = "inputType", value = "测量信号输入形式") diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PowerClientParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PowerClientParam.java index 61eb8f73d..7cf123a09 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PowerClientParam.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PowerClientParam.java @@ -39,6 +39,12 @@ public class PowerClientParam { @NotBlank(message = "组织机构ID不可为空") private String orgId; + /** + * 组织机构名称 + */ + @ApiModelProperty(value = " 组织机构名称",required = true) + @NotBlank(message = "组织机构名称不可为空") + private String orgName; /** @@ -48,6 +54,13 @@ public class PowerClientParam { @NotBlank(message = "运维单位ID不可为空") private String operationId; + /** + * 运维单位名称 + */ + @ApiModelProperty(value = "运维单位名称",required = true) + @NotBlank(message = "运维单位名称不可为空") + private String operationName; + /** * 用户分类(字典) */ diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PowerGenerationUserParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PowerGenerationUserParam.java index 890742447..a7548b184 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PowerGenerationUserParam.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PowerGenerationUserParam.java @@ -39,6 +39,13 @@ public class PowerGenerationUserParam { @NotBlank(message = "组织机构ID不可为空") private String orgId; + /** + * 组织名称 + */ + @ApiModelProperty(value = "组织名称",required = true) + @NotBlank(message = "组织名称不可为空") + private String orgName; + /** * 运维单位ID(外键) @@ -47,6 +54,13 @@ public class PowerGenerationUserParam { @NotBlank(message = "运维单位ID不可为空") private String operationId; + /** + * 运维单位名称 + */ + @ApiModelProperty(value = "运维单位名称",required = true) + @NotBlank(message = "运维单位名称不可为空") + private String operationName; + /** * 电源类别(字典) */ diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PowerUserParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PowerUserParam.java new file mode 100644 index 000000000..00ab276dc --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PowerUserParam.java @@ -0,0 +1,20 @@ +package com.njcn.device.pms.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + * @author xiaoyao + * @version 1.0.0 + * @createTime 2022/11/30 13:52 + */ + +@Data +public class PowerUserParam { + /** + * 用户编号 + */ + @ApiModelProperty(value = "用户编号",required = true) + private String id; +} diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/StatationStatParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/StatationStatParam.java index d4eec4cb2..e191e3f3d 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/StatationStatParam.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/StatationStatParam.java @@ -30,10 +30,14 @@ public class StatationStatParam { private String powerName; - @ApiModelProperty(value = "单位组织id",required = true) - @NotBlank(message = "单位组织id不可为空") + @ApiModelProperty(value = "单位组织编号",required = true) + @NotBlank(message = "单位组织编号不可为空") private String orgId; + + @ApiModelProperty(value = "单位组织名称",required = true) + @NotBlank(message = "单位组织名称") + private String orgName; /** * 应设点数量 */ @@ -48,4 +52,16 @@ public class StatationStatParam { @NotBlank(message = "电压等级不可为空") private String voltageLevel; + /** + * 经度 + */ + @ApiModelProperty(value = "经度") + private Double longitude; + + /** + * 维度 + */ + @ApiModelProperty(value = "维度") + private Double latitude; + } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/TaiZhangDelParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/TaiZhangDelParam.java new file mode 100644 index 000000000..377641ac4 --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/TaiZhangDelParam.java @@ -0,0 +1,25 @@ +package com.njcn.device.pms.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * pms-device + * + * @author cdf + * @date 2022/12/5 + */ +@Data +public class TaiZhangDelParam { + @ApiModelProperty(name = "1.I类监测点 2.II类监测点 3.III类监测") + @NotNull(message = "类型不能为空") + private Integer type; + + @ApiModelProperty(name = "监测点集合") + @NotEmpty(message = "监测点集合不能为空") + private List ids; +} diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/TaiZhangParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/TaiZhangParam.java new file mode 100644 index 000000000..9438ffde4 --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/TaiZhangParam.java @@ -0,0 +1,42 @@ +package com.njcn.device.pms.pojo.param; + +import com.njcn.web.pojo.param.BaseParam; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + * pms-device + * + * @author cdf + * @date 2022/11/23 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class TaiZhangParam extends BaseParam { + + @NotBlank(message = "组织部门编号不可为空") + @ApiModelProperty(value = "组织部门编号",required = true) + private String orgId; + + @NotNull(message = "数据类型不可为空") + @ApiModelProperty(value = "数据类型 0.主网 1.配网",required = true) + private Integer dataType; + + @ApiModelProperty(value = "监测点类别(字典 I II III 监测点)" ,required = true) + private String lineType; + + @ApiModelProperty(value = "三类监测点小类 0用电 1发电") + private Integer treeType; + + + + + + + + +} diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/TractionStationParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/TractionStationParam.java index b2db6bd16..ffbc1285e 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/TractionStationParam.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/TractionStationParam.java @@ -1,74 +1,89 @@ package com.njcn.device.pms.pojo.param; +import com.njcn.web.pojo.annotation.DateTimeStrValid; import com.njcn.web.pojo.param.BaseParam; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + @Data public class TractionStationParam { @ApiModelProperty(name = "id",value = "牵引站编号") + @NotBlank(message = "牵引站编号不可为空") private String id; - @ApiModelProperty(name = "Name", value = "牵引站名称") - private String Name; + @ApiModelProperty(name = "name", value = "牵引站名称") + @NotBlank(message = "牵引站名称不可为空") + private String name; - @ApiModelProperty(name = "OrgName", value = "组织机构名称") - private String OrgName; + @ApiModelProperty(name = "orgName", value = "组织机构名称") + @NotBlank(message = "组织机构名称不可为空") + private String orgName; - @ApiModelProperty(name = "OrgId", value = "组织机构ID") - private String OrgId; + @ApiModelProperty(name = "orgId", value = "组织机构编号") + @NotBlank(message = "组织机构编号不可为空") + private String orgId; - @ApiModelProperty(name = "OperationName", value = "运维单位名称") - private String OperationName; + @ApiModelProperty(name = "operationName", value = "运维单位名称") + @NotBlank(message = "运维单位名称不可为空") + private String operationName; - @ApiModelProperty(name = "OperationId", value = "运维单位ID") - private String OperationId; + @ApiModelProperty(name = "operationId", value = "运维单位编号") + @NotBlank(message = "运维单位编号不可为空") + private String operationId; - @ApiModelProperty(name = "VoltageLevel", value = "供电电压等级") - private String VoltageLevel; + @ApiModelProperty(name = "voltageLevel", value = "供电电压等级") + @NotBlank(message = "供电电压等级不可为空") + private String voltageLevel; - @ApiModelProperty(name = "RailwayLineId", value = "铁路线路编号") - private String RailwayLineId; + @ApiModelProperty(name = "railwayLineId", value = "铁路线路编号") + @NotBlank(message = "铁路线路编号不可为空") + private String railwayLineId; - @ApiModelProperty(name = "RailwayLineName", value = "铁路线路名称") - private String RailwayLineName; + @ApiModelProperty(name = "railwayLineName", value = "铁路线路名称") + @NotBlank(message = "铁路线路名称不可为空") + private String railwayLineName; - @ApiModelProperty(name = "ConnetGroupWay", value = "牵引站变压器接线方式") - private String ConnetGroupWay; + @ApiModelProperty(name = "connetGroupWay", value = "牵引站变压器接线方式") + @NotBlank(message = "牵引站变压器接线方式不可为空") + private String connetGroupWay; - @ApiModelProperty(name = "RatedCapacity", value = "牵引站变电容量") - private Float RatedCapacity; + @ApiModelProperty(name = "ratedCapacity", value = "牵引站变电容量") + @NotNull(message = "牵引站变电容量不可为空") + private Float ratedCapacity; - @ApiModelProperty(name = "PowerId", value = "供电变电站编号") - private String PowerId; + @ApiModelProperty(name = "powerId", value = "供电变电站编号") + @NotBlank(message = "供电变电站编号不可为空") + private String powerId; - @ApiModelProperty(name = "PowerName", value = "供电变电站名称") - private String PowerName; + @ApiModelProperty(name = "powerName", value = "供电变电站名称") + @NotBlank(message = "供电变电站名称不可为空") + private String powerName; - @ApiModelProperty(name = "PowerVoltageLevel", value = "供电变电站电压等级") - private String PowerVoltageLevel; + @ApiModelProperty(name = "powerVoltageLevel", value = "供电变电站电压等级") + @NotBlank(message = "供电变电站电压等级不可为空") + private String powerVoltageLevel; - @ApiModelProperty(name = "IfSpecial", value = "是否专线供电:0-否;1-是;") - private Integer IfSpecial; + @ApiModelProperty(name = "ifSpecial", value = "是否专线供电:0-否;1-是;") + @NotNull(message = "是否专线供电") + private Integer ifSpecial; - @ApiModelProperty(name = "CreatedDate", value = "创建日期") - private String CreatedDate; + @ApiModelProperty(name = "createdDate", value = "创建日期") + @NotBlank(message = "创建日期不可为空") + @DateTimeStrValid(format = "yyyy-MM-dd",message = "创建日期格式有误") + private String createdDate; - @ApiModelProperty(name = "UserTag", value = "用户标签") - private String UserTag; + @ApiModelProperty(name = "userTag", value = "用户标签") + @NotBlank(message = "用户标签不可为空") + private String userTag; - @ApiModelProperty(name = "IsUpToGrid", value = "是否是上送国网监测点,0-否 1-是") - private Integer IsUpToGrid; + @ApiModelProperty(name = "isUpToGrid", value = "是否是上送国网监测点,0-否 1-是") + @NotNull(message = "是否是上送国网监测点不可为空") + private Integer isUpToGrid; - /** - * 查询数据实体 - */ - @Data - @EqualsAndHashCode(callSuper = true) - public static class QueryParam extends BaseParam { - private Integer Status; - } } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/DistributionMonitor.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/DistributionMonitor.java index 187c122b1..76b3f1ea4 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/DistributionMonitor.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/DistributionMonitor.java @@ -43,7 +43,7 @@ public class DistributionMonitor extends BaseEntity { /** * 是否发电用户:0-否;1-是; */ - private Boolean ifPowerUser; + private Integer ifPowerUser; /** * 监测点状态(字典) @@ -58,7 +58,7 @@ public class DistributionMonitor extends BaseEntity { /** * 数据状态:0-删除;1-正常; */ - private Boolean status; + private Integer status; diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/Monitor.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/Monitor.java index e4b9a102c..e40a5ae12 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/Monitor.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/Monitor.java @@ -135,7 +135,7 @@ public class Monitor extends BaseEntity { /** * 是否用户专线(字典) */ - private String isSpecialSupplyElectricity; + private Integer isSpecialSupplyElectricity; /** * 监测点标签 diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/StatationStat.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/StatationStat.java index 55ecb90ba..6b371ebf6 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/StatationStat.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/StatationStat.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.njcn.db.bo.BaseEntity; import java.io.Serializable; +import java.math.BigDecimal; import java.time.LocalDateTime; import lombok.Data; @@ -42,6 +43,11 @@ public class StatationStat extends BaseEntity { */ private String orgId; + /** + * 机构组织名称 + */ + private String orgName; + /** * 应设点数量 */ @@ -52,10 +58,20 @@ public class StatationStat extends BaseEntity { */ private String voltageLevel; + /** + * 经度 + */ + private Double longitude; + + /** + * 维度 + */ + private Double latitude; + /** * 数据状态:0-删除;1-正常; */ - private Boolean status; + private Integer status; diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/TractionStation.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/TractionStation.java index 5ccdb1ce6..7bf5d2577 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/TractionStation.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/TractionStation.java @@ -3,6 +3,7 @@ package com.njcn.device.pms.pojo.po; import com.baomidou.mybatisplus.annotation.TableName; import com.njcn.db.bo.BaseEntity; import java.io.Serializable; +import java.time.LocalDate; import java.time.LocalDateTime; import lombok.Data; @@ -12,7 +13,7 @@ import lombok.Setter; /** *

- * + * *

* * @author hongawen @@ -103,7 +104,7 @@ public class TractionStation extends BaseEntity { /** * 创建日期 */ - private LocalDateTime createdDate; + private LocalDate createdDate; /** * 用户标签 @@ -116,29 +117,11 @@ public class TractionStation extends BaseEntity { private Integer isUpToGrid; /** - * 数据状态:0-删除;1-正常; + * 数据状态:0-删除;1-正常; */ private Integer status; - /** - * 创建用户 - */ - private String createBy; - /** - * 创建时间 - */ - private LocalDateTime createTime; - - /** - * 更新用户 - */ - private String updateBy; - - /** - * 更新时间 - */ - private LocalDateTime updateTime; } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/PmsPowerTreeMonitorVO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/PmsPowerTreeMonitorVO.java new file mode 100644 index 000000000..a54ec60cc --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/PmsPowerTreeMonitorVO.java @@ -0,0 +1,219 @@ +package com.njcn.device.pms.pojo.vo; + +import com.njcn.device.pms.pojo.po.PowerClient; +import com.njcn.device.pms.pojo.po.PowerGenerationUser; +import lombok.Data; + +import java.time.LocalDate; + +/** + * pms-device + * + * @author cdf + * @date 2022/11/25 + */ +@Data +public class PmsPowerTreeMonitorVO { + + private static final long serialVersionUID = 1L; + + + //公共 + /** + * 用户编号 + */ + private String id; + + /** + * 用户名称 + */ + private String name; + + /** + * 组织机构名称 + */ + private String orgName; + + /** + * 组织机构ID(外键) + */ + private String orgId; + + /** + * 运维单位名称 + */ + private String operationName; + + /** + * 运维单位ID(外键) + */ + private String operationId; + + /** + * 并网电压等级(字典) + */ + private String voltageLevel; + + /** + * 供电变电站(外键) + */ + private String powerStationId; + + /** + * 供电线路(外键) + */ + private String lineId; + + /** + * 供电台区(外键) + */ + private String platformId; + + /** + * 用户标签 + */ + private String userTag; + + /** + * 是否是上送国网监测点,0-否 1-是 + */ + private Integer isUpToGrid; + + + + + + + + + + + + + //用电用户 + + /** + * 用户分类(字典) + */ + private String userType; + + /** + * 行业分类(字典) + */ + private String industryType; + + /** + * 用电类别(字典) + */ + private String electricityType; + + /** + * 合同容量 + */ + private Float contractCapacity; + + /** + * 运行容量 + */ + private Float operatingCapacity; + + /** + * 生产班次(字典) + */ + private String productionShift; + + /** + * 负荷性质(字典) + */ + private String loadNature; + + + + /** + * 高耗能行业类别(字典) + */ + private String highIndustryType; + + /** + * 送电日期 + */ + private LocalDate powerTransmissionDate; + + /** + * 重要性等级(字典) + */ + private String importanceLevel; + + /** + * 用电客户状态(字典) + */ + private String eccStat; + + /** + * 是否敏感用户:0-否;1:是; + */ + private Integer ifSensitiveUser; + + /** + * 是否影响电能质量:0-否;1:是; + */ + private Integer ifPowerQuality; + + /** + * 是否重要客户:0-否;1:是; + */ + private Integer ifKeyCustomers; + + /** + * 敏感用户类别(字典) + */ + private String sensitiveType; + + + + + + + + + + //发电 + /** + * 电源类别(字典) + */ + private String powerCategory; + + /** + * 电站类型(字典) + */ + private String powerStationType; + + /** + * 发电方式(字典) + */ + private String powerGenerationMode; + + + /** + * 总装机容量 + */ + private Float sourceCapacity; + + /** + * 并网日期 + */ + private LocalDate connectionDate; + + /** + * 能源消纳方式(字典) + */ + private String connectionMode; + + /** + * 客户状态(字典) + */ + private String gcStat; + + + +} diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/ROperatingIndexCommonVO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/ROperatingIndexCommonVO.java index 58d394cac..eeba83716 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/ROperatingIndexCommonVO.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/ROperatingIndexCommonVO.java @@ -42,6 +42,9 @@ public class ROperatingIndexCommonVO { @ApiModelProperty(name = " transitMeasurementRate", value = "在线监测率") private Double transitMeasurementRate; + + @ApiModelProperty(name = "onlineMeasurementPoints", value = "监测终端数") + private Integer onlineMeasurementPoints; /** * 在线终端数 */ diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/RStatAlarmDetailVO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/RStatAlarmDetailVO.java new file mode 100644 index 000000000..3b4c34f5c --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/RStatAlarmDetailVO.java @@ -0,0 +1,47 @@ +package com.njcn.device.pms.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * 告警明细(主配网) + * @Title RStatAlarmDetailVO + * @Package com.njcn.device.pms.pojo.vo + * @Author jianghaifei + * @Date 2022-11-23 19:51 + * @Version V1.0 + */ +@Data +public class RStatAlarmDetailVO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 监测点ID + */ + @ApiModelProperty(name = "measurementPointId", value = "监测点ID") + private String measurementPointId; + + @ApiModelProperty(name = "measurementPointName", value = "监测点名称") + private String measurementPointName; + + /** + * 告警类型 + */ + @ApiModelProperty(name = "alarmType", value = "告警类型(字典)") + private String alarmType; + + /** + * 告警描述 + */ + @ApiModelProperty(name = "alarmInfo", value = "告警描述") + private String alarmInfo; + + /** + * 告警持续时间 + */ + @ApiModelProperty(name = "alarmLastTime", value = "告警持续时间") + private Double alarmLastTime; + +} diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/StatationStatVO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/StatationStatVO.java index 523796929..449aa4bab 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/StatationStatVO.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/StatationStatVO.java @@ -28,7 +28,17 @@ public class StatationStatVO implements Serializable { @ApiModelProperty(name = "voltageLevel", value = "电压等级") private String voltageLevel; + /** + * 经度 + */ + @ApiModelProperty(value = "经度") + private Double longitude; + /** + * 维度 + */ + @ApiModelProperty(value = "维度") + private Double latitude; diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/distribution/RMpPwAlarmDetailDController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/distribution/RMpPwAlarmDetailDController.java new file mode 100644 index 000000000..3817d8af1 --- /dev/null +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/distribution/RMpPwAlarmDetailDController.java @@ -0,0 +1,47 @@ +package com.njcn.device.pms.controller.distribution; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.enums.common.LogEnum; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +import com.njcn.device.pms.pojo.param.RStatPwAlarmDetailParam; +import com.njcn.device.pms.pojo.vo.RStatAlarmDetailVO; +import com.njcn.device.pms.pojo.vo.RStatPwAlarmDetailVO; +import com.njcn.device.pms.service.distribution.RMpPwAlarmDetailDService; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @Title RMpPwAlarmDetailDController + * @Package com.njcn.device.pms.controller.distribution + * @Author jianghaifei + * @Date 2022-11-23 19:46 + * @Version V1.0 + */ +@RestController +@RequestMapping("/rMpPwAlarmDetail") +@Api(tags = "告警明细") +@RequiredArgsConstructor +public class RMpPwAlarmDetailDController extends BaseController { + + private final RMpPwAlarmDetailDService rMpPwAlarmDetailDService; + + @PostMapping("getAllAlarmDetailList") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("告警明细查看(主配网)") + public HttpResult> getAllAlarmDetailList(@RequestBody RStatPwAlarmDetailParam rStatPwAlarmDetailParam) { + String methodDescribe = getMethodDescribe("getAllAlarmDetailList"); + List list = rMpPwAlarmDetailDService.getAllAlarmDetailList(rStatPwAlarmDetailParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } +} diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/DistributionMonitorController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/DistributionMonitorController.java index 81b992c70..cf2ef54d0 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/DistributionMonitorController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/DistributionMonitorController.java @@ -3,22 +3,22 @@ package com.njcn.device.pms.controller.majornetwork; import cn.hutool.core.collection.CollectionUtil; import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.OperateType; import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; -import com.njcn.device.pms.pojo.dto.PmsGeneralDeviceDTO; -import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO; import com.njcn.device.pms.pojo.param.DistributionMonitorParam; -import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; +import com.njcn.device.pms.pojo.param.TaiZhangDelParam; +import com.njcn.device.pms.pojo.po.DistributionMonitor; import com.njcn.device.pms.pojo.vo.DoubleUserVO; import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import com.njcn.web.controller.BaseController; @@ -47,12 +47,33 @@ public class DistributionMonitorController extends BaseController { * @author cdf * @date 2022/10/26 */ - @PostMapping + @PostMapping("addDistributionMonitor") @ApiImplicitParam(name = "distributionMonitorParam",value = "配网监测点实体",required = true) - public HttpResult addDistributionMonitor(@RequestBody DistributionMonitorParam distributionMonitorParam){ + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) + @ApiOperation("新增配网监测点") + public HttpResult addDistributionMonitor(@RequestBody @Validated DistributionMonitorParam distributionMonitorParam){ String methodDescribe = getMethodDescribe("addDistributionMonitor"); + boolean res= iDistributionMonitorService.addDistributionMonitor(distributionMonitorParam); + if(res){ + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + }else { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe); + } + } - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + /** + * 获取配网监测点 + * @author cdf + * @date 2022/11/29 + */ + @PostMapping("distributionMonitorList") + @ApiImplicitParam(name = "disMonitorIds",value = "配网监测点编号",required = true) + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("获取配网监测点") + public HttpResult> distributionMonitorList(@RequestBody List disMonitorIds){ + String methodDescribe = getMethodDescribe("distributionMonitorList"); + List res = iDistributionMonitorService.distributionMonitorList(disMonitorIds); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, res, methodDescribe); } @@ -77,6 +98,27 @@ public class DistributionMonitorController extends BaseController { + /** + * 删除配网监测点 + * @author cdf + * @date 2022/12/5 + */ + + @PostMapping("delDistributionMonitor") + @ApiImplicitParam(name = "taiZhangDelParam",value = "配网监测点实体",required = true) + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.DELETE) + @ApiOperation("删除配网监测点") + public HttpResult delDistributionMonitor(@RequestBody @Validated TaiZhangDelParam taiZhangDelParam){ + String methodDescribe = getMethodDescribe("delDistributionMonitor"); + boolean res= iDistributionMonitorService.delDistributionMonitor(taiZhangDelParam); + if(res){ + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + }else { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe); + } + } + + } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/MonitorController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/MonitorController.java index ca377eacc..e98f1173f 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/MonitorController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/MonitorController.java @@ -1,6 +1,7 @@ package com.njcn.device.pms.controller.majornetwork; import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.constant.OperateType; import com.njcn.common.pojo.enums.common.LogEnum; @@ -12,11 +13,13 @@ import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO; import com.njcn.device.pms.pojo.param.MonitorParam; import com.njcn.device.pms.pojo.param.PmsMonitorInfoParam; import com.njcn.device.pms.pojo.param.PmsMonitorParam; +import com.njcn.device.pms.pojo.po.Monitor; import com.njcn.device.pms.pojo.vo.PmsMonitorVO; import com.njcn.device.pms.service.majornetwork.IMonitorService; import com.njcn.device.pq.pojo.po.Overlimit; import com.njcn.web.controller.BaseController; +import com.njcn.web.pojo.param.BaseParam; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; @@ -27,6 +30,7 @@ import org.springframework.web.bind.annotation.*; import javax.validation.constraints.NotEmpty; import java.util.List; +import java.util.Objects; /** *

@@ -105,6 +109,62 @@ public class MonitorController extends BaseController { + /** + * 分页获取所有主网监测点 + * @author cdf + * @date 2022/11/25 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getAllMonitorPageList") + @ApiOperation("分页获取所有主网监测点") + @ApiImplicitParam(name = "baseParam",required = true) + public HttpResult> getAllMonitorPageList(@RequestBody BaseParam baseParam) { + String methodDescribe = getMethodDescribe("getAllMonitorList"); + Page monitor= monitorService.getAllMonitorPageList(baseParam); + if (Objects.isNull(monitor)) { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NO_DATA, null, methodDescribe); + } else { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, monitor, methodDescribe); + } + } + + /** + * 获取所有主网监测点 + * @author cdf + * @date 2022/11/29 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getMonitorList") + @ApiOperation("获取所有主网监测点(或者指定监测点编号查询)") + @ApiImplicitParam(name = "monitorIds",value = "主网监测点编号",required = true) + public HttpResult> getMonitorList(@RequestBody List monitorIds) { + String methodDescribe = getMethodDescribe("getAllMonitorList"); + List monitor= monitorService.getMonitorList(monitorIds); + if (Objects.isNull(monitor)) { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NO_DATA, null, methodDescribe); + } else { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, monitor, methodDescribe); + } + } + + /** + * 根据条件获取所有主网监测点 + * @author cdf + * @date 2022/11/29 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getMonitorListByParam") + @ApiOperation("根据条件获取所有主网监测点") + @ApiImplicitParam(name = "monitorParam",value = "查询参数体",required = true) + public HttpResult> getMonitorListByParam(@RequestBody MonitorParam monitorParam) { + String methodDescribe = getMethodDescribe("getMonitorListByParam"); + List monitor= monitorService.getMonitorListByParam(monitorParam); + if (Objects.isNull(monitor)) { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NO_DATA, null, methodDescribe); + } else { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, monitor, methodDescribe); + } + } @@ -112,7 +172,7 @@ public class MonitorController extends BaseController { @PostMapping("/addMonitor") @ApiOperation("新增主网监测点") @ApiImplicitParam(name = "monitorParam", value = "主网监测点实体", required = true) - public HttpResult addMonitor(@RequestBody MonitorParam monitorParam) { + public HttpResult addMonitor(@RequestBody @Validated MonitorParam monitorParam) { String methodDescribe = getMethodDescribe("addMonitor"); boolean result = monitorService.addMonitor(monitorParam); if(result){ @@ -126,7 +186,7 @@ public class MonitorController extends BaseController { @PostMapping("/updateMonitor") @ApiOperation("修改主网监测点") @ApiImplicitParam(name = "monitorParam", value = "主网监测点实体", required = true) - public HttpResult updateMonitor(@RequestBody MonitorParam.UpdateMonitorParam monitorParam) { + public HttpResult updateMonitor(@RequestBody MonitorParam monitorParam) { String methodDescribe = getMethodDescribe("updateMonitor"); boolean result = monitorService.updateMonitor(monitorParam); if(result){ diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/StatationStatController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PmsStatationStatController.java similarity index 98% rename from pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/StatationStatController.java rename to pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PmsStatationStatController.java index 156f66faf..4cbf6693d 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/StatationStatController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PmsStatationStatController.java @@ -40,9 +40,9 @@ import java.util.Objects; @RestController @RequestMapping("/pms/statationStat") @Slf4j -@Api(tags = "变电站统计") +@Api(tags = "台账-变电站") @RequiredArgsConstructor -public class StatationStatController extends BaseController { +public class PmsStatationStatController extends BaseController { private final IStatationStatService statationStatService; diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PmsTerminalController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PmsTerminalController.java index 853382f67..6f76f99a3 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PmsTerminalController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PmsTerminalController.java @@ -47,7 +47,7 @@ public class PmsTerminalController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("getTerminalList") - @ApiOperation("查询监测终端台账所有信息") + @ApiOperation("分页查询监测终端台账所有信息") @ApiImplicitParam(name = "baseParam",value = "查询监测终端台账信息",required = true) public HttpResult> getTerminalList(@RequestBody @Validated BaseParam baseParam){ String methodDescribe = getMethodDescribe("getTerminalList"); @@ -56,6 +56,15 @@ public class PmsTerminalController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,res,methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("getTerminalSelectList") + @ApiOperation("查询监测终端台账所有信息") + public HttpResult> getTerminalSelectList(){ + String methodDescribe = getMethodDescribe("getTerminalSelectList"); + List res = iTerminalService.getTerminalSelectList(); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,res,methodDescribe); + } + @OperateInfo(info = LogEnum.SYSTEM_COMMON) @GetMapping("/getTerminalById") @ApiOperation("根据ID查询监测终端台账数据") diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/TractionStationController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PmsTractionStationController.java similarity index 89% rename from pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/TractionStationController.java rename to pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PmsTractionStationController.java index 6d5793333..2bb107c5b 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/TractionStationController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PmsTractionStationController.java @@ -1,6 +1,7 @@ package com.njcn.device.pms.controller.majornetwork; import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.constant.OperateType; import com.njcn.common.pojo.enums.common.LogEnum; @@ -37,23 +38,33 @@ import java.util.Objects; @Slf4j @RestController @RequestMapping("/pms/tractionStation") -@Api(tags = "牵引站信息") +@Api(tags = "台账-牵引站信息") @RequiredArgsConstructor @Validated -public class TractionStationController extends BaseController { +public class PmsTractionStationController extends BaseController { private final ITractionStationService iTractionStationService; @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/getTractionStationList") @ApiOperation("获取牵引站列表") - @ApiImplicitParam(name = "baseParam", value = "基本查询体", required = true) - public HttpResult> getTractionStationList(@RequestBody BaseParam baseParam) { + public HttpResult> getTractionStationList() { String methodDescribe = getMethodDescribe("getTractionStationList"); - List result = iTractionStationService.getTractionStationList(baseParam); + List result = iTractionStationService.getTractionStationList(); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getTractionStationPageList") + @ApiOperation("分页获取牵引站列表") + @ApiImplicitParam(name = "baseParam", value = "基本查询体", required = true) + public HttpResult> getTractionStationPageList(@RequestBody BaseParam baseParam) { + String methodDescribe = getMethodDescribe("getTractionStationPageList"); + Page result = iTractionStationService.getTractionStationPageList(baseParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) @GetMapping("/getTractionStationById") @ApiOperation("根据id获取牵引站信息") diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PowerClientController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PowerClientController.java index bfb0cdee2..865579e31 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PowerClientController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PowerClientController.java @@ -9,6 +9,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.device.pms.pojo.param.PowerClientParam; +import com.njcn.device.pms.pojo.param.PowerUserParam; import com.njcn.device.pms.pojo.po.PowerClient; import com.njcn.device.pms.service.majornetwork.IPowerClientService; import com.njcn.web.pojo.param.BaseParam; @@ -99,9 +100,9 @@ public class PowerClientController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/getPowerClientList") @ApiOperation("获取用电用户列表") - public HttpResult> getPowerClientList() { + public HttpResult> getPowerClientList(@RequestBody PowerClientParam powerClientParam) { String methodDescribe = getMethodDescribe("getPowerClientList"); - List result = iPowerClientService.getPowerClientList(); + List result = iPowerClientService.getPowerClientList(powerClientParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } @@ -115,5 +116,16 @@ public class PowerClientController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getPowerUtilizationUserList") + @ApiOperation("获取用户列表") + @ApiImplicitParam(name = "powerUserParam", value = "参数", required = true) + public HttpResult> getPowerUtilizationUserList(@RequestBody PowerUserParam powerUserParam) { + String methodDescribe = getMethodDescribe("getPowerUtilizationUserList"); + List result = iPowerClientService.getPowerUtilizationUserList(powerUserParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + + } + } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PowerDistributionareaController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PowerDistributionareaController.java index 50f2eead1..9c98fd761 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PowerDistributionareaController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PowerDistributionareaController.java @@ -38,7 +38,7 @@ import java.util.Objects; @Slf4j @RestController @RequestMapping("/pms/powerDistributionarea") -@Api(tags = "台区信息") +@Api(tags = "台账-台区信息") @RequiredArgsConstructor @Validated public class PowerDistributionareaController extends BaseController { @@ -47,7 +47,7 @@ public class PowerDistributionareaController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("getPowerDistributionAreaList") - @ApiOperation("查询台区所有信息") + @ApiOperation("分页查询台区所有信息") @ApiImplicitParam(name = "baseParam",value = "查询台区信息",required = true) public HttpResult> getList(@RequestBody @Validated BaseParam baseParam){ String methodDescribe = getMethodDescribe("getList"); @@ -56,6 +56,15 @@ public class PowerDistributionareaController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,res,methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("getPowerDistributionList") + @ApiOperation("查询台区所有信息") + public HttpResult> getPowerDistributionList(@RequestBody PowerDistributionareaParam powerDistributionareaParam){ + String methodDescribe = getMethodDescribe("getPowerDistributionList"); + List res = iPowerDistributionareaService.getPowerDistributionList(powerDistributionareaParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,res,methodDescribe); + } + @OperateInfo(info = LogEnum.SYSTEM_COMMON) @GetMapping("/getPowerDistributionAreaById") diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PowerGenerationUserController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PowerGenerationUserController.java index 806993845..8b1a4364c 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PowerGenerationUserController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PowerGenerationUserController.java @@ -8,7 +8,9 @@ import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; +import com.njcn.device.pms.pojo.param.PowerDistributionareaParam; import com.njcn.device.pms.pojo.param.PowerGenerationUserParam; +import com.njcn.device.pms.pojo.param.PowerUserParam; import com.njcn.device.pms.pojo.po.PowerGenerationUser; import com.njcn.device.pms.service.majornetwork.IPowerGenerationUserService; import com.njcn.web.pojo.param.BaseParam; @@ -34,7 +36,7 @@ import java.util.Objects; */ @RestController @RequestMapping("/pms/powerGenerationUser") -@Api(tags = "发电用户") +@Api(tags = "台账-发电用户") @RequiredArgsConstructor public class PowerGenerationUserController extends BaseController { @@ -99,9 +101,9 @@ public class PowerGenerationUserController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/getPowerGenerationUserList") @ApiOperation("获取发电用户列表") - public HttpResult> getPowerGenerationUserList() { + public HttpResult> getPowerGenerationUserList(@RequestBody PowerDistributionareaParam powerDistributionareaParam) { String methodDescribe = getMethodDescribe("getPowerGenerationUserList"); - List result = iPowerGenerationUserService.getPowerGenerationUserList(); + List result = iPowerGenerationUserService.getPowerGenerationUserList(powerDistributionareaParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } @@ -115,5 +117,15 @@ public class PowerGenerationUserController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getGenerateElectricityUserList") + @ApiOperation("获取用户列表") + @ApiImplicitParam(name = "powerUserParam", value = "参数", required = true) + public HttpResult> getGenerateElectricityUserList(@RequestBody PowerUserParam powerUserParam) { + String methodDescribe = getMethodDescribe("getGenerateElectricityUserList"); + List result = iPowerGenerationUserService.getGenerateElectricityUserList(powerUserParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/TerminalEliminateDataController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/TerminalEliminateDataController.java index 5bfc939b1..a75f24ec8 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/TerminalEliminateDataController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/TerminalEliminateDataController.java @@ -1,14 +1,37 @@ package com.njcn.device.pms.controller.majornetwork; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.enums.common.LogEnum; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +import com.njcn.device.pms.pojo.param.TaiZhangParam; +import com.njcn.device.pms.pojo.po.Monitor; +import com.njcn.device.pms.pojo.po.PowerClient; +import com.njcn.device.pms.pojo.po.PowerDistributionarea; +import com.njcn.device.pms.pojo.vo.PmsMonitorVO; +import com.njcn.device.pms.pojo.vo.PmsPowerTreeMonitorVO; +import com.njcn.device.pms.service.majornetwork.ITerminalEliminateDataService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +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.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.njcn.web.controller.BaseController; +import java.util.List; + /** *

- * 前端控制器 + * 台账操作界面 *

* * @author hongawen @@ -16,7 +39,59 @@ import com.njcn.web.controller.BaseController; */ @RestController @RequestMapping("/pms/terminalEliminateData") +@Slf4j +@RequiredArgsConstructor +@Api(tags = "台账-台账操作界面") public class TerminalEliminateDataController extends BaseController { + private final ITerminalEliminateDataService iTerminalEliminateDataService; + + /** + * 根据组织部门获取自身以及子部门的主网或配网监测点(I类监测点) + * @author cdf + * @date 2022/11/23 + */ + @PostMapping("getOneMonitorByOrgId") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation(value = "(I类监测点)根据组织部门获取自身以及子部门的主网或配网监测点") + @ApiImplicitParam(name = "taiZhangParam",value = "台账查询参数",required = true) + public HttpResult> getOneMonitorByOrgId(@RequestBody @Validated TaiZhangParam taiZhangParam){ + String methodDescribe = getMethodDescribe("getOneMonitorByOrgId"); + Page page = iTerminalEliminateDataService.getOneMonitorByOrgId(taiZhangParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); + } + + /** + * 根据组织部门获取自身以及子部门的主网或配网监测点 + * @author cdf + * @date 2022/11/23 + */ + @PostMapping("getTwoMonitorByOrgId") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation(value = "(II类监测点)根据组织部门获取自身以及子部门的配网监测点") + @ApiImplicitParam(name = "taiZhangParam",value = "台账查询参数",required = true) + public HttpResult> getTwoMonitorByOrgId(@RequestBody @Validated TaiZhangParam taiZhangParam){ + String methodDescribe = getMethodDescribe("getOneMonitorByOrgId"); + Page page = iTerminalEliminateDataService.getTwoMonitorByOrgId(taiZhangParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); + } + + /** + * (III类监测点用电用户)根据组织部门获取自身以及子部门的主网或配网监测点 + * @author cdf + * @date 2022/11/25 + */ + @PostMapping("getThreeYongMonitorByOrgId") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation(value = "(III类监测点)根据组织部门获取自身以及子部门的配网监测点") + @ApiImplicitParam(name = "taiZhangParam",value = "台账查询参数",required = true) + public HttpResult> getThreeYongMonitorByOrgId(@RequestBody @Validated TaiZhangParam taiZhangParam){ + String methodDescribe = getMethodDescribe("getThreeYongMonitorByOrgId"); + Page page = iTerminalEliminateDataService.getThreeMonitorByOrgId(taiZhangParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); + } + + + } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/DistributionMonitorMapper.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/DistributionMonitorMapper.java index aea0a912b..81d6be097 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/DistributionMonitorMapper.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/DistributionMonitorMapper.java @@ -1,10 +1,16 @@ package com.njcn.device.pms.mapper.majornetwork; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO; import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; +import com.njcn.device.pms.pojo.param.TaiZhangParam; import com.njcn.device.pms.pojo.po.DistributionMonitor; +import com.njcn.device.pms.pojo.po.Monitor; +import com.njcn.device.pms.pojo.po.PowerDistributionarea; import com.njcn.device.pms.pojo.vo.DoubleUserVO; +import com.njcn.device.pms.pojo.vo.PmsPowerTreeMonitorVO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -33,5 +39,28 @@ public interface DistributionMonitorMapper extends BaseMapper getDoubleUserByDept(@Param("orgId")String orgId); + /** + * 获取I类配网监测点 + * @author cdf + * @date 2022/11/25 + */ + Page getMonitorByOrg(Page page, @Param("taiZhangParam")TaiZhangParam taiZhangParam,@Param("deptIds")List deptIds); + + /** + * 获取II类配网监测点 + * @author cdf + * @date 2022/11/25 + */ + Page getPowerDisAreaMonitorByOrg(Page page, @Param("taiZhangParam")TaiZhangParam taiZhangParam, @Param("deptIds")List deptIds); + + /** + * 获取III类配网监测点 + * @author cdf + * @date 2022/11/25 + */ + Page getThreeMonitorByOrgIdYong(Page page, @Param("taiZhangParam")TaiZhangParam taiZhangParam, @Param("deptIds")List deptIds); + + Page getThreeMonitorByOrgIdFa(Page page, @Param("taiZhangParam")TaiZhangParam taiZhangParam, @Param("deptIds")List deptIds); + } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/PowerDistributionareaMapper.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/PowerDistributionareaMapper.java index 630ad1bd9..1112cf651 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/PowerDistributionareaMapper.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/PowerDistributionareaMapper.java @@ -4,6 +4,7 @@ package com.njcn.device.pms.mapper.majornetwork; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.device.pms.pojo.po.Generatrix; import com.njcn.device.pms.pojo.po.PowerDistributionarea; import com.njcn.device.pms.pojo.vo.PowerDistributionareaVO; import com.njcn.system.pojo.vo.EventTemplateVO; @@ -11,7 +12,7 @@ import org.apache.ibatis.annotations.Param; /** *

- * Mapper 接口 + * Mapper 台区 *

* * @author hongawen @@ -20,4 +21,13 @@ import org.apache.ibatis.annotations.Param; public interface PowerDistributionareaMapper extends BaseMapper { Page page(@Param("page")Page page, @Param("ew") QueryWrapper queryWrapper); + + + /** + * 获取台区电压等级(使用台区所属母线电压等级) + * @param distribution 台区编号 + * @author cdf + * @date 2022/11/28 + */ + Generatrix getGeneratrixByDistributionId(@Param("distribution") String distribution); } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml index a4f765dcb..0c2eaaddb 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/DistributionMonitorMapper.xml @@ -47,9 +47,69 @@ where fa.org_id = #{orgId} and dis.status = 1 ) - - - - + + + + + + + + + + + + + diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/PowerDistributionareaMapper.xml b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/PowerDistributionareaMapper.xml index 808a8f7fc..b20296cdc 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/PowerDistributionareaMapper.xml +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/PowerDistributionareaMapper.xml @@ -7,4 +7,12 @@ FROM pms_power_distributionarea pms_power_distributionarea WHERE ${ew.sqlSegment} + + diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/RMpPwAlarmDetailDService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/RMpPwAlarmDetailDService.java index cd50fe63f..52d4531ac 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/RMpPwAlarmDetailDService.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/RMpPwAlarmDetailDService.java @@ -1,7 +1,12 @@ package com.njcn.device.pms.service.distribution; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.device.pms.pojo.param.RStatPwAlarmDetailParam; import com.njcn.device.pms.pojo.po.RMpPwAlarmDetailD; +import com.njcn.device.pms.pojo.vo.RStatAlarmDetailVO; + +import java.util.List; /** * @author jianghf @@ -10,4 +15,5 @@ import com.njcn.device.pms.pojo.po.RMpPwAlarmDetailD; */ public interface RMpPwAlarmDetailDService extends IService { + List getAllAlarmDetailList(RStatPwAlarmDetailParam rStatPwAlarmDetailParam); } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/PwDataQualityCheckServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/PwDataQualityCheckServiceImpl.java index e5d261621..3b061f3f5 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/PwDataQualityCheckServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/PwDataQualityCheckServiceImpl.java @@ -1,6 +1,7 @@ package com.njcn.device.pms.service.distribution.impl; import cn.hutool.core.collection.CollUtil; +import com.njcn.common.pojo.constant.BizParamConstant; import com.njcn.common.pojo.dto.SimpleDTO; import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.device.pms.mapper.distribution.PwDataQualityCheckMapper; @@ -65,17 +66,17 @@ public class PwDataQualityCheckServiceImpl implements PwDataQualityCheckService // 创建集合封装返回数据 List result = new ArrayList<>(); // 获取配网数据质量-台帐类数据质量核查 - switch (param.getType()) { + switch (param.getType().toString()) { // 年 - case 1: + case BizParamConstant.STAT_BIZ_YEAR: result = pwDataQualityCheckMapper.getYearInfo(deptIds, param, distributionPoint); break; // 季 - case 2: + case BizParamConstant.STAT_BIZ_QUARTER: result = pwDataQualityCheckMapper.getSeasonInfo(deptIds, param, distributionPoint); break; // 月 - case 3: + case BizParamConstant.STAT_BIZ_MONTH: result = pwDataQualityCheckMapper.getMonthInfo(deptIds, param, distributionPoint); break; default: @@ -114,17 +115,17 @@ public class PwDataQualityCheckServiceImpl implements PwDataQualityCheckService // 创建集合封装返回数据 List result = new ArrayList<>(); // 获取配网数据质量-监测指标数据质量核查 - switch (param.getType()) { + switch (param.getType().toString()) { // 年 - case 1: + case BizParamConstant.STAT_BIZ_YEAR: result = pwRStatTargetCheckDataMapper.getYearInfo(deptIds, param, distributionPoint); break; // 季 - case 2: + case BizParamConstant.STAT_BIZ_QUARTER: result = pwRStatTargetCheckDataMapper.getSeasonInfo(deptIds, param, distributionPoint); break; // 月 - case 3: + case BizParamConstant.STAT_BIZ_MONTH: result = pwRStatTargetCheckDataMapper.getMonthInfo(deptIds, param, distributionPoint); break; default: diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/PwDataQualityStatServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/PwDataQualityStatServiceImpl.java index 1177ae034..7f0b1612f 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/PwDataQualityStatServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/PwDataQualityStatServiceImpl.java @@ -1,6 +1,7 @@ package com.njcn.device.pms.service.distribution.impl; import cn.hutool.core.collection.CollUtil; +import com.njcn.common.pojo.constant.BizParamConstant; import com.njcn.common.pojo.dto.SimpleDTO; import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient; @@ -106,19 +107,19 @@ public class PwDataQualityStatServiceImpl implements PwDataQualityStatService { // 创建集合封装数据 List result = new ArrayList<>(); // 日期条件 - switch (param.getType()) { + switch (param.getType().toString()) { // 年 - case 1: + case BizParamConstant.STAT_BIZ_YEAR: result = rOperatingIndexMapper.getYearInfo(param, data.stream().map(PmsGeneralDeviceDTO::getIndex).collect(Collectors.toList())); break; // 季 - case 2: + case BizParamConstant.STAT_BIZ_QUARTER: result = rOperatingIndexMapper.getSeasonInfo(param, data.stream().map(PmsGeneralDeviceDTO::getIndex).collect(Collectors.toList())); break; // 月 - case 3: + case BizParamConstant.STAT_BIZ_MONTH: result = rOperatingIndexMapper.getMonthInfo(param, data.stream().map(PmsGeneralDeviceDTO::getIndex).collect(Collectors.toList())); break; diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/RMpPwAlarmDetailDServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/RMpPwAlarmDetailDServiceImpl.java index 05758b981..54e50dbb2 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/RMpPwAlarmDetailDServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/RMpPwAlarmDetailDServiceImpl.java @@ -1,18 +1,123 @@ package com.njcn.device.pms.service.distribution.impl; +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.common.pojo.dto.SimpleDTO; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.exception.BusinessException; import com.njcn.device.pms.mapper.distribution.RMpPwAlarmDetailDMapper; +import com.njcn.device.pms.pojo.dto.PmsGeneralDeviceDTO; +import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; +import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; +import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; +import com.njcn.device.pms.pojo.param.RStatPwAlarmDetailParam; +import com.njcn.device.pms.pojo.po.Monitor; import com.njcn.device.pms.pojo.po.RMpPwAlarmDetailD; +import com.njcn.device.pms.pojo.po.RStatAreaAlarmCountM; +import com.njcn.device.pms.pojo.vo.RStatAlarmDetailVO; +import com.njcn.device.pms.service.distribution.IPwMonitorService; import com.njcn.device.pms.service.distribution.RMpPwAlarmDetailDService; +import com.njcn.device.pms.service.majornetwork.IMonitorService; +import com.njcn.device.pms.service.majornetwork.IPmsGeneralDeviceService; +import com.njcn.user.api.DeptFeignClient; +import com.njcn.user.pojo.dto.DeptDTO; +import com.njcn.web.utils.RequestUtil; +import com.njcn.web.utils.WebUtil; +import lombok.RequiredArgsConstructor; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + /** * @author jianghf * @description 针对表【r_mp_pw_alarm_detail_d】的数据库操作Service实现 * @createDate 2022-10-17 09:00:27 */ @Service +@RequiredArgsConstructor public class RMpPwAlarmDetailDServiceImpl extends ServiceImpl implements RMpPwAlarmDetailDService{ + private final IPmsGeneralDeviceService generalPmsDeviceService; + + private final IPwMonitorService iPwMonitorService; //【配网监测点】 + + private final IMonitorService iMonitorService; //【主网监测点】服务类 + + @Override + public List getAllAlarmDetailList(RStatPwAlarmDetailParam rStatPwAlarmDetailParam) { + //提取参数 + String startTime = rStatPwAlarmDetailParam.getStartTime(); //开始时间 + String endTime = rStatPwAlarmDetailParam.getEndTime(); //结束时间 + //获取登录人当前部门 + String deptIndex = RequestUtil.getDeptIndex(); +// String deptIndex = "5699e5916a18a6381e1ac92da5bd2628"; + + PmsDeviceInfoParam pmsDeviceInfoParam = new PmsDeviceInfoParam(); + pmsDeviceInfoParam.setStatisticalType(new SimpleDTO()); + pmsDeviceInfoParam.setDeptIndex(deptIndex); + //主网监测点id集合 + ArrayList zwMonitorIds = new ArrayList<>(); + //获取主网台账信息 + List pmsDeviceInfoWithInOrg = generalPmsDeviceService.getPmsDeviceInfoWithInOrg(pmsDeviceInfoParam); + pmsDeviceInfoWithInOrg.forEach(item -> { + zwMonitorIds.addAll(item.getMonitorIdList()); + }); + + //查询主网监测点信息 + LambdaQueryWrapper zwMonitorLambdaQueryWrapper = new LambdaQueryWrapper<>(); + zwMonitorLambdaQueryWrapper.in(CollUtil.isNotEmpty(zwMonitorIds), Monitor::getId, zwMonitorIds); + //主网监测点集合 + List zwMonitorList = iMonitorService.list(zwMonitorLambdaQueryWrapper); + Map zwMonitorMap = zwMonitorList.stream().collect(Collectors.toMap(Monitor::getId, item -> item)); + + //获取配网监测点 + PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam(); + pwPmsMonitorParam.setOrgId(deptIndex); //单位id + List pwMonitorList = iPwMonitorService.getPwMonitorList(pwPmsMonitorParam); + //配网监测点id集合 + List pwMonitorIds = pwMonitorList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList()); + //配网监测点Map集合 + Map pwMonitorMap = pwMonitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, item -> item)); + + + //合并主网配网监测点id集合(并去重) + ArrayList allMonitorIds = new ArrayList<>(); + allMonitorIds.addAll(zwMonitorIds); + allMonitorIds.addAll(pwMonitorIds); + if (CollUtil.isEmpty(allMonitorIds)) { + return new ArrayList<>(); + } + //查询告警明细 + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(RMpPwAlarmDetailD::getMeasurementPointId, allMonitorIds) + .ge(StringUtils.isNotBlank(startTime), RMpPwAlarmDetailD::getDataDate, startTime) + .le(StringUtils.isNotBlank(endTime), RMpPwAlarmDetailD::getDataDate, endTime); + List list = this.list(lambdaQueryWrapper); + + List resultList = list.stream().map(item -> { + RStatAlarmDetailVO rStatAlarmDetailVO = new RStatAlarmDetailVO(); + BeanUtils.copyProperties(item, rStatAlarmDetailVO); //监测点id、告警类型、告警描述、告警持续时间 + + //监测点名称 + if (zwMonitorMap.containsKey(item.getMeasurementPointId())) { + rStatAlarmDetailVO.setMeasurementPointName(zwMonitorMap.get(item.getMeasurementPointId()).getName()); + } else if (pwMonitorMap.containsKey(item.getMeasurementPointId())) { + rStatAlarmDetailVO.setMeasurementPointName(pwMonitorMap.get(item.getMeasurementPointId()).getMonitorName()); + } else { + rStatAlarmDetailVO.setMeasurementPointName("/"); + } + + return rStatAlarmDetailVO; + }).collect(Collectors.toList()); + return resultList; + } } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IDistributionMonitorService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IDistributionMonitorService.java index 2ce853e26..6ca72d25c 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IDistributionMonitorService.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IDistributionMonitorService.java @@ -2,7 +2,9 @@ package com.njcn.device.pms.service.majornetwork; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO; +import com.njcn.device.pms.pojo.param.DistributionMonitorParam; import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; +import com.njcn.device.pms.pojo.param.TaiZhangDelParam; import com.njcn.device.pms.pojo.po.DistributionMonitor; import com.njcn.device.pms.pojo.vo.DoubleUserVO; @@ -34,4 +36,26 @@ public interface IDistributionMonitorService extends IService getDoubleUserByDept(String orgId); + + /** + * 新增配网监测点 + * @author cdf + * @date 2022/11/23 + */ + Boolean addDistributionMonitor(DistributionMonitorParam distributionMonitorParam); + + /** + * 查询配网监测点 + * @author cdf + * @date 2022/11/29 + */ + List distributionMonitorList(List disMonitorIds); + + + /** + * 删除配网监测点 + * @author cdf + * @date 2022/12/5 + */ + Boolean delDistributionMonitor(TaiZhangDelParam taiZhangDelParam); } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorService.java index 8e7611130..6be29e722 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorService.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorService.java @@ -1,5 +1,6 @@ package com.njcn.device.pms.service.majornetwork; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.common.pojo.dto.SimpleDTO; import com.njcn.common.pojo.response.HttpResult; @@ -15,6 +16,7 @@ import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; import com.njcn.device.pms.pojo.po.Monitor; import com.njcn.device.pms.pojo.vo.PmsMonitorVO; import com.njcn.device.pq.pojo.po.Overlimit; +import com.njcn.web.pojo.param.BaseParam; import org.springframework.web.bind.annotation.RequestBody; @@ -74,6 +76,14 @@ public interface IMonitorService extends IService { Overlimit getOverLimitData(String id); + + Page getAllMonitorPageList(BaseParam baseParam); + + List getMonitorList(List monitorIds); + + List getMonitorListByParam(MonitorParam monitorParam); + + /** * 新增主网监测点 * @author cdf @@ -90,7 +100,7 @@ public interface IMonitorService extends IService { * @param monitorParam 主网监测点 * @return boolean */ - boolean updateMonitor(MonitorParam.UpdateMonitorParam monitorParam); + boolean updateMonitor(MonitorParam monitorParam); /** * 新增主网监测点 diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IPowerClientService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IPowerClientService.java index 4a72a2b4a..e297bac7a 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IPowerClientService.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IPowerClientService.java @@ -3,6 +3,7 @@ package com.njcn.device.pms.service.majornetwork; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.device.pms.pojo.param.PowerClientParam; +import com.njcn.device.pms.pojo.param.PowerUserParam; import com.njcn.device.pms.pojo.po.PowerClient; import com.njcn.device.pms.pojo.po.PowerClient; import com.njcn.web.pojo.param.BaseParam; @@ -61,7 +62,7 @@ public interface IPowerClientService extends IService { * @date 2022/10/25 * @return boolean */ - List getPowerClientList(); + List getPowerClientList(PowerClientParam powerClientParam); /** * 查询用电用户列表 @@ -72,4 +73,9 @@ public interface IPowerClientService extends IService { */ Page getPowerClientPageList(BaseParam baseParam); + /** + * 查询用电用户列表 + */ + List getPowerUtilizationUserList(PowerUserParam powerUserParam); + } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IPowerDistributionareaService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IPowerDistributionareaService.java index 928b7cd55..e69a8b873 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IPowerDistributionareaService.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IPowerDistributionareaService.java @@ -23,11 +23,17 @@ import java.util.List; public interface IPowerDistributionareaService extends IService { /** - * 查询所有 + * 分页查询所有 * @return */ Page getList(BaseParam baseParam); + /** + * 查询所有 + * @return + */ + List getPowerDistributionList(PowerDistributionareaParam powerDistributionareaParam); + /** * 根据id查询 * @return diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IPowerGenerationUserService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IPowerGenerationUserService.java index 7fea9f575..26d3b1447 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IPowerGenerationUserService.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IPowerGenerationUserService.java @@ -2,7 +2,9 @@ package com.njcn.device.pms.service.majornetwork; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.device.pms.pojo.param.PowerDistributionareaParam; import com.njcn.device.pms.pojo.param.PowerGenerationUserParam; +import com.njcn.device.pms.pojo.param.PowerUserParam; import com.njcn.device.pms.pojo.po.PowerGenerationUser; import com.njcn.web.pojo.param.BaseParam; @@ -60,7 +62,7 @@ public interface IPowerGenerationUserService extends IService getPowerGenerationUserList(); + List getPowerGenerationUserList(PowerDistributionareaParam powerDistributionareaParam); /** * 分页查询发电用户列表 @@ -71,4 +73,9 @@ public interface IPowerGenerationUserService extends IService getPowerGenerationUserPageList(BaseParam baseParam); + /** + * 查询发电用户列表 + */ + List getGenerateElectricityUserList(PowerUserParam powerUserParam); + } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/ITerminalEliminateDataService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/ITerminalEliminateDataService.java index 83dd84d52..951df479f 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/ITerminalEliminateDataService.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/ITerminalEliminateDataService.java @@ -1,11 +1,19 @@ package com.njcn.device.pms.service.majornetwork; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import com.njcn.device.pms.pojo.po.TerminalEliminateData; +import com.njcn.device.pms.pojo.param.TaiZhangParam; +import com.njcn.device.pms.pojo.po.*; +import com.njcn.device.pms.pojo.vo.PmsPowerTreeMonitorVO; +import io.swagger.annotations.ApiImplicitParam; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; /** *

- * 服务类 + * 终端操作 *

* * @author hongawen @@ -13,4 +21,32 @@ import com.njcn.device.pms.pojo.po.TerminalEliminateData; */ public interface ITerminalEliminateDataService extends IService { + /** + * 根据组织部门获取自身以及子部门的主网或配网监测点 + * @author cdf + * @date 2022/11/23 + */ + + Page getOneMonitorByOrgId(TaiZhangParam taiZhangParam); + + /** + * 根据组织部门获取自身以及子部门的主网或配网监测点 + * @author cdf + * @date 2022/11/23 + */ + + Page getTwoMonitorByOrgId(TaiZhangParam taiZhangParam); + + /** + * 根据组织部门获取自身以及子部门的主网或配网监测点 + * @author cdf + * @date 2022/11/23 + */ + + Page getThreeMonitorByOrgId(TaiZhangParam taiZhangParam); + + + + + } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/ITerminalService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/ITerminalService.java index 37e62cf84..9b6738dfd 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/ITerminalService.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/ITerminalService.java @@ -18,12 +18,20 @@ import java.util.List; */ public interface ITerminalService extends IService { + /** + * 分页查询所有 + * @return Page + */ + Page getTerminalList(BaseParam baseParam); + /** * 查询所有 * @param baseParam * @return */ - Page getTerminalList(BaseParam baseParam); + List getTerminalSelectList(); + + /** * 根据id查询 diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/ITractionStationService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/ITractionStationService.java index 1f10651dd..c5702308a 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/ITractionStationService.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/ITractionStationService.java @@ -1,5 +1,6 @@ package com.njcn.device.pms.service.majornetwork; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.device.pms.pojo.dto.PmsTractionStationDTO; import com.njcn.device.pms.pojo.param.PmsTractionStationParam; @@ -24,7 +25,14 @@ public interface ITractionStationService extends IService { * * @return boolean */ - List getTractionStationList(BaseParam baseParam); + List getTractionStationList(); + + /** + * 分页查询牵引站列表 + * + * @return boolean + */ + Page getTractionStationPageList(BaseParam baseParam); /** * 查询牵引站 diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/DataQualityCheckServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/DataQualityCheckServiceImpl.java index 40e7c21bd..c1185ed8d 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/DataQualityCheckServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/DataQualityCheckServiceImpl.java @@ -1,6 +1,7 @@ package com.njcn.device.pms.service.majornetwork.impl; import cn.hutool.core.collection.CollUtil; +import com.njcn.common.pojo.constant.BizParamConstant; import com.njcn.common.pojo.dto.SimpleDTO; import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.device.pms.mapper.majornetwork.RStatAccountCheckDataMapper; @@ -63,17 +64,17 @@ public class DataQualityCheckServiceImpl implements DataQualityCheckService { // 获取主网字典id String mainnetPoint = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData().getId(); // 获取主网数据质量-台帐类数据质量核查 - switch (param.getType()) { + switch (param.getType().toString()) { // 年 - case 1: + case BizParamConstant.STAT_BIZ_YEAR: result = rStatAccountCheckDataMapper.getRStatAccountCheckDataYearInfo(param, deptIdList, mainnetPoint); break; // 季 - case 2: + case BizParamConstant.STAT_BIZ_QUARTER: result = rStatAccountCheckDataMapper.getRStatAccountCheckDataSeasonInfo(param, deptIdList, mainnetPoint); break; // 月 - case 3: + case BizParamConstant.STAT_BIZ_MONTH: result = rStatAccountCheckDataMapper.getRStatAccountCheckDataMonthInfo(param, deptIdList, mainnetPoint); break; default: @@ -110,17 +111,17 @@ public class DataQualityCheckServiceImpl implements DataQualityCheckService { // 创建集合封装数据 List result = new ArrayList<>(); // 获取主网数据质量-台帐类数据质量核查 - switch (param.getType()) { + switch (param.getType().toString()) { // 年 - case 1: + case BizParamConstant.STAT_BIZ_YEAR: result = rStatTargetCheckDataMapper.getRStatTargetCheckDataYearInfo(param, deptIdList, mainnetPoint); break; // 季 - case 2: + case BizParamConstant.STAT_BIZ_QUARTER: result = rStatTargetCheckDataMapper.getRStatTargetCheckDataSeasonInfo(param, deptIdList, mainnetPoint); break; // 月 - case 3: + case BizParamConstant.STAT_BIZ_MONTH: result = rStatTargetCheckDataMapper.getRStatTargetCheckDataMonthInfo(param, deptIdList, mainnetPoint); break; default: diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/DataQualityStatServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/DataQualityStatServiceImpl.java index c71285ff6..030371609 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/DataQualityStatServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/DataQualityStatServiceImpl.java @@ -1,6 +1,7 @@ package com.njcn.device.pms.service.majornetwork.impl; import cn.hutool.core.collection.CollUtil; +import com.njcn.common.pojo.constant.BizParamConstant; import com.njcn.common.pojo.dto.SimpleDTO; import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.device.pms.mapper.majornetwork.ROperatingIndexMapper; @@ -106,17 +107,17 @@ public class DataQualityStatServiceImpl implements DataQualityStatService { // 创建集合封装返回数据 List result = new ArrayList<>(); // 获取主网数据质量-监测指标数据质量统计 - switch (param.getType()) { + switch (param.getType().toString()) { // 年 - case 1: + case BizParamConstant.STAT_BIZ_YEAR: result = rOperatingIndexMapper.getYearInfo(param, deptIdList); break; // 季 - case 2: + case BizParamConstant.STAT_BIZ_QUARTER: result = rOperatingIndexMapper.getSeasonInfo(param, deptIdList); break; // 月 - case 3: + case BizParamConstant.STAT_BIZ_MONTH: result = rOperatingIndexMapper.getMonthInfo(param, deptIdList); break; default: diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/DistributionMonitorServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/DistributionMonitorServiceImpl.java index d84e613b4..00ab0afb5 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/DistributionMonitorServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/DistributionMonitorServiceImpl.java @@ -1,26 +1,36 @@ package com.njcn.device.pms.service.majornetwork.impl; +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.device.pms.enums.PmsDeviceResponseEnum; -import com.njcn.device.pms.mapper.majornetwork.DistributionMonitorMapper; +import com.njcn.device.pms.mapper.majornetwork.*; import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO; +import com.njcn.device.pms.pojo.param.DistributionMonitorParam; import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; -import com.njcn.device.pms.pojo.po.DistributionMonitor; +import com.njcn.device.pms.pojo.param.TaiZhangDelParam; +import com.njcn.device.pms.pojo.po.*; import com.njcn.device.pms.pojo.vo.DoubleUserVO; import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService; import com.njcn.system.api.DicDataFeignClient; +import com.njcn.system.enums.DicDataEnum; +import com.njcn.system.enums.DicDataTypeEnum; +import com.njcn.system.pojo.constant.DicDataConstant; import com.njcn.system.pojo.po.DictData; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; import java.util.Objects; /** *

- * 服务实现类 + * 服务实现类 *

* * @author hongawen @@ -33,14 +43,136 @@ public class DistributionMonitorServiceImpl extends ServiceImpl getMonitorByCondition(List deptIdList, PmsDeviceInfoParam pmsDeviceInfoParam) { - return this.baseMapper.getIdByOrgId(deptIdList,pmsDeviceInfoParam); + return this.baseMapper.getIdByOrgId(deptIdList, pmsDeviceInfoParam); } @Override public List getDoubleUserByDept(String orgId) { return this.baseMapper.getDoubleUserByDept(orgId); } + + @Override + public Boolean addDistributionMonitor(DistributionMonitorParam distributionMonitorParam) { + DictData dictData = dicDataFeignClient.getDicDataById(distributionMonitorParam.getMonitorSort()).getData(); + if (Objects.isNull(dictData)) { + throw new BusinessException(PmsDeviceResponseEnum.NO_LINE_SORT); + } + DistributionMonitor distributionMonitor = new DistributionMonitor(); + distributionMonitor.setMonitorSort(dictData.getId()); + switch (dictData.getCode()) { + case DicDataConstant.ONE_LINE: + //一类监测点 + Monitor monitor = monitorMapper.selectById(distributionMonitorParam.getMonitorId()); + if (Objects.isNull(monitor)) { + throw new BusinessException(PmsDeviceResponseEnum.ONE_MONITOR_NOT_FIND); + } + distributionMonitor.setMonitorId(monitor.getId()); + distributionMonitor.setCreatedDate(LocalDateTime.now()); + distributionMonitor.setIfPowerUser(0); + distributionMonitor.setMonitorState(distributionMonitorParam.getMonitorState()); + distributionMonitor.setVoltageLevel(monitor.getVoltageLevel()); + distributionMonitor.setStatus(DataStateEnum.ENABLE.getCode()); + this.save(distributionMonitor); + break; + case DicDataConstant.TWO_LINE: + //二类监测点(台区) + PowerDistributionarea powerDistributionarea = powerDistributionareaMapper.selectById(distributionMonitorParam.getMonitorId()); + if (Objects.isNull(powerDistributionarea)) { + throw new BusinessException(PmsDeviceResponseEnum.TWO_MONITOR_NOT_FIND); + } + Generatrix generatrix = powerDistributionareaMapper.getGeneratrixByDistributionId(powerDistributionarea.getId()); + distributionMonitor.setMonitorId(powerDistributionarea.getId()); + distributionMonitor.setCreatedDate(LocalDateTime.now()); + distributionMonitor.setIfPowerUser(0); + distributionMonitor.setMonitorState(distributionMonitorParam.getMonitorState()); + distributionMonitor.setVoltageLevel(generatrix.getScale()); + distributionMonitor.setStatus(DataStateEnum.ENABLE.getCode()); + this.save(distributionMonitor); + break; + case DicDataConstant.THREE_LINE: + //三类监测点 + if (distributionMonitorParam.getSmallType() == 1) { + //发电 + PowerGenerationUser powerGenerationUser = powerGenerationUserMapper.selectById(distributionMonitorParam.getMonitorId()); + if (Objects.isNull(powerGenerationUser)) { + throw new BusinessException(PmsDeviceResponseEnum.THREE_MONITOR_NOT_FIND); + } + distributionMonitor.setIfPowerUser(1); + distributionMonitor.setVoltageLevel(powerGenerationUser.getVoltageLevel()); + + } else { + //用电 + PowerClient powerClient = powerClientMapper.selectById(distributionMonitorParam.getMonitorId()); + if (Objects.isNull(powerClient)) { + throw new BusinessException(PmsDeviceResponseEnum.THREE_MONITOR_NOT_FIND); + } + distributionMonitor.setIfPowerUser(0); + distributionMonitor.setVoltageLevel(powerClient.getVoltageLevel()); + + } + distributionMonitor.setMonitorId(distributionMonitorParam.getMonitorId()); + distributionMonitor.setCreatedDate(LocalDateTime.now()); + distributionMonitor.setMonitorState(distributionMonitorParam.getMonitorState()); + distributionMonitor.setStatus(DataStateEnum.ENABLE.getCode()); + this.save(distributionMonitor); + break; + default: + throw new BusinessException(PmsDeviceResponseEnum.NO_LINE_SORT); + } + return true; + } + + @Override + public List distributionMonitorList(List disMonitorIds) { + List distributionMonitorList = new ArrayList<>(); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(DistributionMonitor::getStatus, DataStateEnum.ENABLE.getCode()); + if (CollUtil.isEmpty(disMonitorIds)) { + distributionMonitorList = this.list(lambdaQueryWrapper); + } else { + lambdaQueryWrapper.in(DistributionMonitor::getMonitorId, disMonitorIds); + distributionMonitorList = this.list(lambdaQueryWrapper); + } + return distributionMonitorList; + } + + /** + * 删除配网监测点 + * + * @author cdf + * @date 2022/12/5 + */ + @Override + public Boolean delDistributionMonitor(TaiZhangDelParam taiZhangDelParam) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + + String code = ""; + + if (taiZhangDelParam.getType().equals(1)) { + code = DicDataEnum.ONE_LINE.getCode(); + } else if (taiZhangDelParam.getType().equals(2)) { + code = DicDataEnum.TWO_LINE.getCode(); + } else { + code = DicDataEnum.THREE_LINE.getCode(); + } + + DictData dictData = dicDataFeignClient.getDicDataByCode(code).getData(); + if(Objects.isNull(dictData)){ + throw new BusinessException(PmsDeviceResponseEnum.NO_LINE_SORT); + } + lambdaQueryWrapper.eq(DistributionMonitor::getMonitorSort,dictData.getId()); + lambdaQueryWrapper.in(DistributionMonitor::getMonitorId, taiZhangDelParam.getIds()); + return this.remove(lambdaQueryWrapper); + } } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/GeneratrixWireImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/GeneratrixWireImpl.java index fc4fabbb0..579fa7739 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/GeneratrixWireImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/GeneratrixWireImpl.java @@ -92,6 +92,8 @@ public class GeneratrixWireImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(GeneratrixWire::getGeneratrixName,generatrixWireParam.getWireName()) .eq(GeneratrixWire::getGeneratrixId,generatrixWireParam.getGeneratrixId()) @@ -100,6 +102,15 @@ public class GeneratrixWireImpl extends ServiceImpl lambdaQuery = new LambdaQueryWrapper<>(); + lambdaQuery.eq(GeneratrixWire::getWireId,generatrixWireParam.getWireId()); + int count = this.count(lambdaQuery); + if(count>0){ + throw new BusinessException(PmsDeviceResponseEnum.WIRE_SAME); + + } } int count = this.count(lambdaQueryWrapper); if(count > 0){ diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java index 782c81976..fdedab62a 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java @@ -1,7 +1,9 @@ package com.njcn.device.pms.service.majornetwork.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.dto.SimpleDTO; import com.njcn.common.pojo.enums.common.DataStateEnum; @@ -29,12 +31,15 @@ import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.enums.SystemResponseEnum; import com.njcn.system.pojo.po.DictData; import com.njcn.user.pojo.po.Dept; +import com.njcn.web.factory.PageFactory; +import com.njcn.web.pojo.param.BaseParam; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @@ -133,6 +138,40 @@ public class MonitorServiceImpl extends ServiceImpl impl return overlimitMapper.selectById(id); } + @Override + public Page getAllMonitorPageList(BaseParam baseParam) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(Monitor::getStatus,DataStateEnum.ENABLE.getCode()) + .orderByDesc(Monitor::getCreateTime); + return this.page(new Page<>(PageFactory.getPageNum(baseParam),PageFactory.getPageSize(baseParam)),lambdaQueryWrapper); + } + + @Override + public List getMonitorList(List monitorIds) { + List monitorList = new ArrayList<>(); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(Monitor::getStatus,DataStateEnum.ENABLE.getCode()); + if(CollUtil.isEmpty(monitorIds)){ + //为空查询所有监测点 + monitorList = this.list(lambdaQueryWrapper); + }else { + lambdaQueryWrapper.in(Monitor::getId,monitorIds); + monitorList = this.list(lambdaQueryWrapper); + } + return monitorList; + } + + @Override + public List getMonitorListByParam(MonitorParam monitorParam) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + //根据部门 + if(StrUtil.isNotBlank(monitorParam.getOrgId())){ + List deptIds = deptFeignClient.getDepSonSelfCodetByDeptId(monitorParam.getOrgId()).getData(); + lambdaQueryWrapper.in(Monitor::getOrgId,deptIds).eq(Monitor::getStatus,DataStateEnum.ENABLE.getCode()); + } + return this.list(lambdaQueryWrapper); + } + @Override public boolean addMonitor(MonitorParam monitorParam) { @@ -145,7 +184,7 @@ public class MonitorServiceImpl extends ServiceImpl impl } @Override - public boolean updateMonitor(MonitorParam.UpdateMonitorParam monitorParam) { + public boolean updateMonitor(MonitorParam monitorParam) { checkParam(monitorParam,true); Monitor monitor = new Monitor(); BeanUtils.copyProperties(monitorParam,monitor); @@ -156,7 +195,7 @@ public class MonitorServiceImpl extends ServiceImpl impl @Override public boolean delMonitor(List monitorIds) { - return false; + return this.removeByIds(monitorIds); } @Override diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/PmsGeneratrixServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/PmsGeneratrixServiceImpl.java index f429b2ea8..a3f87a743 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/PmsGeneratrixServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/PmsGeneratrixServiceImpl.java @@ -135,6 +135,14 @@ public class PmsGeneratrixServiceImpl extends ServiceImpl lambdaQuery = new LambdaQueryWrapper<>(); + lambdaQuery.eq(Generatrix::getGeneratrixId,generatrixParam.getGeneratrixId()); + int count = this.count(lambdaQuery); + if(count>0){ + throw new BusinessException(PmsDeviceResponseEnum.GENWIRE_SAME); + } } int count = this.count(lambdaQueryWrapper); if(count > 0){ diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/PowerClientServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/PowerClientServiceImpl.java index f1adcf886..229b52042 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/PowerClientServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/PowerClientServiceImpl.java @@ -2,19 +2,28 @@ package com.njcn.device.pms.service.majornetwork.impl; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.enums.common.DataStateEnum; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.device.pms.enums.PmsDeviceResponseEnum; import com.njcn.device.pms.mapper.majornetwork.PowerClientMapper; import com.njcn.device.pms.pojo.param.PowerClientParam; +import com.njcn.device.pms.pojo.param.PowerGenerationUserParam; +import com.njcn.device.pms.pojo.param.PowerUserParam; import com.njcn.device.pms.pojo.po.PowerClient; +import com.njcn.device.pms.pojo.po.PowerGenerationUser; import com.njcn.device.pms.service.majornetwork.IPowerClientService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.user.api.DeptFeignClient; import com.njcn.web.factory.PageFactory; import com.njcn.web.pojo.param.BaseParam; +import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Objects; /** *

@@ -25,21 +34,36 @@ import java.util.List; * @since 2022-10-14 */ @Service +@RequiredArgsConstructor public class PowerClientServiceImpl extends ServiceImpl implements IPowerClientService { + private final DeptFeignClient deptFeignClient; @Override public boolean addPowerClient(PowerClientParam powerClientParam) { + LambdaQueryWrapper che = new LambdaQueryWrapper<>(); + che.eq(PowerClient::getId,powerClientParam.getId()); + int powerClientCount = this.count(che); + if(powerClientCount>0){ + throw new BusinessException(PmsDeviceResponseEnum.POWERCLINET_SAME); + } + + checkParam(powerClientParam,false); PowerClient powerClient = new PowerClient(); BeanUtils.copyProperties(powerClientParam,powerClient); + powerClient.setStatus(DataStateEnum.ENABLE.getCode()); return this.save(powerClient); } @Override public boolean updatePowerClient(PowerClientParam powerClientParam) { - PowerClient powerClient = new PowerClient(); + PowerClient powerClient = this.getById(powerClientParam.getId()); + if(Objects.isNull(powerClient)){ + throw new BusinessException(PmsDeviceResponseEnum.POWER_CLIENT_NOT_FIND); + } + checkParam(powerClientParam,true); BeanUtils.copyProperties(powerClientParam,powerClient); - return this.save(powerClient); + return this.updateById(powerClient); } @Override @@ -53,8 +77,13 @@ public class PowerClientServiceImpl extends ServiceImpl getPowerClientList() { + public List getPowerClientList(PowerClientParam powerClientParam) { LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + if(StrUtil.isNotBlank(powerClientParam.getOrgId())){ + List deptIds = deptFeignClient.getDepSonSelfCodetByDeptId(powerClientParam.getOrgId()).getData(); + lambdaQueryWrapper.eq(PowerClient::getOrgId,deptIds).eq(PowerClient::getStatus,DataStateEnum.ENABLE.getCode()); + } + lambdaQueryWrapper.select(PowerClient::getId,PowerClient::getName,PowerClient::getOrgId,PowerClient::getOrgName); lambdaQueryWrapper.orderByDesc(PowerClient::getCreateTime).eq(PowerClient::getStatus, DataStateEnum.ENABLE.getCode()); return this.list(lambdaQueryWrapper); } @@ -70,4 +99,31 @@ public class PowerClientServiceImpl extends ServiceImpl(PageFactory.getPageNum(baseParam),PageFactory.getPageSize(baseParam)),lambdaQueryWrapper); } + + @Override + public List getPowerUtilizationUserList(PowerUserParam powerUserParam) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (StrUtil.isNotBlank(powerUserParam.getId())){ + queryWrapper.eq(PowerClient::getId,powerUserParam.getId()); + } + return this.list(queryWrapper); + } + + private void checkParam(PowerClientParam powerClientParam, Boolean updateFlag){ + + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(PowerClient::getName,powerClientParam.getName()); + + if(updateFlag){ + lambdaQueryWrapper.ne(PowerClient::getId,powerClientParam.getId()); + }else { + lambdaQueryWrapper.or().eq(PowerClient::getId,powerClientParam.getId()); + } + + int count = this.count(lambdaQueryWrapper); + if(count>0){ + throw new BusinessException(PmsDeviceResponseEnum.POWERGENERATIONUSER_SAME); + } + + } } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/PowerDistributionareaServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/PowerDistributionareaServiceImpl.java index 04064adc6..257154c19 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/PowerDistributionareaServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/PowerDistributionareaServiceImpl.java @@ -9,7 +9,9 @@ import com.njcn.common.pojo.exception.BusinessException; import com.njcn.device.pms.enums.PmsDeviceResponseEnum; import com.njcn.device.pms.mapper.majornetwork.PowerDistributionareaMapper; import com.njcn.device.pms.pojo.param.PowerDistributionareaParam; +import com.njcn.device.pms.pojo.po.PowerClient; import com.njcn.device.pms.pojo.po.PowerDistributionarea; +import com.njcn.device.pms.pojo.po.PowerGenerationUser; import com.njcn.device.pms.pojo.po.StatationStat; import com.njcn.device.pms.pojo.vo.PowerDistributionareaVO; import com.njcn.device.pms.service.majornetwork.IGeneratrixWireService; @@ -61,6 +63,18 @@ public class PowerDistributionareaServiceImpl extends ServiceImpl(PageFactory.getPageNum(baseParam), PageFactory.getPageSize(baseParam)), lambdaQueryWrapper); } + @Override + public List getPowerDistributionList(PowerDistributionareaParam powerDistributionareaParam) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + if(StrUtil.isNotBlank(powerDistributionareaParam.getOrgId())){ + List deptIds = deptFeignClient.getDepSonSelfCodetByDeptId(powerDistributionareaParam.getOrgId()).getData(); + lambdaQueryWrapper.in(PowerDistributionarea::getOrgId,deptIds).eq(PowerDistributionarea::getStatus,DataStateEnum.ENABLE.getCode()); + } + lambdaQueryWrapper.select(PowerDistributionarea::getId,PowerDistributionarea::getName,PowerDistributionarea::getOrgId,PowerDistributionarea::getOrgName); + lambdaQueryWrapper.orderByDesc(PowerDistributionarea::getCreateTime); + return this.list(lambdaQueryWrapper); + } + /** * 根据id查询 * @author hany @@ -78,6 +92,12 @@ public class PowerDistributionareaServiceImpl extends ServiceImpl che = new LambdaQueryWrapper<>(); + che.eq(PowerDistributionarea::getId,newParam.getId()); + int count = this.count(che); + if(count>0){ + throw new BusinessException(PmsDeviceResponseEnum.POWER_CODE_SAME); + } checkName(newParam,true); Dept dept = deptFeignClient.getDeptByCode(newParam.getOrgId()).getData(); @@ -110,8 +130,11 @@ public class PowerDistributionareaServiceImpl extends ServiceImpl @@ -25,20 +33,35 @@ import java.util.List; * @since 2022-10-14 */ @Service +@RequiredArgsConstructor public class PowerGenerationUserServiceImpl extends ServiceImpl implements IPowerGenerationUserService { + private final DeptFeignClient deptFeignClient; + @Override public boolean addPowerGenerationUser(PowerGenerationUserParam powerGenerationUserParam) { + LambdaQueryWrapper che = new LambdaQueryWrapper<>(); + che.eq(PowerGenerationUser::getId,powerGenerationUserParam.getId()); + int powerClientCount = this.count(che); + if(powerClientCount>0){ + throw new BusinessException(PmsDeviceResponseEnum.POWERGENERATIONUSER_SAME); + } + checkParam(powerGenerationUserParam,false); PowerGenerationUser powerGenerationUser = new PowerGenerationUser(); BeanUtils.copyProperties(powerGenerationUserParam,powerGenerationUser); + powerGenerationUser.setStatus(DataStateEnum.ENABLE.getCode()); return this.save(powerGenerationUser); } @Override public boolean updatePowerGenerationUser(PowerGenerationUserParam powerGenerationUserParam) { - PowerGenerationUser powerGenerationUser = new PowerGenerationUser(); + PowerGenerationUser powerGenerationUser = this.getById(powerGenerationUserParam.getId()); + if(Objects.isNull(powerGenerationUser)){ + throw new BusinessException(PmsDeviceResponseEnum.POWER_GEN_NOT_FIND); + } + checkParam(powerGenerationUserParam,true); BeanUtils.copyProperties(powerGenerationUserParam,powerGenerationUser); - return this.save(powerGenerationUser); + return this.updateById(powerGenerationUser); } @Override @@ -52,8 +75,13 @@ public class PowerGenerationUserServiceImpl extends ServiceImpl getPowerGenerationUserList() { + public List getPowerGenerationUserList(PowerDistributionareaParam powerDistributionareaParam) { LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + if(StrUtil.isNotBlank(powerDistributionareaParam.getOrgId())){ + List deptIds = deptFeignClient.getDepSonSelfCodetByDeptId(powerDistributionareaParam.getOrgId()).getData(); + lambdaQueryWrapper.in(PowerGenerationUser::getOrgId,deptIds).eq(PowerGenerationUser::getStatus,DataStateEnum.ENABLE.getCode()); + } + lambdaQueryWrapper.select(PowerGenerationUser::getName,PowerGenerationUser::getId,PowerGenerationUser::getOrgId,PowerGenerationUser::getOrgName); lambdaQueryWrapper.orderByDesc(PowerGenerationUser::getCreateTime).eq(PowerGenerationUser::getStatus, DataStateEnum.ENABLE.getCode()); return this.list(lambdaQueryWrapper); } @@ -68,5 +96,33 @@ public class PowerGenerationUserServiceImpl extends ServiceImpl(PageFactory.getPageNum(baseParam),PageFactory.getPageSize(baseParam)),lambdaQueryWrapper); } + @Override + public List getGenerateElectricityUserList(PowerUserParam powerUserParam) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (StrUtil.isNotBlank(powerUserParam.getId())){ + queryWrapper.eq(PowerGenerationUser::getId,powerUserParam.getId()); + } + return this.list(queryWrapper); + } + + + private void checkParam(PowerGenerationUserParam powerGenerationUserParam,Boolean updateFlag){ + + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(PowerGenerationUser::getName,powerGenerationUserParam.getName()); + + if(updateFlag){ + lambdaQueryWrapper.ne(PowerGenerationUser::getId,powerGenerationUserParam.getId()); + }else { + lambdaQueryWrapper.or().eq(PowerGenerationUser::getId,powerGenerationUserParam.getId()); + } + + int count = this.count(lambdaQueryWrapper); + if(count>0){ + throw new BusinessException(PmsDeviceResponseEnum.POWERGENERATIONUSER_SAME); + } + + } + } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/RStatZwAlarmCountWServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/RStatZwAlarmCountWServiceImpl.java index ae49ce401..1076f2e4f 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/RStatZwAlarmCountWServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/RStatZwAlarmCountWServiceImpl.java @@ -152,18 +152,28 @@ implements RStatZwAlarmCountWService { .ge(StringUtils.isNotBlank(startTime), RMpTargetWarnD::getDataDate, startTime) .le(StringUtils.isNotBlank(endTime), RMpTargetWarnD::getDataDate, endTime) .groupBy(RMpTargetWarnD::getMeasurementPointId) - //拼接or条件 - .or(qw -> - qw.eq(RMpTargetWarnD::getIsEffective, 1) //是否是有效接入监测点(0:否 1:是) - .eq(RMpTargetWarnD::getIsHarmonic, 1) //是否是稳态超标监测点(0:否 1:是) + //拼接条件 + .and(qw -> + qw.eq(RMpTargetWarnD::getIsEffective, 0)//是否是有效接入监测点(0:否 1:是) + .or() //开始拼接or条件 + .eq(RMpTargetWarnD::getIsHarmonic, 1)//是否是稳态超标监测点(0:否 1:是) + .or() .eq(RMpTargetWarnD::getIsEvent, 1) //是否是发生暂态的监测点(0:否 1:是) + .or() .eq(RMpTargetWarnD::getIsWarn, 1) //是否是告警监测点数(0:否 1:是) + .or() .eq(RMpTargetWarnD::getIsVDevWarn, 1) //电压偏差是否告警(0:否 1:是) + .or() .eq(RMpTargetWarnD::getIsFreqWarn, 1) //频率偏差是否告警(0:否 1:是) + .or() .eq(RMpTargetWarnD::getIsUnbalanceWarn, 1) //三相电压不平衡度是否告警(0:否 1:是) + .or() .eq(RMpTargetWarnD::getIsVWarn, 1) //谐波电压是否告警(0:否 1:是) + .or() .eq(RMpTargetWarnD::getIsFlickerWarn, 1) //闪变是否告警(0:否 1:是) + .or() .eq(RMpTargetWarnD::getIsSagWarn, 1) //电压暂降是否告警(0:否 1:是) + .or() .eq(RMpTargetWarnD::getIsInterruptWarn, 1) //短时中断是否告警(0:否 1:是) ) .having("count(measurement_point_id) >= {0}", 4); diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/StatationStatServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/StatationStatServiceImpl.java index 9f4153668..4b1c7c4fa 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/StatationStatServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/StatationStatServiceImpl.java @@ -2,6 +2,7 @@ package com.njcn.device.pms.service.majornetwork.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.device.pms.mapper.majornetwork.StatationStatMapper; import com.njcn.device.pms.pojo.dto.PmsStatationStatInfoDTO; import com.njcn.device.pms.pojo.param.StatationStatParam; @@ -47,6 +48,7 @@ public class StatationStatServiceImpl extends ServiceImpl * 服务实现类 @@ -15,6 +38,77 @@ import org.springframework.stereotype.Service; * @since 2022-10-14 */ @Service +@RequiredArgsConstructor public class TerminalEliminateDataServiceImpl extends ServiceImpl implements ITerminalEliminateDataService { + private final MonitorMapper monitorMapper; + + private final DicDataFeignClient dicDataFeignClient; + + private final DeptFeignClient deptFeignClient; + + private final DistributionMonitorMapper distributionMonitorMapper; + + private final PowerDistributionareaMapper powerDistributionareaMapper; + + private final PowerClientMapper powerClientMapper; + + private final PowerGenerationUserMapper powerGenerationUserMapper; + + @Override + public Page getOneMonitorByOrgId(TaiZhangParam taiZhangParam) { + Page monitorPage = new Page<>(); + List deptIds = deptFeignClient.getDepSonSelfCodetByDeptId(taiZhangParam.getOrgId()).getData(); + if(taiZhangParam.getDataType() == 0){ + //主网 + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(Monitor::getOrgId,deptIds) + .eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode()).orderByDesc(Monitor::getCreateTime); + monitorPage = monitorMapper.selectPage(new Page<>(PageFactory.getPageNum(taiZhangParam),PageFactory.getPageSize(taiZhangParam)),lambdaQueryWrapper); + }else { + //配网 + DictData one = dicDataFeignClient.getDicDataByCode(DicDataEnum.ONE_LINE.getCode()).getData(); + taiZhangParam.setLineType(one.getId()); + monitorPage = distributionMonitorMapper.getMonitorByOrg(new Page<>(PageFactory.getPageNum(taiZhangParam),PageFactory.getPageSize(taiZhangParam)),taiZhangParam,deptIds); + } + return monitorPage; + } + + @Override + public Page getTwoMonitorByOrgId(TaiZhangParam taiZhangParam) { + Page monitorPage = new Page<>(); + List deptIds = deptFeignClient.getDepSonSelfCodetByDeptId(taiZhangParam.getOrgId()).getData(); + if(taiZhangParam.getDataType() == 0){ + + }else { + DictData two = dicDataFeignClient.getDicDataByCode(DicDataEnum.TWO_LINE.getCode()).getData(); + taiZhangParam.setLineType(two.getId()); + monitorPage = distributionMonitorMapper.getPowerDisAreaMonitorByOrg(new Page<>(PageFactory.getPageNum(taiZhangParam),PageFactory.getPageSize(taiZhangParam)),taiZhangParam,deptIds); + } + return monitorPage; + } + + @Override + public Page getThreeMonitorByOrgId(TaiZhangParam taiZhangParam) { + Page monitorPage = new Page<>(); + List deptIds = deptFeignClient.getDepSonSelfCodetByDeptId(taiZhangParam.getOrgId()).getData(); + if(taiZhangParam.getDataType() == 0){ + + }else { + if(Objects.isNull(taiZhangParam.getTreeType())){ + throw new BusinessException(PmsDeviceResponseEnum.POWER_CLIENT_DIS_EMPTY); + } + //配网 + DictData three = dicDataFeignClient.getDicDataByCode(DicDataEnum.THREE_LINE.getCode()).getData(); + taiZhangParam.setLineType(three.getId()); + if(taiZhangParam.getTreeType().equals(0)){ + //用电 + monitorPage = distributionMonitorMapper.getThreeMonitorByOrgIdYong(new Page<>(PageFactory.getPageNum(taiZhangParam),PageFactory.getPageSize(taiZhangParam)),taiZhangParam,deptIds); + }else { + // + monitorPage = distributionMonitorMapper.getThreeMonitorByOrgIdFa(new Page<>(PageFactory.getPageNum(taiZhangParam),PageFactory.getPageSize(taiZhangParam)),taiZhangParam,deptIds); + } + } + return monitorPage; + } } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/TerminalServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/TerminalServiceImpl.java index ab6e70395..9ec4ccc8b 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/TerminalServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/TerminalServiceImpl.java @@ -23,6 +23,8 @@ import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Objects; @@ -59,6 +61,15 @@ public class TerminalServiceImpl extends ServiceImpl(PageFactory.getPageNum(baseParam), PageFactory.getPageSize(baseParam)), lambdaQueryWrapper); } + @Override + public List getTerminalSelectList() { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.select(PmsTerminal::getName,PmsTerminal::getOrgId,PmsTerminal::getOrgName,PmsTerminal::getId); + lambdaQueryWrapper.eq(PmsTerminal::getStatus,DataStateEnum.ENABLE.getCode()) + .orderByDesc(PmsTerminal::getCreateTime); + return this.list(lambdaQueryWrapper); + } + /** * 根据id查询 * @author hany @@ -102,6 +113,8 @@ public class TerminalServiceImpl extends ServiceImpl getTractionStationList() { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(TractionStation::getStatus,DataStateEnum.ENABLE.getCode()) + .orderByDesc(TractionStation::getCreateTime); + return this.list(); + } + + /** + * 分页查询牵引站列表 * * @param baseParam * @return */ @Override - public List getTractionStationList(BaseParam baseParam) { - return this.list(); + public Page getTractionStationPageList(BaseParam baseParam) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(TractionStation::getStatus,DataStateEnum.ENABLE.getCode()) + .like(StrUtil.isNotEmpty(baseParam.getSearchValue()),TractionStation::getName,baseParam.getSearchValue()) + .or(StrUtil.isNotEmpty(baseParam.getSearchValue())) + .like(StrUtil.isNotEmpty(baseParam.getSearchValue()),TractionStation::getOrgName,baseParam.getSearchValue()) + .or(StrUtil.isNotEmpty(baseParam.getSearchValue())) + .like(StrUtil.isNotEmpty(baseParam.getSearchValue()),TractionStation::getOperationName,baseParam.getSearchValue()) + .or(StrUtil.isNotEmpty(baseParam.getSearchValue())) + .like(StrUtil.isNotEmpty(baseParam.getSearchValue()),TractionStation::getPowerName,baseParam.getSearchValue()) + .or(StrUtil.isNotEmpty(baseParam.getSearchValue())) + .orderByDesc(TractionStation::getCreateTime); + return this.page(new Page<>(PageFactory.getPageNum(baseParam),PageFactory.getPageSize(baseParam)),lambdaQueryWrapper); } /** @@ -67,6 +96,7 @@ public class TractionStationServiceImpl extends ServiceImpl rStatOrgPO = new ArrayList<>(); // 判断条件 - switch (param.getType()) { + switch (param.getType().toString()) { // 年 - case 1: + case BizParamConstant.STAT_BIZ_YEAR: rStatOrgPO = pwRStatOrgMapper.getYearInfo( deptIdList, param.getStartTime(), @@ -84,7 +85,7 @@ public class PwRStatOrgServiceImpl implements PwRStatOrgService { distributionPoint); break; // 季 - case 2: + case BizParamConstant.STAT_BIZ_QUARTER: rStatOrgPO = pwRStatOrgMapper.getQuarterInfo( deptIdList, param.getStartTime(), @@ -92,7 +93,7 @@ public class PwRStatOrgServiceImpl implements PwRStatOrgService { distributionPoint); break; // 月 - case 3: + case BizParamConstant.STAT_BIZ_MONTH: rStatOrgPO = pwRStatOrgMapper.getMonthInfo( deptIdList, param.getStartTime(), @@ -153,9 +154,9 @@ public class PwRStatOrgServiceImpl implements PwRStatOrgService { // 获取配网id String distributionPoint = getDistributionPoint(); // 判断条件 - switch (param.getType()) { + switch (param.getType().toString()) { // 年 - case 1: + case BizParamConstant.STAT_BIZ_YEAR: rStatEventOrgVOList = pwRStatOrgClassifiedMapper.getYearInfo( deptIdList, param.getStartTime(), @@ -163,7 +164,7 @@ public class PwRStatOrgServiceImpl implements PwRStatOrgService { distributionPoint); break; // 季 - case 2: + case BizParamConstant.STAT_BIZ_QUARTER: rStatEventOrgVOList = pwRStatOrgClassifiedMapper.getQuarterInfo( deptIdList, param.getStartTime(), @@ -171,7 +172,7 @@ public class PwRStatOrgServiceImpl implements PwRStatOrgService { distributionPoint); break; // 月 - case 3: + case BizParamConstant.STAT_BIZ_MONTH: rStatEventOrgVOList = pwRStatOrgClassifiedMapper.getMonthInfo( deptIdList, param.getStartTime(), diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/StatisticsOfTransientIndicatorssServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/StatisticsOfTransientIndicatorssServiceImpl.java index 757da7d83..47927b790 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/StatisticsOfTransientIndicatorssServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/StatisticsOfTransientIndicatorssServiceImpl.java @@ -2,6 +2,7 @@ package com.njcn.event.service.majornetwork.Impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; +import com.njcn.common.pojo.constant.BizParamConstant; import com.njcn.device.pms.api.MonitorClient; import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient; import com.njcn.device.pms.api.StatationStatClient; @@ -87,16 +88,16 @@ public class StatisticsOfTransientIndicatorssServiceImpl implements StatisticsOf // 创建返回集合 List result = new ArrayList<>(); // 类型(1年 2季度 3月份 4日 - switch (param.getType()) { - case 1: + switch (param.getType().toString()) { + case BizParamConstant.STAT_BIZ_YEAR: // 获取年区域暂态指标统计 result = rStatOrgMapper.getYearRStatOrgInfo(deptCode, param.getStartTime(), param.getEndTime(), mainnetPointId); break; - case 2: + case BizParamConstant.STAT_BIZ_QUARTER: // 获取季区域暂态指标统计 result = rStatOrgMapper.getQuarterRStatOrgInfo(deptCode, param.getStartTime(), param.getEndTime(), mainnetPointId); break; - case 3: + case BizParamConstant.STAT_BIZ_MONTH: // 获取月区域暂态指标统计 result = rStatOrgMapper.getMonthRStatOrgInfo(deptCode, param.getStartTime(), param.getEndTime(), mainnetPointId); break; @@ -145,16 +146,16 @@ public class StatisticsOfTransientIndicatorssServiceImpl implements StatisticsOf // 创建集合封装查询数据 List temp = new ArrayList<>(); // 类型(1年 2季度 3月份 4日 - switch (param.getType()) { - case 1: + switch (param.getType().toString()) { + case BizParamConstant.STAT_BIZ_YEAR: // 获取年区域暂态指标分类统计表 temp = rStatEventOrgMapper.getYearRStatEventOrgInfo(deptCode, param.getStartTime(), param.getEndTime(), mainnetPointId); break; - case 2: + case BizParamConstant.STAT_BIZ_QUARTER: // 获取季区域暂态指标分类统计表 temp = rStatEventOrgMapper.getQuarterRStatEventOrgInfo(deptCode, param.getStartTime(), param.getEndTime(), mainnetPointId); break; - case 3: + case BizParamConstant.STAT_BIZ_MONTH: // 获取月区域暂态指标分类统计表 temp = rStatEventOrgMapper.getMonthRStatEventOrgInfoInfo(deptCode, param.getStartTime(), param.getEndTime(), mainnetPointId); break; @@ -265,16 +266,16 @@ public class StatisticsOfTransientIndicatorssServiceImpl implements StatisticsOf List result = new ArrayList<>(); // 类型(1年 2季度 3月份 4日 - switch (param.getType()) { - case 1: + switch (param.getType().toString()) { + case BizParamConstant.STAT_BIZ_YEAR: // 获取年变电站暂态指标分类统计表 result = rStatSubstationMapper.getYearInfo(powerIds, param.getStartTime(), param.getEndTime()); break; - case 2: + case BizParamConstant.STAT_BIZ_QUARTER: // 获取季变电站暂态指标分类统计表 result = rStatSubstationMapper.getQuarterInfo(powerIds, param.getStartTime(), param.getEndTime()); break; - case 3: + case BizParamConstant.STAT_BIZ_MONTH: // 获取月变电站暂态指标分类统计表 result = rStatSubstationMapper.getMonthInfo(powerIds, param.getStartTime(), param.getEndTime()); break; diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/PowerQualityParam.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/PowerQualityParam.java new file mode 100644 index 000000000..3d2353bc9 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/PowerQualityParam.java @@ -0,0 +1,42 @@ +package com.njcn.harmonic.pojo.param; + +import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; +import java.util.Map; + +/** + * <专项分析-分布式光伏入参> + * + * @author wr + * @createTime: 2022-11-25 + */ +@Data +public class PowerQualityParam extends StatisticsBizBaseParam { + + @ApiModelProperty(value = "页码", example = "1") + private int pageNum = 1; + + @ApiModelProperty(value = "每页记录数", example = "10") + private int pageSize = 10; + + + @Data + public static class PowerQualityDetailParam extends StatisticsBizBaseParam{ + + @ApiModelProperty(value = "字典id集合",required = true) + private Map mapId; + + @ApiModelProperty(value = "部门集合",required = true) + private List orgNos; + } + + @Data + public static class PowerQualityDetailInfoParam extends PowerQualityParam{ + + @ApiModelProperty(value = "监测点类别",required = true) + private List monitorSort;; + } +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/ReportTemplateParam.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/ReportTemplateParam.java index fc4eb1d20..1b2d25f94 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/ReportTemplateParam.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/ReportTemplateParam.java @@ -38,10 +38,13 @@ public class ReportTemplateParam { @ApiModelProperty(name = "valueTitle",value = "存取库中") private String valueTitle; - @ApiModelProperty(name = "reportType",value = "自定义报表类型",required = true) - @NotBlank(message = "自定义报表类型不可为空") + @ApiModelProperty(name = "reportType",value = "模板类型",required = true) + @NotBlank(message = "模板类型不可为空") private String reportType; + @ApiModelProperty(name = "reportForm",value = "报表类型",required = true) + private String reportForm; + @Data @EqualsAndHashCode(callSuper = true) diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/ExcelRptTemp.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/ExcelRptTemp.java index 565de13e1..ab6583197 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/ExcelRptTemp.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/ExcelRptTemp.java @@ -5,6 +5,7 @@ import com.njcn.db.bo.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; + /** * pqs * 自定义报表 @@ -27,4 +28,6 @@ public class ExcelRptTemp extends BaseEntity { private String reportType; + private String reportForm; + } diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/PmsMonitorPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/PmsMonitorPO.java new file mode 100644 index 000000000..b6c9b6264 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/PmsMonitorPO.java @@ -0,0 +1,237 @@ +package com.njcn.harmonic.pojo.po; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.Date; + +/** + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2022/11/29 15:32【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +@TableName(value = "pms_monitor") +public class PmsMonitorPO { + /** + * 监测点ID + */ + @TableId(value = "Id", type = IdType.INPUT) + private String id; + + /** + * 监测点名称 + */ + @TableField(value = "Name") + private String name; + + /** + * 组织机构名称 + */ + @TableField(value = "Org_Name") + private String orgName; + + /** + * 组织机构ID(外键) + */ + @TableField(value = "Org_Id") + private String orgId; + + /** + * 运维单位名称 + */ + @TableField(value = "Operation_Name") + private String operationName; + + /** + * 运维单位ID(外键) + */ + @TableField(value = "Operation_Id") + private String operationId; + + /** + * 变电站名称 + */ + @TableField(value = "Powerr_Name") + private String powerrName; + + /** + * 电站ID(外键) + */ + @TableField(value = "Powerr_Id") + private String powerrId; + + /** + * 母线名称 + */ + @TableField(value = "Generatrix_Name") + private String generatrixName; + + /** + * 母线ID(外键) + */ + @TableField(value = "Generatrix_Id") + private String generatrixId; + + /** + * 监测线路名称 + */ + @TableField(value = "Line_Name") + private String lineName; + + /** + * 监测线路ID + */ + @TableField(value = "Line_Id") + private String lineId; + + /** + * 电压等级(字典) + */ + @TableField(value = "Voltage_Level") + private String voltageLevel; + + /** + * 监测点状态(字典) + */ + @TableField(value = "Monitor_State") + private String monitorState; + + /** + * 监测点类型 + */ + @TableField(value = "Monitor_Type") + private String monitorType; + + /** + * 最小短路容量 + */ + @TableField(value = "Min_Short_Circuit_Capacity") + private Double minShortCircuitCapacity; + + /** + * 供电设备容量 + */ + @TableField(value = "Power_Supply_Eq_Capacity") + private Double powerSupplyEqCapacity; + + /** + * 用户协议容量 + */ + @TableField(value = "User_Agreement_Capacity") + private Double userAgreementCapacity; + + /** + * 电压偏差限值(上) + */ + @TableField(value = "Voltage_Deviation_Upper_Limit") + private Double voltageDeviationUpperLimit; + + /** + * 电压偏差限值(下) + */ + @TableField(value = "Voltage_Deviation_Lower_Limit") + private Double voltageDeviationLowerLimit; + + /** + * 电压互感器类型(字典) + */ + @TableField(value = "Potential_Trans_Former_Type") + private String potentialTransFormerType; + + /** + * 中性点接地方式(字典) + */ + @TableField(value = "Neutral_Grounding_Mode") + private String neutralGroundingMode; + + /** + * 是否用户专线(字典) + */ + @TableField(value = "Is_Special_Supply_Electricity") + private String isSpecialSupplyElectricity; + + /** + * 监测点标签 + */ + @TableField(value = "Monitor_Tag") + private String monitorTag; + + /** + * 监测对象类型(字典) + */ + @TableField(value = "Monitor_Object_Type") + private String monitorObjectType; + + /** + * 监测对象编号 + */ + @TableField(value = "Monitor_Object_Id") + private String monitorObjectId; + + /** + * 监测对象名称 + */ + @TableField(value = "Monitor_Object_Name") + private String monitorObjectName; + + /** + * 统计间隔 + */ + @TableField(value = "Statistical_Interval") + private Integer statisticalInterval; + + /** + * 关联的监测终端编号(外键) + */ + @TableField(value = "Terminal_Id") + private String terminalId; + + /** + * 监测终端接线方式(字典) + */ + @TableField(value = "Terminal_Wiring_Method") + private String terminalWiringMethod; + + /** + * 是否是上送国网监测点,0-否 1-是 + */ + @TableField(value = "Is_Up_To_Grid") + private Boolean isUpToGrid; + + /** + * 数据状态:0-删除;1-正常; + */ + @TableField(value = "Status") + private Boolean status; + + /** + * 创建用户 + */ + @TableField(value = "Create_By") + private String createBy; + + /** + * 创建时间 + */ + @TableField(value = "Create_Time") + private Date createTime; + + /** + * 更新用户 + */ + @TableField(value = "Update_By") + private String updateBy; + + /** + * 更新时间 + */ + @TableField(value = "Update_Time") + private Date updateTime; +} \ No newline at end of file diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/PmsTerminalPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/PmsTerminalPO.java new file mode 100644 index 000000000..093126c49 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/PmsTerminalPO.java @@ -0,0 +1,159 @@ +package com.njcn.harmonic.pojo.po; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.Date; + +/** + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2022/11/29 15:53【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +@TableName(value = "pms_terminal") +public class PmsTerminalPO { + /** + * 终端编号 + */ + @TableId(value = "Id", type = IdType.INPUT) + private String id; + + /** + * 终端名称 + */ + @TableField(value = "Name") + private String name; + + /** + * 组织机构名称 + */ + @TableField(value = "Org_Name") + private String orgName; + + /** + * 组织机构ID(外键) + */ + @TableField(value = "Org_Id") + private String orgId; + + /** + * 运维单位名称 + */ + @TableField(value = "Operation_Name") + private String operationName; + + /** + * 运维单位ID(外键) + */ + @TableField(value = "Operation_Id") + private String operationId; + + /** + * 变电站名称 + */ + @TableField(value = "Powerr_Name") + private String powerrName; + + /** + * 所属电站ID(外键) + */ + @TableField(value = "Power_Station_Id") + private String powerStationId; + + /** + * 终端状态(字典) + */ + @TableField(value = "Terminal_State") + private String terminalState; + + /** + * 终端级别(字典) + */ + @TableField(value = "Terminal_Level") + private String terminalLevel; + + /** + * 装置型号(字典) + */ + @TableField(value = "Device_Model") + private String deviceModel; + + /** + * 生产厂家(字典) + */ + @TableField(value = "Manufacture") + private String manufacture; + + /** + * 检定日期 + */ + @TableField(value = "Verification_Date") + private Date verificationDate; + + /** + * 投运日期 + */ + @TableField(value = "Use_Date") + private Date useDate; + + /** + * 测量信号输入形式(字典) + */ + @TableField(value = "Input_Type") + private String inputType; + + /** + * IP地址 + */ + @TableField(value = "Ip") + private String ip; + + /** + * 通信端口 + */ + @TableField(value = "Port") + private String port; + + /** + * 是否是上送国网监测点,0-否 1-是 + */ + @TableField(value = "Is_Up_To_Grid") + private Boolean isUpToGrid; + + /** + * 数据状态:0-删除;1-正常; + */ + @TableField(value = "Status") + private Boolean status; + + /** + * 创建用户 + */ + @TableField(value = "Create_By") + private String createBy; + + /** + * 创建时间 + */ + @TableField(value = "Create_Time") + private Date createTime; + + /** + * 更新用户 + */ + @TableField(value = "Update_By") + private String updateBy; + + /** + * 更新时间 + */ + @TableField(value = "Update_Time") + private Date updateTime; +} \ No newline at end of file diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpInharmonicVRateReportD.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpInharmonicVRateReportD.java index dc2c316cc..2e81588d3 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpInharmonicVRateReportD.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpInharmonicVRateReportD.java @@ -1,26 +1,24 @@ package com.njcn.harmonic.pojo.po; -import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.util.Date; - import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.Date; + /** - * - * @TableName r_mp_inharmonic_v_rate_report_d + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2022/10/27 13:52【需求编号】 + * + * @author clam + * @version V1.0.0 */ -@TableName(value ="r_mp_inharmonic_v_rate_report_d") @Data -public class RMpInharmonicVRateReportD implements Serializable { - - private static final long serialVersionUID = 1L; - +@TableName(value = "r_mp_inharmonic_v_rate_report_d") +public class RMpInharmonicVRateReportD { /** * 监测点ID */ diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpIntegrityDPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpIntegrityDPO.java new file mode 100644 index 000000000..c00d3db43 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpIntegrityDPO.java @@ -0,0 +1,80 @@ +package com.njcn.harmonic.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import lombok.Data; + +import java.util.Date; + +/** + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2022/11/29 15:38【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +@TableName(value = "r_mp_integrity_d") +public class RMpIntegrityDPO { + /** + * 监测点id + */ + @MppMultiId(value = "measurement_point_id") + private String measurementPointId; + + /** + * 生成数据的时间,每天统计一次 + */ + @MppMultiId(value = "data_date") + private Date dataDate; + + /** + * 有效接入分钟数量 + */ + @TableField(value = "effective_minute_count") + private Integer effectiveMinuteCount; + + /** + * 频率平均值指标数据个数 + */ + @TableField(value = "freq_count") + private Integer freqCount; + + /** + * 相电压有效值平均值指标数据个数 + */ + @TableField(value = "phase_voltage_count") + private Integer phaseVoltageCount; + + /** + * 线电压有效值平均值指标数据个数 + */ + @TableField(value = "line_voltage_count") + private Integer lineVoltageCount; + + /** + * 电压总谐波畸变率平均值指标数据个数 + */ + @TableField(value = "v_thd_count") + private Integer vThdCount; + + /** + * 三相电压不平衡度平均值指标数据个数 + */ + @TableField(value = "unbalance_count") + private Integer unbalanceCount; + + /** + * 监测点短时闪变、电压波动类指标数据个数 + */ + @TableField(value = "pst_count") + private Integer pstCount; + + /** + * 监测点长时闪变指标数据个数 + */ + @TableField(value = "plt_count") + private Integer pltCount; +} \ No newline at end of file diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpPollutionDPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpPollutionDPO.java index d146c5843..e70b445f5 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpPollutionDPO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpPollutionDPO.java @@ -24,6 +24,7 @@ import java.util.Date; /** * 单位污区图统计日表 */ +@ApiModel(value = "com-njcn-harmonic-pojo-po-RMpPollutionDPO") @Data @AllArgsConstructor @NoArgsConstructor diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpPvPowerDetailMPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpPvPowerDetailMPO.java new file mode 100644 index 000000000..c9005ea3c --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpPvPowerDetailMPO.java @@ -0,0 +1,144 @@ +package com.njcn.harmonic.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 分布式光伏_台区电能质量明细_月表 + * + * @author yzh + * @TableName r_mp_pv_power_detail_m + */ +@TableName(value = "r_mp_pv_power_detail_m") +@Data +public class RMpPvPowerDetailMPO implements Serializable { + /** + * 统计时间 + */ + private Date dataDate; + + /** + * 监测点id + */ + private String measurementPointId; + + /** + * 渗透率 + */ + @TableField(value = "permeability") + private String permeability; + + /** + * 电压越上限天数 + */ + @TableField(value = "vol_over_max_date") + private String volOverMaxDate; + + /** + * 电压越下限天数 + */ + @TableField(value = "vol_over_min_date") + private String volOverMinDate; + + /** + * 电压上限值 + */ + @TableField(value = "vol_over_max") + private Float volOverMax; + + /** + * 电压下限值 + */ + @TableField(value = "vol_over_min") + private Float volOverMin; + + + /** + * 电压越上限天数7%~15% + */ + @TableField(value = "vol_over_max_date7_15") + private String volOverMaxDate715; + + /** + * 电压越上限天数15%以上 + */ + @TableField(value = "vol_over_max_date15_") + private String volOverMaxDate15; + + /** + * 电压越上限严重度 + */ + @TableField(value = "vol_over_max_severity") + private String volOverMaxSeverity; + + /** + * 电压越下限严重度 + */ + @TableField(value = "vol_over_min_severity") + private String volOverMinSeverity; + + /** + * 低功率因数占比 + */ + @TableField(value = "low_power_factor_ratio") + private Double lowPowerFactorRatio; + + /** + * 功率因数 + */ + @TableField(value = "low_power_factor") + private String lowPowerFactor; + + /** + * 潮流倒送电量 + */ + @TableField(value = "stream_electricity") + private String streamElectricity; + + /** + * 潮流倒送天数 + */ + @TableField(value = "stream_recover_date") + private String streamRecoverDate; + + /** + * 潮流倒送时设备负载率 + */ + @TableField(value = "stream_load_rate") + private String streamLoadRate; + + /** + * 潮流道送时长占比 + */ + @TableField(value = "stream_timing_rate") + private String streamTimingRate; + + /** + * 低功率因数(0.7以下) + */ + @TableField(value = "low_power_factor_7") + private String lowPowerFactor7; + + /** + * 低功率因数(0.7-0.8) + */ + @TableField(value = "low_power_factor7_8") + private String lowPowerFactor78; + + /** + * 低功率因数(0.8-0.9) + */ + @TableField(value = "low_power_factor8_9") + private String lowPowerFactor89; + + + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpPvPowerDetailQPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpPvPowerDetailQPO.java new file mode 100644 index 000000000..c0ad8ff18 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpPvPowerDetailQPO.java @@ -0,0 +1,139 @@ +package com.njcn.harmonic.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 分布式光伏_台区电能质量明细_季表 + * + * @author yzh + * @TableName r_mp_pv_power_detail_q + */ +@TableName(value = "r_mp_pv_power_detail_q") +@Data +public class RMpPvPowerDetailQPO implements Serializable { + /** + * 统计时间 + */ + private Date dataDate; + + /** + * 监测点id + */ + private String measurementPointId; + + /** + * 渗透率 + */ + @TableField(value = "permeability") + private String permeability; + + /** + * 电压越上限天数 + */ + @TableField(value = "vol_over_max_date") + private String volOverMaxDate; + + /** + * 电压越下限天数 + */ + @TableField(value = "vol_over_min_date") + private String volOverMinDate; + + /** + * 电压上限值 + */ + @TableField(value = "vol_over_max") + private Float volOverMax; + + /** + * 电压下限值 + */ + @TableField(value = "vol_over_min") + private Float volOverMin; + + /** + * 电压越上限天数7%~15% + */ + @TableField(value = "vol_over_max_date7_15") + private String volOverMaxDate715; + + /** + * 电压越上限天数15%以上 + */ + @TableField(value = "vol_over_max_date15_") + private String volOverMaxDate15; + + /** + * 电压越上限严重度 + */ + @TableField(value = "vol_over_max_severity") + private String volOverMaxSeverity; + + /** + * 电压越下限严重度 + */ + @TableField(value = "vol_over_min_severity") + private String volOverMinSeverity; + + /** + * 低功率因数占比 + */ + @TableField(value = "low_power_factor_ratio") + private Double lowPowerFactorRatio; + + /** + * 功率因数 + */ + @TableField(value = "low_power_factor") + private String lowPowerFactor; + + /** + * 潮流倒送电量 + */ + @TableField(value = "stream_electricity") + private String streamElectricity; + + /** + * 潮流倒送天数 + */ + @TableField(value = "stream_recover_date") + private String streamRecoverDate; + + /** + * 潮流倒送时设备负载率 + */ + @TableField(value = "stream_load_rate") + private String streamLoadRate; + + /** + * 潮流道送时长占比 + */ + @TableField(value = "stream_timing_rate") + private String streamTimingRate; + + /** + * 低功率因数(0.7以下) + */ + @TableField(value = "low_power_factor_7") + private String lowPowerFactor7; + + /** + * 低功率因数(0.7-0.8) + */ + @TableField(value = "low_power_factor7_8") + private String lowPowerFactor78; + + /** + * 低功率因数(0.8-0.9) + */ + @TableField(value = "low_power_factor8_9") + private String lowPowerFactor89; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpPvPowerDetailYPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpPvPowerDetailYPO.java new file mode 100644 index 000000000..4512ebe7c --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpPvPowerDetailYPO.java @@ -0,0 +1,140 @@ +package com.njcn.harmonic.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 分布式光伏_台区电能质量明细_年表 + * + * @author yzh + * @TableName r_mp_pv_power_detail_y + */ +@TableName(value = "r_mp_pv_power_detail_y") +@Data +public class RMpPvPowerDetailYPO implements Serializable { + /** + * 统计时间 + */ + private Date dataDate; + + /** + * 监测点id + */ + private String measurementPointId; + + /** + * 渗透率 + */ + @TableField(value = "permeability") + private String permeability; + + /** + * 电压越上限天数 + */ + @TableField(value = "vol_over_max_date") + private String volOverMaxDate; + + /** + * 电压越下限天数 + */ + @TableField(value = "vol_over_min_date") + private String volOverMinDate; + + /** + * 电压上限值 + */ + @TableField(value = "vol_over_max") + private Float volOverMax; + + /** + * 电压下限值 + */ + @TableField(value = "vol_over_min") + private Float volOverMin; + + /** + * 电压越上限天数7%~15% + */ + @TableField(value = "vol_over_max_date7_15") + private String volOverMaxDate715; + + /** + * 电压越上限天数15%以上 + */ + @TableField(value = "vol_over_max_date15_") + private String volOverMaxDate15; + + /** + * 电压越上限严重度 + */ + @TableField(value = "vol_over_max_severity") + private String volOverMaxSeverity; + + /** + * 电压越下限严重度 + */ + @TableField(value = "vol_over_min_severity") + private String volOverMinSeverity; + + /** + * 低功率因数占比 + */ + @TableField(value = "low_power_factor_ratio") + private Double lowPowerFactorRatio; + + /** + * 功率因数 + */ + @TableField(value = "low_power_factor") + private String lowPowerFactor; + + /** + * 潮流倒送电量 + */ + @TableField(value = "stream_electricity") + private String streamElectricity; + + /** + * 潮流倒送天数 + */ + @TableField(value = "stream_recover_date") + private String streamRecoverDate; + + /** + * 潮流倒送时设备负载率 + */ + @TableField(value = "stream_load_rate") + private String streamLoadRate; + + /** + * 潮流道送时长占比 + */ + @TableField(value = "stream_timing_rate") + private String streamTimingRate; + + /** + * 低功率因数(0.7以下) + */ + @TableField(value = "low_power_factor_7") + private String lowPowerFactor7; + + /** + * 低功率因数(0.7-0.8) + */ + @TableField(value = "low_power_factor7_8") + private String lowPowerFactor78; + + /** + * 低功率因数(0.8-0.9) + */ + @TableField(value = "low_power_factor8_9") + private String lowPowerFactor89; + + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpWpPowerDetailM.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpWpPowerDetailM.java new file mode 100644 index 000000000..4ac89705e --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpWpPowerDetailM.java @@ -0,0 +1,118 @@ +package com.njcn.harmonic.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.time.LocalDate; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + *

+ * 风电站_台区电能质量明细_月表 + *

+ * + * @author wr + * @since 2022-11-30 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("r_mp_wp_power_detail_m") +@ApiModel(value="RMpWpPowerDetailM对象", description="风电站_台区电能质量明细_月表") +public class RMpWpPowerDetailM implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "监测点id") + @TableId(value = "measurement_point_id", type = IdType.ASSIGN_ID) + private String measurementPointId; + + @ApiModelProperty(value = "统计时间") + private LocalDate dataDate; + + @ApiModelProperty(value = "负载率(平均值)") + private Float loadRateAvg; + + @ApiModelProperty(value = "负载率(95%值)") + @TableField(value = "load_rate_95") + private Float loadRate95; + + @ApiModelProperty(value = "负载率(99%值)") + @TableField(value = "load_rate_99") + private Float loadRate99; + + @ApiModelProperty(value = "谐波电压超标情况(0:否 1:是)") + private Integer isV; + + @ApiModelProperty(value = "谐波电流超标情况(0:否 1:是)") + private Integer isI; + + @ApiModelProperty(value = "电压不平衡度超标情况(0:否 1:是)") + private Integer isUnbalance; + + @ApiModelProperty(value = "负序电流超标情况(0:否 1:是)") + private Integer isINeg; + + @ApiModelProperty(value = "谐波电压超标次数") + private Integer vTimes; + + @ApiModelProperty(value = "谐波电流超标次数") + private Integer iTimes; + + @ApiModelProperty(value = "总有功功率99值") + @TableField(value = "total_active_power_99") + private Float totalActivePower99; + + @ApiModelProperty(value = "总有功功率95值") + @TableField(value = "total_active_power_95") + private Float totalActivePower95; + + @ApiModelProperty(value = "总有功功率平均值") + private Float totalActivePowerAvg; + + @ApiModelProperty(value = "A相有功功率95值") + @TableField(value = "ap_active_power_95") + private Float apActivePower95; + + @ApiModelProperty(value = "A相有功功率99值") + @TableField(value = "ap_active_power_99") + private Float apActivePower99; + + @ApiModelProperty(value = "A相有功功率平均值") + private Float apActivePowerAvg; + + @ApiModelProperty(value = "B相有功功率95值") + @TableField(value = "bp_active_power_95") + private Float bpActivePower95; + + @ApiModelProperty(value = "B相有功功率99值") + @TableField(value = "bp_active_power_99") + private Float bpActivePower99; + + @ApiModelProperty(value = "B相有功功率平均值") + private Float bpActivePowerAvg; + + @ApiModelProperty(value = "A相基波电压") + private Float apFundamentalVoltage; + + @ApiModelProperty(value = "B相基波电压") + private Float bpFundamentalVoltage; + + @ApiModelProperty(value = "C相基波电压") + private Float cpFundamentalVoltage; + + @ApiModelProperty(value = "负序电压不平衡度") + private Float negativeSequenceVoltageUnbalance; + + @ApiModelProperty(value = "电网暂降次数") + private Integer gridDipNum; + + @ApiModelProperty(value = "脱网事件次数") + private Integer offlineNum; + + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpWpPowerDetailQ.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpWpPowerDetailQ.java new file mode 100644 index 000000000..69a8edd07 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpWpPowerDetailQ.java @@ -0,0 +1,118 @@ +package com.njcn.harmonic.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.time.LocalDate; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + *

+ * 风电站_台区电能质量明细_季表 + *

+ * + * @author wr + * @since 2022-11-30 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("r_mp_wp_power_detail_q") +@ApiModel(value="RMpWpPowerDetailQ对象", description="风电站_台区电能质量明细_季表") +public class RMpWpPowerDetailQ implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "监测点id") + @TableId(value = "measurement_point_id", type = IdType.ASSIGN_ID) + private String measurementPointId; + + @ApiModelProperty(value = "统计时间") + private LocalDate dataDate; + + @ApiModelProperty(value = "负载率(平均值)") + private Float loadRateAvg; + + @ApiModelProperty(value = "负载率(95%值)") + @TableField(value = "load_rate_95") + private Float loadRate95; + + @ApiModelProperty(value = "负载率(99%值)") + @TableField(value = "load_rate_99") + private Float loadRate99; + + @ApiModelProperty(value = "谐波电压超标情况(0:否 1:是)") + private Integer isV; + + @ApiModelProperty(value = "谐波电流超标情况(0:否 1:是)") + private Integer isI; + + @ApiModelProperty(value = "电压不平衡度超标情况(0:否 1:是)") + private Integer isUnbalance; + + @ApiModelProperty(value = "负序电流超标情况(0:否 1:是)") + private Integer isINeg; + + @ApiModelProperty(value = "谐波电压超标次数") + private Integer vTimes; + + @ApiModelProperty(value = "谐波电流超标次数") + private Integer iTimes; + + @ApiModelProperty(value = "总有功功率99值") + @TableField(value = "total_active_power_99") + private Float totalActivePower99; + + @ApiModelProperty(value = "总有功功率95值") + @TableField(value = "total_active_power_95") + private Float totalActivePower95; + + @ApiModelProperty(value = "总有功功率平均值") + private Float totalActivePowerAvg; + + @ApiModelProperty(value = "A相有功功率95值") + @TableField(value = "ap_active_power_95") + private Float apActivePower95; + + @ApiModelProperty(value = "A相有功功率99值") + @TableField(value = "ap_active_power_99") + private Float apActivePower99; + + @ApiModelProperty(value = "A相有功功率平均值") + private Float apActivePowerAvg; + + @ApiModelProperty(value = "B相有功功率95值") + @TableField(value = "bp_active_power_95") + private Float bpActivePower95; + + @ApiModelProperty(value = "B相有功功率99值") + @TableField(value = "bp_active_power_99") + private Float bpActivePower99; + + @ApiModelProperty(value = "B相有功功率平均值") + private Float bpActivePowerAvg; + + @ApiModelProperty(value = "A相基波电压") + private Float apFundamentalVoltage; + + @ApiModelProperty(value = "B相基波电压") + private Float bpFundamentalVoltage; + + @ApiModelProperty(value = "C相基波电压") + private Float cpFundamentalVoltage; + + @ApiModelProperty(value = "负序电压不平衡度") + private Float negativeSequenceVoltageUnbalance; + + @ApiModelProperty(value = "电网暂降次数") + private Integer gridDipNum; + + @ApiModelProperty(value = "脱网事件次数") + private Integer offlineNum; + + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpWpPowerDetailY.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpWpPowerDetailY.java new file mode 100644 index 000000000..1cea51d21 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RMpWpPowerDetailY.java @@ -0,0 +1,118 @@ +package com.njcn.harmonic.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.time.LocalDate; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + *

+ * 风电站_台区电能质量明细_年表 + *

+ * + * @author wr + * @since 2022-11-30 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("r_mp_wp_power_detail_y") +@ApiModel(value="RMpWpPowerDetailY对象", description="风电站_台区电能质量明细_年表") +public class RMpWpPowerDetailY implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "监测点id") + @TableId(value = "measurement_point_id", type = IdType.ASSIGN_ID) + private String measurementPointId; + + @ApiModelProperty(value = "统计时间") + private LocalDate dataDate; + + @ApiModelProperty(value = "负载率(平均值)") + private Float loadRateAvg; + + @ApiModelProperty(value = "负载率(95%值)") + @TableField(value = "load_rate_95") + private Float loadRate95; + + @ApiModelProperty(value = "负载率(99%值)") + @TableField(value = "load_rate_99") + private Float loadRate99; + + @ApiModelProperty(value = "谐波电压超标情况(0:否 1:是)") + private Integer isV; + + @ApiModelProperty(value = "谐波电流超标情况(0:否 1:是)") + private Integer isI; + + @ApiModelProperty(value = "电压不平衡度超标情况(0:否 1:是)") + private Integer isUnbalance; + + @ApiModelProperty(value = "负序电流超标情况(0:否 1:是)") + private Integer isINeg; + + @ApiModelProperty(value = "谐波电压超标次数") + private Integer vTimes; + + @ApiModelProperty(value = "谐波电流超标次数") + private Integer iTimes; + + @ApiModelProperty(value = "总有功功率99值") + @TableField(value = "total_active_power_99") + private Float totalActivePower99; + + @ApiModelProperty(value = "总有功功率95值") + @TableField(value = "total_active_power_95") + private Float totalActivePower95; + + @ApiModelProperty(value = "总有功功率平均值") + private Float totalActivePowerAvg; + + @ApiModelProperty(value = "A相有功功率95值") + @TableField(value = "ap_active_power_95") + private Float apActivePower95; + + @ApiModelProperty(value = "A相有功功率99值") + @TableField(value = "ap_active_power_99") + private Float apActivePower99; + + @ApiModelProperty(value = "A相有功功率平均值") + private Float apActivePowerAvg; + + @ApiModelProperty(value = "B相有功功率95值") + @TableField(value = "bp_active_power_95") + private Float bpActivePower95; + + @ApiModelProperty(value = "B相有功功率99值") + @TableField(value = "bp_active_power_99") + private Float bpActivePower99; + + @ApiModelProperty(value = "B相有功功率平均值") + private Float bpActivePowerAvg; + + @ApiModelProperty(value = "A相基波电压") + private Float apFundamentalVoltage; + + @ApiModelProperty(value = "B相基波电压") + private Float bpFundamentalVoltage; + + @ApiModelProperty(value = "C相基波电压") + private Float cpFundamentalVoltage; + + @ApiModelProperty(value = "负序电压不平衡度") + private Float negativeSequenceVoltageUnbalance; + + @ApiModelProperty(value = "电网暂降次数") + private Integer gridDipNum; + + @ApiModelProperty(value = "脱网事件次数") + private Integer offlineNum; + + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/ROperatingIndexDPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/ROperatingIndexDPO.java new file mode 100644 index 000000000..c4afe27ba --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/ROperatingIndexDPO.java @@ -0,0 +1,107 @@ +package com.njcn.harmonic.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2022/11/25 10:01【需求编号】 + * + * @author clam + * @version V1.0.0 + */ + +/** + * 主网运行指标统计-月表,主网监测指标数据质量统计-月表 + */ +@Data +@TableName(value = "r_operating_index_d") +@AllArgsConstructor +@NoArgsConstructor +public class ROperatingIndexDPO { + /** + * 单位ID + */ + @MppMultiId(value = "org_no") + private String orgNo; + + /** + * 时间 + */ + @MppMultiId(value = "data_date") + private Date dataDate; + + /** + * 在运监测点数 + */ + @TableField(value = "measurement_run_points") + private Integer measurementRunPoints; + + /** + * 在线监测点数 + */ + @TableField(value = "transit_measurement_points") + private Integer transitMeasurementPoints; + + /** + * 有效接入监测点数量 + */ + @TableField(value = "effective_access_measurement_count") + private Integer effectiveAccessMeasurementCount; + + /** + * 监测终端数 + */ + @TableField(value = "online_measurement_points") + private Integer onlineMeasurementPoints; + + /** + * 在线终端数 + */ + @TableField(value = "online_measurement_count") + private Integer onlineMeasurementCount; + + /** + * 应设点数 + */ + @TableField(value = "should_count") + private Integer shouldCount; + + /** + * 应设点覆盖率 + */ + @TableField(value = "should_point_coverage") + private Double shouldPointCoverage; + + /** + * 数据完整率 + */ + @TableField(value = "data_integrity_rate") + private Double dataIntegrityRate; + + /** + * 数据准确率 + */ + @TableField(value = "data_right_rate") + private Double dataRightRate; + + /** + * 指标完整率 + */ + @TableField(value = "index_integrity_rate") + private Double indexIntegrityRate; + + /** + * 数据否异常(0:正常 1:异常) + */ + @TableField(value = "is_unusual") + private Integer isUnusual; +} \ No newline at end of file diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatAbnormalDPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatAbnormalDPO.java new file mode 100644 index 000000000..3312905d5 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatAbnormalDPO.java @@ -0,0 +1,38 @@ +package com.njcn.harmonic.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import lombok.Data; + +import java.util.Date; + +/** + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2022/11/28 19:31【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +@TableName(value = "r_stat_abnormal_d") +public class RStatAbnormalDPO { + /** + * 时间 + */ + @MppMultiId(value = "data_date") + private Date dataDate; + + /** + * 监测点ID + */ + @MppMultiId(value = "measurement_point_id") + private String measurementPointId; + + /** + * 数据是否异常(0异常,1正常) + */ + @TableField(value = "value_alarm") + private Integer valueAlarm; +} \ No newline at end of file diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatOrgPvAreaPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatOrgPvAreaPO.java new file mode 100644 index 000000000..9f6a678a2 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatOrgPvAreaPO.java @@ -0,0 +1,54 @@ +package com.njcn.harmonic.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 分布式光伏统计表-按区域 + * + * @author yzh + * @TableName r_stat_org_pv_area + */ +@TableName(value = "r_stat_org_pv_area") +@Data +public class RStatOrgPvAreaPO implements Serializable { + /** + * 数据统计日期 + */ + private Date dataDate; + + /** + * 所属单位 + */ + private String orgNo; + + /** + * 台区电能质量事件类型,详见code表 + */ + private String areaPqEventType; + + /** + * 用户数 + */ + @TableField(value = "user_num") + private Integer userNum; + + /** + * 装机容量 + */ + @TableField(value = "installed_capacity") + private Integer installedCapacity; + + /** + * 监测点数量 + */ + @TableField(value = "monitor_point_num") + private Integer monitorPointNum; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatOrgPvMonitorTypePO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatOrgPvMonitorTypePO.java new file mode 100644 index 000000000..36a5f3d6f --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatOrgPvMonitorTypePO.java @@ -0,0 +1,59 @@ +package com.njcn.harmonic.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 分布式光伏统计表-按监测点类型 + * + * @author yzh + * @TableName r_stat_org_pv_monitor_type + */ +@TableName(value = "r_stat_org_pv_monitor_type") +@Data +public class RStatOrgPvMonitorTypePO implements Serializable { + /** + * 数据统计日期 + */ + private Date dataDate; + + /** + * 所属单位 + */ + private String orgNo; + + /** + * 监测点类型 + */ + private String monitorType; + + /** + * 台区电能质量事件类型,详见code表 + */ + private String areaPqEventType; + + /** + * 用户数 + */ + @TableField(value = "user_num") + private Integer userNum; + + /** + * 装机容量 + */ + @TableField(value = "installed_capacity") + private Integer installedCapacity; + + /** + * 监测点数量 + */ + @TableField(value = "monitor_point_num") + private Integer monitorPointNum; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatOrgPvPowerQualityMPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatOrgPvPowerQualityMPO.java new file mode 100644 index 000000000..a8a64b4f7 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatOrgPvPowerQualityMPO.java @@ -0,0 +1,71 @@ +package com.njcn.harmonic.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 分布式光伏_台区电能质量统计_月表 + * + * @author yzh + * @TableName r_stat_org_pv_power_quality_m + */ +@TableName(value = "r_stat_org_pv_power_quality_m") +@Data +public class RStatOrgPvPowerQualityMPO implements Serializable { + /** + * 统计月份 + */ + private Date dataDate; + + /** + * 所属单位 + */ + private String orgNo; + + /** + * 监测对象(字典) + */ + private String monitoringObject; + + /** + * 台区电能质量事件类型,详见code表 + */ + private String areaPqEventType; + + /** + * 日均监测点数 + */ + @TableField(value = "avg_monitor_num") + private Integer avgMonitorNum; + + /** + * 累计监测点数 + */ + @TableField(value = "total_monitor_num") + private Integer totalMonitorNum; + + /** + * 总监测点数(有效接入,计算占比时作为分母) + */ + @TableField(value = "monitor_valid_num") + private Integer monitorValidNum; + + /** + * 日均事件天数 + */ + @TableField(value = "avg_date_num") + private Integer avgDateNum; + + /** + * 累计事件天数 + */ + @TableField(value = "total_date_num") + private Integer totalDateNum; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatOrgPvPowerQualityQPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatOrgPvPowerQualityQPO.java new file mode 100644 index 000000000..b96af07c1 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatOrgPvPowerQualityQPO.java @@ -0,0 +1,71 @@ +package com.njcn.harmonic.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 分布式光伏_台区电能质量统计_季表 + * + * @author yzh + * @TableName r_stat_org_pv_power_quality_q + */ +@TableName(value = "r_stat_org_pv_power_quality_q") +@Data +public class RStatOrgPvPowerQualityQPO implements Serializable { + /** + * 统计月份 + */ + private Date dataDate; + + /** + * 所属单位 + */ + private String orgNo; + + /** + * 监测对象(字典) + */ + private String monitoringObject; + + /** + * 台区电能质量事件类型,详见code表 + */ + private String areaPqEventType; + + /** + * 日均监测点数 + */ + @TableField(value = "avg_monitor_num") + private Integer avgMonitorNum; + + /** + * 累计监测点数 + */ + @TableField(value = "total_monitor_num") + private Integer totalMonitorNum; + + /** + * 总监测点数(有效接入,计算占比时作为分母) + */ + @TableField(value = "monitor_valid_num") + private Integer monitorValidNum; + + /** + * 日均事件天数 + */ + @TableField(value = "avg_date_num") + private Integer avgDateNum; + + /** + * 累计事件天数 + */ + @TableField(value = "total_date_num") + private Integer totalDateNum; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatOrgPvPowerQualityYPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatOrgPvPowerQualityYPO.java new file mode 100644 index 000000000..1af167410 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatOrgPvPowerQualityYPO.java @@ -0,0 +1,71 @@ +package com.njcn.harmonic.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 分布式光伏_台区电能质量统计_年表 + * + * @author yzh + * @TableName r_stat_org_pv_power_quality_y + */ +@TableName(value = "r_stat_org_pv_power_quality_y") +@Data +public class RStatOrgPvPowerQualityYPO implements Serializable { + /** + * 统计月份 + */ + private Date dataDate; + + /** + * 所属单位 + */ + private String orgNo; + + /** + * 监测对象(字典) + */ + private String monitoringObject; + + /** + * 台区电能质量事件类型,详见code表 + */ + private String areaPqEventType; + + /** + * 日均监测点数 + */ + @TableField(value = "avg_monitor_num") + private Integer avgMonitorNum; + + /** + * 累计监测点数 + */ + @TableField(value = "total_monitor_num") + private Integer totalMonitorNum; + + /** + * 总监测点数(有效接入,计算占比时作为分母) + */ + @TableField(value = "monitor_valid_num") + private Integer monitorValidNum; + + /** + * 日均事件天数 + */ + @TableField(value = "avg_date_num") + private Integer avgDateNum; + + /** + * 累计事件天数 + */ + @TableField(value = "total_date_num") + private Integer totalDateNum; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatOrgPvVoltagePO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatOrgPvVoltagePO.java new file mode 100644 index 000000000..86946a3e9 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/RStatOrgPvVoltagePO.java @@ -0,0 +1,59 @@ +package com.njcn.harmonic.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 分布式光伏统计表-按电压等级 + * + * @author yzh + * @TableName r_stat_org_pv_voltage + */ +@TableName(value = "r_stat_org_pv_voltage") +@Data +public class RStatOrgPvVoltagePO implements Serializable { + /** + * 数据统计日期 + */ + private Date dataDate; + + /** + * 所属单位 + */ + private String orgNo; + + /** + * 电压等级 + */ + private String voltageClass; + + /** + * 台区电能质量事件类型,详见code表 + */ + private String areaPqEventType; + + /** + * 用户数 + */ + @TableField(value = "user_num") + private Integer userNum; + + /** + * 装机容量 + */ + @TableField(value = "installed_capacity") + private Integer installedCapacity; + + /** + * 监测点数量 + */ + @TableField(value = "monitor_point_num") + private Integer monitorPointNum; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpPvPowerDetailVO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpPvPowerDetailVO.java new file mode 100644 index 000000000..6d75d3bf5 --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RMpPvPowerDetailVO.java @@ -0,0 +1,55 @@ +package com.njcn.harmonic.pojo.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * 获取电压越限分析返回前端实体类 + * + * @author yzh + * @date 2022/11/22 + */ +@Data +@ApiModel("获取电压越限分析返回前端实体类") +public class RMpPvPowerDetailVO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 单位名称 + */ + @ApiModelProperty(name = "orgName", value = "单位名称") + private String orgName; + + /** + * 监测点类型 + */ + @ApiModelProperty(name = "monitorSort", value = "监测点类型") + private String monitorSort; + + /** + * 电压越上限天数 + */ + @ApiModelProperty(name = "volOverMaxDate", value = "电压越上限天数") + private String volOverMaxDate; + + /** + * 电压越下限天数 + */ + @ApiModelProperty(name = "volOverMinDate", value = "电压越下限天数") + private String volOverMinDate; + + /** + * 电压越上限天数 + */ + @ApiModelProperty(name = "volOverMaxSeverity", value = "电压越上限严重度") + private String volOverMaxSeverity; + + /** + * 电压越下限严重度 + */ + @ApiModelProperty(name = "volOverMinSeverity", value = "电压越下限严重度") + private String volOverMinSeverity; +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatOrgPvDetailVO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatOrgPvDetailVO.java new file mode 100644 index 000000000..7b868899a --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatOrgPvDetailVO.java @@ -0,0 +1,59 @@ +package com.njcn.harmonic.pojo.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * 获取电压越限分析返回前端实体类 + * + * @author wr + * @date 2022/11/28 + */ +@Data +@ApiModel("详细数据实体") +public class RStatOrgPvDetailVO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(name = "orgNo", value = "所属单位Code") + private String orgNo; + + @ApiModelProperty(name = "orgName", value = "所属单位名称") + private String orgName; + + @ApiModelProperty(name = "measurementPointId", value = "监测点id") + private String measurementPointId; + + @ApiModelProperty(name = "measurementPointName", value = "监测点名称") + private String measurementPointName; + + @ApiModelProperty(name = "voltageLevels", value = "电压等级") + private String voltageLevels; + + @ApiModelProperty(name = "monitorSort", value = "监测点类别(字典)") + private String monitorSort; + + @ApiModelProperty(name = "volOverMax", value = "电压上限值") + private Float volOverMax; + + @ApiModelProperty(name = "volOverMin", value = "电压下限值") + private Float volOverMin; + + @ApiModelProperty(name = "volOverMin", value = "潮流倒送电量") + private String streamElectricity; + + @ApiModelProperty(name = "volOverMin", value = "潮流倒送时设备负载率") + private String streamLoadRate; + + @ApiModelProperty(name = "permeability", value = "渗透率") + private String permeability; + + @ApiModelProperty(name = "lowPowerFactor", value = "功率因数") + private String lowPowerFactor; + + + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatOrgPvPowerStreamVO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatOrgPvPowerStreamVO.java new file mode 100644 index 000000000..c54fe65bd --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatOrgPvPowerStreamVO.java @@ -0,0 +1,40 @@ +package com.njcn.harmonic.pojo.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * 获取电压越限分析返回前端实体类 + * + * @author wr + * @date 2022/11/22 + */ +@Data +@ApiModel("低功率因数实体") +public class RStatOrgPvPowerStreamVO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(name = "orgNo", value = "所属单位") + private String orgNo; + + @ApiModelProperty(name = "monitoringObject", value = "监测对象") + private String monitoringObject; + + @ApiModelProperty(name = "lowPowerFactor89", value = "0.8-0.9") + private Integer lowPowerFactor89; + + @ApiModelProperty(name = "lowPowerFactor78", value = "0.7-0.8") + private Integer lowPowerFactor78; + + @ApiModelProperty(name = "lowPowerFactor7", value = "0.7以下") + private Integer lowPowerFactor7; + + @ApiModelProperty(name = "lowPowerFactorRatio", value = "低功率因数占比") + private Float lowPowerFactorRatio; + + +} diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatOrgPvVO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatOrgPvVO.java new file mode 100644 index 000000000..428f462eb --- /dev/null +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatOrgPvVO.java @@ -0,0 +1,72 @@ +package com.njcn.harmonic.pojo.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.List; + +/** + * 分布式光伏-分布式光伏总览返回前端实体类 + * + * @author yzh + * @date 2022/11/24 + */ +@Data +@ApiModel("分布式光伏-分布式光伏总览返回前端实体类") +public class RStatOrgPvVO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 潮流倒送 + */ + @ApiModelProperty(name = "flowReversal", value = "潮流倒送") + private List flowReversal; + + /** + * 电压越限 + */ + @ApiModelProperty(name = "voltageOutOfLimit", value = "电压越限") + private List voltageOutOfLimit; + + /** + * 光伏渗透率 + */ + @ApiModelProperty(name = "pvPermeability", value = "光伏渗透率") + private List pvPermeability; + + /** + * 低功率因素 + */ + @ApiModelProperty(name = "lowPowerFactor", value = "低功率因素") + private List lowPowerFactor; + + @Data + @EqualsAndHashCode(callSuper = true) + public static class FlowReversal extends SimpleVO { + } + + @Data + @EqualsAndHashCode(callSuper = true) + public static class VoltageOutOfLimit extends SimpleVO { + } + + @Data + @EqualsAndHashCode(callSuper = true) + public static class PvPermeability extends SimpleVO { + } + + @Data + @EqualsAndHashCode(callSuper = true) + public static class LowPowerFactor extends SimpleVO { + } + + @Data + private static class SimpleVO { + private String monitor; + private String type; + } +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/CustomReportController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/CustomReportController.java index b64ddb6bf..eb5704bbc 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/CustomReportController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/CustomReportController.java @@ -219,9 +219,9 @@ public class CustomReportController extends BaseController { @PostMapping("/getCustomReport") @ApiOperation("获取报表") @ApiImplicitParam(name = "reportSearchParam", value = "查询体", required = false) - public HttpResult getCustomReport(@RequestBody ReportSearchParam reportSearchParam){ + public HttpResult> getCustomReport(@RequestBody ReportSearchParam reportSearchParam){ String methodDescribe = getMethodDescribe("getCustomReport"); - String res = customReportService.getCustomReport(reportSearchParam); + List res = customReportService.getCustomReport(reportSearchParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, res, methodDescribe); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/specialanalysis/DistributedPvOverviewController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/specialanalysis/DistributedPvOverviewController.java new file mode 100644 index 000000000..ffc373931 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/specialanalysis/DistributedPvOverviewController.java @@ -0,0 +1,92 @@ +package com.njcn.harmonic.controller.specialanalysis; + +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.enums.common.LogEnum; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +import com.njcn.harmonic.pojo.vo.RStatOrgPvVO; +import com.njcn.harmonic.service.specialanalysis.DistributedPvOverviewService; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 专项分析-分布式光伏-分布式光伏总览 + * + * @author yzh + * @date 2022/11/24 + */ + +@RestController +@RequestMapping("/distributedPvOverview") +@Slf4j +@Api(tags = "专项分析-分布式光伏") +@RequiredArgsConstructor +public class DistributedPvOverviewController extends BaseController { + + private final DistributedPvOverviewService distributedPvOverviewService; + + /** + * 按区域获取分布式光伏总览 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/11/24 + */ + @PostMapping("/getDistributedPvOverviewArea") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("按区域获取分布式光伏总览") + @ApiImplicitParam(name = "param", value = "条件参数", required = true) + public HttpResult getDistributedPvOverviewArea(@RequestBody StatisticsBizBaseParam param) { + String methodDescribe = getMethodDescribe("getDistributedPvOverviewArea"); + RStatOrgPvVO list = distributedPvOverviewService.getDistributedPvOverviewArea(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + + /** + * 按电压等级获取分布式光伏总览 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/11/24 + */ + @PostMapping("/getDistributedPvOverviewVoltage") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("按电压等级获取分布式光伏总览") + @ApiImplicitParam(name = "param", value = "条件参数", required = true) + public HttpResult getDistributedPvOverviewVoltage(@RequestBody StatisticsBizBaseParam param) { + String methodDescribe = getMethodDescribe("getDistributedPvOverviewVoltage"); + RStatOrgPvVO list = distributedPvOverviewService.getDistributedPvOverviewVoltage(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + + /** + * 按监测点类型获取分布式光伏总览 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/11/24 + */ + @PostMapping("/getDistributedPvOverviewLineSort") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("按监测点类型获取分布式光伏总览") + @ApiImplicitParam(name = "param", value = "条件参数", required = true) + public HttpResult getDistributedPvOverviewLineSort(@RequestBody StatisticsBizBaseParam param) { + String methodDescribe = getMethodDescribe("getDistributedPvOverviewLineSort"); + RStatOrgPvVO list = distributedPvOverviewService.getDistributedPvOverviewLineSort(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/specialanalysis/DistributedPvVolOverController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/specialanalysis/DistributedPvVolOverController.java new file mode 100644 index 000000000..c87ab72e0 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/specialanalysis/DistributedPvVolOverController.java @@ -0,0 +1,56 @@ +package com.njcn.harmonic.controller.specialanalysis; + +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.enums.common.LogEnum; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +import com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO; +import com.njcn.harmonic.service.specialanalysis.DistributedPvVolOverService; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 专项分析-分布式光伏-电压越限分析 + * + * @author yzh + * @date 2022/11/15 + */ +@RestController +@RequestMapping("/distributedPvVolOver") +@Slf4j +@Api(tags = "专项分析-分布式光伏") +@RequiredArgsConstructor +public class DistributedPvVolOverController extends BaseController { + + private final DistributedPvVolOverService distributedPvVolOverService; + + /** + * 获取电压越限分析 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/11/22 + */ + @PostMapping("/getVoltageOutOfLimitAnalysis") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("获取分布式光伏电压越限分析") + @ApiImplicitParam(name = "param", value = "条件参数", required = true) + public HttpResult> getVoltageOutOfLimitAnalysis(@RequestBody StatisticsBizBaseParam param) { + String methodDescribe = getMethodDescribe("getVoltageOutOfLimitAnalysis"); + List list = distributedPvVolOverService.getVoltageOutOfLimitAnalysis(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/specialanalysis/RStatOrgPvPowerQualityController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/specialanalysis/RStatOrgPvPowerQualityController.java new file mode 100644 index 000000000..fc5bc6413 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/specialanalysis/RStatOrgPvPowerQualityController.java @@ -0,0 +1,69 @@ +package com.njcn.harmonic.controller.specialanalysis; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.enums.common.LogEnum; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +import com.njcn.harmonic.pojo.param.PowerQualityParam; +import com.njcn.harmonic.pojo.vo.RStatOrgPvDetailVO; +import com.njcn.harmonic.pojo.vo.RStatOrgPvPowerStreamVO; +import com.njcn.harmonic.service.specialanalysis.RStatOrgPvPowerQualityService; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +/** + * <专项分析-分布式光伏> + * + * @author wr + * @createTime: 2022-11-25 + */ +@RestController +@RequestMapping("/distributedPvVolOver") +@Api(tags = "专项分析-分布式光伏") +@RequiredArgsConstructor +public class RStatOrgPvPowerQualityController extends BaseController { + + private final RStatOrgPvPowerQualityService rStatOrgPvPowerQualityService; + + + /** + * 低功率因数统计 + * @param param + * @return + */ + @PostMapping("/getPowerQualityStream") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("低功率因数统计") + @ApiImplicitParam(name = "param", value = "分页查询参数", required = true) + public HttpResult> getPowerQualityStream(@RequestBody PowerQualityParam param) { + String methodDescribe = getMethodDescribe("getPowerQualityStream"); + Page powerQualityStream = rStatOrgPvPowerQualityService.getPowerQualityStream(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, powerQualityStream, methodDescribe); + } + + /** + * 详细数据表分页查询 + * @param param + * @return + */ + @PostMapping("/getPowerQualityInfo") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("详细数据表分页查询") + @ApiImplicitParam(name = "param", value = "分页查询参数", required = true) + public HttpResult> getPowerQualityInfo(@RequestBody PowerQualityParam.PowerQualityDetailInfoParam param) { + String methodDescribe = getMethodDescribe("getPowerQualityInfo"); + Page powerQualityInfo = rStatOrgPvPowerQualityService.getPowerQualityInfo(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, powerQualityInfo, methodDescribe); + } + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/specialanalysis/WindFarmController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/specialanalysis/WindFarmController.java new file mode 100644 index 000000000..86d429d19 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/specialanalysis/WindFarmController.java @@ -0,0 +1,26 @@ +package com.njcn.harmonic.controller.specialanalysis; + + +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 专项分析-风电站-详细数据 + *

+ * + * @author wr + * @since 2022-11-30 + */ +@RestController +@Api(tags = "专项分析-风电场") +@RequiredArgsConstructor +@RequestMapping("/windFarm") +public class WindFarmController extends BaseController { + +} + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RMpInharmonicVRateReportDMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RMpInharmonicVRateReportDMapper.xml index ceb89eba0..7947c4c23 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RMpInharmonicVRateReportDMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RMpInharmonicVRateReportDMapper.xml @@ -5,281 +5,280 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - measurement_point_id,data_date,phase, - inharm_v_1_max,inharm_v_1_min,inharm_v_1_avg, - inharm_v_1_cp95,inharm_v_2_max,inharm_v_2_min, - inharm_v_2_avg,inharm_v_2_cp95,inharm_v_3_max, - inharm_v_3_min,inharm_v_3_avg,inharm_v_3_cp95, - inharm_v_4_max,inharm_v_4_min,inharm_v_4_avg, - inharm_v_4_cp95,inharm_v_5_max,inharm_v_5_min, - inharm_v_5_avg,inharm_v_5_cp95,inharm_v_6_max, - inharm_v_6_min,inharm_v_6_avg,inharm_v_6_cp95, - inharm_v_7_max,inharm_v_7_min,inharm_v_7_avg, - inharm_v_7_cp95,inharm_v_8_max,inharm_v_8_min, - inharm_v_8_avg,inharm_v_8_cp95,inharm_v_9_max, - inharm_v_9_min,inharm_v_9_avg,inharm_v_9_cp95, - inharm_v_10_max,inharm_v_10_min,inharm_v_10_avg, - inharm_v_10_cp95,inharm_v_11_max,inharm_v_11_min, - inharm_v_11_avg,inharm_v_11_cp95,inharm_v_12_max, - inharm_v_12_min,inharm_v_12_avg,inharm_v_12_cp95, - inharm_v_13_max,inharm_v_13_min,inharm_v_13_avg, - inharm_v_13_cp95,inharm_v_14_max,inharm_v_14_min, - inharm_v_14_avg,inharm_v_14_cp95,inharm_v_15_max, - inharm_v_15_min,inharm_v_15_avg,inharm_v_15_cp95, - inharm_v_16_max,inharm_v_16_min,inharm_v_16_avg, - inharm_v_16_cp95,inharm_v_17_max,inharm_v_17_min, - inharm_v_17_avg,inharm_v_17_cp95,inharm_v_18_max, - inharm_v_18_min,inharm_v_18_avg,inharm_v_18_cp95, - inharm_v_19_max,inharm_v_19_min,inharm_v_19_avg, - inharm_v_19_cp95,inharm_v_20_max,inharm_v_20_min, - inharm_v_20_avg,inharm_v_20_cp95,inharm_v_21_max, - inharm_v_21_min,inharm_v_21_avg,inharm_v_21_cp95, - inharm_v_22_max,inharm_v_22_min,inharm_v_22_avg, - inharm_v_22_cp95,inharm_v_23_max,inharm_v_23_min, - inharm_v_23_avg,inharm_v_23_cp95,inharm_v_24_max, - inharm_v_24_min,inharm_v_24_avg,inharm_v_24_cp95, - inharm_v_25_max,inharm_v_25_min,inharm_v_25_avg, - inharm_v_25_cp95,inharm_v_26_max,inharm_v_26_min, - inharm_v_26_avg,inharm_v_26_cp95,inharm_v_27_max, - inharm_v_27_min,inharm_v_27_avg,inharm_v_27_cp95, - inharm_v_28_max,inharm_v_28_min,inharm_v_28_avg, - inharm_v_28_cp95,inharm_v_29_max,inharm_v_29_min, - inharm_v_29_avg,inharm_v_29_cp95,inharm_v_30_max, - inharm_v_30_min,inharm_v_30_avg,inharm_v_30_cp95, - inharm_v_31_max,inharm_v_31_min,inharm_v_31_avg, - inharm_v_31_cp95,inharm_v_32_max,inharm_v_32_min, - inharm_v_32_avg,inharm_v_32_cp95,inharm_v_33_max, - inharm_v_33_min,inharm_v_33_avg,inharm_v_33_cp95, - inharm_v_34_max,inharm_v_34_min,inharm_v_34_avg, - inharm_v_34_cp95,inharm_v_35_max,inharm_v_35_min, - inharm_v_35_avg,inharm_v_35_cp95,inharm_v_36_max, - inharm_v_36_min,inharm_v_36_avg,inharm_v_36_cp95, - inharm_v_37_max,inharm_v_37_min,inharm_v_37_avg, - inharm_v_37_cp95,inharm_v_38_max,inharm_v_38_min, - inharm_v_38_avg,inharm_v_38_cp95,inharm_v_39_max, - inharm_v_39_min,inharm_v_39_avg,inharm_v_39_cp95, - inharm_v_40_max,inharm_v_40_min,inharm_v_40_avg, - inharm_v_40_cp95,inharm_v_41_max,inharm_v_41_min, - inharm_v_41_avg,inharm_v_41_cp95,inharm_v_42_max, - inharm_v_42_min,inharm_v_42_avg,inharm_v_42_cp95, - inharm_v_43_max,inharm_v_43_min,inharm_v_43_avg, - inharm_v_43_cp95,inharm_v_44_max,inharm_v_44_min, - inharm_v_44_avg,inharm_v_44_cp95,inharm_v_45_max, - inharm_v_45_min,inharm_v_45_avg,inharm_v_45_cp95, - inharm_v_46_max,inharm_v_46_min,inharm_v_46_avg, - inharm_v_46_cp95,inharm_v_47_max,inharm_v_47_min, - inharm_v_47_avg,inharm_v_47_cp95,inharm_v_48_max, - inharm_v_48_min,inharm_v_48_avg,inharm_v_48_cp95, - inharm_v_49_max,inharm_v_49_min,inharm_v_49_avg, - inharm_v_49_cp95,inharm_v_50_max,inharm_v_50_min, - inharm_v_50_avg,inharm_v_50_cp95 - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + measurement_point_id, data_date, phase, centre_harmonic_voltage_content1_max, centre_harmonic_voltage_content1_min, + centre_harmonic_voltage_content1_avg, centre_harmonic_voltage_content1_cp95, centre_harmonic_voltage_content2_max, + centre_harmonic_voltage_content2_min, centre_harmonic_voltage_content2_avg, centre_harmonic_voltage_content2_cp95, + centre_harmonic_voltage_content3_max, centre_harmonic_voltage_content3_min, centre_harmonic_voltage_content3_avg, + centre_harmonic_voltage_content3_cp95, centre_harmonic_voltage_content4_max, centre_harmonic_voltage_content4_min, + centre_harmonic_voltage_content4_avg, centre_harmonic_voltage_content4_cp95, centre_harmonic_voltage_content5_max, + centre_harmonic_voltage_content5_min, centre_harmonic_voltage_content5_avg, centre_harmonic_voltage_content5_cp95, + centre_harmonic_voltage_content6_max, centre_harmonic_voltage_content6_min, centre_harmonic_voltage_content6_avg, + centre_harmonic_voltage_content6_cp95, centre_harmonic_voltage_content7_max, centre_harmonic_voltage_content7_min, + centre_harmonic_voltage_content7_avg, centre_harmonic_voltage_content7_cp95, centre_harmonic_voltage_content8_max, + centre_harmonic_voltage_content8_min, centre_harmonic_voltage_content8_avg, centre_harmonic_voltage_content8_cp95, + centre_harmonic_voltage_content9_max, centre_harmonic_voltage_content9_min, centre_harmonic_voltage_content9_avg, + centre_harmonic_voltage_content9_cp95, centre_harmonic_voltage_content10_max, centre_harmonic_voltage_content10_min, + centre_harmonic_voltage_content10_avg, centre_harmonic_voltage_content10_cp95, centre_harmonic_voltage_content11_max, + centre_harmonic_voltage_content11_min, centre_harmonic_voltage_content11_avg, centre_harmonic_voltage_content11_cp95, + centre_harmonic_voltage_content12_max, centre_harmonic_voltage_content12_min, centre_harmonic_voltage_content12_avg, + centre_harmonic_voltage_content12_cp95, centre_harmonic_voltage_content13_max, centre_harmonic_voltage_content13_min, + centre_harmonic_voltage_content13_avg, centre_harmonic_voltage_content13_cp95, centre_harmonic_voltage_content14_max, + centre_harmonic_voltage_content14_min, centre_harmonic_voltage_content14_avg, centre_harmonic_voltage_content14_cp95, + centre_harmonic_voltage_content15_max, centre_harmonic_voltage_content15_min, centre_harmonic_voltage_content15_avg, + centre_harmonic_voltage_content15_cp95, centre_harmonic_voltage_content16_max, centre_harmonic_voltage_content16_min, + centre_harmonic_voltage_content16_avg, centre_harmonic_voltage_content16_cp95, centre_harmonic_voltage_content17_max, + centre_harmonic_voltage_content17_min, centre_harmonic_voltage_content17_avg, centre_harmonic_voltage_content17_cp95, + centre_harmonic_voltage_content18_max, centre_harmonic_voltage_content18_min, centre_harmonic_voltage_content18_avg, + centre_harmonic_voltage_content18_cp95, centre_harmonic_voltage_content19_max, centre_harmonic_voltage_content19_min, + centre_harmonic_voltage_content19_avg, centre_harmonic_voltage_content19_cp95, centre_harmonic_voltage_content20_max, + centre_harmonic_voltage_content20_min, centre_harmonic_voltage_content20_avg, centre_harmonic_voltage_content20_cp95, + centre_harmonic_voltage_content21_max, centre_harmonic_voltage_content21_min, centre_harmonic_voltage_content21_avg, + centre_harmonic_voltage_content21_cp95, centre_harmonic_voltage_content22_max, centre_harmonic_voltage_content22_min, + centre_harmonic_voltage_content22_avg, centre_harmonic_voltage_content22_cp95, centre_harmonic_voltage_content23_max, + centre_harmonic_voltage_content23_min, centre_harmonic_voltage_content23_avg, centre_harmonic_voltage_content23_cp95, + centre_harmonic_voltage_content24_max, centre_harmonic_voltage_content24_min, centre_harmonic_voltage_content24_avg, + centre_harmonic_voltage_content24_cp95, centre_harmonic_voltage_content25_max, centre_harmonic_voltage_content25_min, + centre_harmonic_voltage_content25_avg, centre_harmonic_voltage_content25_cp95, centre_harmonic_voltage_content26_max, + centre_harmonic_voltage_content26_min, centre_harmonic_voltage_content26_avg, centre_harmonic_voltage_content26_cp95, + centre_harmonic_voltage_content27_max, centre_harmonic_voltage_content27_min, centre_harmonic_voltage_content27_avg, + centre_harmonic_voltage_content27_cp95, centre_harmonic_voltage_content28_max, centre_harmonic_voltage_content28_min, + centre_harmonic_voltage_content28_avg, centre_harmonic_voltage_content28_cp95, centre_harmonic_voltage_content29_max, + centre_harmonic_voltage_content29_min, centre_harmonic_voltage_content29_avg, centre_harmonic_voltage_content29_cp95, + centre_harmonic_voltage_content30_max, centre_harmonic_voltage_content30_min, centre_harmonic_voltage_content30_avg, + centre_harmonic_voltage_content30_cp95, centre_harmonic_voltage_content31_max, centre_harmonic_voltage_content31_min, + centre_harmonic_voltage_content31_avg, centre_harmonic_voltage_content31_cp95, centre_harmonic_voltage_content32_max, + centre_harmonic_voltage_content32_min, centre_harmonic_voltage_content32_avg, centre_harmonic_voltage_content32_cp95, + centre_harmonic_voltage_content33_max, centre_harmonic_voltage_content33_min, centre_harmonic_voltage_content33_avg, + centre_harmonic_voltage_content33_cp95, centre_harmonic_voltage_content34_max, centre_harmonic_voltage_content34_min, + centre_harmonic_voltage_content34_avg, centre_harmonic_voltage_content34_cp95, centre_harmonic_voltage_content35_max, + centre_harmonic_voltage_content35_min, centre_harmonic_voltage_content35_avg, centre_harmonic_voltage_content35_cp95, + centre_harmonic_voltage_content36_max, centre_harmonic_voltage_content36_min, centre_harmonic_voltage_content36_avg, + centre_harmonic_voltage_content36_cp95, centre_harmonic_voltage_content37_max, centre_harmonic_voltage_content37_min, + centre_harmonic_voltage_content37_avg, centre_harmonic_voltage_content37_cp95, centre_harmonic_voltage_content38_max, + centre_harmonic_voltage_content38_min, centre_harmonic_voltage_content38_avg, centre_harmonic_voltage_content38_cp95, + centre_harmonic_voltage_content39_max, centre_harmonic_voltage_content39_min, centre_harmonic_voltage_content39_avg, + centre_harmonic_voltage_content39_cp95, centre_harmonic_voltage_content40_max, centre_harmonic_voltage_content40_min, + centre_harmonic_voltage_content40_avg, centre_harmonic_voltage_content40_cp95, centre_harmonic_voltage_content41_max, + centre_harmonic_voltage_content41_min, centre_harmonic_voltage_content41_avg, centre_harmonic_voltage_content41_cp95, + centre_harmonic_voltage_content42_max, centre_harmonic_voltage_content42_min, centre_harmonic_voltage_content42_avg, + centre_harmonic_voltage_content42_cp95, centre_harmonic_voltage_content43_max, centre_harmonic_voltage_content43_min, + centre_harmonic_voltage_content43_avg, centre_harmonic_voltage_content43_cp95, centre_harmonic_voltage_content44_max, + centre_harmonic_voltage_content44_min, centre_harmonic_voltage_content44_avg, centre_harmonic_voltage_content44_cp95, + centre_harmonic_voltage_content45_max, centre_harmonic_voltage_content45_min, centre_harmonic_voltage_content45_avg, + centre_harmonic_voltage_content45_cp95, centre_harmonic_voltage_content46_max, centre_harmonic_voltage_content46_min, + centre_harmonic_voltage_content46_avg, centre_harmonic_voltage_content46_cp95, centre_harmonic_voltage_content47_max, + centre_harmonic_voltage_content47_min, centre_harmonic_voltage_content47_avg, centre_harmonic_voltage_content47_cp95, + centre_harmonic_voltage_content48_max, centre_harmonic_voltage_content48_min, centre_harmonic_voltage_content48_avg, + centre_harmonic_voltage_content48_cp95, centre_harmonic_voltage_content49_max, centre_harmonic_voltage_content49_min, + centre_harmonic_voltage_content49_avg, centre_harmonic_voltage_content49_cp95, centre_harmonic_voltage_content50_max, + centre_harmonic_voltage_content50_min, centre_harmonic_voltage_content50_avg, centre_harmonic_voltage_content50_cp95 + + SELECT + org_no, + monitoring_object, + SUM(IF(`area_pq_event_type`=#{param.mapId.eventTypeL,javaType=string},total_monitor_num,0)) as lowPowerFactor89, + SUM(IF(`area_pq_event_type`=#{param.mapId.eventTypeP,javaType=string},total_monitor_num,0)) as lowPowerFactor78, + SUM(IF(`area_pq_event_type`=#{param.mapId.eventTypeO,javaType=string},total_monitor_num,0)) as lowPowerFactor7, + IF(`monitoring_object`=`monitoring_object`,TRUNCATE(SUM(total_monitor_num)/SUM(monitor_valid_num),2),0) as lowPowerFactorRatio + FROM + + r_stat_org_pv_power_quality_y + + + r_stat_org_pv_power_quality_q + + + r_stat_org_pv_power_quality_m + + + `area_pq_event_type` in ( + #{param.mapId.eventTypeL,javaType=string}, + #{param.mapId.eventTypeP,javaType=string}, + #{param.mapId.eventTypeO,javaType=string} + ) + + AND org_no IN + + #{item} + + + + AND data_date >= #{param.startTime} + + + AND data_date <= #{param.endTime} + + + + GROUP BY + org_no,monitoring_object + + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RStatOrgPvVoltageMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RStatOrgPvVoltageMapper.xml new file mode 100644 index 000000000..8d4f62cda --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/specialanalysis/mapping/RStatOrgPvVoltageMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + data_date,org_no,voltage_class, + area_pq_event_type,user_num,installed_capacity, + monitor_point_num + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/CustomReportService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/CustomReportService.java index b9c946367..3a8f728bc 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/CustomReportService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/CustomReportService.java @@ -70,7 +70,7 @@ public interface CustomReportService { * @author qijian * @date 2022/10/18 */ - String getCustomReport(ReportSearchParam reportSearchParam); + List getCustomReport(ReportSearchParam reportSearchParam); /** diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRStatOrgServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRStatOrgServiceImpl.java index 1ad518f9e..a657d1ccc 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRStatOrgServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRStatOrgServiceImpl.java @@ -231,7 +231,7 @@ public class PwRStatOrgServiceImpl extends ServiceImpl info = new ArrayList<>(); if (CollectionUtil.isNotEmpty(deptDTOList)) { - // 根据暂态指标枚举查询暂态指标 + // 根据暂态指标查询暂态指标 List steadyStatis = dicDataFeignClient.getDicDataByTypeCode( DicDataTypeEnum.STEADY_STATIS.getCode()).getData(); List temp = new ArrayList<>(); diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java index 0e1706de3..5a7eb6704 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java @@ -228,132 +228,31 @@ public class CustomReportServiceImpl implements CustomReportService { @Override - public String getCustomReport(ReportSearchParam reportSearchParam) { - + public List getCustomReport(ReportSearchParam reportSearchParam) { + List results = new ArrayList<>(); ExcelRptTemp excelRptTemp = excelRptTempMapper.selectById(reportSearchParam.getTempId()); if (Objects.isNull(excelRptTemp)) { throw new BusinessException(HarmonicResponseEnum.CUSTOM_REPORT_ACTIVE); } - //根据content,获取v值并进行处理 - List reportTemplateDTOList = new ArrayList<>(); - JSONArray jsonArray = null; - try { - //通过文件服务器获取 - String objectUrl = minIoUtils.getObjectUrl(minIoProperties.getBucket(), excelRptTemp.getContent(), 7 * 24 * 60 * 60); - jsonArray = JSONUtil.parseArray(urlToString(objectUrl)); - jsonArray.forEach(item -> { - JSONObject jsonObject = (JSONObject) item; - JSONArray itemArr = (JSONArray) jsonObject.get("celldata"); - itemArr.forEach((it) -> { - if (Objects.nonNull(it) && !"null".equals(it.toString())) { - //获取到1列 - JSONObject data = (JSONObject) it; - JSONObject son = (JSONObject) data.get("v"); - if (son.containsKey("v")) { - String v = son.getStr("v"); - //数据格式:$HA[_25]#B#max#classId$ 或 $HA[_25]#max#classId$ - if (v.charAt(0) == '$' && v.contains("#")) { - //剔除前后$ - v = v.replace("$", ""); - //封装ReportTemplateDTO - ReportTemplateDTO reportTemplateDTO = new ReportTemplateDTO(); - reportTemplateDTO.setItemName(v); - //根据#分割数据 - String[] vItem = v.split("#"); - if (vItem.length == 4) { - //$HA[_25]#B#max#classId$ - reportTemplateDTO.setTemplateName(vItem[0]); - reportTemplateDTO.setPhase(vItem[1]); - reportTemplateDTO.setStatMethod(vItem[2].toUpperCase()); - reportTemplateDTO.setClassId(vItem[3]); - } else if (vItem.length == 3) { - //$HA[_25]#max#classId$ - reportTemplateDTO.setTemplateName(vItem[0]); - reportTemplateDTO.setPhase("M"); - reportTemplateDTO.setStatMethod(vItem[1].toUpperCase()); - reportTemplateDTO.setClassId(vItem[2]); - } - - reportTemplateDTOList.add(reportTemplateDTO); - } - } - } - }); - }); - } catch (Exception e) { - throw new BusinessException(HarmonicResponseEnum.CUSTOM_REPORT_JSON); + //先查询库里是否存在已解析的报表数据,存在直接返回/不存在解析数据 + LambdaQueryWrapper lambdaQuery = new LambdaQueryWrapper<>(); + lambdaQuery.eq(ExcelRpt::getLineId, reportSearchParam.getLineId()).eq(ExcelRpt::getTempId, reportSearchParam.getTempId()); + List excelRpts = excelRptMapper.selectList(lambdaQuery); + String content; + if (excelRpts.size() > 0){ + content = minIoUtils.getObjectUrl(minIoProperties.getBucket(), excelRpts.get(0).getContent(), 7 * 24 * 60 * 60); + }else{ + content = analyzeReport(reportSearchParam,excelRptTemp); } - List endList = new ArrayList<>(); - if (CollUtil.isNotEmpty(reportTemplateDTOList)) { - //开始组织sql - reportTemplateDTOList.stream().forEach(data -> { - StringBuilder sql = new StringBuilder(InfluxDBSqlConstant.SELECT); - if (InfluxDBTableConstant.MAX.equals(data.getStatMethod())) { - assSql(data, sql, endList, InfluxDBSqlConstant.MAX, reportSearchParam); - } else if (InfluxDBTableConstant.MIN.equals(data.getStatMethod())) { - assSql(data, sql, endList, InfluxDBSqlConstant.MIN, reportSearchParam); - } else if (InfluxDBTableConstant.AVG.equals(data.getStatMethod())) { - assSql(data, sql, endList, InfluxDBSqlConstant.AVG, reportSearchParam); - } else if (InfluxDBTableConstant.CP95.equals(data.getStatMethod())) { - assSql(data, sql, endList, InfluxDBSqlConstant.CP95, reportSearchParam); - } - }); - } - - if (CollUtil.isNotEmpty(endList)) { - //进行反向赋值到模板 - //1、根据itemName分组 - Map> assMap = endList.stream().collect(Collectors.groupingBy(ReportTemplateDTO::getItemName)); - //2、把itemName的value赋给v和m - jsonArray.forEach(item -> { - JSONObject jsonObject = (JSONObject) item; - JSONArray itemArr = (JSONArray) jsonObject.get("celldata"); - itemArr.forEach((it) -> { - if (Objects.nonNull(it) && !"null".equals(it.toString())) { - //获取到1列 - JSONObject data = (JSONObject) it; - JSONObject son = (JSONObject) data.get("v"); - if (son.containsKey("v")) { - String v = son.getStr("v"); - //数据格式:$HA[_25]#B#max#classId$ 或 $HA[_25]#max#classId$ - if (v.charAt(0) == '$' && v.contains("#")) { - String str = assMap.get(v.replace("$", "")).get(0).getValue(); - //没有值,赋"/" - if (StringUtils.isBlank(str)) { - str = "/"; - } - son.set("v", str); - } - } - } - }); - }); - } - - //文件上传到Minio服务器,存入文件名 - File newFile = stringToFile(jsonArray.toString()); - MultipartFile newMultipartFile = getMultipartFile(newFile); - MinIoUploadResDTO minIoUploadResDTO = contentToMinio(newMultipartFile); - String newContent = minIoUploadResDTO.getMinFileName(); - //根据模板激活状态,判断是否进库(未激活不进库,已激活进库) - if (DataStateEnum.ENABLE.getCode().equals(reportSearchParam.getActivation())) { - //存入报表库 - ExcelRpt excelRpt = new ExcelRpt(); - excelRpt.setName(excelRptTemp.getName()); - excelRpt.setLineId(reportSearchParam.getLineId()); - excelRpt.setDataDate(DateUtil.parse(reportSearchParam.getStartTime())); - excelRpt.setTempId(excelRptTemp.getId()); - excelRpt.setContent(newContent); - excelRpt.setType(reportSearchParam.getType()); - excelRpt.setState(DataStateEnum.ENABLE.getCode()); - excelRptMapper.insert(excelRpt); - } - - return minIoUtils.getObjectUrl(minIoProperties.getBucket(), newContent, 7 * 24 * 60 * 60); + //拼接数据 + results.add(excelRptTemp.getReportForm()); + results.add(content); + return results; } + @Override public List reportChooseTree() { LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); @@ -462,6 +361,132 @@ public class CustomReportServiceImpl implements CustomReportService { } + /** + * 解析报表数据 + */ + private String analyzeReport(ReportSearchParam reportSearchParam,ExcelRptTemp excelRptTemp){ + //根据content,获取v值并进行处理 + List reportTemplateDTOList = new ArrayList<>(); + JSONArray jsonArray = null; + try { + //通过文件服务器获取 + String objectUrl = minIoUtils.getObjectUrl(minIoProperties.getBucket(), excelRptTemp.getContent(), 7 * 24 * 60 * 60); + jsonArray = JSONUtil.parseArray(urlToString(objectUrl)); + jsonArray.forEach(item -> { + JSONObject jsonObject = (JSONObject) item; + JSONArray itemArr = (JSONArray) jsonObject.get("celldata"); + itemArr.forEach((it) -> { + if (Objects.nonNull(it) && !"null".equals(it.toString())) { + //获取到1列 + JSONObject data = (JSONObject) it; + JSONObject son = (JSONObject) data.get("v"); + if (son.containsKey("v")) { + String v = son.getStr("v"); + //数据格式:$HA[_25]#B#max#classId$ 或 $HA[_25]#max#classId$ + if (v.charAt(0) == '$' && v.contains("#")) { + //剔除前后$ + v = v.replace("$", ""); + //封装ReportTemplateDTO + ReportTemplateDTO reportTemplateDTO = new ReportTemplateDTO(); + reportTemplateDTO.setItemName(v); + //根据#分割数据 + String[] vItem = v.split("#"); + if (vItem.length == 4) { + //$HA[_25]#B#max#classId$ + reportTemplateDTO.setTemplateName(vItem[0]); + reportTemplateDTO.setPhase(vItem[1].substring(0,1)); + reportTemplateDTO.setStatMethod(vItem[2].toUpperCase()); + reportTemplateDTO.setClassId(vItem[3]); + } else if (vItem.length == 3) { + //$HA[_25]#max#classId$ + reportTemplateDTO.setTemplateName(vItem[0]); + reportTemplateDTO.setPhase("M"); + reportTemplateDTO.setStatMethod(vItem[1].toUpperCase()); + reportTemplateDTO.setClassId(vItem[2]); + } + + reportTemplateDTOList.add(reportTemplateDTO); + } + } + } + }); + }); + } catch (Exception e) { + throw new BusinessException(HarmonicResponseEnum.CUSTOM_REPORT_JSON); + } + + List endList = new ArrayList<>(); + if (CollUtil.isNotEmpty(reportTemplateDTOList)) { + //开始组织sql + reportTemplateDTOList.stream().forEach(data -> { + StringBuilder sql = new StringBuilder(InfluxDBSqlConstant.SELECT); + if (InfluxDBTableConstant.MAX.equals(data.getStatMethod())) { + assSql(data, sql, endList, InfluxDBSqlConstant.MAX, reportSearchParam); + } else if (InfluxDBTableConstant.MIN.equals(data.getStatMethod())) { + assSql(data, sql, endList, InfluxDBSqlConstant.MIN, reportSearchParam); + } else if (InfluxDBTableConstant.AVG.equals(data.getStatMethod())) { + assSql(data, sql, endList, InfluxDBSqlConstant.AVG, reportSearchParam); + } else if (InfluxDBTableConstant.CP95.equals(data.getStatMethod())) { + assSql(data, sql, endList, InfluxDBSqlConstant.CP95, reportSearchParam); + } + }); + } + + if (CollUtil.isNotEmpty(endList)) { + //进行反向赋值到模板 + //1、根据itemName分组 + Map> assMap = endList.stream().collect(Collectors.groupingBy(ReportTemplateDTO::getItemName)); + //2、把itemName的value赋给v和m + jsonArray.forEach(item -> { + JSONObject jsonObject = (JSONObject) item; + JSONArray itemArr = (JSONArray) jsonObject.get("celldata"); + itemArr.forEach((it) -> { + if (Objects.nonNull(it) && !"null".equals(it.toString())) { + //获取到1列 + JSONObject data = (JSONObject) it; + JSONObject son = (JSONObject) data.get("v"); + if (son.containsKey("v")) { + String v = son.getStr("v"); + //数据格式:$HA[_25]#B#max#classId$ 或 $HA[_25]#max#classId$ + if (v.charAt(0) == '$' && v.contains("#")) { + String str = assMap.get(v.replace("$", "")).get(0).getValue(); + //没有值,赋"/" + if (StringUtils.isBlank(str)) { + str = "/"; + } + son.set("v", str); + } + } + } + }); + }); + } + + //文件上传到Minio服务器,存入文件名 + File newFile = stringToFile(jsonArray.toString()); + MultipartFile newMultipartFile = getMultipartFile(newFile); + MinIoUploadResDTO minIoUploadResDTO = contentToMinio(newMultipartFile); + String newContent = minIoUploadResDTO.getMinFileName(); + + //存入报表库 + ExcelRpt excelRpt = new ExcelRpt(); + excelRpt.setName(excelRptTemp.getName()); + excelRpt.setLineId(reportSearchParam.getLineId()); + excelRpt.setDataDate(DateUtil.parse(reportSearchParam.getStartTime())); + excelRpt.setTempId(excelRptTemp.getId()); + excelRpt.setContent(newContent); + excelRpt.setType(reportSearchParam.getType()); + //根据模板激活状态,判断是否进库(修改State字段:0未进库 1已进库) + if (DataStateEnum.ENABLE.getCode().equals(reportSearchParam.getActivation())) { + excelRpt.setState(DataStateEnum.ENABLE.getCode()); + }else{ + excelRpt.setState(DataStateEnum.DELETED.getCode()); + } + excelRptMapper.insert(excelRpt); + + return newContent; + } + /** * 组装influxDB查询sql,查询value并封装endlist * @@ -476,21 +501,18 @@ public class CustomReportServiceImpl implements CustomReportService { }else{ sql.append(method).append(InfluxDBSqlConstant.LBK).append(data.getTemplateName()).append(InfluxDBSqlConstant.RBK).append(InfluxDBSqlConstant.AS_VALUE); } - + sql.append(InfluxDBSqlConstant.FROM).append(data.getClassId()).append(InfluxDBSqlConstant.WHERE).append(InfluxDBTableConstant.LINE_ID).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(reportSearchParam.getLineId()).append(InfluxDBSqlConstant.QM); //相别特殊处理 - if (InfluxDBTableConstant.NO_PHASE.equals(data.getPhase())) { - sql.append(InfluxDBSqlConstant.FROM).append(data.getClassId()) - .append(InfluxDBSqlConstant.WHERE).append(InfluxDBTableConstant.LINE_ID).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(reportSearchParam.getLineId()).append(InfluxDBSqlConstant.QM) - .append(InfluxDBSqlConstant.AND).append(InfluxDBTableConstant.VALUE_TYPE).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(data.getStatMethod()).append(InfluxDBSqlConstant.QM) - .append(InfluxDBSqlConstant.TZ); - } else { - sql.append(InfluxDBSqlConstant.FROM).append(data.getClassId()) - .append(InfluxDBSqlConstant.WHERE).append(InfluxDBTableConstant.LINE_ID).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(reportSearchParam.getLineId()).append(InfluxDBSqlConstant.QM) - .append(InfluxDBSqlConstant.AND).append(InfluxDBTableConstant.VALUE_TYPE).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(data.getStatMethod()).append(InfluxDBSqlConstant.QM) - .append(InfluxDBSqlConstant.AND).append(InfluxDBTableConstant.PHASIC_TYPE).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(data.getPhase()).append(InfluxDBSqlConstant.QM) - .append(InfluxDBSqlConstant.TZ); + if (!InfluxDBTableConstant.NO_PHASE.equals(data.getPhase())) { + sql.append(InfluxDBSqlConstant.AND).append(InfluxDBTableConstant.PHASIC_TYPE).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(data.getPhase()).append(InfluxDBSqlConstant.QM); } + //data_flicker、data_fluc、data_plt 无 value_type + if (!InfluxDBTableConstant.DATA_FLICKER.equals(data.getClassId()) && !InfluxDBTableConstant.DATA_FLUC.equals(data.getClassId()) && !InfluxDBTableConstant.DATA_PLT.equals(data.getClassId())){ + sql.append(InfluxDBSqlConstant.AND).append(InfluxDBTableConstant.VALUE_TYPE).append(InfluxDBSqlConstant.EQ).append(InfluxDBSqlConstant.QM).append(data.getStatMethod()).append(InfluxDBSqlConstant.QM); + } + sql.append(InfluxDBSqlConstant.TZ); + //根据不同的库表赋值 QueryResult queryResult = influxDbUtils.query(String.valueOf(sql)); diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java index 0a2c0c22b..676399ab4 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java @@ -45,6 +45,8 @@ public class PollutionSubstationServiceImpl extends ServiceImpl wrapper = new QueryWrapper<> (); wrapper.in ("substation_id",collect). eq ("pollution_type", pollutionSubstationQuryParam.getPollutionStatis ().getId ()). - apply("DATE_FORMAT( data_date ,'%Y-%m') = '"+pollutionSubstationQuryParam.getLocalDate ()+"'"); + eq("DATE_FORMAT( data_date ,'%Y-%m')",pollutionSubstationQuryParam.getLocalDate ()); List rStatPollutionSubstationMList = pollutionSubstationMMapper.selectList (wrapper); pollutionSubstationDTOList.forEach (substationInfo ->{ @@ -173,7 +175,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl rStatPollutionOrgYPOQueryWrapper = new QueryWrapper<> (); rStatPollutionOrgYPOQueryWrapper.eq ("org_id", detpid). eq ("pollution_type", pollutionType). - apply("DATE_FORMAT( data_date ,'%Y-%m-%d') = '"+searchBeginTime+"'"); + eq("DATE_FORMAT( data_date ,'%Y-%m-%d')",searchBeginTime); RStatPollutionOrgYPO rStatPollutionOrgYPO = rStatPollutionOrgYPOMapper.selectOne (rStatPollutionOrgYPOQueryWrapper); ; Optional.ofNullable (rStatPollutionOrgYPO).ifPresent (a->pollutionVO.setData (a.getValue ())); @@ -181,7 +183,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl rStatPollutionOrgQPOQueryWrapper = new QueryWrapper<> (); rStatPollutionOrgQPOQueryWrapper.eq ("org_id", detpid). eq ("pollution_type", pollutionType). - apply("DATE_FORMAT( data_date ,'%Y-%m-%d') = '"+searchBeginTime+"'"); + eq("DATE_FORMAT( data_date ,'%Y-%m-%d')",searchBeginTime); RStatPollutionOrgQPO rStatPollutionOrgQPO = rStatPollutionOrgQPOMapper.selectOne (rStatPollutionOrgQPOQueryWrapper); ; Optional.ofNullable (rStatPollutionOrgQPO).ifPresent (a->pollutionVO.setData (a.getValue ())); @@ -191,7 +193,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl rStatPollutionOrgMPOQueryWrapper = new QueryWrapper<> (); rStatPollutionOrgMPOQueryWrapper.eq ("org_id", detpid). eq ("pollution_type", pollutionType). - apply("DATE_FORMAT( data_date ,'%Y-%m-%d') = '"+searchBeginTime+"'"); + eq("DATE_FORMAT( data_date ,'%Y-%m-%d')",searchBeginTime); RStatPollutionOrgMPO rStatPollutionOrgMPO = rStatPollutionOrgMPOMapper.selectOne (rStatPollutionOrgMPOQueryWrapper); ; Optional.ofNullable (rStatPollutionOrgMPO).ifPresent (a->pollutionVO.setData (a.getValue ())); @@ -200,7 +202,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl rStatPollutionOrgDPOQueryWrapper = new QueryWrapper<> (); rStatPollutionOrgDPOQueryWrapper.eq ("org_id", detpid). eq ("pollution_type", pollutionType). - apply("DATE_FORMAT( data_date ,'%Y-%m-%d') = '"+searchBeginTime+"'"); + eq("DATE_FORMAT( data_date ,'%Y-%m-%d')",searchBeginTime); RStatPollutionOrgDPO rStatPollutionOrgDPO = rStatPollutionOrgDPOMapper.selectOne (rStatPollutionOrgDPOQueryWrapper); ; Optional.ofNullable (rStatPollutionOrgDPO).ifPresent (a->pollutionVO.setData (a.getValue ())); @@ -222,7 +224,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl wrapper = new QueryWrapper<> (); wrapper.eq ("substation_id",id). eq ("pollution_type", pollutionType). - apply("DATE_FORMAT( data_date ,'%Y-%m-%d') = '"+searchBeginTime+"'"); + eq("DATE_FORMAT( data_date ,'%Y-%m-%d')",searchBeginTime); RStatPollutionSubstationYPO rStatPollutionSubstationYPO = pollutionSubstationYPOMapper.selectOne (wrapper); Optional.ofNullable (rStatPollutionSubstationYPO).ifPresent (t->pollutionsubVO.setData (t.getValue ())); @@ -230,7 +232,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl wrapper = new QueryWrapper<> (); wrapper.eq ("substation_id",id). eq ("pollution_type", pollutionType). - apply("DATE_FORMAT( data_date ,'%Y-%m-%d') = '"+searchBeginTime+"'"); + eq("DATE_FORMAT( data_date ,'%Y-%m-%d')",searchBeginTime); RStatPollutionSubstationQPO rStatPollutionSubstationQPO = pollutionSubstationQPOMapper.selectOne (wrapper); Optional.ofNullable (rStatPollutionSubstationQPO).ifPresent (t->pollutionsubVO.setData (t.getValue ())); @@ -238,7 +240,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl wrapper = new QueryWrapper<> (); wrapper.eq ("substation_id",id). eq ("pollution_type", pollutionType). - apply("DATE_FORMAT( data_date ,'%Y-%m-%d') = '"+searchBeginTime+"'"); + eq("DATE_FORMAT( data_date ,'%Y-%m-%d')",searchBeginTime); RStatPollutionSubstationM rStatPollutionSubstationM = pollutionSubstationMMapper.selectOne (wrapper); Optional.ofNullable (rStatPollutionSubstationM).ifPresent (t->pollutionsubVO.setData (t.getValue ())); @@ -247,7 +249,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl wrapper = new QueryWrapper<> (); wrapper.eq ("substation_id",id). eq ("pollution_type", pollutionType). - apply("DATE_FORMAT( data_date ,'%Y-%m-%d') = '"+searchBeginTime+"'"); + eq("DATE_FORMAT( data_date ,'%Y-%m-%d')",searchBeginTime); RStatPollutionSubstationDPO rStatPollutionSubstationDPO = pollutionSubstationDPOMapper.selectOne (wrapper); Optional.ofNullable (rStatPollutionSubstationDPO).ifPresent (t->pollutionsubVO.setData (t.getValue ())); @@ -288,7 +290,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl wrapper = new QueryWrapper<> (); wrapper.eq ("substation_id",id). eq ("pollution_type", pollutionType). - apply("DATE_FORMAT( data_date ,'%Y-%m-%d') = '"+searchBeginTime+"'"); + eq("DATE_FORMAT( data_date ,'%Y-%m-%d')",searchBeginTime); RStatPollutionSubstationYPO rStatPollutionSubstationYPO = pollutionSubstationYPOMapper.selectOne (wrapper); Optional.ofNullable (rStatPollutionSubstationYPO).ifPresent (t->pollutionSubstationDTO.setData (t.getValue ())); @@ -296,7 +298,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl wrapper = new QueryWrapper<> (); wrapper.eq ("substation_id",id). eq ("pollution_type", pollutionType). - apply("DATE_FORMAT( data_date ,'%Y-%m-%d') = '"+searchBeginTime+"'"); + eq("DATE_FORMAT( data_date ,'%Y-%m-%d')",searchBeginTime); RStatPollutionSubstationQPO rStatPollutionSubstationQPO = pollutionSubstationQPOMapper.selectOne (wrapper); Optional.ofNullable (rStatPollutionSubstationQPO).ifPresent (t->pollutionSubstationDTO.setData (t.getValue ())); @@ -304,7 +306,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl wrapper = new QueryWrapper<> (); wrapper.eq ("substation_id",id). eq ("pollution_type", pollutionType). - apply("DATE_FORMAT( data_date ,'%Y-%m-%d') = '"+searchBeginTime+"'"); + eq("DATE_FORMAT( data_date ,'%Y-%m-%d')",searchBeginTime); RStatPollutionSubstationM rStatPollutionSubstationM = pollutionSubstationMMapper.selectOne (wrapper); Optional.ofNullable (rStatPollutionSubstationM).ifPresent (t->pollutionSubstationDTO.setData (t.getValue ())); @@ -313,7 +315,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl wrapper = new QueryWrapper<> (); wrapper.eq ("substation_id",id). eq ("pollution_type", pollutionType). - apply("DATE_FORMAT( data_date ,'%Y-%m-%d') = '"+searchBeginTime+"'"); + eq("DATE_FORMAT( data_date ,'%Y-%m-%d')",searchBeginTime); RStatPollutionSubstationDPO rStatPollutionSubstationDPO = pollutionSubstationDPOMapper.selectOne (wrapper); Optional.ofNullable (rStatPollutionSubstationDPO).ifPresent (t->pollutionSubstationDTO.setData (t.getValue ())); diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java index e2ab752c2..5dcebf600 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java @@ -130,10 +130,9 @@ public class THDistortionServiceImpl implements THDistortionService { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.in ("measurement_point_id",collect). between ("data_date", statisticsBizBaseParam.getStartTime (), statisticsBizBaseParam.getEndTime ()). - orderByDesc ("v_thd"). - last (" limit "+topNum); + orderByDesc ("v_thd"); List rMpVThdList = rMpVThdMapper.selectList (wrapper); - rMpVThdVOList = rMpVThdList.stream ( ).map (rMpVThd -> { + rMpVThdVOList = rMpVThdList.stream ( ).limit (topNum).map (rMpVThd -> { RMpVThdVO rMpVThdVO = new RMpVThdVO ( ); BeanUtils.copyProperties (rMpVThd, rMpVThdVO); /*查询监测点详情获取名称*/ diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/DistributedPvOverviewService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/DistributedPvOverviewService.java new file mode 100644 index 000000000..420ebfab5 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/DistributedPvOverviewService.java @@ -0,0 +1,42 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import com.njcn.harmonic.pojo.vo.RStatOrgPvVO; + +/** + * @author yzh + * @date 2022/11/24 + */ + +public interface DistributedPvOverviewService { + + /** + * 按区域获取分布式光伏总览 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/11/24 + */ + RStatOrgPvVO getDistributedPvOverviewArea(StatisticsBizBaseParam param); + + /** + * 按电压等级获取分布式光伏总览 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/11/24 + */ + RStatOrgPvVO getDistributedPvOverviewVoltage(StatisticsBizBaseParam param); + + /** + * 按监测点类型获取分布式光伏总览 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/11/24 + */ + RStatOrgPvVO getDistributedPvOverviewLineSort(StatisticsBizBaseParam param); +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/DistributedPvVolOverService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/DistributedPvVolOverService.java new file mode 100644 index 000000000..3133e5a19 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/DistributedPvVolOverService.java @@ -0,0 +1,24 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO; + +import java.util.List; + +/** + * @author yzh + * @date 2022/11/22 + */ + +public interface DistributedPvVolOverService { + + /** + * 获取电压越限分析 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/11/22 + */ + List getVoltageOutOfLimitAnalysis(StatisticsBizBaseParam param); +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpPvPowerDetailMService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpPvPowerDetailMService.java new file mode 100644 index 000000000..20cc28bfa --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpPvPowerDetailMService.java @@ -0,0 +1,13 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.harmonic.pojo.po.RMpPvPowerDetailMPO; + +/** +* @author yzh +* @description 针对表【r_mp_pv_power_detail_m(分布式光伏_台区电能质量明细_月表)】的数据库操作Service +* @createDate 2022-11-25 10:22:31 +*/ +public interface RMpPvPowerDetailMService extends IService { + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpPvPowerDetailQService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpPvPowerDetailQService.java new file mode 100644 index 000000000..f1c49f8dc --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpPvPowerDetailQService.java @@ -0,0 +1,13 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.harmonic.pojo.po.RMpPvPowerDetailQPO; + +/** +* @author yzh +* @description 针对表【r_mp_pv_power_detail_q(分布式光伏_台区电能质量明细_季表)】的数据库操作Service +* @createDate 2022-11-25 10:22:31 +*/ +public interface RMpPvPowerDetailQService extends IService { + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpPvPowerDetailYService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpPvPowerDetailYService.java new file mode 100644 index 000000000..c4e69569c --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpPvPowerDetailYService.java @@ -0,0 +1,13 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.harmonic.pojo.po.RMpPvPowerDetailYPO; + +/** +* @author yzh +* @description 针对表【r_mp_pv_power_detail_y(分布式光伏_台区电能质量明细_年表)】的数据库操作Service +* @createDate 2022-11-25 10:22:31 +*/ +public interface RMpPvPowerDetailYService extends IService { + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpWpPowerDetailMService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpWpPowerDetailMService.java new file mode 100644 index 000000000..1f4883e32 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpWpPowerDetailMService.java @@ -0,0 +1,16 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.njcn.harmonic.pojo.po.RMpWpPowerDetailM; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 风电站_台区电能质量明细_月表 服务类 + *

+ * + * @author wr + * @since 2022-11-30 + */ +public interface RMpWpPowerDetailMService extends IService { + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpWpPowerDetailQService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpWpPowerDetailQService.java new file mode 100644 index 000000000..a794842a0 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpWpPowerDetailQService.java @@ -0,0 +1,16 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.njcn.harmonic.pojo.po.RMpWpPowerDetailQ; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 风电站_台区电能质量明细_季表 服务类 + *

+ * + * @author wr + * @since 2022-11-30 + */ +public interface RMpWpPowerDetailQService extends IService { + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpWpPowerDetailYService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpWpPowerDetailYService.java new file mode 100644 index 000000000..fe432f610 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RMpWpPowerDetailYService.java @@ -0,0 +1,16 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.njcn.harmonic.pojo.po.RMpWpPowerDetailY; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 风电站_台区电能质量明细_年表 服务类 + *

+ * + * @author wr + * @since 2022-11-30 + */ +public interface RMpWpPowerDetailYService extends IService { + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvAreaService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvAreaService.java new file mode 100644 index 000000000..414d3f1ee --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvAreaService.java @@ -0,0 +1,13 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.harmonic.pojo.po.RStatOrgPvAreaPO; + +/** +* @author yzh +* @description 针对表【r_stat_org_pv_area(分布式光伏统计表-按区域)】的数据库操作Service +* @createDate 2022-11-25 10:35:18 +*/ +public interface RStatOrgPvAreaService extends IService { + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvMonitorTypeService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvMonitorTypeService.java new file mode 100644 index 000000000..21dc5aac0 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvMonitorTypeService.java @@ -0,0 +1,13 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.harmonic.pojo.po.RStatOrgPvMonitorTypePO; + +/** +* @author yzh +* @description 针对表【r_stat_org_pv_monitor_type(分布式光伏统计表-按监测点类型)】的数据库操作Service +* @createDate 2022-11-25 10:35:18 +*/ +public interface RStatOrgPvMonitorTypeService extends IService { + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvPowerQualityMService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvPowerQualityMService.java new file mode 100644 index 000000000..c06057494 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvPowerQualityMService.java @@ -0,0 +1,13 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.harmonic.pojo.po.RStatOrgPvPowerQualityMPO; + +/** +* @author yzh +* @description 针对表【r_stat_org_pv_power_quality_m(分布式光伏_台区电能质量统计_月表)】的数据库操作Service +* @createDate 2022-11-25 09:08:58 +*/ +public interface RStatOrgPvPowerQualityMService extends IService { + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvPowerQualityQService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvPowerQualityQService.java new file mode 100644 index 000000000..b2168442b --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvPowerQualityQService.java @@ -0,0 +1,13 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.harmonic.pojo.po.RStatOrgPvPowerQualityQPO; + +/** +* @author yzh +* @description 针对表【r_stat_org_pv_power_quality_q(分布式光伏_台区电能质量统计_季表)】的数据库操作Service +* @createDate 2022-11-25 09:08:58 +*/ +public interface RStatOrgPvPowerQualityQService extends IService { + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvPowerQualityService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvPowerQualityService.java new file mode 100644 index 000000000..6033669e8 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvPowerQualityService.java @@ -0,0 +1,31 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.harmonic.pojo.param.PowerQualityParam; +import com.njcn.harmonic.pojo.po.RStatOrgPvPowerQualityQPO; +import com.njcn.harmonic.pojo.vo.RStatOrgPvDetailVO; +import com.njcn.harmonic.pojo.vo.RStatOrgPvPowerStreamVO; + +/** + * 分布式光伏_台区电能质量明细 + * + * @author wr + * @date 2022-11-22 14:34:42 + */ +public interface RStatOrgPvPowerQualityService extends IService { + + /** + * 低功率因数统计分页查询 + * @param param + * @return + */ + Page getPowerQualityStream(PowerQualityParam param); + + /** + * 详细数据表分页查询 + * @param param + * @return + */ + Page getPowerQualityInfo(PowerQualityParam.PowerQualityDetailInfoParam param); +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvPowerQualityYService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvPowerQualityYService.java new file mode 100644 index 000000000..73bc4585c --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvPowerQualityYService.java @@ -0,0 +1,13 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.harmonic.pojo.po.RStatOrgPvPowerQualityYPO; + +/** +* @author yzh +* @description 针对表【r_stat_org_pv_power_quality_y(分布式光伏_台区电能质量统计_年表)】的数据库操作Service +* @createDate 2022-11-25 09:08:58 +*/ +public interface RStatOrgPvPowerQualityYService extends IService { + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvVoltageService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvVoltageService.java new file mode 100644 index 000000000..126eb0d9c --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/RStatOrgPvVoltageService.java @@ -0,0 +1,13 @@ +package com.njcn.harmonic.service.specialanalysis; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.harmonic.pojo.po.RStatOrgPvVoltagePO; + +/** +* @author yzh +* @description 针对表【r_stat_org_pv_voltage(分布式光伏统计表-按电压等级)】的数据库操作Service +* @createDate 2022-11-25 10:35:18 +*/ +public interface RStatOrgPvVoltageService extends IService { + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/DistributedPvOverviewServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/DistributedPvOverviewServiceImpl.java new file mode 100644 index 000000000..f69cb13b1 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/DistributedPvOverviewServiceImpl.java @@ -0,0 +1,306 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import com.njcn.device.pms.api.PwMonitorClient; +import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; +import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; +import com.njcn.harmonic.pojo.po.RStatOrgPvAreaPO; +import com.njcn.harmonic.pojo.po.RStatOrgPvMonitorTypePO; +import com.njcn.harmonic.pojo.po.RStatOrgPvVoltagePO; +import com.njcn.harmonic.pojo.vo.RStatOrgPvVO; +import com.njcn.harmonic.service.specialanalysis.DistributedPvOverviewService; +import com.njcn.harmonic.service.specialanalysis.RStatOrgPvAreaService; +import com.njcn.harmonic.service.specialanalysis.RStatOrgPvMonitorTypeService; +import com.njcn.harmonic.service.specialanalysis.RStatOrgPvVoltageService; +import com.njcn.system.api.DicDataFeignClient; +import com.njcn.system.enums.DicDataEnum; +import com.njcn.system.enums.DicDataTypeEnum; +import com.njcn.system.pojo.po.DictData; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @author yzh + * @date 2022/11/24 + */ + +@Slf4j +@Service +@RequiredArgsConstructor +public class DistributedPvOverviewServiceImpl implements DistributedPvOverviewService { + + private final PwMonitorClient monitorClient; + + private final RStatOrgPvAreaService rStatOrgPvAreaService; + private final RStatOrgPvVoltageService rStatOrgPvVoltageService; + private final RStatOrgPvMonitorTypeService rStatOrgPvMonitorTypeService; + + private final DicDataFeignClient dicDataFeignClient; + + /** + * 按区域获取分布式光伏总览 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/11/24 + */ + + @Override + public RStatOrgPvVO getDistributedPvOverviewArea(StatisticsBizBaseParam param) { + // 获取监测点信息 + List monitorDtoList = getMonitorDtoList(param); + if (CollUtil.isEmpty(monitorDtoList)) { + return new RStatOrgPvVO(); + } + // 取出单位 + List deptIds = monitorDtoList.stream().map(PwPmsMonitorDTO::getOrgId).collect(Collectors.toList()); + // 按电压等级获取分布式光伏总览 + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.in(RStatOrgPvAreaPO::getOrgNo, deptIds); + lqw.ge(param.getStartTime() != null, RStatOrgPvAreaPO::getDataDate, param.getStartTime()); + lqw.le(param.getEndTime() != null, RStatOrgPvAreaPO::getDataDate, param.getEndTime()); + List poList = rStatOrgPvAreaService.list(lqw); + if (CollUtil.isEmpty(poList)) { + new RStatOrgPvVO(); + } + // 查询台区电能质量事件类型 + List areaPqEventType = dicDataFeignClient + .getDicDataByTypeCode(DicDataTypeEnum.AREA_PQ_EVENT_TYPE.getCode()).getData(); + // 将事件类型转换成map集合l.. + Map areaPqEventTypeMap = areaPqEventType. + stream().collect(Collectors.toMap(DictData::getId, DictData::getCode)); + // 将查询出来的数据转换成map集合 + Map> poMap = poList.stream().collect(Collectors.groupingBy(RStatOrgPvAreaPO::getOrgNo)); + RStatOrgPvVO result = new RStatOrgPvVO(); + List flowReversalList = new ArrayList<>(); + List voltageOutOfLimitList = new ArrayList<>(); + List pvPermeabilityList = new ArrayList<>(); + List lowPowerFactorList = new ArrayList<>(); + poMap.forEach((key, value) -> { + for (RStatOrgPvAreaPO po : value) { + // 潮流倒送 + if (areaPqEventTypeMap.get(po.getAreaPqEventType()).equals(DicDataEnum.EVENT_TYPE_U.getCode())){ + RStatOrgPvVO.FlowReversal flowReversal = new RStatOrgPvVO.FlowReversal(); + Integer monitorPointNum = po.getMonitorPointNum(); + flowReversal.setMonitor(monitorPointNum.toString()); + flowReversal.setType(key); + flowReversalList.add(flowReversal); + } + // 电压越限 + if (areaPqEventTypeMap.get(po.getAreaPqEventType()).equals(DicDataEnum.EVENT_TYPE_W.getCode())){ + RStatOrgPvVO.VoltageOutOfLimit voltageOutOfLimit = new RStatOrgPvVO.VoltageOutOfLimit(); + Integer monitorPointNum = po.getMonitorPointNum(); + voltageOutOfLimit.setMonitor(monitorPointNum.toString()); + voltageOutOfLimit.setType(key); + voltageOutOfLimitList.add(voltageOutOfLimit); + } + // 渗透率超上限 + if (areaPqEventTypeMap.get(po.getAreaPqEventType()).equals(DicDataEnum.PENET_LIMIT.getCode())){ + RStatOrgPvVO.PvPermeability pvPermeability = new RStatOrgPvVO.PvPermeability(); + Integer monitorPointNum = po.getMonitorPointNum(); + pvPermeability.setMonitor(monitorPointNum.toString()); + pvPermeability.setType(key); + pvPermeabilityList.add(pvPermeability); + } + // 低功率因数 + if (areaPqEventTypeMap.get(po.getAreaPqEventType()).equals(DicDataEnum.EVENT_TYPE_I.getCode())){ + RStatOrgPvVO.LowPowerFactor lowPowerFactor = new RStatOrgPvVO.LowPowerFactor(); + Integer monitorPointNum = po.getMonitorPointNum(); + lowPowerFactor.setMonitor(monitorPointNum.toString()); + lowPowerFactor.setType(key); + lowPowerFactorList.add(lowPowerFactor); + } + } + }); + result.setFlowReversal(flowReversalList); + result.setVoltageOutOfLimit(voltageOutOfLimitList); + result.setLowPowerFactor(lowPowerFactorList); + result.setPvPermeability(pvPermeabilityList); + return result; + + } + + /** + * 按电压等级获取分布式光伏总览 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/11/24 + */ + @Override + public RStatOrgPvVO getDistributedPvOverviewVoltage(StatisticsBizBaseParam param) { + // 获取监测点信息 + List monitorDtoList = getMonitorDtoList(param); + if (CollUtil.isEmpty(monitorDtoList)) { + return new RStatOrgPvVO(); + } + // 取出单位 + List deptIds = monitorDtoList.stream().map(PwPmsMonitorDTO::getOrgId).collect(Collectors.toList()); + // 按电压等级获取分布式光伏总览 + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.in(RStatOrgPvVoltagePO::getOrgNo, deptIds); + lqw.ge(param.getStartTime() != null, RStatOrgPvVoltagePO::getDataDate, param.getStartTime()); + lqw.le(param.getEndTime() != null, RStatOrgPvVoltagePO::getDataDate, param.getEndTime()); + List poList = rStatOrgPvVoltageService.list(lqw); + if (CollUtil.isEmpty(poList)) { + new RStatOrgPvVO(); + } + // 查询台区电能质量事件类型 + List areaPqEventType = dicDataFeignClient + .getDicDataByTypeCode(DicDataTypeEnum.AREA_PQ_EVENT_TYPE.getCode()).getData(); + // 将事件类型转换成map集合l.. + Map areaPqEventTypeMap = areaPqEventType. + stream().collect(Collectors.toMap(DictData::getId, DictData::getCode)); + // 将查询出来的数据转换成map集合 + Map> poMap = poList.stream().collect(Collectors.groupingBy(RStatOrgPvVoltagePO::getVoltageClass)); + RStatOrgPvVO result = new RStatOrgPvVO(); + List flowReversalList = new ArrayList<>(); + List voltageOutOfLimitList = new ArrayList<>(); + List pvPermeabilityList = new ArrayList<>(); + List lowPowerFactorList = new ArrayList<>(); + poMap.forEach((key, value) -> { + for (RStatOrgPvVoltagePO po : value) { + // 潮流倒送 + if (areaPqEventTypeMap.get(po.getAreaPqEventType()).equals(DicDataEnum.EVENT_TYPE_U.getCode())){ + RStatOrgPvVO.FlowReversal flowReversal = new RStatOrgPvVO.FlowReversal(); + Integer monitorPointNum = po.getMonitorPointNum(); + flowReversal.setMonitor(monitorPointNum.toString()); + flowReversal.setType(key); + flowReversalList.add(flowReversal); + } + // 电压越限 + if (areaPqEventTypeMap.get(po.getAreaPqEventType()).equals(DicDataEnum.EVENT_TYPE_W.getCode())){ + RStatOrgPvVO.VoltageOutOfLimit voltageOutOfLimit = new RStatOrgPvVO.VoltageOutOfLimit(); + Integer monitorPointNum = po.getMonitorPointNum(); + voltageOutOfLimit.setMonitor(monitorPointNum.toString()); + voltageOutOfLimit.setType(key); + voltageOutOfLimitList.add(voltageOutOfLimit); + } + // 渗透率超上限 + if (areaPqEventTypeMap.get(po.getAreaPqEventType()).equals(DicDataEnum.PENET_LIMIT.getCode())){ + RStatOrgPvVO.PvPermeability pvPermeability = new RStatOrgPvVO.PvPermeability(); + Integer monitorPointNum = po.getMonitorPointNum(); + pvPermeability.setMonitor(monitorPointNum.toString()); + pvPermeability.setType(key); + pvPermeabilityList.add(pvPermeability); + } + // 低功率因数 + if (areaPqEventTypeMap.get(po.getAreaPqEventType()).equals(DicDataEnum.EVENT_TYPE_I.getCode())){ + RStatOrgPvVO.LowPowerFactor lowPowerFactor = new RStatOrgPvVO.LowPowerFactor(); + Integer monitorPointNum = po.getMonitorPointNum(); + lowPowerFactor.setMonitor(monitorPointNum.toString()); + lowPowerFactor.setType(key); + lowPowerFactorList.add(lowPowerFactor); + } + } + }); + result.setFlowReversal(flowReversalList); + result.setVoltageOutOfLimit(voltageOutOfLimitList); + result.setLowPowerFactor(lowPowerFactorList); + result.setPvPermeability(pvPermeabilityList); + return result; + } + + /** + * 按监测点类型获取分布式光伏总览 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/11/24 + */ + @Override + public RStatOrgPvVO getDistributedPvOverviewLineSort(StatisticsBizBaseParam param) { + // 获取监测点信息 + List monitorDtoList = getMonitorDtoList(param); + if (CollUtil.isEmpty(monitorDtoList)) { + return new RStatOrgPvVO(); + } + // 取出单位 + List deptIds = monitorDtoList.stream().map(PwPmsMonitorDTO::getOrgId).collect(Collectors.toList()); + // 按电压等级获取分布式光伏总览 + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.in(RStatOrgPvMonitorTypePO::getOrgNo, deptIds); + lqw.ge(param.getStartTime() != null, RStatOrgPvMonitorTypePO::getDataDate, param.getStartTime()); + lqw.le(param.getEndTime() != null, RStatOrgPvMonitorTypePO::getDataDate, param.getEndTime()); + List poList = rStatOrgPvMonitorTypeService.list(lqw); + if (CollUtil.isEmpty(poList)) { + new RStatOrgPvVO(); + } + // 查询台区电能质量事件类型 + List areaPqEventType = dicDataFeignClient + .getDicDataByTypeCode(DicDataTypeEnum.AREA_PQ_EVENT_TYPE.getCode()).getData(); + // 将事件类型转换成map集合l.. + Map areaPqEventTypeMap = areaPqEventType. + stream().collect(Collectors.toMap(DictData::getId, DictData::getCode)); + // 将查询出来的数据转换成map集合 + Map> poMap = poList.stream().collect(Collectors.groupingBy(RStatOrgPvMonitorTypePO::getMonitorType)); + RStatOrgPvVO result = new RStatOrgPvVO(); + List flowReversalList = new ArrayList<>(); + List voltageOutOfLimitList = new ArrayList<>(); + List pvPermeabilityList = new ArrayList<>(); + List lowPowerFactorList = new ArrayList<>(); + poMap.forEach((key, value) -> { + for (RStatOrgPvMonitorTypePO po : value) { + // 潮流倒送 + if (areaPqEventTypeMap.get(po.getAreaPqEventType()).equals(DicDataEnum.EVENT_TYPE_U.getCode())){ + RStatOrgPvVO.FlowReversal flowReversal = new RStatOrgPvVO.FlowReversal(); + Integer monitorPointNum = po.getMonitorPointNum(); + flowReversal.setMonitor(monitorPointNum.toString()); + flowReversal.setType(key); + flowReversalList.add(flowReversal); + } + // 电压越限 + if (areaPqEventTypeMap.get(po.getAreaPqEventType()).equals(DicDataEnum.EVENT_TYPE_W.getCode())){ + RStatOrgPvVO.VoltageOutOfLimit voltageOutOfLimit = new RStatOrgPvVO.VoltageOutOfLimit(); + Integer monitorPointNum = po.getMonitorPointNum(); + voltageOutOfLimit.setMonitor(monitorPointNum.toString()); + voltageOutOfLimit.setType(key); + voltageOutOfLimitList.add(voltageOutOfLimit); + } + // 渗透率超上限 + if (areaPqEventTypeMap.get(po.getAreaPqEventType()).equals(DicDataEnum.PENET_LIMIT.getCode())){ + RStatOrgPvVO.PvPermeability pvPermeability = new RStatOrgPvVO.PvPermeability(); + Integer monitorPointNum = po.getMonitorPointNum(); + pvPermeability.setMonitor(monitorPointNum.toString()); + pvPermeability.setType(key); + pvPermeabilityList.add(pvPermeability); + } + // 低功率因数 + if (areaPqEventTypeMap.get(po.getAreaPqEventType()).equals(DicDataEnum.EVENT_TYPE_I.getCode())){ + RStatOrgPvVO.LowPowerFactor lowPowerFactor = new RStatOrgPvVO.LowPowerFactor(); + Integer monitorPointNum = po.getMonitorPointNum(); + lowPowerFactor.setMonitor(monitorPointNum.toString()); + lowPowerFactor.setType(key); + lowPowerFactorList.add(lowPowerFactor); + } + } + }); + result.setFlowReversal(flowReversalList); + result.setVoltageOutOfLimit(voltageOutOfLimitList); + result.setLowPowerFactor(lowPowerFactorList); + result.setPvPermeability(pvPermeabilityList); + return result; + } + + /** + * 获取监测点信息 + * + * @param param 条件参数 + */ + private List getMonitorDtoList(StatisticsBizBaseParam param) { + PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam(); + pwPmsMonitorParam.setOrgId(param.getId()); + return monitorClient.getPwMonitorList(pwPmsMonitorParam).getData(); + } +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/DistributedPvVolOverServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/DistributedPvVolOverServiceImpl.java new file mode 100644 index 000000000..72771688a --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/DistributedPvVolOverServiceImpl.java @@ -0,0 +1,78 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import com.njcn.device.pms.api.PwMonitorClient; +import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; +import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; +import com.njcn.harmonic.pojo.po.RMpPvPowerDetailMPO; +import com.njcn.harmonic.pojo.vo.RMpPvPowerDetailVO; +import com.njcn.harmonic.service.specialanalysis.DistributedPvVolOverService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @author yzh + * @date 2022/11/22 + */ +@Slf4j +@Service +@RequiredArgsConstructor +public class DistributedPvVolOverServiceImpl implements DistributedPvVolOverService { + + private final PwMonitorClient monitorClient; + + private final RMpPvPowerDetailMServiceImpl rMpPvPowerDetailMService; + + + /** + * 获取电压越限分析 + * + * @param param 条件参数 + * @return com.njcn.common.pojo.response.HttpResult> + * @author yzh + * @date 2022/11/22 + */ + @Override + public List getVoltageOutOfLimitAnalysis(StatisticsBizBaseParam param) { + // 获取当前单位下的监测点信息 + PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam(); + pwPmsMonitorParam.setOrgId(param.getId()); + List pwMonitorList = monitorClient.getPwMonitorList(pwPmsMonitorParam).getData(); + if (CollUtil.isEmpty(pwMonitorList)) { + return Collections.emptyList(); + } + // 取出监测点id + List monitorIds = pwMonitorList + .stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList()); + if (CollUtil.isEmpty(monitorIds)) { + return Collections.emptyList(); + } + // 获取电压越限分析 + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.in(RMpPvPowerDetailMPO::getMeasurementPointId, monitorIds); + lqw.ge(param.getStartTime() != null, RMpPvPowerDetailMPO::getDataDate, param.getStartTime()); + lqw.le(param.getEndTime() != null, RMpPvPowerDetailMPO::getDataDate, param.getEndTime()); + List pos = rMpPvPowerDetailMService.list(lqw); + // 将监测点信息转换成map集合 + Map monitorMap = pwMonitorList.stream() + .collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, PwPmsMonitorDTO -> PwPmsMonitorDTO)); + // 数据赋值 + return pos.stream().map(po -> { + RMpPvPowerDetailVO vo = new RMpPvPowerDetailVO(); + BeanUtils.copyProperties(po,vo); + vo.setMonitorSort(monitorMap.get(po.getMeasurementPointId()).getMonitorSort()); + vo.setOrgName(monitorMap.get(po.getMeasurementPointId()).getOrgName()); + return vo; + }).collect(Collectors.toList()); + + } +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpPvPowerDetailMServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpPvPowerDetailMServiceImpl.java new file mode 100644 index 000000000..7bf22995c --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpPvPowerDetailMServiceImpl.java @@ -0,0 +1,22 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.mapper.specialanalysis.RMpPvPowerDetailMMapper; +import com.njcn.harmonic.pojo.po.RMpPvPowerDetailMPO; +import com.njcn.harmonic.service.specialanalysis.RMpPvPowerDetailMService; +import org.springframework.stereotype.Service; + +/** + * @author yzh + * @description 针对表【r_mp_pv_power_detail_m(分布式光伏_台区电能质量明细_月表)】的数据库操作Service实现 + * @createDate 2022-11-25 10:22:31 + */ +@Service +public class RMpPvPowerDetailMServiceImpl extends ServiceImpl + implements RMpPvPowerDetailMService { + +} + + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpPvPowerDetailQServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpPvPowerDetailQServiceImpl.java new file mode 100644 index 000000000..6b24e7b43 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpPvPowerDetailQServiceImpl.java @@ -0,0 +1,22 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.mapper.specialanalysis.RMpPvPowerDetailQMapper; +import com.njcn.harmonic.pojo.po.RMpPvPowerDetailQPO; +import com.njcn.harmonic.service.specialanalysis.RMpPvPowerDetailQService; +import org.springframework.stereotype.Service; + +/** + * @author yzh + * @description 针对表【r_mp_pv_power_detail_q(分布式光伏_台区电能质量明细_季表)】的数据库操作Service实现 + * @createDate 2022-11-25 10:22:31 + */ +@Service +public class RMpPvPowerDetailQServiceImpl extends ServiceImpl + implements RMpPvPowerDetailQService { + +} + + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpPvPowerDetailYServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpPvPowerDetailYServiceImpl.java new file mode 100644 index 000000000..b6775ffb5 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpPvPowerDetailYServiceImpl.java @@ -0,0 +1,22 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.mapper.specialanalysis.RMpPvPowerDetailYMapper; +import com.njcn.harmonic.pojo.po.RMpPvPowerDetailYPO; +import com.njcn.harmonic.service.specialanalysis.RMpPvPowerDetailYService; +import org.springframework.stereotype.Service; + +/** + * @author yzh + * @description 针对表【r_mp_pv_power_detail_y(分布式光伏_台区电能质量明细_年表)】的数据库操作Service实现 + * @createDate 2022-11-25 10:22:31 + */ +@Service +public class RMpPvPowerDetailYServiceImpl extends ServiceImpl + implements RMpPvPowerDetailYService { + +} + + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpWpPowerDetailMServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpWpPowerDetailMServiceImpl.java new file mode 100644 index 000000000..8c19f6dc5 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpWpPowerDetailMServiceImpl.java @@ -0,0 +1,20 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import com.njcn.harmonic.pojo.po.RMpWpPowerDetailM; +import com.njcn.harmonic.mapper.specialanalysis.RMpWpPowerDetailMMapper; +import com.njcn.harmonic.service.specialanalysis.RMpWpPowerDetailMService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 风电站_台区电能质量明细_月表 服务实现类 + *

+ * + * @author wr + * @since 2022-11-30 + */ +@Service +public class RMpWpPowerDetailMServiceImpl extends ServiceImpl implements RMpWpPowerDetailMService { + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpWpPowerDetailQServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpWpPowerDetailQServiceImpl.java new file mode 100644 index 000000000..380e25c4a --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpWpPowerDetailQServiceImpl.java @@ -0,0 +1,20 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import com.njcn.harmonic.pojo.po.RMpWpPowerDetailQ; +import com.njcn.harmonic.mapper.specialanalysis.RMpWpPowerDetailQMapper; +import com.njcn.harmonic.service.specialanalysis.RMpWpPowerDetailQService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 风电站_台区电能质量明细_季表 服务实现类 + *

+ * + * @author wr + * @since 2022-11-30 + */ +@Service +public class RMpWpPowerDetailQServiceImpl extends ServiceImpl implements RMpWpPowerDetailQService { + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpWpPowerDetailYServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpWpPowerDetailYServiceImpl.java new file mode 100644 index 000000000..791311225 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RMpWpPowerDetailYServiceImpl.java @@ -0,0 +1,20 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import com.njcn.harmonic.pojo.po.RMpWpPowerDetailY; +import com.njcn.harmonic.mapper.specialanalysis.RMpWpPowerDetailYMapper; +import com.njcn.harmonic.service.specialanalysis.RMpWpPowerDetailYService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 风电站_台区电能质量明细_年表 服务实现类 + *

+ * + * @author wr + * @since 2022-11-30 + */ +@Service +public class RMpWpPowerDetailYServiceImpl extends ServiceImpl implements RMpWpPowerDetailYService { + +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvAreaServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvAreaServiceImpl.java new file mode 100644 index 000000000..340e9da29 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvAreaServiceImpl.java @@ -0,0 +1,22 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.mapper.specialanalysis.RStatOrgPvAreaMapper; +import com.njcn.harmonic.pojo.po.RStatOrgPvAreaPO; +import com.njcn.harmonic.service.specialanalysis.RStatOrgPvAreaService; +import org.springframework.stereotype.Service; + +/** +* @author yzh +* @description 针对表【r_stat_org_pv_area(分布式光伏统计表-按区域)】的数据库操作Service实现 +* @createDate 2022-11-25 10:35:18 +*/ +@Service +public class RStatOrgPvAreaServiceImpl extends ServiceImpl + implements RStatOrgPvAreaService { + +} + + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvMonitorTypeServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvMonitorTypeServiceImpl.java new file mode 100644 index 000000000..c26f942cb --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvMonitorTypeServiceImpl.java @@ -0,0 +1,22 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.mapper.specialanalysis.RStatOrgPvMonitorTypeMapper; +import com.njcn.harmonic.pojo.po.RStatOrgPvMonitorTypePO; +import com.njcn.harmonic.service.specialanalysis.RStatOrgPvMonitorTypeService; +import org.springframework.stereotype.Service; + +/** +* @author yzh +* @description 针对表【r_stat_org_pv_monitor_type(分布式光伏统计表-按监测点类型)】的数据库操作Service实现 +* @createDate 2022-11-25 10:35:18 +*/ +@Service +public class RStatOrgPvMonitorTypeServiceImpl extends ServiceImpl + implements RStatOrgPvMonitorTypeService { + +} + + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPowerQualityMServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPowerQualityMServiceImpl.java new file mode 100644 index 000000000..05e402246 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPowerQualityMServiceImpl.java @@ -0,0 +1,22 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.mapper.specialanalysis.RStatOrgPvPowerQualityMMapper; +import com.njcn.harmonic.pojo.po.RStatOrgPvPowerQualityMPO; +import com.njcn.harmonic.service.specialanalysis.RStatOrgPvPowerQualityMService; +import org.springframework.stereotype.Service; + +/** +* @author yzh +* @description 针对表【r_stat_org_pv_power_quality_m(分布式光伏_台区电能质量统计_月表)】的数据库操作Service实现 +* @createDate 2022-11-25 09:08:58 +*/ +@Service +public class RStatOrgPvPowerQualityMServiceImpl extends ServiceImpl + implements RStatOrgPvPowerQualityMService { + +} + + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPowerQualityQServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPowerQualityQServiceImpl.java new file mode 100644 index 000000000..e5425899c --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPowerQualityQServiceImpl.java @@ -0,0 +1,22 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.mapper.specialanalysis.RStatOrgPvPowerQualityQMapper; +import com.njcn.harmonic.pojo.po.RStatOrgPvPowerQualityQPO; +import com.njcn.harmonic.service.specialanalysis.RStatOrgPvPowerQualityQService; +import org.springframework.stereotype.Service; + +/** +* @author yzh +* @description 针对表【r_stat_org_pv_power_quality_q(分布式光伏_台区电能质量统计_季表)】的数据库操作Service实现 +* @createDate 2022-11-25 09:08:58 +*/ +@Service +public class RStatOrgPvPowerQualityQServiceImpl extends ServiceImpl + implements RStatOrgPvPowerQualityQService { + +} + + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPowerQualityServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPowerQualityServiceImpl.java new file mode 100644 index 000000000..58ee1bdc0 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPowerQualityServiceImpl.java @@ -0,0 +1,126 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.lang.Console; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.device.pms.api.PwMonitorClient; +import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; +import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; +import com.njcn.harmonic.mapper.specialanalysis.*; +import com.njcn.harmonic.pojo.param.PowerQualityParam; +import com.njcn.harmonic.pojo.po.RStatOrgPvPowerQualityQPO; +import com.njcn.harmonic.pojo.vo.RStatOrgPvDetailVO; +import com.njcn.harmonic.pojo.vo.RStatOrgPvPowerStreamVO; +import com.njcn.harmonic.service.specialanalysis.RStatOrgPvPowerQualityService; +import com.njcn.system.api.DicDataFeignClient; +import com.njcn.system.enums.DicDataEnum; +import com.njcn.system.enums.DicDataTypeEnum; +import com.njcn.system.pojo.po.DictData; +import com.njcn.user.api.DeptFeignClient; +import com.njcn.user.pojo.dto.DeptDTO; +import com.njcn.web.utils.WebUtil; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * 分布式光伏_台区电能质量明细 + * + * @author wr + * @date 2022-11-22 14:34:42 + */ +@Service +@RequiredArgsConstructor +public class RStatOrgPvPowerQualityServiceImpl extends ServiceImpl implements RStatOrgPvPowerQualityService { + + private final RStatOrgPvPowerQualityYMapper rStatOrgPvPowerQualityYPOMapper; + private final DicDataFeignClient dicDataFeignClient; + private final DeptFeignClient deptFeignClient; + private final PwMonitorClient pwMonitorClient; + + @Override + public Page getPowerQualityStream(PowerQualityParam param) { + PowerQualityParam.PowerQualityDetailParam bearParam= BeanUtil.copyProperties(param, PowerQualityParam.PowerQualityDetailParam.class); + Map list=new HashMap<>(3); + List dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.AREA_PQ_EVENT_TYPE.getCode()).getData(); + if(CollectionUtil.isEmpty(dictDataList)){ + throw new BusinessException(CommonResponseEnum.NO_DATA, "台区电能质量事件类型为空"); + } + //获取部门id集合 + List deptDTOS = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData(); + if(CollectionUtil.isEmpty(deptDTOS)){ + throw new BusinessException(CommonResponseEnum.NO_DATA, "获取部门信息为空"); + } + Map deptDTOMap = deptDTOS.stream().collect + (Collectors.toMap(DeptDTO::getCode, Function.identity(), (key, key2) -> key2)); + List OrgNOS = deptDTOS.stream().map(DeptDTO::getCode).collect(Collectors.toList()); + //根据字典Code,取出字典id,拼入sql中 + dictDataList.stream().forEach(dictData ->{ + if(DicDataEnum.EVENT_TYPE_L.getCode().equals(dictData.getCode())){ + list.put("eventTypeL",dictData.getId()); + } + if(DicDataEnum.EVENT_TYPE_P.getCode().equals(dictData.getCode())){ + Console.log(list); + list.put("eventTypeP",dictData.getId()); + } + if(DicDataEnum.EVENT_TYPE_O.getCode().equals(dictData.getCode())){ + list.put("eventTypeO",dictData.getId()); + } + }); + bearParam.setMapId(list); + bearParam.setOrgNos(OrgNOS); + //数据分页查询 + Page page = rStatOrgPvPowerQualityYPOMapper.selectListPage(new Page<>(param.getPageNum(), param.getPageSize()), bearParam); + page.getRecords().stream().forEach(vo->{ + if(deptDTOMap.containsKey(vo.getOrgNo())){ + DeptDTO deptDTO = deptDTOMap.get(vo.getOrgNo()); + vo.setOrgNo(deptDTO.getName()); + } + }); + return page; + } + + @Override + public Page getPowerQualityInfo(PowerQualityParam.PowerQualityDetailInfoParam param) { + //根据条件查询单位下面的所有配网监测点 + PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam(); + //单位id + pwPmsMonitorParam.setOrgId(param.getId()); + //监测点类别 + pwPmsMonitorParam.setMonitorSort(param.getMonitorSort()); + //获取监测点信息 + PowerQualityParam.PowerQualityDetailParam bearParam= BeanUtil.copyProperties(param, PowerQualityParam.PowerQualityDetailParam.class); + List pwMonitorList = pwMonitorClient.getPwMonitorList(pwPmsMonitorParam).getData(); + if (CollUtil.isEmpty(pwMonitorList)) { + return new Page<>(); + } + //监测点数据转换 + Map monitorMap = pwMonitorList.stream() + .collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, PwPmsMonitorDTO -> PwPmsMonitorDTO)); + //获取监测点id + List monitorIds = pwMonitorList + .stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList()); + bearParam.setOrgNos(monitorIds); + //数据库分页查询 + Page page = rStatOrgPvPowerQualityYPOMapper.selectDetailListPage(new Page<>(param.getPageNum(), param.getPageSize()), bearParam); + page.getRecords().stream().forEach(vo->{ + if(monitorMap.containsKey(vo.getMeasurementPointId())){ + PwPmsMonitorDTO monitorDTO = monitorMap.get(vo.getMeasurementPointId()); + vo.setOrgNo(monitorDTO.getOrgId()); + vo.setOrgName(monitorDTO.getOrgName()); + vo.setMeasurementPointName(monitorDTO.getMonitorName()); + vo.setVoltageLevels(monitorDTO.getVoltageLevel()); + vo.setMonitorSort(monitorDTO.getMonitorSort()); + } + }); + return page; + } +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPowerQualityYServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPowerQualityYServiceImpl.java new file mode 100644 index 000000000..5d1587d90 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvPowerQualityYServiceImpl.java @@ -0,0 +1,22 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.mapper.specialanalysis.RStatOrgPvPowerQualityYMapper; +import com.njcn.harmonic.pojo.po.RStatOrgPvPowerQualityYPO; +import com.njcn.harmonic.service.specialanalysis.RStatOrgPvPowerQualityYService; +import org.springframework.stereotype.Service; + +/** +* @author yzh +* @description 针对表【r_stat_org_pv_power_quality_y(分布式光伏_台区电能质量统计_年表)】的数据库操作Service实现 +* @createDate 2022-11-25 09:08:58 +*/ +@Service +public class RStatOrgPvPowerQualityYServiceImpl extends ServiceImpl + implements RStatOrgPvPowerQualityYService { + +} + + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvVoltageServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvVoltageServiceImpl.java new file mode 100644 index 000000000..047abbbd2 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/specialanalysis/impl/RStatOrgPvVoltageServiceImpl.java @@ -0,0 +1,22 @@ +package com.njcn.harmonic.service.specialanalysis.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.harmonic.mapper.specialanalysis.RStatOrgPvVoltageMapper; +import com.njcn.harmonic.pojo.po.RStatOrgPvVoltagePO; +import com.njcn.harmonic.service.specialanalysis.RStatOrgPvVoltageService; +import org.springframework.stereotype.Service; + +/** + * @author yzh + * @description 针对表【r_stat_org_pv_voltage(分布式光伏统计表-按电压等级)】的数据库操作Service实现 + * @createDate 2022-11-25 10:35:18 + */ +@Service +public class RStatOrgPvVoltageServiceImpl extends ServiceImpl + implements RStatOrgPvVoltageService { + +} + + + +