风机矩阵优化

This commit is contained in:
yu 2024-12-19 15:03:03 +08:00
parent afee8ce2a6
commit 7c32cafd82
7 changed files with 68 additions and 36 deletions

View File

@ -112,4 +112,9 @@ public class SysEquipmentDto implements Serializable {
*/
private Double nominalCapacity;
/**
* 所属工程
*/
private String belongProject;
}

View File

@ -1,13 +1,16 @@
package com.das.modules.page.controller;
import com.das.common.exceptions.ServiceException;
import com.das.common.result.R;
import com.das.modules.data.domain.TSValueQueryParam;
import com.das.modules.page.domian.dto.HomeWindTurbineMatrixDataDto;
import com.das.modules.page.domian.dto.WindFarmRealDataDto;
import com.das.modules.page.domian.vo.HomeWindFarmRealDataVo;
import com.das.modules.page.domian.vo.HomeWindTurbineMatrixDataVoVo;
import com.das.modules.page.service.HomeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@ -32,8 +35,11 @@ public class HomeController {
* @return 风机矩阵数据
*/
@PostMapping("/getWindTurbineMatrixData")
public R<List<HomeWindTurbineMatrixDataVoVo>> getWindTurbineMatrixData() {
return R.success(homeService.getWindTurbineMatrixData());
public R<List<HomeWindTurbineMatrixDataVoVo>> getWindTurbineMatrixData(@RequestBody HomeWindTurbineMatrixDataDto homeWindTurbineMatrixDataDto) {
if (CollectionUtils.isEmpty(homeWindTurbineMatrixDataDto.getAttributesList())){
throw new ServiceException("属性列表不能为空");
}
return R.success(homeService.getWindTurbineMatrixData(homeWindTurbineMatrixDataDto));
}

View File

@ -0,0 +1,36 @@
package com.das.modules.page.domian.dto;
import lombok.Data;
import java.util.List;
/**
* 首页风机矩阵
*/
@Data
public class HomeWindTurbineMatrixDataDto {
/**
* 设备类型编码
*/
private Integer objectType;
/**
* 所属工程
*/
private String belongProject;
/**
* 制造商
*/
private String madeinFactory;
/**
* 物理模型属性
*/
private List<String> attributesList;
}

View File

@ -35,6 +35,10 @@ public class HomeWindTurbineMatrixDataVoVo {
private Double nominalCapacity;
private String deviceCode;
/**
* 制造商
*/
private String madeinFactory;
private Map<String,Object> attributeMap;

View File

@ -1,6 +1,7 @@
package com.das.modules.page.service;
import com.das.modules.data.domain.TSValueQueryParam;
import com.das.modules.page.domian.dto.HomeWindTurbineMatrixDataDto;
import com.das.modules.page.domian.dto.WindFarmRealDataDto;
import com.das.modules.page.domian.vo.HomeWindFarmRealDataVo;
import com.das.modules.page.domian.vo.HomeWindTurbineMatrixDataVoVo;
@ -13,7 +14,7 @@ public interface HomeService {
* 接口1 首页风机矩阵数据
* @return 风机矩阵数据
*/
List<HomeWindTurbineMatrixDataVoVo> getWindTurbineMatrixData();
List<HomeWindTurbineMatrixDataVoVo> getWindTurbineMatrixData(HomeWindTurbineMatrixDataDto homeWindTurbineMatrixDataDto);

View File

@ -2,6 +2,7 @@ package com.das.modules.page.service.impl;
import com.das.common.constant.EquipmentTypeIds;
import com.das.common.utils.BeanCopyUtils;
import com.das.common.utils.JsonUtils;
import com.das.modules.data.domain.SnapshotValueQueryParam;
import com.das.modules.data.domain.TSValueQueryParam;
@ -9,6 +10,7 @@ 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.page.domian.dto.HomeWindTurbineMatrixDataDto;
import com.das.modules.page.domian.dto.WindFarmRealDataDto;
import com.das.modules.page.domian.vo.HomeWindFarmRealDataVo;
import com.das.modules.page.domian.vo.HomeWindTurbineMatrixDataVoVo;
@ -42,45 +44,16 @@ public class HomeServiceImpl implements HomeService {
* @return 风机矩阵数据
*/
@Override
public List<HomeWindTurbineMatrixDataVoVo> getWindTurbineMatrixData() {
public List<HomeWindTurbineMatrixDataVoVo> getWindTurbineMatrixData(HomeWindTurbineMatrixDataDto homeWindTurbineMatrixDataDto ) {
SysEquipmentDto sysEquipmentDto = new SysEquipmentDto();
sysEquipmentDto.setObjectType(EquipmentTypeIds.EQUIPMENT_TYPE_STATION_WTG);
BeanCopyUtils.copy(homeWindTurbineMatrixDataDto ,sysEquipmentDto );
//获取所有风机设备
List<SysEquipmentVo> sysEquipmentVos = sysEquipmentMapper.queryEquipmentListInPage(sysEquipmentDto);
//风机返回数据列表
List<HomeWindTurbineMatrixDataVoVo> homeWindRealTimeVoList = new ArrayList<>();
List<SnapshotValueQueryParam> paramList = new ArrayList<>();
//构建需要查询的物模型属
List<String> attributesList = new ArrayList<>();
//风速
attributesList.add("iwindspeed");
//风机状态判断条件所需的字段iturbineoperationmodeiYPLevelGridLostDetected可能会调整
//风机状态
attributesList.add("iturbineoperationmode");
//偏航运行模式
attributesList.add("iyplevel");
//风机电网掉电
attributesList.add("gridlostdetected");
//刹车等级
attributesList.add("ibplevel");
//有功功率(MW)
attributesList.add("igenpower");
//日发电量(kwh)
attributesList.add("ikwhthisday");
//是否锁定
attributesList.add("Locked");
attributesList.add("ProcessedOperationMode");
//叶轮转速
attributesList.add("iRotorSpeed");
attributesList.add("ActiveStatusCode01");
attributesList.add("ActiveStatusCode02");
attributesList.add("ActiveStatusCode03");
attributesList.add("ActiveStatusCode04");
attributesList.add("ActiveStatusCode05");
attributesList.add("ActiveStatusCode06");
attributesList.add("ActiveStatusCode07");
attributesList.add("ActiveStatusCode08");
attributesList.add("FirstTriggeredCode");
//构建需要查询的物模型属性
List<String> attributesList = homeWindTurbineMatrixDataDto.getAttributesList();
for (SysEquipmentVo item : sysEquipmentVos) {
//构建查询属性参数
SnapshotValueQueryParam snapshotValueQueryParam = new SnapshotValueQueryParam();
@ -97,6 +70,7 @@ public class HomeServiceImpl implements HomeService {
homeWindRealTimeVoResult.setBelongLine(item.getBelongLine());
homeWindRealTimeVoResult.setStandard(item.getStandard());
homeWindRealTimeVoResult.setNominalCapacity(item.getNominalCapacity());
homeWindRealTimeVoResult.setMadeinFactory(item.getMadeinFactory());
homeWindRealTimeVoList.add(homeWindRealTimeVoResult);
}
//获取设备测点数据

View File

@ -85,6 +85,12 @@
<if test="info.objectType != null and info.objectType != ''">
and t.object_type = #{info.objectType}
</if>
<if test="info.belongProject !=null and info.belongProject !=''">
and t.belong_project = #{info.belongProject}
</if>
<if test="info.madeinFactory !=null and info.madeinFactory !=''">
and t.madein_factory = #{info.madeinFactory}
</if>
</where>
order by t.name
</select>