1.增加配网用户侧算法适配
2.新增河北用户侧数据完整性接口 3.新增河北用户侧越限详情接口
This commit is contained in:
@@ -146,6 +146,9 @@ public interface CommTerminalGeneralClient {
|
||||
@PostMapping("/getAllLineOverLimit")
|
||||
HttpResult<List<Overlimit>> getAllLineOverLimit();
|
||||
|
||||
@PostMapping("/getOverLimitDataByIds")
|
||||
HttpResult<List<Overlimit>> getOverLimitDataByIds(@RequestBody List<String> ids);
|
||||
|
||||
/**
|
||||
* @Description: 获取变电站下监测点信息
|
||||
* @param devDataType
|
||||
|
||||
@@ -15,6 +15,7 @@ import com.njcn.device.biz.utils.DeviceEnumUtil;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -109,6 +110,12 @@ public class CommTerminalGeneralClientFallbackFactory implements FallbackFactory
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<List<Overlimit>> getOverLimitDataByIds(@RequestBody List<String> ids) {
|
||||
log.error("{}异常,降级处理,异常为:{}", "通过监测点集合获取监测点限值", throwable.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<Map<String, List<String>>> getLineBySubstationRelation(Integer devDataType) {
|
||||
log.error("{}异常,降级处理,异常为:{}", "获取变电站下监测点信息", throwable.toString());
|
||||
|
||||
@@ -4,9 +4,12 @@ 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.param.pwUser.PwUserMonitorParam;
|
||||
import com.njcn.device.pms.pojo.po.DistributionMonitor;
|
||||
import com.njcn.device.pms.pojo.vo.DoubleUserVO;
|
||||
import com.njcn.device.pms.pojo.vo.pwUser.PwUserMonitorDataVO;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
@@ -52,4 +55,8 @@ public interface DistributionMonitorClient {
|
||||
@PostMapping("pwMonitorAreaDetailInfo")
|
||||
HttpResult<List<PwPmsMonitorDTO>> pwMonitorAreaDetailInfo(@RequestBody List<String> monitorIds);
|
||||
|
||||
@PostMapping("getPwUserIds")
|
||||
HttpResult<List<PwUserMonitorDataVO>> getPwUserIds(@RequestBody @Validated PwUserMonitorParam pwUserMonitorParam);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -5,8 +5,10 @@ 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.param.pwUser.PwUserMonitorParam;
|
||||
import com.njcn.device.pms.pojo.po.DistributionMonitor;
|
||||
import com.njcn.device.pms.pojo.vo.DoubleUserVO;
|
||||
import com.njcn.device.pms.pojo.vo.pwUser.PwUserMonitorDataVO;
|
||||
import com.njcn.device.pms.utils.PmsDeviceEnumUtil;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -59,6 +61,12 @@ public class DistributionMonitorClientFallbackFactory implements FallbackFactory
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<List<PwUserMonitorDataVO>> getPwUserIds(PwUserMonitorParam pwUserMonitorParam) {
|
||||
log.error("{}异常,降级处理,异常为:{}", "根据部门获取配网用户信息", throwable.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.njcn.device.pms.pojo.param.pwUser;
|
||||
|
||||
import com.njcn.web.pojo.param.BaseParam;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PwUserMonitorParam extends BaseParam {
|
||||
|
||||
@NotBlank(message = "单位id不可为空")
|
||||
private String orgId;
|
||||
|
||||
private String userName;
|
||||
|
||||
private Double limitValue;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.njcn.device.pms.pojo.vo.pwUser;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class PwUserMonitorDataVO {
|
||||
|
||||
private String id;
|
||||
|
||||
private String name;
|
||||
|
||||
private String orgName;
|
||||
|
||||
private String operationName;
|
||||
|
||||
private Integer ifSensitiveUser;
|
||||
|
||||
private String userType;
|
||||
|
||||
private Float integrityRate;
|
||||
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
package com.njcn.device.pms.controller.ledgerManger;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.TimeInterval;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
@@ -16,9 +19,11 @@ import com.njcn.device.biz.pojo.param.SubstationParam;
|
||||
import com.njcn.device.biz.pojo.po.Overlimit;
|
||||
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.device.pms.mapper.majornetwork.PqsDeviceUnitMapper;
|
||||
import com.njcn.device.pms.pojo.param.pwUser.PwUserMonitorParam;
|
||||
import com.njcn.device.pms.pojo.po.DistributionMonitor;
|
||||
import com.njcn.device.pms.pojo.po.Monitor;
|
||||
import com.njcn.device.pms.pojo.po.PmsTerminal;
|
||||
import com.njcn.device.pms.pojo.vo.pwUser.PwUserMonitorDataVO;
|
||||
import com.njcn.device.pms.service.ledgerManger.CommTerminalService;
|
||||
import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService;
|
||||
import com.njcn.device.pms.service.majornetwork.IMonitorService;
|
||||
@@ -258,6 +263,16 @@ public class CommTerminalController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getOverLimitDataByIds")
|
||||
@ApiOperation("根据监测点id集合获取越限数值")
|
||||
@ApiImplicitParam(name = "ids", value = "监测点id集合", required = true)
|
||||
public HttpResult<List<Overlimit>> getOverLimitDataByIds(@RequestBody List<String> ids) {
|
||||
String methodDescribe = getMethodDescribe("getOverLimitDataByIds");
|
||||
List<Overlimit> result = monitorService.getOverLimitDataByIds(ids);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getAllLineOverLimit")
|
||||
@ApiOperation("获取投运在线的监测点的限值")
|
||||
@@ -283,7 +298,7 @@ public class CommTerminalController extends BaseController {
|
||||
@ApiOperation("获取投运谐波系统所有监测点")
|
||||
public HttpResult<List<String>> getRunMonitorIds() {
|
||||
String methodDescribe = getMethodDescribe("getRunMonitorIds");
|
||||
List<String> result = commTerminalService.getOneMonitorIds();
|
||||
List<String> result = commTerminalService.getRunMonitorList();
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
@@ -299,23 +314,17 @@ public class CommTerminalController extends BaseController {
|
||||
@ApiImplicitParam(name = "list", value = "监测点集合")
|
||||
public HttpResult<List<LineDevGetDTO>> getMonitorDetailList(@RequestBody List<String> list) {
|
||||
String methodDescribe = getMethodDescribe("getMonitorDetailList");
|
||||
List<LineDevGetDTO> result = new ArrayList<>();
|
||||
List<Monitor> monitorList = monitorService.getMonitorList(list);
|
||||
List<LineDevGetDTO> monitorList = monitorService.getPmsCalMonitorList(list);
|
||||
//获取设备最新数据时间
|
||||
List<String> devList = monitorList.stream().map(Monitor::getTerminalId).distinct().collect(Collectors.toList());
|
||||
List<String> devList = monitorList.stream().map(LineDevGetDTO::getDevId).distinct().collect(Collectors.toList());
|
||||
List<PmsTerminal> terminals = terminalService.getTerminalSelectByIds(devList);
|
||||
Map<String,List<PmsTerminal>> map = terminals.stream().collect(Collectors.groupingBy(PmsTerminal::getId));
|
||||
monitorList.forEach(item->{
|
||||
LineDevGetDTO lineDevGetDTO = new LineDevGetDTO();
|
||||
lineDevGetDTO.setPointId(item.getId());
|
||||
lineDevGetDTO.setDevId(item.getTerminalId());
|
||||
lineDevGetDTO.setInterval(item.getStatisticalInterval());
|
||||
if (!Objects.isNull(map.get(item.getTerminalId()))){
|
||||
lineDevGetDTO.setUpdateTime(map.get(item.getTerminalId()).get(0).getUpdateTime());
|
||||
if (!Objects.isNull(map.get(item.getDevId()))){
|
||||
item.setUpdateTime(map.get(item.getDevId()).get(0).getUpdateTime());
|
||||
}
|
||||
result.add(lineDevGetDTO);
|
||||
});
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,result, methodDescribe);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,monitorList, methodDescribe);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -432,6 +441,8 @@ public class CommTerminalController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, subGetBases, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 用于返回pq 还是pms系统
|
||||
* @author cdf
|
||||
|
||||
@@ -16,9 +16,11 @@ 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;
|
||||
import com.njcn.device.pms.pojo.param.pwUser.PwUserMonitorParam;
|
||||
import com.njcn.device.pms.pojo.po.DistributionMonitor;
|
||||
import com.njcn.device.pms.pojo.po.TerminalLog;
|
||||
import com.njcn.device.pms.pojo.vo.DoubleUserVO;
|
||||
import com.njcn.device.pms.pojo.vo.pwUser.PwUserMonitorDataVO;
|
||||
import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService;
|
||||
import com.njcn.device.pms.service.majornetwork.ITerminalLogService;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
@@ -304,6 +306,19 @@ public class PmsDistributionMonitorController extends BaseController {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取配网用户数据
|
||||
*/
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getPwUserIds")
|
||||
@ApiOperation("获取配网用户数据")
|
||||
public HttpResult<List<PwUserMonitorDataVO>> getPwUserIds(@RequestBody @Validated PwUserMonitorParam pwUserMonitorParam) {
|
||||
String methodDescribe = getMethodDescribe("getPwUserIds");
|
||||
List<PwUserMonitorDataVO> pwUserMonitorDataVOList = iDistributionMonitorService.getPwUserIds(pwUserMonitorParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, pwUserMonitorDataVOList, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
package com.njcn.device.pms.controller.ledgerManger;
|
||||
|
||||
|
||||
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.common.utils.LogUtil;
|
||||
import com.njcn.device.pms.pojo.param.TerminalQueryParam;
|
||||
import com.njcn.device.pms.pojo.param.pwUser.PwUserMonitorParam;
|
||||
import com.njcn.device.pms.pojo.po.PmsTerminal;
|
||||
import com.njcn.device.pms.pojo.vo.pwUser.PwUserMonitorDataVO;
|
||||
import com.njcn.device.pms.service.ledgerManger.PwUserMonitorDataService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.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;
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("pwUser")
|
||||
@Api(tags = "配网用户侧数据")
|
||||
@RequiredArgsConstructor
|
||||
public class PwUserMonitorDataController extends BaseController {
|
||||
|
||||
private final PwUserMonitorDataService pwUserMonitorDataService;
|
||||
|
||||
|
||||
/**
|
||||
* 获取配网用户侧监测点数据完整性
|
||||
*/
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("getMonitorIntegrity")
|
||||
@ApiOperation("获取配网用户侧监测点数据完整性")
|
||||
@ApiImplicitParam(name = "pwUserMonitorParam",value = "请求头",required = true)
|
||||
public HttpResult<Page<PwUserMonitorDataVO>> getMonitorIntegrity(@RequestBody @Validated PwUserMonitorParam pwUserMonitorParam){
|
||||
String methodDescribe = getMethodDescribe("getMonitorIntegrity");
|
||||
Page<PwUserMonitorDataVO> page = pwUserMonitorDataService.pageIntegrityData(pwUserMonitorParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,page,methodDescribe);
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.njcn.device.pms.mapper.majornetwork;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
||||
@@ -14,6 +15,7 @@ import com.njcn.device.pms.pojo.po.PowerDistributionarea;
|
||||
import com.njcn.device.pms.pojo.vo.DoubleUserVO;
|
||||
import com.njcn.device.pms.pojo.vo.PmsPowerTreeMonitorVO;
|
||||
import com.njcn.device.pms.pojo.vo.PmsSummaryStatisticsVO;
|
||||
import com.njcn.device.pms.pojo.vo.pwUser.PwUserMonitorDataVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
@@ -122,4 +124,7 @@ public interface DistributionMonitorMapper extends MppBaseMapper<DistributionMon
|
||||
* @return
|
||||
*/
|
||||
Boolean insertPmsDistributionArea(@Param("dic") String dic);
|
||||
|
||||
|
||||
List<PwUserMonitorDataVO> getDistributionPage(@Param("ew")QueryWrapper<PwUserMonitorDataVO> ew);
|
||||
}
|
||||
|
||||
@@ -506,5 +506,17 @@
|
||||
</foreach>
|
||||
AND STATUS = 1
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getDistributionPage" resultType="com.njcn.device.pms.pojo.vo.pwUser.PwUserMonitorDataVO">
|
||||
SELECT
|
||||
pms_power_client.id,pms_power_client.name,pms_power_client.Org_Name,pms_power_client.Operation_Name,
|
||||
pms_power_client.If_Sensitive_User,pms_power_client.User_Type
|
||||
FROM
|
||||
pms_distribution_monitor,
|
||||
pms_power_client
|
||||
WHERE pms_distribution_monitor.Monitor_Id = pms_power_client.id
|
||||
and ${ew.sqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
<select id="getMonitorIntegrityData" resultType="RStatIntegrityD">
|
||||
select * from
|
||||
(select round(sum(real_time)/sum(due_time),3) as integrityData,
|
||||
(select round(sum(real_time)/sum(due_time),4) as integrityData,
|
||||
line_index as lineIndex
|
||||
from r_stat_integrity_d
|
||||
where time_id between #{monitorIntegrityDataDTO.searchBeginTime} and #{monitorIntegrityDataDTO.searchEndTime}
|
||||
@@ -19,7 +19,17 @@
|
||||
where
|
||||
integrityData < #{monitorIntegrityDataDTO.limitValue}
|
||||
</if>
|
||||
|
||||
<if test="monitorIntegrityDataDTO.sortBy!=null and monitorIntegrityDataDTO.sortBy!=''">
|
||||
order by integrityData
|
||||
<choose>
|
||||
<when test="monitorIntegrityDataDTO.orderBy == 'asc'">
|
||||
asc
|
||||
</when>
|
||||
<otherwise>
|
||||
desc
|
||||
</otherwise>
|
||||
</choose>
|
||||
</if>
|
||||
</select>
|
||||
<select id="getMonitorRealTimeBeZero" resultType="com.njcn.device.pq.pojo.vo.RStatIntegrityVO">
|
||||
SELECT
|
||||
|
||||
@@ -94,7 +94,7 @@ public interface CommTerminalService {
|
||||
List<String> getOneMonitorIds();
|
||||
|
||||
|
||||
List<CommLineDetailDTO> getRunMonitorList();
|
||||
List<String> getRunMonitorList();
|
||||
|
||||
|
||||
LineDevGetDTO getMonitorDetail(String monitorId);
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.njcn.device.pms.service.ledgerManger;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.device.pms.pojo.param.pwUser.PwUserMonitorParam;
|
||||
import com.njcn.device.pms.pojo.vo.pwUser.PwUserMonitorDataVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface PwUserMonitorDataService {
|
||||
|
||||
|
||||
/**
|
||||
* 获取监测点数据完整性
|
||||
*/
|
||||
Page<PwUserMonitorDataVO> pageIntegrityData(PwUserMonitorParam pwUserMonitorParam);
|
||||
|
||||
}
|
||||
@@ -575,12 +575,24 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CommLineDetailDTO> getRunMonitorList() {
|
||||
public List<String> getRunMonitorList() {
|
||||
List<String> result = new ArrayList<>();
|
||||
DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(), DicDataEnum.RUN.getName()).getData();
|
||||
if (Objects.isNull(dictData)) {
|
||||
throw new BusinessException("监测点状态字典为空");
|
||||
}
|
||||
return null;
|
||||
LambdaQueryWrapper<Monitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.select(Monitor::getId).eq(Monitor::getMonitorState, dictData.getId());
|
||||
List<Monitor> monitorList = monitorMapper.selectList(lambdaQueryWrapper);
|
||||
result.addAll(monitorList.stream().map(Monitor::getId).collect(Collectors.toList()));
|
||||
//加入无线用户测点
|
||||
DictData three = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.THREE_LINE.getCode(),DicDataTypeEnum.LINE_SORT.getCode()).getData();
|
||||
List<DistributionMonitor> distributionMonitorList = distributionMonitorMapper.selectList(new LambdaQueryWrapper<DistributionMonitor>().eq(DistributionMonitor::getMonitorSort,three.getId()).eq(DistributionMonitor::getStatus,DataStateEnum.ENABLE.getCode()));
|
||||
|
||||
if(CollectionUtil.isNotEmpty(distributionMonitorList)){
|
||||
result.addAll(distributionMonitorList.stream().map(DistributionMonitor::getMonitorId).collect(Collectors.toList()));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
package com.njcn.device.pms.service.ledgerManger.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.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.device.pms.mapper.majornetwork.DistributionMonitorMapper;
|
||||
import com.njcn.device.pms.mapper.majornetwork.RStatIntegrityDMapper;
|
||||
import com.njcn.device.pms.pojo.dto.MonitorIntegrityDataDTO;
|
||||
import com.njcn.device.pms.pojo.param.pwUser.PwUserMonitorParam;
|
||||
import com.njcn.device.pms.pojo.po.DistributionMonitor;
|
||||
import com.njcn.device.pms.pojo.vo.pwUser.PwUserMonitorDataVO;
|
||||
import com.njcn.device.pms.service.ledgerManger.PwUserMonitorDataService;
|
||||
import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService;
|
||||
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
import com.njcn.system.pojo.po.DictData;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.web.factory.PageFactory;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class PwUserMonitorDataServiceImpl implements PwUserMonitorDataService {
|
||||
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
|
||||
private final IDistributionMonitorService iDistributionMonitorService;
|
||||
|
||||
private final DicDataFeignClient dicDataFeignClient;
|
||||
|
||||
private final RStatIntegrityDMapper rStatIntegrityDMapper;
|
||||
|
||||
@Override
|
||||
public Page<PwUserMonitorDataVO> pageIntegrityData(PwUserMonitorParam pwUserMonitorParam) {
|
||||
Page<PwUserMonitorDataVO> pageResult = new Page<>(PageFactory.getPageNum(pwUserMonitorParam),PageFactory.getPageSize(pwUserMonitorParam));
|
||||
List<PwUserMonitorDataVO> pwUserMonitorDataVOList = iDistributionMonitorService.getPwUserIds(pwUserMonitorParam);
|
||||
if(CollUtil.isEmpty(pwUserMonitorDataVOList)){
|
||||
return pageResult;
|
||||
}
|
||||
List<String> ids = pwUserMonitorDataVOList.stream().map(PwUserMonitorDataVO::getId).collect(Collectors.toList());
|
||||
MonitorIntegrityDataDTO monitorIntegrityDataDTO = new MonitorIntegrityDataDTO();
|
||||
monitorIntegrityDataDTO.setSearchBeginTime(pwUserMonitorParam.getSearchBeginTime());
|
||||
monitorIntegrityDataDTO.setSearchEndTime(pwUserMonitorParam.getSearchEndTime());
|
||||
if(Objects.nonNull(pwUserMonitorParam.getLimitValue())){
|
||||
monitorIntegrityDataDTO.setLimitValue(pwUserMonitorParam.getLimitValue());
|
||||
}
|
||||
if(StrUtil.isNotBlank(pwUserMonitorParam.getSortBy())){
|
||||
monitorIntegrityDataDTO.setSortBy(pwUserMonitorParam.getSortBy());
|
||||
monitorIntegrityDataDTO.setOrderBy(pwUserMonitorParam.getOrderBy());
|
||||
}
|
||||
|
||||
|
||||
Page<RStatIntegrityD> page = rStatIntegrityDMapper.getMonitorIntegrityData(new Page<>(PageFactory.getPageNum(pwUserMonitorParam),PageFactory.getPageSize(pwUserMonitorParam)),monitorIntegrityDataDTO,ids);
|
||||
if(CollUtil.isNotEmpty(page.getRecords())){
|
||||
Map<String,PwUserMonitorDataVO> map = pwUserMonitorDataVOList.stream().collect(Collectors.toMap(PwUserMonitorDataVO::getId,Function.identity()));
|
||||
List<PwUserMonitorDataVO> voList = new ArrayList<>();
|
||||
page.getRecords().forEach(item->{
|
||||
if(map.containsKey(item.getLineIndex())){
|
||||
PwUserMonitorDataVO pwUserMonitorDataVO = map.get(item.getLineIndex());
|
||||
pwUserMonitorDataVO.setIntegrityRate(item.getIntegrityData());
|
||||
voList.add(pwUserMonitorDataVO);
|
||||
}
|
||||
});
|
||||
pageResult.setRecords(voList);
|
||||
pageResult.setTotal(page.getTotal());
|
||||
}
|
||||
return pageResult;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 超标情况
|
||||
*/
|
||||
}
|
||||
@@ -9,9 +9,11 @@ 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.param.pwUser.PwUserMonitorParam;
|
||||
import com.njcn.device.pms.pojo.po.DistributionMonitor;
|
||||
import com.njcn.device.pms.pojo.vo.DoubleUserVO;
|
||||
import com.njcn.device.pms.pojo.vo.PmsSummaryStatisticsVO;
|
||||
import com.njcn.device.pms.pojo.vo.pwUser.PwUserMonitorDataVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -116,6 +118,13 @@ public interface IDistributionMonitorService extends IMppService<DistributionMon
|
||||
*/
|
||||
List<String> getBaseDisMonitorIds(List<String> orgIds,List<String> monitorSortIds);
|
||||
|
||||
|
||||
/**
|
||||
* 获取配网用户信息
|
||||
*
|
||||
*/
|
||||
List<PwUserMonitorDataVO> getPwUserIds(PwUserMonitorParam pwUserMonitorParam);
|
||||
|
||||
/**
|
||||
* 批量同步发电用户到配网表
|
||||
* @return
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.njcn.common.pojo.dto.SimpleDTO;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.device.biz.pojo.dto.LineALLInfoDTO;
|
||||
import com.njcn.device.biz.pojo.dto.LineDTO;
|
||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO;
|
||||
import com.njcn.device.pms.pojo.dto.PmsMonitorDTO;
|
||||
@@ -79,12 +80,18 @@ public interface IMonitorService extends IService<Monitor> {
|
||||
Overlimit getOverLimitData(String id);
|
||||
|
||||
|
||||
List<Overlimit> getOverLimitDataByIds(List<String> ids);
|
||||
|
||||
|
||||
|
||||
Page<Monitor> getAllMonitorPageList(TerminalQueryParam baseParam);
|
||||
|
||||
List<Monitor> getMonitorList(List<String> monitorIds);
|
||||
|
||||
|
||||
List<LineDevGetDTO> getPmsCalMonitorList(List<String> monitorIds);
|
||||
|
||||
|
||||
Page<Monitor> getMonitorPage(TerminalQueryParam baseParam);
|
||||
|
||||
List<Monitor> getMonitorListByParam(MonitorParam monitorParam);
|
||||
|
||||
@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.TimeInterval;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
@@ -22,9 +23,11 @@ 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.param.pwUser.PwUserMonitorParam;
|
||||
import com.njcn.device.pms.pojo.po.*;
|
||||
import com.njcn.device.pms.pojo.vo.DoubleUserVO;
|
||||
import com.njcn.device.pms.pojo.vo.PmsSummaryStatisticsVO;
|
||||
import com.njcn.device.pms.pojo.vo.pwUser.PwUserMonitorDataVO;
|
||||
import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
@@ -38,10 +41,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -464,6 +464,18 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
|
||||
return distributionMonitorMapper.getBaseDisMonitorIds(orgIds,monitorSortIds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PwUserMonitorDataVO> getPwUserIds(PwUserMonitorParam pwUserMonitorParam) {
|
||||
List<String> deptIds = deptFeignClient.getDepSonSelfCodetByDeptId(pwUserMonitorParam.getOrgId()).getData();
|
||||
QueryWrapper<PwUserMonitorDataVO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.in("pms_power_client.org_id", deptIds);
|
||||
if (StrUtil.isNotBlank(pwUserMonitorParam.getUserName())) {
|
||||
queryWrapper.eq("pms_power_client.name", pwUserMonitorParam.getUserName());
|
||||
}
|
||||
List<PwUserMonitorDataVO> pwUserMonitorDataVOList = this.distributionMonitorMapper.getDistributionPage(queryWrapper);
|
||||
return pwUserMonitorDataVOList;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.njcn.device.biz.enums.DeviceResponseEnum;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.device.biz.pojo.dto.LineALLInfoDTO;
|
||||
import com.njcn.device.biz.pojo.dto.LineDTO;
|
||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.device.biz.pojo.po.DeviceBak;
|
||||
import com.njcn.device.biz.utils.COverlimit;
|
||||
@@ -109,6 +110,8 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
||||
|
||||
private final DictTreeFeignClient dictTreeFeignClient;
|
||||
private final ITractionStationService tractionStationService;
|
||||
private final PowerClientMapper powerClientMapper;
|
||||
private final DistributionMonitorMapper distributionMonitorMapper;
|
||||
|
||||
@Override
|
||||
public List<PmsMonitorBaseDTO> getMonitorByCondition(List<String> deptIdList, PmsDeviceInfoParam pmsDeviceInfoParam) {
|
||||
@@ -184,6 +187,11 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
||||
return overlimitMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Overlimit> getOverLimitDataByIds(List<String> ids) {
|
||||
return overlimitMapper.selectBatchIds(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<Monitor> getAllMonitorPageList(TerminalQueryParam baseParam) {
|
||||
LambdaQueryWrapper<Monitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
@@ -294,6 +302,33 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
||||
return monitorList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<LineDevGetDTO> getPmsCalMonitorList(List<String> monitorIds) {
|
||||
List<LineDevGetDTO> monitorList = new ArrayList<>();
|
||||
LambdaQueryWrapper<Monitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.select(Monitor::getId,Monitor::getStatisticalInterval,Monitor::getTerminalId).eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode());
|
||||
|
||||
List<Monitor> monitors = monitorMapper.selectList(lambdaQueryWrapper);
|
||||
for(Monitor monitor : monitors){
|
||||
LineDevGetDTO lineDevGetDTO = new LineDevGetDTO();
|
||||
lineDevGetDTO.setDevId(monitor.getTerminalId());
|
||||
lineDevGetDTO.setPointId(monitor.getId());
|
||||
lineDevGetDTO.setInterval(monitor.getStatisticalInterval());
|
||||
monitorList.add(lineDevGetDTO);
|
||||
}
|
||||
|
||||
DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_SORT.getName(), DicDataEnum.THREE_LINE.getName()).getData();
|
||||
List<DistributionMonitor> distributionMonitorList = distributionMonitorMapper.selectList(new LambdaQueryWrapper<DistributionMonitor>().in(DistributionMonitor::getMonitorId,monitorIds).eq(DistributionMonitor::getMonitorSort,dictData.getId()).eq(DistributionMonitor::getStatus,DataStateEnum.ENABLE.getCode()));
|
||||
for(DistributionMonitor distributionMonitor : distributionMonitorList){
|
||||
LineDevGetDTO lineDevGetDTO = new LineDevGetDTO();
|
||||
lineDevGetDTO.setDevId(distributionMonitor.getTerminalId());
|
||||
lineDevGetDTO.setPointId(distributionMonitor.getMonitorId());
|
||||
lineDevGetDTO.setInterval(distributionMonitor.getStatisticalInterval());
|
||||
monitorList.add(lineDevGetDTO);
|
||||
}
|
||||
return monitorList;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Page<Monitor> getMonitorPage(TerminalQueryParam baseParam) {
|
||||
|
||||
@@ -16,6 +16,7 @@ import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.device.pq.mapper.LineDetailMapper;
|
||||
import com.njcn.device.pq.mapper.LineMapper;
|
||||
import com.njcn.device.pq.service.CommTerminalService;
|
||||
import com.njcn.device.pq.service.IOverLimitService;
|
||||
import com.njcn.device.pq.service.IPqsDeviceUnitService;
|
||||
import com.njcn.device.pq.service.LineService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
@@ -56,6 +57,8 @@ public class CommTerminalController extends BaseController {
|
||||
|
||||
private final IPqsDeviceUnitService iPqsDeviceUnitService;
|
||||
|
||||
private final IOverLimitService iOverLimitService;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
@@ -267,6 +270,16 @@ public class CommTerminalController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getOverLimitDataByIds")
|
||||
@ApiOperation("根据监测点id集合获取越限数值")
|
||||
@ApiImplicitParam(name = "ids", value = "监测点id集合", required = true)
|
||||
public HttpResult<List<Overlimit>> getOverLimitDataByIds(@RequestBody List<String> ids) {
|
||||
String methodDescribe = getMethodDescribe("getOverLimitDataByIds");
|
||||
List<Overlimit> result = iOverLimitService.listByIds(ids);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
@PostMapping("/getLineBySubstationRelation")
|
||||
@ApiOperation("获取变电站和监测点的关系")
|
||||
@ApiImplicitParam(name = "devDataType", value = "数据类型(0:暂态系统;1:稳态系统;)", required = true)
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.njcn.device.biz.pojo.dto.*;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.device.biz.pojo.param.SubstationParam;
|
||||
import com.njcn.device.pq.mapper.LineMapper;
|
||||
import com.njcn.device.pq.mapper.OverlimitMapper;
|
||||
import com.njcn.device.pq.service.CommTerminalService;
|
||||
import com.njcn.device.pq.service.DeptLineService;
|
||||
import com.njcn.redis.utils.RedisUtil;
|
||||
@@ -50,6 +51,7 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 基础获取单位信息
|
||||
* @author cdf
|
||||
|
||||
Reference in New Issue
Block a user