风机列表服务代码结构调整

This commit is contained in:
houwei 2024-11-05 16:30:49 +08:00
parent 79eac71645
commit 60495b1b9c
3 changed files with 125 additions and 119 deletions

View File

@ -1,11 +1,8 @@
package com.das.modules.page.controller;
import com.das.common.result.R;
import com.das.modules.node.domain.dto.DeviceCommandDto;
import com.das.modules.operation.domain.dto.CommandInfoDto;
import com.das.modules.page.domian.WindTurbinesPageVo;
import com.das.modules.page.service.WindTurbinesPageService;
import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

View File

@ -1,123 +1,10 @@
package com.das.modules.page.service;
import com.das.common.constant.EquipmentTypeIds;
import com.das.common.exceptions.ServiceException;
import com.das.modules.data.domain.SnapshotValueQueryParam;
import com.das.modules.data.service.impl.DataServiceImpl;
import com.das.modules.equipment.domain.dto.SysEquipmentDto;
import com.das.modules.equipment.domain.vo.SysEquipmentVo;
import com.das.modules.equipment.mapper.SysEquipmentMapper;
import com.das.modules.node.domain.dto.DeviceCommandDto;
import com.das.modules.operation.domain.dto.CommandInfoDto;
import com.das.modules.operation.service.OperationService;
import com.das.modules.page.domian.WindTurbinesPageVo;
import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StopWatch;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
@Transactional(rollbackFor = Exception.class)
@Service
@Slf4j
public class WindTurbinesPageService {
@Autowired
SysEquipmentMapper sysEquipmentMapper;
@Autowired
private DataServiceImpl dataServiceImpl;
@Autowired
OperationService optService;
/**
* 获取风机机组所属线路列表
*
* @return 返回字符串数组
*/
public List<String> queryBelongLines() {
return sysEquipmentMapper.queryBelongLines(EquipmentTypeIds.EQUIPMENT_TYPE_STATION_WTG);
}
/**
* 获取风机页面数据
*
* @return 返回风机页面数据
*/
public List<WindTurbinesPageVo> queryAllWindTurbinesPages() {
StopWatch stopWatch = new StopWatch();
stopWatch.start("获取风机页面数据");
SysEquipmentDto sysEquipmentDto = new SysEquipmentDto();
sysEquipmentDto.setObjectType(EquipmentTypeIds.EQUIPMENT_TYPE_STATION_WTG);
List<SysEquipmentVo> sysEquipmentVos = sysEquipmentMapper.queryEquipmentListInPage(sysEquipmentDto);
//风机返回数据列表
List<WindTurbinesPageVo> windTurbinesPageVos = new ArrayList<>();
List<SnapshotValueQueryParam> paramList = new ArrayList<>();
//构建需要查询的物模型属性
List<String> attributesList = new ArrayList<>();
//风速
attributesList.add("iwindspeed");
//风机状态
attributesList.add("iturbineoperationmode");
//有功功率(MW)
attributesList.add("igenpower");
//日发电量(kwh)
attributesList.add("ikwhthisday");
//总发电量(万kwh)
attributesList.add("ikwhoverall");
//机舱角度
attributesList.add("ivanedirection");
//叶轮转速(rmp)
attributesList.add("irotorspeed");
//发电机转速(rmp)
attributesList.add("igenspeed");
//机舱温度()
attributesList.add("itempnacelle_1sec");
//主油路压力(kpa)
attributesList.add("ihydrpress");
//变桨角度ipitchangle1,ipitchangle2,ipitchangle3(取最小值)
attributesList.add("ipitchangle1");
attributesList.add("ipitchangle2");
attributesList.add("ipitchangle3");
//解缆状态
attributesList.add("iyplevel");
//电网故障停机
attributesList.add("gridlostdetected");
//是否锁定
attributesList.add("Locked");
for (SysEquipmentVo item : sysEquipmentVos) {
//构建查询属性参数
SnapshotValueQueryParam snapshotValueQueryParam = new SnapshotValueQueryParam();
snapshotValueQueryParam.setAttributes(attributesList);
snapshotValueQueryParam.setDeviceId(item.getId().toString());
paramList.add(snapshotValueQueryParam);
//构建风机数据返回
WindTurbinesPageVo windTurbinesPageVo = new WindTurbinesPageVo();
windTurbinesPageVo.setIrn(item.getId());
windTurbinesPageVo.setName(item.getName());
windTurbinesPageVo.setModel(item.getModel());
windTurbinesPageVo.setModelId(item.getIotModelId());
windTurbinesPageVo.setBelongLine(item.getBelongLine());
windTurbinesPageVos.add(windTurbinesPageVo);
}
//获取设备测点数据
Map<String, Map<String, Object>> map = dataServiceImpl.querySnapshotValues(paramList);
for (WindTurbinesPageVo item : windTurbinesPageVos) {
item.setAttributeMap(map.get(item.getIrn().toString()));
}
stopWatch.stop();
//监控查询时间
log.debug(stopWatch.prettyPrint(TimeUnit.SECONDS));
return windTurbinesPageVos;
}
public interface WindTurbinesPageService {
public List<String> queryBelongLines();
public List<WindTurbinesPageVo> queryAllWindTurbinesPages();
}

View File

@ -0,0 +1,122 @@
package com.das.modules.page.service.impl;
import com.das.common.constant.EquipmentTypeIds;
import com.das.modules.data.domain.SnapshotValueQueryParam;
import com.das.modules.data.service.impl.DataServiceImpl;
import com.das.modules.equipment.domain.dto.SysEquipmentDto;
import com.das.modules.equipment.domain.vo.SysEquipmentVo;
import com.das.modules.equipment.mapper.SysEquipmentMapper;
import com.das.modules.operation.service.OperationService;
import com.das.modules.page.domian.WindTurbinesPageVo;
import com.das.modules.page.service.WindTurbinesPageService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StopWatch;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
@Transactional(rollbackFor = Exception.class)
@Service
@Slf4j
public class WindTurbinesPageServiceImpl implements WindTurbinesPageService {
@Autowired
SysEquipmentMapper sysEquipmentMapper;
@Autowired
private DataServiceImpl dataServiceImpl;
@Autowired
OperationService optService;
/**
* 获取风机机组所属线路列表
*
* @return 返回字符串数组
*/
@Override
public List<String> queryBelongLines() {
return sysEquipmentMapper.queryBelongLines(EquipmentTypeIds.EQUIPMENT_TYPE_STATION_WTG);
}
/**
* 获取风机页面数据
*
* @return 返回风机页面数据
*/
@Override
public List<WindTurbinesPageVo> queryAllWindTurbinesPages() {
StopWatch stopWatch = new StopWatch();
stopWatch.start("获取风机页面数据");
SysEquipmentDto sysEquipmentDto = new SysEquipmentDto();
sysEquipmentDto.setObjectType(EquipmentTypeIds.EQUIPMENT_TYPE_STATION_WTG);
List<SysEquipmentVo> sysEquipmentVos = sysEquipmentMapper.queryEquipmentListInPage(sysEquipmentDto);
//风机返回数据列表
List<WindTurbinesPageVo> windTurbinesPageVos = new ArrayList<>();
List<SnapshotValueQueryParam> paramList = new ArrayList<>();
//构建需要查询的物模型属性
List<String> attributesList = new ArrayList<>();
//风速
attributesList.add("iwindspeed");
//风机状态
attributesList.add("iturbineoperationmode");
//有功功率(MW)
attributesList.add("igenpower");
//日发电量(kwh)
attributesList.add("ikwhthisday");
//总发电量(万kwh)
attributesList.add("ikwhoverall");
//机舱角度
attributesList.add("ivanedirection");
//叶轮转速(rmp)
attributesList.add("irotorspeed");
//发电机转速(rmp)
attributesList.add("igenspeed");
//机舱温度()
attributesList.add("itempnacelle_1sec");
//主油路压力(kpa)
attributesList.add("ihydrpress");
//变桨角度ipitchangle1,ipitchangle2,ipitchangle3(取最小值)
attributesList.add("ipitchangle1");
attributesList.add("ipitchangle2");
attributesList.add("ipitchangle3");
//解缆状态
attributesList.add("iyplevel");
//电网故障停机
attributesList.add("gridlostdetected");
//是否锁定
attributesList.add("Locked");
for (SysEquipmentVo item : sysEquipmentVos) {
//构建查询属性参数
SnapshotValueQueryParam snapshotValueQueryParam = new SnapshotValueQueryParam();
snapshotValueQueryParam.setAttributes(attributesList);
snapshotValueQueryParam.setDeviceId(item.getId().toString());
paramList.add(snapshotValueQueryParam);
//构建风机数据返回
WindTurbinesPageVo windTurbinesPageVo = new WindTurbinesPageVo();
windTurbinesPageVo.setIrn(item.getId());
windTurbinesPageVo.setName(item.getName());
windTurbinesPageVo.setModel(item.getModel());
windTurbinesPageVo.setModelId(item.getIotModelId());
windTurbinesPageVo.setBelongLine(item.getBelongLine());
windTurbinesPageVos.add(windTurbinesPageVo);
}
//获取设备测点数据
Map<String, Map<String, Object>> map = dataServiceImpl.querySnapshotValues(paramList);
for (WindTurbinesPageVo item : windTurbinesPageVos) {
item.setAttributeMap(map.get(item.getIrn().toString()));
}
stopWatch.stop();
//监控查询时间
log.debug(stopWatch.prettyPrint(TimeUnit.SECONDS));
return windTurbinesPageVos;
}
}