Commit 636aa187 authored by caotao's avatar caotao

移除大屏服务对于监盘服务的依赖,迁移业务代码到大屏服务

parent 10d73fb5
package com.yeejoin.amos.boot.module.jxiop.biz.ESDto;
import io.github.classgraph.json.Id;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.data.elasticsearch.annotations.DateFormat;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
import java.util.Date;
/**
* @description:
* @author: tw
* @createDate: 2023/8/9
*/
@Data
@Accessors(chain = true)
@Document(indexName = "jxiop_day")
public class ESDailyPowerGeneration {
@Id
private String id;
@Field(type = FieldType.Keyword )
private String stationId;
//场站名称
@Field(type = FieldType.Text )
private String stationName;
//场站类型
@Field(type = FieldType.Text )
private String stationType;
//所属省份
@Field(type = FieldType.Text )
private String belongProvince;
//所属片区
@Field(type = FieldType.Text )
private String belongArea;
@Field(type = FieldType.Keyword )
private String day;//时间标识
@Field(type = FieldType.Keyword )
private String moon;//月份标识
@Field(type = FieldType.Keyword)
private String gatewayId;
@Field(type = FieldType.Date, format = DateFormat.basic_date_time, index = false)
private Date createdTime;
@Field(type = FieldType.Double, index = false)
private Double value;
@Field(type = FieldType.Keyword )
private String equipmentIndexName;
@Field(type = FieldType.Keyword )
private String equipmentNumber;
@Field(type = FieldType.Text, index = false)
private String address;
public ESDailyPowerGeneration(String id, String stationId, String stationName, String stationType, String belongProvince, String belongArea, String day, String gatewayId, Date createdTime, Double value, String equipmentIndexName, String equipmentNumber, String address,String moon) {
this.id = id;
this.stationId = stationId;
this.stationName = stationName;
this.stationType = stationType;
this.belongProvince = belongProvince;
this.belongArea = belongArea;
this.day = day;
this.gatewayId = gatewayId;
this.createdTime = createdTime;
this.value = value;
this.equipmentIndexName = equipmentIndexName;
this.equipmentNumber = equipmentNumber;
this.address = address;
this.moon=moon;
}
public ESDailyPowerGeneration() {
}
}
package com.yeejoin.amos.boot.module.jxiop.biz.ESDto;
import io.github.classgraph.json.Id;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.data.elasticsearch.annotations.DateFormat;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
import java.util.Date;
/**
* @description:
* @author: tw
* @createDate: 2023/8/8
*/
@Data
@Accessors(chain = true)
@Document(indexName = "jxiop_equipments")
public class ESEquipments {
@Id
private String id;
@Field(type = FieldType.Text, index = false)
private String address;
@Field(type = FieldType.Text, index = false)
private String dataType;
@Field(type = FieldType.Text)
private String equipmentSpecificName;
@Field(type = FieldType.Keyword)
private String gatewayId;
@Field(type = FieldType.Text)
private String isAlarm;
@Field(type = FieldType.Date, format = DateFormat.basic_date_time, index = false)
private Date createdTime;
@Field(type = FieldType.Text , index = false)
private String unit;
@Field(type = FieldType.Text, index = false)
private String value;
@Field(type = FieldType.Double, index = false)
private Double valueDouble;
@Field(type = FieldType.Text , index = false)
private String valueLabel;
@Field(type = FieldType.Text , index = false)
private String traceId;
@Field(type = FieldType.Keyword )
private String equipmentIndexName;
@Field(type = FieldType.Keyword )
private String equipmentNumber;
@Field(type = FieldType.Text)
private String frontModule;
@Field(type = FieldType.Text)
private String systemType;
@Field(type = FieldType.Text , index = false)
private String pictureName;
@Field(type = FieldType.Text , index = false)
private String displayName;
public ESEquipments(Double valueDouble,String id, String address, String dataType, String equipmentSpecificName, String gatewayId, String isAlarm, Date createdTime, String unit, String value, String valueLabel, String traceId, String equipmentIndexName, String equipmentNumber, String frontModule, String systemType, String pictureName, String displayName) {
this.valueDouble = valueDouble;
this.id = id;
this.address = address;
this.dataType = dataType;
this.equipmentSpecificName = equipmentSpecificName;
this.gatewayId = gatewayId;
this.isAlarm = isAlarm;
this.createdTime = createdTime;
this.unit = unit;
this.value = value;
this.valueLabel = valueLabel;
this.traceId = traceId;
this.equipmentIndexName = equipmentIndexName;
this.equipmentNumber = equipmentNumber;
this.frontModule = frontModule;
this.systemType = systemType;
this.pictureName = pictureName;
this.displayName = displayName;
}
public ESEquipments() {
}
}
package com.yeejoin.amos.boot.module.jxiop.biz.ESDto;
import io.github.classgraph.json.Id;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.data.elasticsearch.annotations.DateFormat;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
import java.util.Date;
/**
* @description:
* @author: tw
* @createDate: 2023/8/9
*/
@Data
@Accessors(chain = true)
@Document(indexName = "jxiop_moon")
public class ESMoonPowerGeneration {
@Id
private String id;
@Field(type = FieldType.Keyword )
private String stationId;
//场站名称
@Field(type = FieldType.Text )
private String stationName;
//场站类型
@Field(type = FieldType.Text )
private String stationType;
//所属省份
@Field(type = FieldType.Text )
private String belongProvince;
//所属片区
@Field(type = FieldType.Text )
private String belongArea;
@Field(type = FieldType.Keyword )
private String day;//时间标识
@Field(type = FieldType.Keyword )
private String year;//年份标识
@Field(type = FieldType.Keyword)
private String gatewayId;
@Field(type = FieldType.Date, format = DateFormat.basic_date_time, index = false)
private Date createdTime;
@Field(type = FieldType.Double, index = false)
private Double value;
@Field(type = FieldType.Keyword )
private String equipmentIndexName;
@Field(type = FieldType.Keyword )
private String equipmentNumber;
@Field(type = FieldType.Text, index = false)
private String address;
public ESMoonPowerGeneration(String id, String stationId, String stationName, String stationType, String belongProvince, String belongArea, String day, String gatewayId, Date createdTime, Double value, String equipmentIndexName, String equipmentNumber, String address,String year) {
this.id = id;
this.stationId = stationId;
this.stationName = stationName;
this.stationType = stationType;
this.belongProvince = belongProvince;
this.belongArea = belongArea;
this.day = day;
this.gatewayId = gatewayId;
this.createdTime = createdTime;
this.value = value;
this.equipmentIndexName = equipmentIndexName;
this.equipmentNumber = equipmentNumber;
this.address = address;
this.year=year;
}
public ESMoonPowerGeneration() {
}
}
package com.yeejoin.amos.boot.module.jxiop.biz.ESDto;
import io.github.classgraph.json.Id;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
@Data
@Accessors(chain = true)
@Document(indexName = "wind_speed")
public class ESWindSpeed {
@Id
private Long id;
@Field(type = FieldType.Text, index = false)
private String createdTime;
@Field(type = FieldType.Text, index = false)
private String equipmentIndexName;
@Field(type = FieldType.Text, index = false)
private String equipmentNumber;
@Field(type = FieldType.Text, index = false)
private String gatewayId;
@Field(type = FieldType.Double, index = false)
private Double value;
@Field(type = FieldType.Text, index = false)
private String batchNo;
}
package com.yeejoin.amos.boot.module.jxiop.biz.ESDto;
import io.github.classgraph.json.Id;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.data.elasticsearch.annotations.DateFormat;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
import java.util.Date;
/**
* @description:
* @author: tw
* @createDate: 2023/8/9
*/
@Data
@Accessors(chain = true)
@Document(indexName = "jxiop_year")
public class ESYearPowerGeneration {
@Id
private String id;
@Field(type = FieldType.Keyword )
private String stationId;
//场站名称
@Field(type = FieldType.Text )
private String stationName;
//场站类型
@Field(type = FieldType.Text )
private String stationType;
//所属省份
@Field(type = FieldType.Text )
private String belongProvince;
//所属片区
@Field(type = FieldType.Text )
private String belongArea;
@Field(type = FieldType.Keyword )
private String day;//时间标识
@Field(type = FieldType.Keyword)
private String gatewayId;
@Field(type = FieldType.Date, format = DateFormat.basic_date_time, index = false)
private Date createdTime;
@Field(type = FieldType.Double, index = false)
private Double value;
@Field(type = FieldType.Keyword )
private String equipmentIndexName;
@Field(type = FieldType.Keyword )
private String equipmentNumber;
@Field(type = FieldType.Text, index = false)
private String address;
public ESYearPowerGeneration(String id, String stationId, String stationName, String stationType, String belongProvince, String belongArea, String day, String gatewayId, Date createdTime, Double value, String equipmentIndexName, String equipmentNumber, String address) {
this.id = id;
this.stationId = stationId;
this.stationName = stationName;
this.stationType = stationType;
this.belongProvince = belongProvince;
this.belongArea = belongArea;
this.day = day;
this.gatewayId = gatewayId;
this.createdTime = createdTime;
this.value = value;
this.equipmentIndexName = equipmentIndexName;
this.equipmentNumber = equipmentNumber;
this.address = address;
}
public ESYearPowerGeneration() {
}
}
package com.yeejoin.amos.boot.module.jxiop.biz.dto; package com.yeejoin.amos.boot.module.jxiop.biz.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
......
...@@ -25,4 +25,5 @@ public class ColModel { ...@@ -25,4 +25,5 @@ public class ColModel {
this.type = type; this.type = type;
this.key = key; this.key = key;
} }
} }
package com.yeejoin.amos.boot.module.jxiop.biz.dto; package com.yeejoin.amos.boot.module.jxiop.biz.dto;
import lombok.Data; import lombok.Data;
import org.apache.poi.ss.formula.functions.T;
import java.util.List; import java.util.List;
......
...@@ -3,7 +3,6 @@ package com.yeejoin.amos.boot.module.jxiop.biz.dto; ...@@ -3,7 +3,6 @@ package com.yeejoin.amos.boot.module.jxiop.biz.dto;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;
import java.util.Map;
@Data @Data
public class HomeMapStationInfoDto { public class HomeMapStationInfoDto {
......
...@@ -3,7 +3,6 @@ package com.yeejoin.amos.boot.module.jxiop.biz.dto; ...@@ -3,7 +3,6 @@ package com.yeejoin.amos.boot.module.jxiop.biz.dto;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;
import java.util.Map;
@Data @Data
public class MapAreaInfoDto { public class MapAreaInfoDto {
......
package com.yeejoin.amos.boot.module.jxiop.biz.dto;
import lombok.Data;
/**
* @description:
* @author: tw
* @createDate: 2023/8/9
*/
@Data
public class QueryDto {
private String key;
private String value;
public QueryDto(String key, String value) {
this.key = key;
this.value = value;
}
public QueryDto() {
}
}
package com.yeejoin.amos.boot.module.jxiop.biz.dto; package com.yeejoin.amos.boot.module.jxiop.biz.dto;
import com.sun.javafx.font.PrismFontFactory;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
......
package com.yeejoin.amos.boot.module.jxiop.biz.dto; package com.yeejoin.amos.boot.module.jxiop.biz.dto;
import lombok.Data; import lombok.Data;
import org.apache.poi.ss.formula.functions.T;
import java.util.List; import java.util.List;
......
package com.yeejoin.amos.boot.module.jxiop.biz.dto;
import lombok.Data;
import java.util.List;
import java.util.Map;
/**
* @description:
* @author: tw
* @createDate: 2023/8/14
*/
@Data
public class SeriesData {
private List<Map<String,Object>> seriesData;
private List<String> axisData;
}
package com.yeejoin.amos.boot.module.jxiop.biz.dto;
import lombok.Data;
import java.io.Serializable;
@Data
public class StationCacheInfoDto implements Serializable {
//场站id
private String stationId;
//场站名称
private String stationName;
//场站类型
private String stationType;
//所属省份
private String belongProvince;
//所属片区
private String belongArea;
//装机容量
private String installedCapacity;
//设备数量
private String equipmentNumbers;
//风机网关
private String fanGatewayId;
//升压站网关
private String boosterGatewayId;
}
package com.yeejoin.amos.boot.module.jxiop.biz.dto; package com.yeejoin.amos.boot.module.jxiop.biz.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors;
@Data @Data
public class SystemEnumDto { public class SystemEnumDto {
......
package com.yeejoin.amos.boot.module.jxiop.biz.dto; package com.yeejoin.amos.boot.module.jxiop.biz.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
......
package com.yeejoin.amos.boot.module.jxiop.biz.dto;
import lombok.Data;
/**
* @description:
* @author: tw
* @createDate: 2023/8/11
*/
@Data
public class TimeDate {
private String key;
private double value;
}
package com.yeejoin.amos.boot.module.jxiop.biz.initdata;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.module.jxiop.api.entity.MapRegion;
import com.yeejoin.amos.boot.module.jxiop.api.entity.Region;
import com.yeejoin.amos.boot.module.jxiop.api.entity.StationBasic;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.MapRegionMapper;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.RegionMapper;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.StationBasicMapper;
import com.yeejoin.amos.boot.module.jxiop.biz.ESDto.ESEquipments;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.QueryDto;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.StationCacheInfoDto;
import com.yeejoin.amos.boot.module.jxiop.biz.mapper2.SjglZsjZsbtzMapper;
import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.CommonServiceImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.CommandLineRunner;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Component
public class StationCacheDataInit implements CommandLineRunner {
Logger logger = LoggerFactory.getLogger(StationCacheDataInit.class);
@Resource
private StationBasicMapper stationBasicMapper;
@Resource
private RegionMapper regionMapper;
@Resource
private MapRegionMapper mapRegionMapper;
@Resource
private SjglZsjZsbtzMapper sjglZsjZsbtzMapper;
@Resource
private CommonServiceImpl commonServiceImpl;
@Resource
private RedisTemplate redisTemplate;
public void run(String... args) throws Exception {
List<StationCacheInfoDto> stationCacheInfoDtos = new ArrayList<>();
redisTemplate.delete("station_info_cache");
List<Region> regionList = regionMapper.selectList(new QueryWrapper<Region>().eq("LEVEL", 1));
List< MapRegion > mapRegionList = mapRegionMapper.selectList(new QueryWrapper<MapRegion>().isNotNull("name"));
List<StationBasic> stationBasicList = stationBasicMapper.selectList(new QueryWrapper<StationBasic>().isNotNull("belong_area").isNotNull("fan_gateway_id"));
stationBasicList.forEach(stationBasic -> {
StationCacheInfoDto stationCacheInfoDto = new StationCacheInfoDto();
stationCacheInfoDto.setStationId(stationBasic.getSequenceNbr().toString());
stationCacheInfoDto.setStationName(stationBasic.getStationName());
stationCacheInfoDto.setStationType(stationBasic.getStationType());
stationCacheInfoDto.setBelongProvince(regionList.stream().filter(region -> region.getRegionCode().toString().equals(stationBasic.getBelongArea().replace("[","").split(",")[0])).map(region -> region.getRegionName()).collect(Collectors.toList()).get(0));
stationCacheInfoDto.setBelongArea(mapRegionList.stream().filter(mapRegion -> mapRegion.getProvince().contains(stationCacheInfoDto.getBelongProvince().substring(0,2))||mapRegion.getProvince().contains(stationCacheInfoDto.getBelongProvince().substring(0,3))).map(mapRegion -> mapRegion.getName()).collect(Collectors.toList()).get(0));
stationCacheInfoDto.setInstalledCapacity(String.format("%.2f",sjglZsjZsbtzMapper.getStationCapactityByStationWerks(stationBasic.getStationNumber())));
List<QueryDto> queryDtoList = new ArrayList<>();
queryDtoList.add(new QueryDto("gatewayId",stationBasic.getFanGatewayId()));
queryDtoList.add(new QueryDto("equipmentIndexName.keyword","有功功率"));
if(!stationBasic.getStationType().equals("FDZ")){
queryDtoList.add(new QueryDto("frontModule","逆变器"));
}
stationCacheInfoDto.setEquipmentNumbers(commonServiceImpl.getCount(queryDtoList,"equipmentNumber.Keyword", ESEquipments.class).toString());
stationCacheInfoDto.setFanGatewayId(stationBasic.getFanGatewayId());
stationCacheInfoDto.setBoosterGatewayId(stationBasic.getBoosterGatewayId());
stationCacheInfoDtos.add(stationCacheInfoDto);
});
redisTemplate.opsForList().leftPushAll("station_info_cache",stationCacheInfoDtos);
}
}
...@@ -36,8 +36,6 @@ import java.util.ArrayList; ...@@ -36,8 +36,6 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
@Service @Service
public class CommonServiceImpl { public class CommonServiceImpl {
...@@ -103,7 +101,6 @@ public class CommonServiceImpl { ...@@ -103,7 +101,6 @@ public class CommonServiceImpl {
} }
/** /**
* @deprecated 获取指标值平均值 * @deprecated 获取指标值平均值
* @param gatewayId 网关id 用于拼接sql语句
* @param indicator 指标名称 查询条件-根据指标名称获取风速 * @param indicator 指标名称 查询条件-根据指标名称获取风速
* @return 指标值总和 * @return 指标值总和
*/ */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment