From f5ea9a9ad0d2060cc515f8bf3774fbdc1008bad6 Mon Sep 17 00:00:00 2001 From: wurui Date: Mon, 20 Feb 2023 19:06:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=B0=E8=B4=A6=E6=B1=87=E6=80=BB=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1:1.=E5=8F=B0=E8=B4=A6=E7=BB=9F=E8=AE=A1=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=AE=9E=E7=8E=B0=E3=80=822.=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=9B=91=E6=B5=8B=E7=82=B9=E9=80=80=E5=BD=B9=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/pms/pojo/dto/PwPmsMonitorDTO.java | 12 + .../pms/pojo/param/MonitorAuditParam.java | 39 +++ .../device/pms/pojo/param/MonitorStatus.java | 61 +++++ .../pojo/param/PmsSummaryStatisticsParam.java | 38 +++ .../njcn/device/pms/pojo/po/MonitorAudit.java | 76 ++++++ .../njcn/device/pms/pojo/po/Transformer.java | 66 +++++ .../pms/pojo/vo/PmsSummaryStatisticsVO.java | 42 ++++ .../majornetwork/MonitorAuditController.java | 78 ++++++ .../PmsDistributionMonitorController.java | 13 + .../majornetwork/PmsMonitorController.java | 16 ++ .../PmsSummaryStatisticsController.java | 62 +++++ .../majornetwork/TransformerController.java | 79 ++++++ .../distribution/mapping/PwMonitorMapper.xml | 2 + .../majornetwork/MonitorAuditMapper.java | 16 ++ .../majornetwork/TransformerMapper.java | 16 ++ .../mapping/MonitorAuditMapper.xml | 5 + .../mapping/TransformerMapper.xml | 5 + .../IDistributionMonitorService.java | 8 + .../majornetwork/IMonitorAuditService.java | 34 +++ .../service/majornetwork/IMonitorService.java | 14 +- .../majornetwork/ITransformerService.java | 34 +++ .../PmsSummaryStatisticsService.java | 37 +++ .../impl/DistributionMonitorServiceImpl.java | 54 ++++ .../impl/MonitorAuditServiceImpl.java | 50 ++++ .../majornetwork/impl/MonitorServiceImpl.java | 16 +- .../impl/PmsSummaryStatisticsServiceImpl.java | 235 ++++++++++++++++++ .../impl/TransformerServiceImpl.java | 49 ++++ 27 files changed, 1148 insertions(+), 9 deletions(-) create mode 100644 pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/MonitorAuditParam.java create mode 100644 pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/MonitorStatus.java create mode 100644 pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PmsSummaryStatisticsParam.java create mode 100644 pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/MonitorAudit.java create mode 100644 pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/Transformer.java create mode 100644 pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/PmsSummaryStatisticsVO.java create mode 100644 pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/MonitorAuditController.java create mode 100644 pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PmsSummaryStatisticsController.java create mode 100644 pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/TransformerController.java create mode 100644 pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/MonitorAuditMapper.java create mode 100644 pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/TransformerMapper.java create mode 100644 pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/MonitorAuditMapper.xml create mode 100644 pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/TransformerMapper.xml create mode 100644 pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorAuditService.java create mode 100644 pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/ITransformerService.java create mode 100644 pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/PmsSummaryStatisticsService.java create mode 100644 pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorAuditServiceImpl.java create mode 100644 pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/PmsSummaryStatisticsServiceImpl.java create mode 100644 pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/TransformerServiceImpl.java diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PwPmsMonitorDTO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PwPmsMonitorDTO.java index b4c2a068d..81c33f159 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PwPmsMonitorDTO.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PwPmsMonitorDTO.java @@ -120,4 +120,16 @@ public class PwPmsMonitorDTO implements Serializable { @ApiModelProperty(name = "updateTime", value = "更新时间") private String updateTime; + /** + * 关联的监测终端编号(外键) + */ + @ApiModelProperty(name = "terminalId", value = "更新时间") + private String terminalId; + + /** + * 监测终端接线方式(字典) + */ + @ApiModelProperty(name = "terminalWiringMethod", value = "更新时间") + private String terminalWiringMethod; + } diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/MonitorAuditParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/MonitorAuditParam.java new file mode 100644 index 000000000..18c87e288 --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/MonitorAuditParam.java @@ -0,0 +1,39 @@ +package com.njcn.device.pms.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * <台账审核查询参数> + * + * @author wr + * @createTime: 2023-02-20 + */ +@Data +public class MonitorAuditParam { + + @ApiModelProperty("名称") + private String submitName; + + @ApiModelProperty("状态") + private Integer status; + + @ApiModelProperty("数据类型,字典表(01:主网测点 02:配网测点)") + private String dataType; + + @ApiModelProperty("开始时间") + private String searchBeginTime; + + @ApiModelProperty("结束时间") + private String searchEndTime; + + @ApiModelProperty("状态") + private Integer searchState; + + @ApiModelProperty("页码") + private Integer pageNum=1; + + @ApiModelProperty("页面尺寸") + private Integer pageSize=10; + +} diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/MonitorStatus.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/MonitorStatus.java new file mode 100644 index 000000000..15bafe2c2 --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/MonitorStatus.java @@ -0,0 +1,61 @@ +package com.njcn.device.pms.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * pms-device + * + * @author cdf + * @date 2022/10/25 + */ +@Data +public class MonitorStatus { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "监测点编号") + @NotEmpty(message = "监测点编号不能为空") + private List id; + + @ApiModelProperty(value = "数据状态(0:删除 1:正常 2:退役)") + @NotNull(message = "数据类型不能为空") + private Integer status; + + @Data + public static class PwMonitorStatus { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "监测点编号") + @NotEmpty(message = "监测点编号不能为空") + private List id; + + @ApiModelProperty(name = "1.I类监测点 2.II类监测点 3.III类监测") + @NotNull(message = "类型不能为空") + private Integer type; + + @ApiModelProperty(value = "数据状态(0:删除 1:正常 2:退役)") + @NotNull(message = "数据类型不能为空") + private Integer status; + + @ApiModelProperty(value = "III类监测点小类 0.用电用户 1.发电用户 默认用电") + private Integer smallType; + } + + @Data + public static class Status { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "id") + @NotEmpty(message = "id集合不能为空") + private List id; + + @ApiModelProperty(value = "数据类型") + @NotNull(message = "数据类型不能为空") + private Integer status; + } +} diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PmsSummaryStatisticsParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PmsSummaryStatisticsParam.java new file mode 100644 index 000000000..921a5cb91 --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PmsSummaryStatisticsParam.java @@ -0,0 +1,38 @@ +package com.njcn.device.pms.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.List; + + +/** + * <台账汇总统计查询条件> + * + * @author wr + * @createTime: 2023-02-17 + */ +@Data +public class PmsSummaryStatisticsParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(name = "orgId", value = "部门id") + private String orgId; + + @ApiModelProperty(name = "monitorTags", value = "干扰源类型=>(监测点标签)") + private List monitorTags; + + @ApiModelProperty(name = "type", value = "区分查询(0:区域 1:干扰源)") + private Integer type; + + @Data + public static class PwSummaryStatisticsParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(name = "orgId", value = "部门id") + @NotBlank(message="单位ID不能为空!") + private String orgId; + } +} diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/MonitorAudit.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/MonitorAudit.java new file mode 100644 index 000000000..4c50fe4d0 --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/MonitorAudit.java @@ -0,0 +1,76 @@ +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.LocalDateTime; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 台账审核 + *

