1.增加配网用户侧算法适配

2.新增河北用户侧数据完整性接口
3.新增河北用户侧越限详情接口
This commit is contained in:
2024-09-04 16:47:08 +08:00
parent ed10b12e79
commit 9fca0e5714
29 changed files with 818 additions and 25 deletions

View File

@@ -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

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}

View File

@@ -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>

View File

@@ -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 &lt; #{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

View File

@@ -94,7 +94,7 @@ public interface CommTerminalService {
List<String> getOneMonitorIds();
List<CommLineDetailDTO> getRunMonitorList();
List<String> getRunMonitorList();
LineDevGetDTO getMonitorDetail(String monitorId);

View File

@@ -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);
}

View File

@@ -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;
}
/**

View File

@@ -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;
}
/**
* 超标情况
*/
}

View File

@@ -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

View File

@@ -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);

View File

@@ -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)

View File

@@ -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) {