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 b4ea31fc1..98646bf49 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 @@ -3,6 +3,7 @@ package com.njcn.device.pms.api; import com.njcn.common.pojo.constant.ServerInfo; import com.njcn.common.pojo.response.HttpResult; import com.njcn.device.pms.api.fallback.DistributionMonitorClientFallbackFactory; +import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; import com.njcn.device.pms.pojo.po.DistributionMonitor; import com.njcn.device.pms.pojo.vo.DoubleUserVO; import org.springframework.cloud.openfeign.FeignClient; @@ -47,4 +48,8 @@ public interface DistributionMonitorClient { */ @PostMapping("distributionMonitorListByCondition") public HttpResult> distributionMonitorListByCondition(@RequestParam("orgId")String orgId,@RequestParam("monitorSort")String monitorSort); + + @PostMapping("pwMonitorAreaDetailInfo") + HttpResult> pwMonitorAreaDetailInfo(@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 ca03f1079..33fcb796e 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 @@ -4,6 +4,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.response.HttpResult; import com.njcn.device.pms.api.DistributionMonitorClient; +import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; import com.njcn.device.pms.pojo.po.DistributionMonitor; import com.njcn.device.pms.pojo.vo.DoubleUserVO; import com.njcn.device.pms.utils.PmsDeviceEnumUtil; @@ -52,6 +53,12 @@ public class DistributionMonitorClientFallbackFactory implements FallbackFactory throw new BusinessException(finalExceptionEnum); } + @Override + public HttpResult> pwMonitorAreaDetailInfo(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/pojo/param/MonitorParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/MonitorParam.java index fc47224d4..c707385a6 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 @@ -131,14 +131,12 @@ public class MonitorParam { * 电压偏差限值(上) */ @ApiModelProperty(value = "电压偏差限值(上)") - @NotNull(message = "电压偏差限值(上)不可为空") private Float voltageDeviationUpperLimit; /** * 电压偏差限值(下) */ @ApiModelProperty(value = "电压偏差限值(下)") - @NotNull(message = "电压偏差限值(下)不可为空") private Float voltageDeviationLowerLimit; /** diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/RmpEventDetailPO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/RmpEventDetailPO.java deleted file mode 100644 index 1f9cb91bb..000000000 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/po/RmpEventDetailPO.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.njcn.device.pms.pojo.po; - -import lombok.Data; - -import java.io.Serializable; - -/** - * (RMpEventDetail)实体类 - * - * @author yzh - * @since 2022-10-12 18:34:55 - */ -@Data -public class RmpEventDetailPO implements Serializable { - private static final long serialVersionUID = 717547299960041571L; - /** - * 暂时事件ID - */ - private String eventId; - /** - * 监测点ID - */ - private String measurementPointId; - /** - * 事件类型 - */ - private String eventType; - /** - * 开始时间 - */ - private Long startTime; - /** - * 持续时间 - */ - private Double duration; - /** - * 特征幅值 - */ - private Double featureAmplitude; - /** - * 相别 - */ - private String phase; - /** - * 事件描述 - */ - private String eventDescribe; - /** - * 波形路径 - */ - private String wavePath; - - -} - diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsDistributionMonitorController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsDistributionMonitorController.java index 0d7223734..a177aceff 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsDistributionMonitorController.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsDistributionMonitorController.java @@ -12,6 +12,7 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.device.pms.annotation.TerminalOperationLogDesc; import com.njcn.device.pms.pojo.dto.PmsDistributionMonitorDTO; +import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; import com.njcn.device.pms.pojo.param.DistributionMonitorParam; import com.njcn.device.pms.pojo.param.MonitorStatus; import com.njcn.device.pms.pojo.param.TaiZhangDelParam; @@ -254,6 +255,25 @@ public class PmsDistributionMonitorController extends BaseController { } + /** + * 根据监测点获取配网监测点的详细信息 + * @author cdf + * @date 2023/5/17 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/pwMonitorAreaDetailInfo") + @ApiOperation("修改配网监测点数据状态") + @ApiImplicitParam(name = "monitorIds", value = "配网监测点实体", required = true) + public HttpResult> pwMonitorAreaDetailInfo(@RequestBody List monitorIds) { + String methodDescribe = getMethodDescribe("pwMonitorAreaDetailInfo"); + List pwPmsMonitorDTOS = iDistributionMonitorService.pwMonitorAreaDetailInfo(monitorIds); + if(CollectionUtil.isNotEmpty(pwPmsMonitorDTOS)){ + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, pwPmsMonitorDTOS, 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/ledgerManger/PmsLedgerDeptController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsLedgerDeptController.java new file mode 100644 index 000000000..e536f31c3 --- /dev/null +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsLedgerDeptController.java @@ -0,0 +1,122 @@ +package com.njcn.device.pms.controller.ledgerManger; + +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.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +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.po.PowerGenerationUser; +import com.njcn.device.pms.service.majornetwork.IMonitorService; +import com.njcn.device.pms.service.majornetwork.IPowerClientService; +import com.njcn.device.pms.service.majornetwork.IPowerDistributionareaService; +import com.njcn.device.pms.service.majornetwork.IPowerGenerationUserService; +import com.njcn.user.pojo.po.Dept; +import com.njcn.web.controller.BaseController; +import com.njcn.web.utils.RequestUtil; +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; +import java.util.stream.Collectors; + +/** + * pqs + * 主要用于单位更新时候同步台账表里的相关单位信息 + * @author cdf + * @date 2023/5/17 + */ +@RestController +@RequiredArgsConstructor +@Slf4j +@RequestMapping("pmsLedger") +public class PmsLedgerDeptController extends BaseController { + + private final IMonitorService iMonitorService; + + private final IPowerDistributionareaService iPowerDistributionareaService; + + private final IPowerGenerationUserService iPowerGenerationUserService; + + private final IPowerClientService iPowerClientService; + + + @PostMapping("update") + public HttpResult updateLedger(@RequestBody Dept dept){ + String methodDescribe = getMethodDescribe("updateLedger"); + + //主网监测点 + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode()) + .and(item->item.eq(Monitor::getOrgId,dept.getCode()).or().eq(Monitor::getOperationId,dept.getCode())); + List monitorList = iMonitorService.list(lambdaQueryWrapper); + if(CollectionUtil.isNotEmpty(monitorList)){ + List monitorListP = monitorList.stream().map(it->{ + Monitor monitor = new Monitor(); + monitor.setOrgName(dept.getName()); + monitor.setOperationName(dept.getName()); + monitor.setId(it.getId()); + return monitor; + }).collect(Collectors.toList()); + iMonitorService.updateBatchById(monitorListP); + } + + //台区 + LambdaQueryWrapper powerDistributionareaLambdaQueryWrapper = new LambdaQueryWrapper<>(); + powerDistributionareaLambdaQueryWrapper.eq(PowerDistributionarea::getStatus, DataStateEnum.ENABLE.getCode()) + .and(item->item.eq(PowerDistributionarea::getOrgId,dept.getCode()).or().eq(PowerDistributionarea::getOperationId,dept.getCode())); + List powerDistributionareaList = iPowerDistributionareaService.list(powerDistributionareaLambdaQueryWrapper); + if(CollectionUtil.isNotEmpty(powerDistributionareaList)){ + List powerDistributionareaListP = powerDistributionareaList.stream().map(it->{ + PowerDistributionarea powerDistributionarea = new PowerDistributionarea(); + powerDistributionarea.setId(it.getId()); + powerDistributionarea.setOrgName(dept.getName()); + powerDistributionarea.setOperationName(dept.getName()); + return powerDistributionarea; + }).collect(Collectors.toList()); + iPowerDistributionareaService.saveBatch(powerDistributionareaListP); + } + + //发电用户 + LambdaQueryWrapper powerClientLambdaQueryWrapper = new LambdaQueryWrapper<>(); + powerClientLambdaQueryWrapper.eq(PowerClient::getStatus, DataStateEnum.ENABLE.getCode()) + .and(item->item.eq(PowerClient::getOrgId,dept.getCode()).or().eq(PowerClient::getOperationId,dept.getCode())); + List powerClientList = iPowerClientService.list(powerClientLambdaQueryWrapper); + if(CollectionUtil.isNotEmpty(powerClientList)){ + List powerClientListP = powerClientList.stream().map(it->{ + PowerClient powerClient = new PowerClient(); + powerClient.setId(it.getId()); + powerClient.setOrgName(dept.getName()); + powerClient.setOperationName(dept.getName()); + return powerClient; + }).collect(Collectors.toList()); + iPowerClientService.saveBatch(powerClientListP); + } + + //用电用户 + LambdaQueryWrapper powerGenerationUserLambdaQueryWrapper = new LambdaQueryWrapper<>(); + powerGenerationUserLambdaQueryWrapper.eq(PowerGenerationUser::getStatus, DataStateEnum.ENABLE.getCode()) + .and(item->item.eq(PowerGenerationUser::getOrgId,dept.getCode()).or().eq(PowerGenerationUser::getOperationId,dept.getCode())); + List powerGenerationUserList = iPowerGenerationUserService.list(powerGenerationUserLambdaQueryWrapper); + if(CollectionUtil.isNotEmpty(powerGenerationUserList)){ + List powerGenerationUserListP = powerGenerationUserList.stream().map(it->{ + PowerGenerationUser powerGenerationUser = new PowerGenerationUser(); + powerGenerationUser.setId(it.getId()); + powerGenerationUser.setOrgName(dept.getName()); + powerGenerationUser.setOperationName(dept.getName()); + return powerGenerationUser; + }).collect(Collectors.toList()); + iPowerGenerationUserService.saveBatch(powerGenerationUserListP); + } + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, 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 6cd3da6b3..d6a334d24 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 @@ -5,6 +5,7 @@ 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.dto.PmsSimpleDTO; +import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; import com.njcn.device.pms.pojo.param.TaiZhangParam; import com.njcn.device.pms.pojo.po.DistributionMonitor; @@ -78,4 +79,10 @@ public interface DistributionMonitorMapper extends BaseMapper getDisMonitorAllList(@Param("subId") String subId,@Param("type") Integer type); + + + /** + * 根据配网监测点id获取配网台账信息 + */ + List pwMonitorAreaDetailInfo(@Param("monitorIds") List monitorIds); } 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 64ba9874e..947963699 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 @@ -43,17 +43,17 @@ @@ -209,11 +209,11 @@ COUNT(t.Terminal_Id) statistics, t.Voltage_Level name FROM - ( SELECT + ( SELECT DISTINCT pm.Terminal_Id, pss.Voltage_Level FROM pms_monitor pm - INNER JOIN pms_terminal pt on pt.Id=pm.Terminal_Id + INNER JOIN pms_terminal pt on pt.Id=pm.Terminal_Id INNER JOIN pms_statation_stat pss on pss.Power_Id=pt.Power_Station_Id WHERE pm.Terminal_Id IN @@ -258,7 +258,7 @@ ( SELECT id, org_id, 3 as lineType,Power_Station_Id as powerrId,Line_Id,Voltage_Level FROM pms_power_client - where STATUS = 1 ) + where STATUS = 1 ) UNION ALL ( SELECT id, org_id, 3 as lineType,Power_Station_Id as powerrId,Line_Id,Voltage_Level @@ -286,5 +286,89 @@ + + + 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 6218e7bee..5417fab9d 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.PmsDistributionMonitorDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO; +import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; import com.njcn.device.pms.pojo.param.DistributionMonitorParam; import com.njcn.device.pms.pojo.param.MonitorStatus; import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; @@ -93,4 +94,9 @@ public interface IDistributionMonitorService extends IService pwMonitorAreaDetailInfo(List monitorIds); + } 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 38e4af32d..033bc588b 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 @@ -7,10 +7,13 @@ 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; +import com.njcn.device.biz.pojo.po.Overlimit; +import com.njcn.device.biz.utils.COverlimitUtil; import com.njcn.device.pms.enums.PmsDeviceResponseEnum; import com.njcn.device.pms.mapper.majornetwork.*; import com.njcn.device.pms.pojo.dto.PmsDistributionMonitorDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO; +import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; import com.njcn.device.pms.pojo.param.DistributionMonitorParam; import com.njcn.device.pms.pojo.param.MonitorStatus; import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; @@ -64,6 +67,8 @@ public class DistributionMonitorServiceImpl extends ServiceImpl getMonitorByCondition(List deptIdList, PmsDeviceInfoParam pmsDeviceInfoParam) { @@ -136,6 +141,11 @@ public class DistributionMonitorServiceImpl extends ServiceImpl pwMonitorAreaDetailInfo(List monitorIds) { + return distributionMonitorMapper.pwMonitorAreaDetailInfo(monitorIds); + } + + private void overLimitAdd(String voltageLevel,String id){ + DictData voltageDic = dicDataFeignClient.getDicDataById(voltageLevel).getData(); + float voltageLevelValue = Float.parseFloat(voltageDic.getValue()); + float capacity = COverlimitUtil.getDlCapByVoltageLevel(voltageLevelValue); + Overlimit overlimit = COverlimitUtil.globalAssemble(voltageLevelValue,capacity,capacity,capacity,1,1); + overlimit.setId(id); + overlimitMapper.insert(overlimit); + } } 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 54a9ebff3..fb49aa2c3 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 @@ -12,6 +12,7 @@ import com.njcn.common.pojo.exception.BusinessException; import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO; import com.njcn.device.biz.pojo.param.DeptGetLineParam; import com.njcn.device.biz.utils.COverlimit; +import com.njcn.device.biz.utils.COverlimitUtil; import com.njcn.device.pms.enums.PmsDeviceResponseEnum; import com.njcn.device.pms.mapper.majornetwork.*; import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO; @@ -207,18 +208,18 @@ public class MonitorServiceImpl extends ServiceImpl impl checkOther(monitorParam, monitor, false); monitor.setStatus(DataStateEnum.ENABLE.getCode()); - //新增监测点同时新增pms_special_monitor + //主网测点限值计算 + Overlimit overlimit = overLimitCal(monitorParam,monitor); this.save(monitor); + + //新增监测点同时新增pms_special_monitor SpecialMonitor specialMonitor = new SpecialMonitor(); specialMonitor.setId(monitor.getId()); specialMonitor.setCapacity(100f); specialMonitor.setType(1); specialMonitorMapper.insert(specialMonitor); - //主网测点限值计算 - DictData dictData = dicDataFeignClient.getDicDataById(monitor.getVoltageLevel()).getData(); - float standShort = COverlimit.getStandShortCap(dictData.getValue()); - Overlimit overlimit = new Overlimit(monitor.getId(),dictData.getValue(),monitor.getMinShortCircuitCapacity(),standShort,monitor.getUserAgreementCapacity(),monitor.getPowerSupplyEqCapacity()); + overlimit.setId(monitor.getId()); overlimitMapper.deleteById(monitor.getId()); overlimitMapper.insert(overlimit); return true; @@ -251,11 +252,9 @@ public class MonitorServiceImpl extends ServiceImpl impl iDistributionMonitorService.updateById(distributionMonitor); } - //主网测点限值计算 - DictData dictData = dicDataFeignClient.getDicDataById(monitor.getVoltageLevel()).getData(); - float standShort = COverlimit.getStandShortCap(dictData.getValue()); - Overlimit overlimit = new Overlimit(monitor.getId(),dictData.getValue(),monitor.getMinShortCircuitCapacity(),standShort,monitor.getUserAgreementCapacity(),monitor.getPowerSupplyEqCapacity()); + Overlimit overlimit = overLimitCal(monitorParam,monitor); overlimitMapper.deleteById(monitor.getId()); + overlimit.setId(monitor.getId()); overlimitMapper.insert(overlimit); return true; @@ -484,6 +483,29 @@ public class MonitorServiceImpl extends ServiceImpl impl } + /** + * 监测点限值计算 + */ + public Overlimit overLimitCal(MonitorParam monitorParam,Monitor monitor){ + //主网测点限值计算 + DictData dictData = dicDataFeignClient.getDicDataById(monitor.getVoltageLevel()).getData(); + float voltageLevel = Float.parseFloat(dictData.getValue()); + Overlimit overlimit = COverlimitUtil.globalAssemble(voltageLevel,monitor.getUserAgreementCapacity(),monitor.getPowerSupplyEqCapacity(),monitor.getMinShortCircuitCapacity(),1,1); + if(Objects.nonNull(monitorParam.getVoltageDeviationUpperLimit())){ + monitor.setVoltageDeviationUpperLimit(monitorParam.getVoltageDeviationUpperLimit()); + overlimit.setVoltageDev(monitorParam.getVoltageDeviationUpperLimit()); + }else { + monitor.setVoltageDeviationUpperLimit(overlimit.getVoltageDev()); + } + if(Objects.nonNull(monitorParam.getVoltageDeviationLowerLimit())){ + monitor.setVoltageDeviationLowerLimit(monitorParam.getVoltageDeviationLowerLimit()); + overlimit.setUvoltageDev(monitorParam.getVoltageDeviationLowerLimit()); + }else { + monitor.setVoltageDeviationLowerLimit(overlimit.getUvoltageDev()); + } + return overlimit; + } + 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 381e9ddc5..a414d99ec 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 @@ -8,7 +8,10 @@ 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.common.pojo.param.StatisticsBizBaseParam; +import com.njcn.device.biz.pojo.po.Overlimit; +import com.njcn.device.biz.utils.COverlimitUtil; import com.njcn.device.pms.enums.PmsDeviceResponseEnum; +import com.njcn.device.pms.mapper.majornetwork.OverlimitMapper; import com.njcn.device.pms.mapper.majornetwork.PowerDistributionareaMapper; import com.njcn.device.pms.pojo.param.PowerDistributionareaParam; import com.njcn.device.pms.pojo.po.PowerDistributionarea; @@ -20,6 +23,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.device.pms.service.majornetwork.IStatationStatService; import com.njcn.event.pojo.vo.DeptLevelVO; import com.njcn.event.utils.DeptUtil; +import com.njcn.system.api.DicDataFeignClient; +import com.njcn.system.pojo.po.DictData; import com.njcn.user.api.DeptFeignClient; import com.njcn.user.pojo.dto.DeptDTO; import com.njcn.user.pojo.po.Dept; @@ -54,6 +59,7 @@ public class PowerDistributionareaServiceImpl extends ServiceImpl getList(BaseParam baseParam) { LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); @@ -135,7 +141,9 @@ public class PowerDistributionareaServiceImpl extends ServiceImpl updateLedger(@RequestBody Dept dept){ + String methodDescribe = getMethodDescribe("updateLedger"); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } +} + diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/RmpEventDetailController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/RmpEventDetailController.java index 9a52a775c..0151ebb42 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/RmpEventDetailController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/RmpEventDetailController.java @@ -1,18 +1,22 @@ package com.njcn.event.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.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.event.pojo.param.UniversalFrontEndParam; +import com.njcn.event.pojo.po.RmpEventDetailPO; import com.njcn.event.pojo.vo.RmpEventDetailVO; +import com.njcn.event.pojo.vo.TransientVO; import com.njcn.event.service.majornetwork.RmpEventDetailService; import com.njcn.system.pojo.po.DictData; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; @@ -28,7 +32,7 @@ import java.util.List; @RestController @RequestMapping("/rmpEventDetail") -@Api(tags = "主网-暂态事件明细") +@Api(tags = "暂态事件明细") @RequiredArgsConstructor public class RmpEventDetailController extends BaseController { @@ -69,4 +73,23 @@ public class RmpEventDetailController extends BaseController { } } + /** + * 根据暂降事件id获取详情 + * @author cdf + * @date 2023/5/17 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getTransientDetailById") + @ApiOperation("根据条件查询暂态事件") + @ApiImplicitParams({ + @ApiImplicitParam(name = "eventId", value = "暂降事件id", required = true), + @ApiImplicitParam(name = "sysType", value = "系统类型 pq,pms", required = true), + @ApiImplicitParam(name = "smallType", value = "主网,配网, 0.主网 1.配网 不填默认主网"), + }) + public HttpResult getTransientDetailById(@RequestParam("eventId")String eventId,@RequestParam("sysType")String sysType,@RequestParam(value = "smallType",required = false)Integer smallType){ + String methodDescribe = getMethodDescribe("getTransientDetailById"); + RmpEventDetailVO rmpEventDetailVO = rmpEventDetailService.getTransientDetailById(eventId,sysType,smallType); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rmpEventDetailVO, methodDescribe); + } + } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/TransientController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/TransientController.java index f84ad8275..88321d91d 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/TransientController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/TransientController.java @@ -81,4 +81,6 @@ public class TransientController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } + + } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RmpEventDetailMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RmpEventDetailMapper.java index cbf5b1792..1b2c1ce33 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RmpEventDetailMapper.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RmpEventDetailMapper.java @@ -15,7 +15,7 @@ import java.util.List; * @date 2022/10/12 */ @Mapper -public interface RmpEventDetailMapper extends BaseMapper { +public interface RmpEventDetailMapper extends BaseMapper { /** * 获取暂态事件明细 diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RmpEventDetailServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RmpEventDetailServiceImpl.java index 88d5d033e..1f8a1dc60 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RmpEventDetailServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RmpEventDetailServiceImpl.java @@ -4,19 +4,27 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.dto.SimpleDTO; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.device.pms.api.DistributionMonitorClient; import com.njcn.device.pms.api.MonitorClient; import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient; import com.njcn.device.pms.pojo.dto.PmsGeneralDeviceDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorDTO; +import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO; import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; import com.njcn.device.pms.pojo.param.PmsMonitorParam; +import com.njcn.device.pms.pojo.po.Monitor; +import com.njcn.device.pq.api.LineFeignClient; +import com.njcn.device.pq.pojo.vo.AreaLineInfoVO; import com.njcn.event.mapper.majornetwork.RmpEventDetailMapper; import com.njcn.event.pojo.param.UniversalFrontEndParam; import com.njcn.event.pojo.po.RmpEventDetailPO; import com.njcn.event.pojo.vo.RmpEventDetailVO; +import com.njcn.event.pojo.vo.TransientVO; import com.njcn.event.service.majornetwork.RmpEventDetailService; import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.enums.DicDataTypeEnum; +import com.njcn.event.enums.EventResponseEnum; import com.njcn.system.pojo.po.DictData; import com.njcn.user.api.DeptFeignClient; import lombok.RequiredArgsConstructor; @@ -28,7 +36,9 @@ import org.springframework.util.StringUtils; import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; +import java.util.stream.Stream; /** * 暂态事件明细 @@ -39,7 +49,7 @@ import java.util.stream.Collectors; @Service @Slf4j @RequiredArgsConstructor -public class RmpEventDetailServiceImpl extends ServiceImpl implements RmpEventDetailService { +public class RmpEventDetailServiceImpl extends ServiceImpl implements RmpEventDetailService { private final RmpEventDetailMapper rmpEventDetailMapper; @@ -51,6 +61,10 @@ public class RmpEventDetailServiceImpl extends ServiceImpl monitorIds = Stream.of(rmpEventDetailPO.getLineId()).collect(Collectors.toList()); + BeanUtils.copyProperties(rmpEventDetailPO, rmpEventDetailVO); + if ("pms".equals(sysType)) { + + if(Objects.isNull(smallType) || smallType == 0){ + List monitorList = monitorClient.getMonitorList(monitorIds).getData(); + if (CollectionUtil.isNotEmpty(monitorList)) { + rmpEventDetailVO.setMeasurementPointName(monitorList.get(0).getName()); + rmpEventDetailVO.setPowerStationName(monitorList.get(0).getPowerrName()); + } + + }else { + //配网 + List pwPmsMonitorDTOList = distributionMonitorClient.pwMonitorAreaDetailInfo(monitorIds).getData(); + if (CollectionUtil.isNotEmpty(pwPmsMonitorDTOList)) { + rmpEventDetailVO.setMeasurementPointName(pwPmsMonitorDTOList.get(0).getMonitorName()); + rmpEventDetailVO.setPowerStationName(pwPmsMonitorDTOList.get(0).getPowerName()); + } + } + + } else { + List lineRes = lineFeignClient.getBaseLineAreaInfo(monitorIds).getData(); + if (CollectionUtil.isNotEmpty(lineRes)) { + rmpEventDetailVO.setMeasurementPointName(lineRes.get(0).getLineName()); + rmpEventDetailVO.setPowerStationName(lineRes.get(0).getSubName()); + } + } + return rmpEventDetailVO; + } + + } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java index d7b4b38a2..84fcc2d03 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java @@ -310,22 +310,7 @@ public class TransientServiceImpl implements TransientService { List filteredLines = lineInfoVOList.stream().filter(item -> filterSearchValue(item, transientParam.getSearchValue())).collect(Collectors.toList()); List lines = filteredLines.stream().map(AreaLineInfoVO::getLineId).collect(Collectors.toList()); if (CollUtil.isNotEmpty(lines)) { -// page = pwRmpEventDetailMapper.selectByIdAndValue( -// page, -// lines, -// DateUtil.beginOfDay(DateUtil.parse(transientParam.getSearchBeginTime())), -// DateUtil.endOfDay(DateUtil.parse(transientParam.getSearchEndTime())), -// transientParam.getWaveType(), -// transientParam.getEventReason(), -// transientParam.getEventType(), -// transientParam.getEventValueMin(), -// transientParam.getEventValueMax(), -// transientParam.getPersistMin(), -// transientParam.getPersistMax(), -// transientParam.getSeverityMin(), -// transientParam.getSeverityMax(), -// transientParam.getFileFlag() -// ); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper() .in(RmpEventDetailPO::getMeasurementPointId, lines) .ge(StringUtils.isNotBlank(transientParam.getSearchBeginTime()), RmpEventDetailPO::getStartTime, DateUtil.beginOfDay(DateUtil.parse(transientParam.getSearchBeginTime()))) @@ -406,6 +391,7 @@ public class TransientServiceImpl implements TransientService { return page; } + private boolean filterSearchValue(AreaLineInfoVO item, String searchValue) { if (StringUtils.isBlank(searchValue)) { return true; diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RmpEventDetailService.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RmpEventDetailService.java index ab177dbec..0b31d267e 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RmpEventDetailService.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RmpEventDetailService.java @@ -2,8 +2,11 @@ package com.njcn.event.service.majornetwork; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.event.pojo.param.UniversalFrontEndParam; +import com.njcn.event.pojo.po.RmpEventDetailPO; import com.njcn.event.pojo.vo.RmpEventDetailVO; +import com.njcn.event.pojo.vo.TransientVO; import com.njcn.system.pojo.po.DictData; +import org.springframework.web.bind.annotation.RequestParam; import java.util.List; @@ -14,7 +17,7 @@ import java.util.List; * @date 2022/10/12 */ -public interface RmpEventDetailService extends IService { +public interface RmpEventDetailService extends IService { /** * 获取暂态事件明细 @@ -32,4 +35,12 @@ public interface RmpEventDetailService extends IService { List getEventStatisList(); + /** + * + * @author cdf + * @date 2023/5/17 + */ + RmpEventDetailVO getTransientDetailById(String eventId,String sysType,Integer smallType); + + } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/TransientService.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/TransientService.java index ab3f56751..3d758b196 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/TransientService.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/TransientService.java @@ -43,4 +43,8 @@ public interface TransientService { * @return */ Page getTransientValue(TransientParam transientParam); + + + + } diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/mapper/mapping/DeptMapper.xml b/pqs-user/user-boot/src/main/java/com/njcn/user/mapper/mapping/DeptMapper.xml index 1f2459140..1f0b8b3a0 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/mapper/mapping/DeptMapper.xml +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/mapper/mapping/DeptMapper.xml @@ -127,7 +127,7 @@ T3.NAME, T3.CODE, T3.type, - T5.NAME area, + T5.Short_Name area, T3.Remark, T3.sort FROM @@ -149,7 +149,7 @@ T3.NAME, T3.CODE, T3.type, - T5.NAME area, + T5.Short_Name area, T3.Remark, T3.sort FROM diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/DeptServiceImpl.java b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/DeptServiceImpl.java index 0690280ac..d5ac09343 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/DeptServiceImpl.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/DeptServiceImpl.java @@ -12,6 +12,7 @@ import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.response.HttpResult; import com.njcn.db.constant.DbConstant; +import com.njcn.device.biz.commApi.CommLedgerDeptClient; import com.njcn.device.pq.api.DeptLineFeignClient; import com.njcn.system.api.AreaFeignClient; import com.njcn.system.pojo.dto.AreaTreeDTO; @@ -63,6 +64,8 @@ public class DeptServiceImpl extends ServiceImpl implements ID private final UserMapper userMapper; + private final CommLedgerDeptClient commLedgerDeptClient; + @Override public Page listDept(DeptParam.QueryParam queryParam) { @@ -119,7 +122,15 @@ public class DeptServiceImpl extends ServiceImpl implements ID checkDicDataCode(updateParam, true); Dept dept = new Dept(); BeanUtil.copyProperties(updateParam, dept); - return this.updateById(dept); + + Dept deptTem = this.getDeptById(updateParam.getId()); + + this.updateById(dept); + if(!updateParam.getName().equals(deptTem.getName())){ + //修改了部门名称需要修改台账信息中的单位部门 + commLedgerDeptClient.update(dept); + } + return true; } @Override