+ * + * @author wr + * @since 2023-02-20 + */ +@Getter +@Setter +@TableName("pms_monitor_audit") +public class MonitorAudit extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * 审核id + */ + private String id; + + /** + * 提交人员 + */ + private String submitName; + + /** + * 审核人员 + */ + private String auditName; + + /** + * 审核内容 + */ + private String auditContent; + + /** + * 数据类型,字典表(01:主网测点 02:配网测点) + */ + private String dataType; + + /** + * 数据状态:0-删除;1-待审核;2-已审核; + */ + private Boolean 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/po/Transformer.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/Transformer.java new file mode 100644 index 000000000..9f0abd0d9 --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/Transformer.java @@ -0,0 +1,66 @@ +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.LocalDateTime; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 变压器台账 + *

+ * + * @author wr + * @since 2023-02-20 + */ +@Getter +@Setter +@TableName("pms_transformer") +public class Transformer extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * 变压器id + */ + private String id; + + /** + * 变压器名称 + */ + private String name; + + /** + * 变压器类型 + */ + private String type; + + /** + * 数据状态:0-删除;1-正常; + */ + private Boolean 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/PmsSummaryStatisticsVO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/PmsSummaryStatisticsVO.java new file mode 100644 index 000000000..64aada3e1 --- /dev/null +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/vo/PmsSummaryStatisticsVO.java @@ -0,0 +1,42 @@ +package com.njcn.device.pms.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * <台账汇总统计> + * + * @author wr + * @createTime: 2023-02-17 + */ +@Data +public class PmsSummaryStatisticsVO { + + @ApiModelProperty(name = "name", value = "统计名称") + private String name; + + @ApiModelProperty(name = "name", value = "统计的监测点数量") + private Integer monitorCount; + + @ApiModelProperty(name = "name", value = "统计的设备数量") + private Integer terminalCount; + + @ApiModelProperty(name = "statisticsVOList", value = "干扰源类型统计") + List statisticsVOList; + + @Data + public static class SummaryVO{ + @ApiModelProperty(name = "name", value = "统计名称") + private String name; + + @ApiModelProperty(name = "name", value = "统计的监测点数量") + private Integer monitorCount; + + @ApiModelProperty(name = "name", value = "统计的设备数量") + private Integer terminalCount; + + + } +} diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/MonitorAuditController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/MonitorAuditController.java new file mode 100644 index 000000000..08505e246 --- /dev/null +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/MonitorAuditController.java @@ -0,0 +1,78 @@ +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.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.param.MonitorAuditParam; +import com.njcn.device.pms.pojo.param.MonitorStatus; +import com.njcn.device.pms.pojo.po.MonitorAudit; +import com.njcn.device.pms.service.majornetwork.IMonitorAuditService; +import com.njcn.web.pojo.param.BaseParam; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +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.Objects; + +/** + *

+ * 台账审核 前端控制器 + *

+ * + * @author wr + * @since 2023-02-20 + */ +@RestController +@RequestMapping("/pms/monitorAudit") +@Api(tags = "台账审核") +@RequiredArgsConstructor +public class MonitorAuditController extends BaseController { + + private final IMonitorAuditService monitorAuditService; + /** + * 分页获取台账审核 + * @author wr + * @date 2023-02-20 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getAllMonitorAuditList") + @ApiOperation("分页获取台账审核") + @ApiImplicitParam(name = "baseParam",required = true) + public HttpResult> getAllMonitorAuditList(@RequestBody MonitorAuditParam baseParam) { + String methodDescribe = getMethodDescribe("getAllMonitorAuditList"); + Page monitor= monitorAuditService.getAllMonitorAuditList(baseParam); + if (Objects.isNull(monitor)) { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NO_DATA, null, methodDescribe); + } else { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, monitor, methodDescribe); + } + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.UPDATE) + @PostMapping("/updateStatus") + @ApiOperation("修改台账审核数据状态") + @ApiImplicitParam(name = "monitorParam", value = "修改台账审核数据状态", required = true) + public HttpResult updateStatus(@RequestBody @Validated MonitorStatus.Status monitorParam) { + String methodDescribe = getMethodDescribe("updateStatus"); + boolean result = monitorAuditService.updateStatus(monitorParam); + if(result){ + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + 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/PmsDistributionMonitorController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PmsDistributionMonitorController.java index e877c0d42..f1a675c69 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PmsDistributionMonitorController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PmsDistributionMonitorController.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.DistributionMonitorParam; +import com.njcn.device.pms.pojo.param.MonitorStatus; import com.njcn.device.pms.pojo.param.TaiZhangDelParam; import com.njcn.device.pms.pojo.po.DistributionMonitor; import com.njcn.device.pms.pojo.vo.DoubleUserVO; @@ -138,7 +139,19 @@ public class PmsDistributionMonitorController extends BaseController { } } + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.UPDATE) + @PostMapping("/updateStatus") + @ApiOperation("修改配网监测点数据状态") + @ApiImplicitParam(name = "monitorParam", value = "配网监测点实体", required = true) + public HttpResult updateStatus(@RequestBody @Validated MonitorStatus.PwMonitorStatus monitorParam) { + String methodDescribe = getMethodDescribe("updateStatus"); + boolean result = iDistributionMonitorService.updateStatus(monitorParam); + if(result){ + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + 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/PmsMonitorController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PmsMonitorController.java index 635386fd8..82d59babe 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PmsMonitorController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PmsMonitorController.java @@ -11,6 +11,7 @@ import com.njcn.common.utils.HttpResultUtil; import com.njcn.device.pms.pojo.dto.PmsMonitorDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO; import com.njcn.device.pms.pojo.param.MonitorParam; +import com.njcn.device.pms.pojo.param.MonitorStatus; import com.njcn.device.pms.pojo.param.PmsMonitorInfoParam; import com.njcn.device.pms.pojo.param.PmsMonitorParam; import com.njcn.device.pms.pojo.po.Monitor; @@ -224,5 +225,20 @@ public class PmsMonitorController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.UPDATE) + @PostMapping("/updateStatus") + @ApiOperation("修改主网监测点数据状态") + @ApiImplicitParam(name = "monitorParam", value = "主网监测点实体", required = true) + public HttpResult updateStatus(@RequestBody @Validated MonitorStatus monitorParam) { + String methodDescribe = getMethodDescribe("updateStatus"); + boolean result = monitorService.updateStatus(monitorParam); + if(result){ + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + 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/PmsSummaryStatisticsController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PmsSummaryStatisticsController.java new file mode 100644 index 000000000..a1256cd7e --- /dev/null +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/PmsSummaryStatisticsController.java @@ -0,0 +1,62 @@ +package com.njcn.device.pms.controller.majornetwork; + +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.PmsSummaryStatisticsParam; +import com.njcn.device.pms.pojo.vo.PmsSummaryStatisticsVO; +import com.njcn.device.pms.service.majornetwork.PmsSummaryStatisticsService; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +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 wr + * @createTime: 2023-02-17 + */ +@RestController +@RequestMapping("/pms/summaryStatistics") +@Slf4j +@Api(tags = "台账-台账汇总统计") +@RequiredArgsConstructor +public class PmsSummaryStatisticsController extends BaseController { + + private final PmsSummaryStatisticsService pmsSummaryStatisticsService; + + /** + * 主网台账统计 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getMainnetPoint") + @ApiOperation("主网台账统计") + public HttpResult> getMainnetPoint(@RequestBody PmsSummaryStatisticsParam param) { + String methodDescribe = getMethodDescribe("getMainnetPoint"); + List mainnetPoint = pmsSummaryStatisticsService.getSeparate(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, mainnetPoint, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getDistributionPoint") + @ApiOperation("配网台账统计") + public HttpResult> getDistributionPoint(@RequestBody PmsSummaryStatisticsParam.PwSummaryStatisticsParam param) { + String methodDescribe = getMethodDescribe("getDistributionPoint"); + List distributionPoint = pmsSummaryStatisticsService.getDistributionPoint(param); + + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, distributionPoint, methodDescribe); + } + + +} diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/TransformerController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/TransformerController.java new file mode 100644 index 000000000..78664e3bb --- /dev/null +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/majornetwork/TransformerController.java @@ -0,0 +1,79 @@ +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.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.param.MonitorAuditParam; +import com.njcn.device.pms.pojo.param.MonitorStatus; +import com.njcn.device.pms.pojo.po.MonitorAudit; +import com.njcn.device.pms.pojo.po.Transformer; +import com.njcn.device.pms.service.majornetwork.ITransformerService; +import com.njcn.web.pojo.param.BaseParam; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +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.Objects; + +/** + *

+ * 变压器台账 前端控制器 + *

+ * + * @author wr + * @since 2023-02-20 + */ +@RestController +@RequestMapping("/pms/transformer") +@Api(tags = "变压器台账") +@RequiredArgsConstructor +public class TransformerController extends BaseController { + + private final ITransformerService transformerService; + /** + * 分页获取台账审核 + * @author wr + * @date 2023-02-20 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getAllTransformerList") + @ApiOperation("分页获取变压器台账") + @ApiImplicitParam(name = "baseParam",required = true) + public HttpResult> getAllTransformerList(@RequestBody MonitorAuditParam baseParam) { + String methodDescribe = getMethodDescribe("getAllTransformerList"); + Page monitor= transformerService.getAllTransformerList(baseParam); + if (Objects.isNull(monitor)) { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NO_DATA, null, methodDescribe); + } else { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, monitor, methodDescribe); + } + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.UPDATE) + @PostMapping("/updateStatus") + @ApiOperation("修改变压器台账数据状态") + @ApiImplicitParam(name = "monitorParam", value = "修改台账审核数据状态", required = true) + public HttpResult updateStatus(@RequestBody @Validated MonitorStatus.Status monitorParam) { + String methodDescribe = getMethodDescribe("updateStatus"); + boolean result = transformerService.updateStatus(monitorParam); + if(result){ + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe); + + } +} + diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/mapping/PwMonitorMapper.xml b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/mapping/PwMonitorMapper.xml index 569554e3d..ee87206b4 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/mapping/PwMonitorMapper.xml +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/distribution/mapping/PwMonitorMapper.xml @@ -19,6 +19,8 @@ pdm.Monitor_State AS monitorState, pdm.Created_Date AS createdDate, pdm.STATUS AS STATUS, + pdm.Terminal_Id AS terminalId, + pdm.Terminal_Wiring_Method AS terminalWiringMethod, pdm.Create_By AS createBy, pdm.Create_Time AS createTime, pdm.Update_By AS updateBy, diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/MonitorAuditMapper.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/MonitorAuditMapper.java new file mode 100644 index 000000000..5baba1b4d --- /dev/null +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/MonitorAuditMapper.java @@ -0,0 +1,16 @@ +package com.njcn.device.pms.mapper.majornetwork; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.device.pms.pojo.po.MonitorAudit; + +/** + *

+ * 台账审核 Mapper 接口 + *

+ * + * @author wr + * @since 2023-02-20 + */ +public interface MonitorAuditMapper extends BaseMapper { + +} diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/TransformerMapper.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/TransformerMapper.java new file mode 100644 index 000000000..320709650 --- /dev/null +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/TransformerMapper.java @@ -0,0 +1,16 @@ +package com.njcn.device.pms.mapper.majornetwork; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.device.pms.pojo.po.Transformer; + +/** + *

+ * 变压器台账 Mapper 接口 + *

+ * + * @author wr + * @since 2023-02-20 + */ +public interface TransformerMapper extends BaseMapper { + +} diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/MonitorAuditMapper.xml b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/MonitorAuditMapper.xml new file mode 100644 index 000000000..e36549b4a --- /dev/null +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/MonitorAuditMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/TransformerMapper.xml b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/TransformerMapper.xml new file mode 100644 index 000000000..9e98cf5a1 --- /dev/null +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/mapper/majornetwork/mapping/TransformerMapper.xml @@ -0,0 +1,5 @@ + + + + + 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 dd5e5f99a..a4c3b3834 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 @@ -3,6 +3,7 @@ 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.MonitorStatus; import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; import com.njcn.device.pms.pojo.param.TaiZhangDelParam; import com.njcn.device.pms.pojo.po.DistributionMonitor; @@ -66,4 +67,11 @@ public interface IDistributionMonitorService extends IService distributionMonitorListByCondition(String orgId, String monitorSort); + + /** + * 修改配网的数据状态 + * @param monitorParam + * @return + */ + boolean updateStatus(MonitorStatus.PwMonitorStatus monitorParam); } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorAuditService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorAuditService.java new file mode 100644 index 000000000..03a01c45d --- /dev/null +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorAuditService.java @@ -0,0 +1,34 @@ +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.MonitorAuditParam; +import com.njcn.device.pms.pojo.param.MonitorStatus; +import com.njcn.device.pms.pojo.po.MonitorAudit; +import com.njcn.web.pojo.param.BaseParam; + +/** + *

+ * 台账审核 服务类 + *

+ * + * @author wr + * @since 2023-02-20 + */ +public interface IMonitorAuditService extends IService { + + /** + * 分页获取台账审核 + * @param baseParam + * @return + */ + Page getAllMonitorAuditList(MonitorAuditParam baseParam); + + /** + * + * @param monitorParam + * @return + */ + boolean updateStatus(MonitorStatus.Status monitorParam); + +} 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 6be29e722..4c0474639 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorService.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorService.java @@ -8,11 +8,7 @@ import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO; import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; -import com.njcn.device.pms.pojo.param.MonitorParam; -import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; -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.param.*; import com.njcn.device.pms.pojo.po.Monitor; import com.njcn.device.pms.pojo.vo.PmsMonitorVO; import com.njcn.device.pq.pojo.po.Overlimit; @@ -117,4 +113,12 @@ public interface IMonitorService extends IService { * 根据组织ID及条件,获取响应的变电站基础信息 */ List getPmsPowerrInfoWithInOrg(List orgIdList, PmsDeviceInfoParam pmsDeviceInfoParam); + + /** + * 根据监测点id,修改数据状态 + * @param monitorParam + * @return + */ + boolean updateStatus(MonitorStatus monitorParam); + } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/ITransformerService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/ITransformerService.java new file mode 100644 index 000000000..74d5eda6e --- /dev/null +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/ITransformerService.java @@ -0,0 +1,34 @@ +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.MonitorAuditParam; +import com.njcn.device.pms.pojo.param.MonitorStatus; +import com.njcn.device.pms.pojo.po.MonitorAudit; +import com.njcn.device.pms.pojo.po.Transformer; +import com.njcn.web.pojo.param.BaseParam; + +/** + *

+ * 变压器台账 服务类 + *

+ * + * @author wr + * @since 2023-02-20 + */ +public interface ITransformerService extends IService { + + /** + * 分页获取变压器台账 + * @param baseParam + * @return + */ + Page getAllTransformerList(MonitorAuditParam baseParam); + + /** + * 修改变压器台账数据状态 + * @param monitorParam + * @return + */ + boolean updateStatus(MonitorStatus.Status monitorParam); +} diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/PmsSummaryStatisticsService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/PmsSummaryStatisticsService.java new file mode 100644 index 000000000..d1904a374 --- /dev/null +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/PmsSummaryStatisticsService.java @@ -0,0 +1,37 @@ +package com.njcn.device.pms.service.majornetwork; + +import com.njcn.device.pms.pojo.param.PmsSummaryStatisticsParam; +import com.njcn.device.pms.pojo.vo.PmsSummaryStatisticsVO; + +import java.util.List; + +/** + * <台账汇总统计> + * + * @author wr + * @createTime: 2023-02-17 + */ +public interface PmsSummaryStatisticsService { + + /** + * 主网台账统计 (区域和监测点,分别同时存在数据结构) + * @param param + * @return + */ + List getSeparate(PmsSummaryStatisticsParam param); + + + /** + * 主网台账统计(区域和监测点同时存在数据结构) + * @param param + * @return + */ + List getMainnetPoint(PmsSummaryStatisticsParam param); + /** + * 配网台账统计 + * @param param + * @return + */ + List getDistributionPoint(PmsSummaryStatisticsParam.PwSummaryStatisticsParam param); + +} 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 3147d9874..5e37c1497 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 @@ -3,6 +3,7 @@ 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.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.exception.BusinessException; @@ -10,6 +11,7 @@ import com.njcn.device.pms.enums.PmsDeviceResponseEnum; 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.MonitorStatus; import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; import com.njcn.device.pms.pojo.param.TaiZhangDelParam; import com.njcn.device.pms.pojo.po.*; @@ -24,6 +26,7 @@ import com.njcn.user.api.DeptFeignClient; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.ArrayList; @@ -211,4 +214,55 @@ public class DistributionMonitorServiceImpl extends ServiceImpl update = new LambdaUpdateWrapper<>(); + update.set(Monitor::getStatus, monitorParam.getStatus()) + .in(Monitor::getId, monitorParam.getId()); + monitorMapper.update(null, update); + + this.update(new LambdaUpdateWrapper().set(DistributionMonitor::getStatus, monitorParam.getStatus()) + .in(DistributionMonitor::getMonitorId, monitorParam.getId())); + break; + case 2: + //二类监测点(台区) + LambdaUpdateWrapper updateArea = new LambdaUpdateWrapper<>(); + updateArea.set(PowerDistributionarea::getStatus, monitorParam.getStatus()) + .in(PowerDistributionarea::getId, monitorParam.getId()); + powerDistributionareaMapper.update(null, updateArea); + + this.update(new LambdaUpdateWrapper().set(DistributionMonitor::getStatus, monitorParam.getStatus()) + .in(DistributionMonitor::getMonitorId, monitorParam.getId())); + break; + case 3: + //三类监测点 + if (monitorParam.getSmallType() == 1) { + //发电 + LambdaUpdateWrapper updateUser = new LambdaUpdateWrapper<>(); + updateUser.set(PowerGenerationUser::getStatus, monitorParam.getStatus()) + .in(PowerGenerationUser::getId, monitorParam.getId()); + powerGenerationUserMapper.update(null, updateUser); + + } else { + //用电 + LambdaUpdateWrapper updateClient = new LambdaUpdateWrapper<>(); + updateClient.set(PowerClient::getStatus, monitorParam.getStatus()) + .in(PowerClient::getId, monitorParam.getId()); + powerClientMapper.update(null, updateClient); + + } + this.update(new LambdaUpdateWrapper().set(DistributionMonitor::getStatus, monitorParam.getStatus()) + .in(DistributionMonitor::getMonitorId, monitorParam.getId())); + break; + default: + throw new BusinessException(PmsDeviceResponseEnum.NO_LINE_SORT); + } + return true; + } + } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorAuditServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorAuditServiceImpl.java new file mode 100644 index 000000000..9ff55bf66 --- /dev/null +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorAuditServiceImpl.java @@ -0,0 +1,50 @@ +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.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.common.pojo.enums.common.DataStateEnum; +import com.njcn.device.pms.mapper.majornetwork.MonitorAuditMapper; +import com.njcn.device.pms.pojo.param.MonitorAuditParam; +import com.njcn.device.pms.pojo.param.MonitorStatus; +import com.njcn.device.pms.pojo.po.MonitorAudit; +import com.njcn.device.pms.service.majornetwork.IMonitorAuditService; +import com.njcn.web.factory.PageFactory; +import org.apache.commons.lang.StringUtils; +import org.springframework.stereotype.Service; + +/** + *

+ * 台账审核 服务实现类 + *

+ * + * @author wr + * @since 2023-02-20 + */ +@Service +public class MonitorAuditServiceImpl extends ServiceImpl implements IMonitorAuditService { + + @Override + public Page getAllMonitorAuditList(MonitorAuditParam baseParam) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper + .like(StrUtil.isNotBlank(baseParam.getSubmitName()),MonitorAudit::getAuditName,baseParam.getSubmitName()) + .eq(StrUtil.isNotBlank(baseParam.getDataType()),MonitorAudit::getDataType,baseParam.getDataType()) + .eq(baseParam.getStatus()!=0,MonitorAudit::getStatus,baseParam.getStatus()) + .ne(baseParam.getStatus()==0,MonitorAudit::getStatus,baseParam.getStatus()) + .ge(StringUtils.isNotBlank(baseParam.getSearchBeginTime()), MonitorAudit::getCreateTime, baseParam.getSearchBeginTime()) + .le(StringUtils.isNotBlank(baseParam.getSearchEndTime()), MonitorAudit::getCreateTime, baseParam.getSearchEndTime()) + ; + return this.page(new Page<>(baseParam.getPageNum(),baseParam.getPageSize()),lambdaQueryWrapper); + } + + @Override + public boolean updateStatus(MonitorStatus.Status monitorParam) { + LambdaUpdateWrapper update=new LambdaUpdateWrapper<>(); + update.set(MonitorAudit::getStatus,monitorParam.getStatus()) + .in(MonitorAudit::getId,monitorParam.getId()); + return this.update(update); + } +} 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 3c63d99e3..a80cdaf45 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 @@ -3,6 +3,8 @@ 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.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.dto.SimpleDTO; @@ -13,10 +15,7 @@ import com.njcn.device.pms.mapper.majornetwork.*; import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO; -import com.njcn.device.pms.pojo.param.MonitorParam; -import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; -import com.njcn.device.pms.pojo.param.PmsMonitorInfoParam; -import com.njcn.device.pms.pojo.param.PmsMonitorParam; +import com.njcn.device.pms.pojo.param.*; import com.njcn.device.pms.pojo.po.GeneratrixWire; import com.njcn.device.pms.pojo.po.Monitor; import com.njcn.device.pms.pojo.po.SpecialMonitor; @@ -230,6 +229,15 @@ public class MonitorServiceImpl extends ServiceImpl impl return this.baseMapper.getPmsPowerrInfoWithInOrg(orgIdList, pmsDeviceInfoParam); } + @Override + @Transactional(rollbackFor = Exception.class) + public boolean updateStatus(MonitorStatus monitorParam) { + LambdaUpdateWrapper update=new LambdaUpdateWrapper<>(); + update.set(Monitor::getStatus,monitorParam.getStatus()) + .in(Monitor::getId,monitorParam.getId()); + return this.update(update); + } + private void checkParam(MonitorParam monitorParam,boolean update){ diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/PmsSummaryStatisticsServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/PmsSummaryStatisticsServiceImpl.java new file mode 100644 index 000000000..6362d1d19 --- /dev/null +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/PmsSummaryStatisticsServiceImpl.java @@ -0,0 +1,235 @@ +package com.njcn.device.pms.service.majornetwork.impl; + +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.njcn.common.pojo.enums.common.DataStateEnum; +import com.njcn.device.pms.mapper.majornetwork.MonitorMapper; +import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; +import com.njcn.device.pms.pojo.param.PmsSummaryStatisticsParam; +import com.njcn.device.pms.pojo.param.PwPmsMonitorParam; +import com.njcn.device.pms.pojo.po.Monitor; +import com.njcn.device.pms.pojo.vo.PmsSummaryStatisticsVO; +import com.njcn.device.pms.service.distribution.IPwMonitorService; +import com.njcn.device.pms.service.majornetwork.PmsSummaryStatisticsService; +import com.njcn.user.api.DeptFeignClient; +import com.njcn.user.pojo.dto.DeptDTO; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * <台账汇总统计> + * + * @author wr + * @createTime: 2023-02-17 + */ +@Service +@RequiredArgsConstructor +public class PmsSummaryStatisticsServiceImpl implements PmsSummaryStatisticsService { + + + private final DeptFeignClient deptFeignClient; + private final MonitorMapper monitorMapper; + private final IPwMonitorService iPwMonitorService; + + @Override + public List getSeparate(PmsSummaryStatisticsParam param) { + List vos=new ArrayList<>(); + //获取当前部门下的子部门 + List data = deptFeignClient.getDepSonDetailByDeptId(param.getOrgId()).getData(); + + List deptIds = data.stream().map(DeptDTO::getCode).collect(Collectors.toList()); + Map deptMap = data.stream().collect(Collectors.toMap(DeptDTO::getCode, DeptDTO::getName)); + + //获得部门下面的数据集合 + List monitors = monitorMapper.selectList(new LambdaQueryWrapper() + .in(CollectionUtil.isNotEmpty(deptIds),Monitor::getOrgId, deptIds) + .in(CollectionUtil.isNotEmpty(param.getMonitorTags()),Monitor::getMonitorTag, param.getMonitorTags()) + .eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode()) + ); + if(param.getType().equals(0)){ + //根据部门进行分组统计当前部门下有多少监测点 + Map> monitorsMonitorCount = monitors.stream().collect(Collectors.groupingBy(Monitor::getOrgId)); + //根据部门统计终端数量(数据去重) + ArrayList monitorsCount = monitors.stream().collect(Collectors.collectingAndThen + (Collectors.toCollection(() -> + new TreeSet<>(Comparator.comparing(o -> o.getOrgId() + ";" + o.getTerminalId()))), ArrayList::new)); + Map monitorsTerminalCount = monitorsCount.stream().collect(Collectors.groupingBy(Monitor::getOrgId, Collectors.counting())); + deptMap.forEach((key,value)->{ + PmsSummaryStatisticsVO.SummaryVO vo=new PmsSummaryStatisticsVO.SummaryVO(); + if(monitorsMonitorCount.containsKey(key)){ + vo.setName(value); + vo.setMonitorCount(monitorsMonitorCount.get(key).size()); + vo.setTerminalCount(Math.toIntExact(monitorsTerminalCount.get(key))); + + }else{ + vo.setName(value); + //监测点数量 + vo.setMonitorCount(0); + //设备数量 + vo.setTerminalCount(0); + } + vos.add(vo); + }); + }else{ + //根据干扰源类型进行分组统计当前部门下有多少监测点 + Map> monitorsMonitorCount = monitors.stream().collect(Collectors.groupingBy(Monitor::getMonitorTag)); + //根据部门统计终端数量 + ArrayList monitorsCount = monitors.stream().collect(Collectors.collectingAndThen + (Collectors.toCollection(() -> + new TreeSet<>(Comparator.comparing(o -> o.getOrgId() + ";" + o.getTerminalId()))), ArrayList::new)); + + Map monitorsNum = monitorsCount.stream().collect(Collectors.groupingBy(Monitor::getMonitorTag, Collectors.counting())); + PmsSummaryStatisticsVO.SummaryVO vo; + for (String monitorTag : param.getMonitorTags()) { + vo=new PmsSummaryStatisticsVO.SummaryVO(); + if(monitorsNum.containsKey(monitorTag)){ + vo.setName(monitorTag); + //监测点数量 + vo.setMonitorCount(monitorsMonitorCount.get(monitorTag).size()); + //设备数量 + vo.setTerminalCount(Math.toIntExact(monitorsNum.get(monitorTag))); + + }else{ + vo.setName(monitorTag); + //监测点数量 + vo.setMonitorCount(0); + //设备数量 + vo.setTerminalCount(0); + } + vos.add(vo); + } + } + return vos; + } + + @Override + public List getMainnetPoint(PmsSummaryStatisticsParam param) { + List vos=new ArrayList<>(); + //获取当前部门下的子部门 + List data = deptFeignClient.getDepSonDetailByDeptId(param.getOrgId()).getData(); + + List deptIds = data.stream().map(DeptDTO::getCode).collect(Collectors.toList()); + Map deptMap = data.stream().collect(Collectors.toMap(DeptDTO::getCode, DeptDTO::getName)); + + //获得部门下面的数据集合 + List monitors = monitorMapper.selectList(new LambdaQueryWrapper() + .in(Monitor::getOrgId, deptIds) + .in(Monitor::getMonitorTag, param.getMonitorTags()) + .eq(Monitor::getStatus, 1) + ); + + //根据部门进行分组统计当前部门下有多少监测点 + Map> monitorsMonitorCount = monitors.stream().collect(Collectors.groupingBy(Monitor::getOrgId)); + + //根据部门统计终端数量 + ArrayList monitorsCount = monitors.stream().collect(Collectors.collectingAndThen + (Collectors.toCollection(() -> + new TreeSet<>(Comparator.comparing(o -> o.getOrgId() + ";" + o.getTerminalId()))), ArrayList::new)); + Map monitorsTerminalCount = monitorsCount.stream().collect(Collectors.groupingBy(Monitor::getOrgId, Collectors.counting())); + + deptMap.forEach((key,value)->{ + PmsSummaryStatisticsVO vo=new PmsSummaryStatisticsVO(); + if(monitorsMonitorCount.containsKey(key)){ + vo.setName(value); + vo.setMonitorCount(monitorsMonitorCount.get(key).size()); + vo.setTerminalCount(Math.toIntExact(monitorsTerminalCount.get(key))); + //子集 + List voNodes=new ArrayList<>(); + PmsSummaryStatisticsVO.SummaryVO voNode; + //根据干扰源类型分组统计(监测点数量) + Map monitorsNum = monitorsMonitorCount.get(key).stream().collect(Collectors.groupingBy(Monitor::getMonitorTag, Collectors.counting())); + + ArrayList monitorsCounts = monitorsMonitorCount.get(key).stream().collect(Collectors.collectingAndThen + (Collectors.toCollection(() -> + new TreeSet<>(Comparator.comparing(o -> o.getOrgId() + ";" + o.getTerminalId()))), ArrayList::new)); + + //根据部门统计有多少干扰源(设备数量) + Map monitorsNum2 = monitorsCounts.stream().collect(Collectors.groupingBy(Monitor::getMonitorTag, Collectors.counting())); + for (String monitorTag : param.getMonitorTags()) { + voNode=new PmsSummaryStatisticsVO.SummaryVO(); + if(monitorsNum.containsKey(monitorTag)){ + voNode.setName(monitorTag); + //监测点数量 + voNode.setMonitorCount(Math.toIntExact(monitorsNum.get(monitorTag))); + //设备数量 + voNode.setTerminalCount(Math.toIntExact(monitorsNum2.get(monitorTag))); + + }else{ + voNode.setName(monitorTag); + //监测点数量 + voNode.setMonitorCount(0); + //设备数量 + voNode.setTerminalCount(0); + } + voNodes.add(voNode); + } + vo.setStatisticsVOList(voNodes); + }else{ + vo.setName(value); + vo.setMonitorCount(0); + vo.setTerminalCount(0); + List voNodes=new ArrayList<>(); + PmsSummaryStatisticsVO.SummaryVO voNode; + for (String monitorTag : param.getMonitorTags()) { + voNode=new PmsSummaryStatisticsVO.SummaryVO(); + voNode.setName(monitorTag); + //监测点数量 + voNode.setMonitorCount(0); + //设备数量 + voNode.setTerminalCount(0); + voNodes.add(voNode); + } + vo.setStatisticsVOList(voNodes); + } + vos.add(vo); + }); + + return vos; + } + + @Override + public List getDistributionPoint(PmsSummaryStatisticsParam.PwSummaryStatisticsParam param) { + List vos=new ArrayList<>(); + + PwPmsMonitorParam pwParam=new PwPmsMonitorParam(); + pwParam.setOrgId(param.getOrgId()); + List pwSubsetMonitorList = iPwMonitorService.getPwSubsetMonitorList(pwParam); + //获取配网监测点,统计配网有多少监测点 + Map> pwMonitor= pwSubsetMonitorList.stream().collect(Collectors.groupingBy(PwPmsMonitorDTO::getOrgId)); + + //获取当前部门下的子部门 + List data = deptFeignClient.getDepSonDetailByDeptId(param.getOrgId()).getData(); + Map deptMap = data.stream().collect(Collectors.toMap(DeptDTO::getCode, DeptDTO::getName)); + + ArrayList monitorsCounts = pwSubsetMonitorList.stream().collect(Collectors.collectingAndThen + (Collectors.toCollection(() -> + new TreeSet<>(Comparator.comparing(o -> o.getOrgId() + ";" + o.getTerminalId()))), ArrayList::new)); + + //根据部门统计有多少终端(终端数量) + Map monitorsTerminalCount = monitorsCounts.stream() + .collect(Collectors.groupingBy(PwPmsMonitorDTO::getOrgId, Collectors.counting())); + + + deptMap.forEach((key,value)->{ + PmsSummaryStatisticsVO.SummaryVO vo=new PmsSummaryStatisticsVO.SummaryVO(); + if(pwMonitor.containsKey(key)){ + vo.setName(value); + vo.setMonitorCount(pwMonitor.get(key).size()); + vo.setTerminalCount(Math.toIntExact(monitorsTerminalCount.get(key))); + + }else{ + vo.setName(value); + //监测点数量 + vo.setMonitorCount(0); + //设备数量 + vo.setTerminalCount(0); + } + vos.add(vo); + }); + return vos; + } + +} diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/TransformerServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/TransformerServiceImpl.java new file mode 100644 index 000000000..112793261 --- /dev/null +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/TransformerServiceImpl.java @@ -0,0 +1,49 @@ +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.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.common.pojo.enums.common.DataStateEnum; +import com.njcn.device.pms.mapper.majornetwork.TransformerMapper; +import com.njcn.device.pms.pojo.param.MonitorAuditParam; +import com.njcn.device.pms.pojo.param.MonitorStatus; +import com.njcn.device.pms.pojo.po.MonitorAudit; +import com.njcn.device.pms.pojo.po.Transformer; +import com.njcn.device.pms.service.majornetwork.ITransformerService; +import com.njcn.web.factory.PageFactory; +import com.njcn.web.pojo.param.BaseParam; +import org.apache.commons.lang.StringUtils; +import org.springframework.stereotype.Service; + +/** + *

+ * 变压器台账 服务实现类 + *

+ * + * @author wr + * @since 2023-02-20 + */ +@Service +public class TransformerServiceImpl extends ServiceImpl implements ITransformerService { + + @Override + public Page getAllTransformerList(MonitorAuditParam baseParam) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper + .like(StrUtil.isNotBlank(baseParam.getSubmitName()),Transformer::getName,baseParam.getSubmitName()) + .eq(baseParam.getStatus()!=null,Transformer::getType,baseParam.getStatus()) + .eq(Transformer::getStatus, DataStateEnum.ENABLE.getCode()) + ; + return this.page(new Page<>(baseParam.getPageNum(),baseParam.getPageSize()),lambdaQueryWrapper); + } + + @Override + public boolean updateStatus(MonitorStatus.Status monitorParam) { + LambdaUpdateWrapper update=new LambdaUpdateWrapper<>(); + update.set(Transformer::getStatus,monitorParam.getStatus()) + .in(Transformer::getId,monitorParam.getId()); + return this.update(update); + } +}