Commit e649744a authored by tangwei's avatar tangwei

解决冲突

parents fdc82dc9 29ec6c2f
......@@ -127,4 +127,5 @@ public class InverterDetailDto {
private Double pow30;
private Double pow31;
private Double pow32;
private Double inverterTemperature;
}
......@@ -92,6 +92,22 @@ public class TdHYGFInverterDayGenerate implements Serializable {
*/
private Double acc4;
/**
* 直流电流1
*/
private Double pv1;
/**
* 直流电流2
*/
private Double pv2;
/**
* 直流电流3
*/
private Double pv3;
/**
* 直流电流4
*/
private Double pv4;
/**
* 总功率
*/
private Double totalPower;
......@@ -122,6 +138,9 @@ public class TdHYGFInverterDayGenerate implements Serializable {
/**
* IGBT温度
*/
private Double igbtTmep;
private Double igbtTemp;
private Double income;
private Double fullhour;
}
......@@ -24,13 +24,13 @@ public class TdHYGFInverterMonthGenerate implements Serializable {
*/
private String snCode;
/**
*日 yyyy-MM
*日 yyyy-MM-dd
*/
private String monthTime;
private String dayTime;
/**
*月 yyyy
*/
private String year;
private String yearMonth;
/**
* 发电量
*/
......@@ -39,5 +39,6 @@ public class TdHYGFInverterMonthGenerate implements Serializable {
* 满发小时数
*/
private Double fullhour;
private Double income;
}
package com.yeejoin.amos.api.householdapi.face.orm.houseapi.entity.tdeingine;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
/**
* @author DELL
*/
@Data
@TableName(value = "td_hygf_inverter_total_generate" ,autoResultMap = true)
public class TdHYGFInverterTotalGenerate implements Serializable {
/**
* 创建时间
*/
private Long createdTime;
/**
* 第三方场站id
*/
private String thirdStationId;
/**
* sncode
*/
private String snCode;
/**
*日 yyyy-MM
*/
private String yearTime;
/**
*月 yyyy
*/
private String year;
/**
* 发电量
*/
private Double generate;
/**
* 满发小时数
*/
private Double fullhour;
private Double income;
}
......@@ -26,7 +26,7 @@ public class TdHYGFInverterYearGenerate implements Serializable {
/**
*日 yyyy-MM
*/
private String yearTime;
private String monthTime;
/**
*月 yyyy
*/
......@@ -39,5 +39,6 @@ public class TdHYGFInverterYearGenerate implements Serializable {
* 满发小时数
*/
private Double fullhour;
private Double income;
}
......@@ -31,5 +31,6 @@ public class TdHYGFStationDayGenerate implements Serializable {
* 发电量
*/
private Double generate;
private Double fullhour;
}
......@@ -31,5 +31,6 @@ public class TdHYGFStationMonthGenerate implements Serializable {
* 发电量
*/
private Double generate;
private Double fullhour;
}
......@@ -31,5 +31,6 @@ public class TdHYGFStationYearGenerate implements Serializable {
* 发电量
*/
private Double generate;
private Double fullhour;
}
package com.yeejoin.amos.api.householdapi.face.orm.mapper.tdengine;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.api.householdapi.face.orm.houseapi.entity.tdeingine.TdHYGFInverterTotalGenerate;
public interface TdHYGFInverterTotalGenerateMapper extends BaseMapper<TdHYGFInverterTotalGenerate> {
}
......@@ -100,6 +100,9 @@ public class GoLangDataAcquisitionServiceImpl implements GoLangDataAcquisitionSe
@Autowired
private TdHYGFStationYearGenerateMapper tdHYGFStationYearGenerateMapper;
@Autowired
private TdHYGFInverterTotalGenerateMapper tdHYGFInverterTotalGenerateMapper;
@Scheduled(cron = "${dataRequstScheduled.jinlangyun}")
@Override
public void stationList() {
......@@ -227,7 +230,8 @@ public class GoLangDataAcquisitionServiceImpl implements GoLangDataAcquisitionSe
tdHYGFStationDayGenerate.setThirdStationId(stationIds.get(i));
tdHYGFStationDayGenerate.setDayTime(DateUtil.format(today1, "yyyy-MM-dd"));
tdHYGFStationDayGenerate.setYearMonth(DateUtil.format(today1, "yyyy-MM"));
tdHYGFStationDayGenerate.setGenerate(golangStationDetail.getDayenergy());
tdHYGFStationDayGenerate.setGenerate(jpStation.getDayGenerate());
tdHYGFStationDayGenerate.setFullhour(jpStation.getDayGenerate()/jpStation.getCapacity());
if(ObjectUtils.isEmpty(tdHYGFStationDayGenerate.getCreatedTime())){
tdHYGFStationDayGenerate.setCreatedTime(System.currentTimeMillis());
tdHYGFStationDayGenerateMapper.insert(tdHYGFStationDayGenerate);
......@@ -245,7 +249,8 @@ public class GoLangDataAcquisitionServiceImpl implements GoLangDataAcquisitionSe
tdHYGFStationMonthGenerate.setThirdStationId(stationIds.get(i));
tdHYGFStationMonthGenerate.setMonthTime(DateUtil.format(today1, "yyyy-MM"));
tdHYGFStationMonthGenerate.setYear(DateUtil.format(today1, "yyyy"));
tdHYGFStationMonthGenerate.setGenerate(golangStationDetail.getMonthenergy());
tdHYGFStationMonthGenerate.setGenerate(jpStation.getMonthGenerate());
tdHYGFStationMonthGenerate.setFullhour(jpStation.getMonthGenerate()/jpStation.getCapacity());
if(ObjectUtils.isEmpty(tdHYGFStationMonthGenerate.getCreatedTime())){
tdHYGFStationMonthGenerate.setCreatedTime(System.currentTimeMillis());
tdHYGFStationMonthGenerateMapper.insert(tdHYGFStationMonthGenerate);
......@@ -263,7 +268,8 @@ public class GoLangDataAcquisitionServiceImpl implements GoLangDataAcquisitionSe
tdHYGFStationYearGenerate.setThirdStationId(stationIds.get(i));
tdHYGFStationYearGenerate.setYearTime(DateUtil.format(today1, "yyyy"));
tdHYGFStationYearGenerate.setYear(DateUtil.format(today1, "yyyy"));
tdHYGFStationYearGenerate.setGenerate(golangStationDetail.getYearenergy());
tdHYGFStationYearGenerate.setGenerate(jpStation.getYearGenerate());
tdHYGFStationYearGenerate.setFullhour(jpStation.getYearGenerate()/jpStation.getCapacity());
if(ObjectUtils.isEmpty(tdHYGFStationYearGenerate.getCreatedTime())){
tdHYGFStationYearGenerate.setCreatedTime(System.currentTimeMillis());
tdHYGFStationYearGenerateMapper.insert(tdHYGFStationYearGenerate);
......@@ -522,7 +528,9 @@ public class GoLangDataAcquisitionServiceImpl implements GoLangDataAcquisitionSe
hygfjpInverterElecHistoryMapper.insert(hygfjpInverterElecHistory);
// 逆变器历史
String today = DateUtil.today();
HYGFJPInverterHistory hygfjpInverterHistory = hygfjpInverterHistoryMapper.selectOne(new QueryWrapper<HYGFJPInverterHistory>().eq("sn_code", inverterDetailDto.getSn()).eq("date", today));
HYGFJPInverterHistory hygfjpInverterHistory = hygfjpInverterHistoryMapper.selectOne(new QueryWrapper<HYGFJPInverterHistory>()
.eq("sn_code", inverterDetailDto.getSn())
.eq("date", today));
if (ObjectUtils.isEmpty(hygfjpInverterHistory)) {
hygfjpInverterHistory = new HYGFJPInverterHistory();
}
......@@ -565,6 +573,12 @@ public class GoLangDataAcquisitionServiceImpl implements GoLangDataAcquisitionSe
tdHYGFInverterDayGenerate.setAcc2(inverterDetailDto.getIPv2());
tdHYGFInverterDayGenerate.setAcc3(inverterDetailDto.getIPv3());
tdHYGFInverterDayGenerate.setAcc4(inverterDetailDto.getIPv4());
//功率
tdHYGFInverterDayGenerate.setPv1(inverterDetailDto.getPow1());
tdHYGFInverterDayGenerate.setPv2(inverterDetailDto.getPow2());
tdHYGFInverterDayGenerate.setPv3(inverterDetailDto.getPow3());
tdHYGFInverterDayGenerate.setPv4(inverterDetailDto.getPow4());
tdHYGFInverterDayGenerate.setTotalPower(inverterDetailDto.getPower());
tdHYGFInverterDayGenerate.setFrequency(String.valueOf(inverterDetailDto.getPac()));
tdHYGFInverterDayGenerate.setPowerFactor(inverterDetailDto.getPowerFactor());
......@@ -572,22 +586,26 @@ public class GoLangDataAcquisitionServiceImpl implements GoLangDataAcquisitionSe
tdHYGFInverterDayGenerate.setMonthGen(inverterDetailDto.getEMonth());
tdHYGFInverterDayGenerate.setYearGen(inverterDetailDto.getEMonth());
tdHYGFInverterDayGenerate.setTotalGen(inverterDetailDto.getETotal());
tdHYGFInverterDayGenerate.setIgbtTemp(inverterDetailDto.getInverterTemperature());
tdHYGFInverterDayGenerate.setIncome(null);
tdHYGFInverterDayGenerate.setFullhour(jpInverter.getDayPowerGeneration()/jpInverter.getCapacity());
tdHYGFInverterDayGenerateMapper.insert(tdHYGFInverterDayGenerate);
//户用场站月发电量
Date today1 = new Date();
TdHYGFInverterMonthGenerate tdHYGFInverterMonthGenerate = tdHYGFInverterMonthGenerateMapper.selectOne(new QueryWrapper<TdHYGFInverterMonthGenerate>()
.eq("third_station_id",inverterDetailDto.getStationId())
.eq("month_time",DateUtil.format(today1, "yyyy-MM"))
.eq("year",DateUtil.format(today1, "yyyy")));
.eq("third_station_id",jpInverter.getThirdStationId())
.eq("sn_code",jpInverter.getSnCode())
.eq("day_time",DateUtil.format(today1, "yyyy-MM-dd"))
.eq("year_month",DateUtil.format(today1, "yyyy-MM")));
if(ObjectUtils.isEmpty(tdHYGFInverterMonthGenerate)){
tdHYGFInverterMonthGenerate=new TdHYGFInverterMonthGenerate();
}
tdHYGFInverterMonthGenerate.setThirdStationId(String.valueOf(inverterDetailDto.getStationId()));
tdHYGFInverterMonthGenerate.setSnCode(String.valueOf(inverterDetailDto.getSn()));
tdHYGFInverterMonthGenerate.setMonthTime(DateUtil.format(today1, "yyyy-MM"));
tdHYGFInverterMonthGenerate.setYear(DateUtil.format(today1, "yyyy"));
tdHYGFInverterMonthGenerate.setGenerate(inverterDetailDto.getEMonth());
tdHYGFInverterMonthGenerate.setFullhour(inverterDetailDto.getEMonth()/inverterDetailDto.getPower());
tdHYGFInverterMonthGenerate.setThirdStationId(jpInverter.getThirdStationId());
tdHYGFInverterMonthGenerate.setSnCode(String.valueOf(jpInverter.getSnCode()));
tdHYGFInverterMonthGenerate.setDayTime(DateUtil.format(today1, "yyyy-MM-dd"));
tdHYGFInverterMonthGenerate.setYearMonth(DateUtil.format(today1, "yyyy-MM"));
tdHYGFInverterMonthGenerate.setGenerate(jpInverter.getDayPowerGeneration());
tdHYGFInverterMonthGenerate.setFullhour(jpInverter.getDayPowerGeneration()/jpInverter.getCapacity());
if(ObjectUtils.isEmpty(tdHYGFInverterMonthGenerate.getCreatedTime())){
tdHYGFInverterMonthGenerate.setCreatedTime(System.currentTimeMillis());
tdHYGFInverterMonthGenerateMapper.insert(tdHYGFInverterMonthGenerate);
......@@ -596,24 +614,46 @@ public class GoLangDataAcquisitionServiceImpl implements GoLangDataAcquisitionSe
}
//户用场站年发电量
TdHYGFInverterYearGenerate tdHYGFInverterYearGenerate = tdHYGFInverterYearGenerateMapper.selectOne(new QueryWrapper<TdHYGFInverterYearGenerate>()
.eq("third_station_id",inverterDetailDto.getStationId())
.eq("year_time",DateUtil.format(today1, "yyyy"))
.eq("third_station_id",jpInverter.getThirdStationId())
.eq("sn_code",jpInverter.getSnCode())
.eq("month_time",DateUtil.format(today1, "yyyy-MM"))
.eq("year",DateUtil.format(today1, "yyyy")));
if(ObjectUtils.isEmpty(tdHYGFInverterYearGenerate)){
tdHYGFInverterYearGenerate = new TdHYGFInverterYearGenerate();
}
tdHYGFInverterYearGenerate.setThirdStationId(String.valueOf(inverterDetailDto.getStationId()));
tdHYGFInverterYearGenerate.setSnCode(inverterDetailDto.getSn());
tdHYGFInverterYearGenerate.setYearTime(DateUtil.format(today1, "yyyy"));
tdHYGFInverterYearGenerate.setThirdStationId(jpInverter.getThirdStationId());
tdHYGFInverterYearGenerate.setSnCode(jpInverter.getSnCode());
tdHYGFInverterYearGenerate.setMonthTime(DateUtil.format(today1, "yyyy-MM"));
tdHYGFInverterYearGenerate.setYear(DateUtil.format(today1, "yyyy"));
tdHYGFInverterYearGenerate.setGenerate(inverterDetailDto.getEYear());
tdHYGFInverterYearGenerate.setFullhour(inverterDetailDto.getEYear()/inverterDetailDto.getPower());
tdHYGFInverterYearGenerate.setGenerate(jpInverter.getMonthPowerGeneration());
tdHYGFInverterYearGenerate.setFullhour(jpInverter.getMonthPowerGeneration()/jpInverter.getCapacity());
if(ObjectUtils.isEmpty(tdHYGFInverterYearGenerate.getCreatedTime())){
tdHYGFInverterYearGenerate.setCreatedTime(System.currentTimeMillis());
tdHYGFInverterYearGenerateMapper.insert(tdHYGFInverterYearGenerate);
}else {
tdHYGFInverterYearGenerateMapper.insert(tdHYGFInverterYearGenerate);
}
//户用场站年发电量
TdHYGFInverterTotalGenerate tdHYGFInverterTotalGenerate = tdHYGFInverterTotalGenerateMapper.selectOne(new QueryWrapper<TdHYGFInverterTotalGenerate>()
.eq("third_station_id",jpInverter.getThirdStationId())
.eq("sn_code",jpInverter.getSnCode())
.eq("year_time",DateUtil.format(today1, "yyyy"))
.eq("year",DateUtil.format(today1, "yyyy")));
if(ObjectUtils.isEmpty(tdHYGFInverterTotalGenerate)){
tdHYGFInverterTotalGenerate = new TdHYGFInverterTotalGenerate();
}
tdHYGFInverterTotalGenerate.setThirdStationId(jpInverter.getThirdStationId());
tdHYGFInverterTotalGenerate.setSnCode(jpInverter.getSnCode());
tdHYGFInverterTotalGenerate.setYearTime(DateUtil.format(today1, "yyyy"));
tdHYGFInverterTotalGenerate.setYear(DateUtil.format(today1, "yyyy"));
tdHYGFInverterTotalGenerate.setGenerate(jpInverter.getYearPowerGeneration());
tdHYGFInverterTotalGenerate.setFullhour(jpInverter.getYearPowerGeneration()/jpInverter.getCapacity());
if(ObjectUtils.isEmpty(tdHYGFInverterTotalGenerate.getCreatedTime())){
tdHYGFInverterTotalGenerate.setCreatedTime(System.currentTimeMillis());
tdHYGFInverterTotalGenerateMapper.insert(tdHYGFInverterTotalGenerate);
}else {
tdHYGFInverterTotalGenerateMapper.insert(tdHYGFInverterTotalGenerate);
}
}
}
}
......
......@@ -40,50 +40,39 @@ import java.util.stream.Collectors;
public class ImasterDataServiceImpl implements ImasterDataService {
//户用光伏日发电量
@Autowired
JpInverterElectricityMapper jpInverterElectricityMapper;
//北向请求工具封装
@Autowired
private ImasterUtils imasterUtils;
//北向mapper
@Autowired
private ImasterStationMapper imasterStationMapper;
//北向mapper
@Autowired
private ImasterCollectorListMapper imasterCollectorListMapper;
//北向mapper
@Autowired
private ImasterInverterListMapper imasterInverterListMapper;
//北向mapper
@Autowired
private ImasterInverterListDetailsMapper imasterInverterListDetailsMapper;
//北向mapper
@Autowired
private ImasterStationDetailsMapper imasterStationDetailsMapper;
//北向mapper
@Autowired
private ImasterInverterMonthMapper imasterInverterMonthMapper;
//北向mapper
@Autowired
private ImasterInverterYearMapper imasterInverterYearMapper;
//北向mapper
@Autowired
private ImasterStationMonthMapper imasterStationMonthMapper;
//北向mapper
@Autowired
private ImasterStationYearMapper imasterStationYearMapper;
//监盘场站mapper
@Autowired
private JpStationMapper jpStationMapper;
......@@ -93,7 +82,6 @@ public class ImasterDataServiceImpl implements ImasterDataService {
//监盘逆变器mapper
@Autowired
private JpInverterMapper jpInverterMapper;
//户用光伏场站历史mapper
@Autowired
private HYGFJPStationPowerHistoryMapper hygfjpStationPowerHistoryMapper;
......@@ -112,10 +100,20 @@ public class ImasterDataServiceImpl implements ImasterDataService {
//户用光伏日发电量
@Autowired
private HYGFJPDayPowerMapper hygfjpDayPowerMapper;
//户用光伏日发电量
@Autowired
JpInverterElectricityMapper jpInverterElectricityMapper;
private TdHYGFInverterDayGenerateMapper tdHYGFInverterDayGenerateMapper;
@Autowired
private TdHYGFInverterMonthGenerateMapper tdHYGFInverterMonthGenerateMapper;
@Autowired
private TdHYGFInverterYearGenerateMapper tdHYGFInverterYearGenerateMapper;
@Autowired
private TdHYGFStationDayGenerateMapper tdHYGFStationDayGenerateMapper;
@Autowired
private TdHYGFStationMonthGenerateMapper tdHYGFStationMonthGenerateMapper;
@Autowired
private TdHYGFStationYearGenerateMapper tdHYGFStationYearGenerateMapper;
@Autowired
private TdHYGFInverterTotalGenerateMapper tdHYGFInverterTotalGenerateMapper;
@Scheduled(cron = "${dataRequstScheduled.huawei}")
......@@ -150,16 +148,16 @@ public class ImasterDataServiceImpl implements ImasterDataService {
// } catch (InterruptedException e) {
// throw new RuntimeException(e);
// }
HashMap<String, Object> requestInfo = new HashMap<>();
requestInfo.put("stationCodes", stationList.stream().collect(Collectors.joining(",")));
requestInfo.put("collectTime", System.currentTimeMillis());
String requestParaminfo = JSON.toJSONString(requestInfo);
List<ImasterStationDetail> result = imasterUtils.getResPonseOther(ImasterConstant.stationDetailUrl,
GoLangConstant.requestPost,
requestParaminfo,
ImasterConstant.resovleRule_data_page_records,
ImasterStationDetail.class
);
HashMap<String, Object> requestInfo = new HashMap<>();
requestInfo.put("stationCodes", stationList.stream().collect(Collectors.joining(",")));
requestInfo.put("collectTime", System.currentTimeMillis());
String requestParaminfo = JSON.toJSONString(requestInfo);
List<ImasterStationDetail> result = imasterUtils.getResPonseOther(ImasterConstant.stationDetailUrl,
GoLangConstant.requestPost,
requestParaminfo,
ImasterConstant.resovleRule_data_page_records,
ImasterStationDetail.class
);
List<ImasterStationDetailsMonth> result2 = imasterUtils.getResPonseOther(ImasterConstant.stationDetailMonthUrl,
......@@ -190,146 +188,200 @@ public class ImasterDataServiceImpl implements ImasterDataService {
ImasterInverterListDetails.class
);
for (int j = 0; j < result.size(); j++) {
QueryWrapper<ImasterStationList> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("plant_code", result.get(j).getStationCode());
queryWrapper.orderByDesc("created_time");
List<ImasterStationList> imasterStationListAll = imasterStationMapper.selectList(queryWrapper);
ImasterStationList imasterStationList = imasterStationListAll.get(0);
ImasterStationDetail imasterStationDetail = result.get(j);
imasterStationDetail.setStationCode(imasterStationList.getPlantCode());
imasterStationDetail.setCreatedTime(System.currentTimeMillis());
imasterStationDetailsMapper.insert(imasterStationDetail);
JpStation jpStation = jpStationMapper.selectOne(new QueryWrapper<JpStation>().
eq("third_code", PVProducerInfoEnum.HUAWEI.getCode()).
eq("third_station_id", imasterStationList.getPlantCode()));
//给户用光伏存储的数据赋值
if (ObjectUtils.isEmpty(jpStation)) {
jpStation = new JpStation();
}
// jpStation.setSnCode(imasterStationDetail.getNmicode());
jpStation.setCapacity(Double.valueOf(imasterStationList.getCapacity()));
jpStation.setName(imasterStationList.getPlantName());
// jpStation.setPrice(Double.valueOf(imasterStationDetail.getPrice()));
jpStation.setAddress(imasterStationList.getPlantAddress());
jpStation.setLongitude(imasterStationList.getLongitude());
jpStation.setLatitude(imasterStationList.getLatitude());
jpStation.setUserName("三一硅能(株洲)有限公司");
jpStation.setUserPhone("18511539874");
jpStation.setOnGridType("自发自用");
jpStation.setType("工商业");
//jpStation.setOnGridTime(new Date("2023-05-22"));
for (int j = 0; j < result.size(); j++) {
QueryWrapper<ImasterStationList> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("plant_code", result.get(j).getStationCode());
queryWrapper.orderByDesc("created_time");
List<ImasterStationList> imasterStationListAll = imasterStationMapper.selectList(queryWrapper);
ImasterStationList imasterStationList = imasterStationListAll.get(0);
ImasterStationDetail imasterStationDetail = result.get(j);
imasterStationDetail.setStationCode(imasterStationList.getPlantCode());
imasterStationDetail.setCreatedTime(System.currentTimeMillis());
imasterStationDetailsMapper.insert(imasterStationDetail);
JpStation jpStation = jpStationMapper.selectOne(new QueryWrapper<JpStation>().
eq("third_code", PVProducerInfoEnum.HUAWEI.getCode()).
eq("third_station_id", imasterStationList.getPlantCode()));
//给户用光伏存储的数据赋值
if (ObjectUtils.isEmpty(jpStation)) {
jpStation = new JpStation();
}
// jpStation.setSnCode(imasterStationDetail.getNmicode());
jpStation.setCapacity(Double.valueOf(imasterStationList.getCapacity()));
jpStation.setName(imasterStationList.getPlantName());
// jpStation.setPrice(Double.valueOf(imasterStationDetail.getPrice()));
jpStation.setAddress(imasterStationList.getPlantAddress());
jpStation.setLongitude(imasterStationList.getLongitude());
jpStation.setLatitude(imasterStationList.getLatitude());
jpStation.setUserName("三一硅能(株洲)有限公司");
jpStation.setUserPhone("18511539874");
jpStation.setOnGridType("自发自用");
jpStation.setType("工商业");
//jpStation.setOnGridTime(new Date("2023-05-22"));
// jpStation.setRealTimePower();
jpStation.setPrice(0.45);
jpStation.setRatedPower(100D);
jpStation.setStationContact(imasterStationList.getContactPerson());
// jpStation.setModuleCount(ObjectUtils.isEmpty(Math.toIntExact(imasterStationDetail.getModule()))?0:Math.toIntExact(imasterStationDetail.getModule()));
//并网类型
// jpStation.setState(ImasterConstant.stationStaus.get(String.valueOf(imasterStationDetail.getRealHealthState())));
jpStation.setThirdStationId(imasterStationList.getPlantCode());
jpStation.setThirdCode(PVProducerInfoEnum.HUAWEI.getCode());
// jpStation.setRealTimePower(imasterStationDetail.getPower());
// jpStation.setOnGridType(GoLangConstant.intoNetWorkStatus.get(String.valueOf(imasterStationDetail.getStationtypenew())));
jpStation.setDayGenerate(imasterStationDetail.getDay_power() );
jpStation.setMonthGenerate(imasterStationDetail.getMonth_power() );
// jpStation.setMonthGenerate(imasterStationDetail.getMonthPower());
// jpStation.setYearGenerate(imasterStationDetail.getYearenergy());
Long currentTime = System.currentTimeMillis();
Long monthStart = CalendarAdjust.getMonthStartTime(currentTime, "GMT+8:00");
Long yearStart = CalendarAdjust.getYearStartTime(currentTime, "GMT+8:00");
// 获取年发电量 年收益
for (ImasterStationDetailsYear imasterStationDetailsYear : result3
) {
if(imasterStationDetailsYear.getCollectTime().equals(String.valueOf(yearStart))) {
jpStation.setYearGenerate(imasterStationDetailsYear.getInverter_power());
jpStation.setYearIncome(imasterStationDetailsYear.getPower_profit());
imasterStationDetailsYear.setStationCode(imasterStationList.getPlantCode());
imasterStationDetailsYear.setCreatedTime(System.currentTimeMillis());
imasterStationYearMapper.insert(imasterStationDetailsYear);
}
jpStation.setPrice(0.45);
jpStation.setRatedPower(100D);
jpStation.setStationContact(imasterStationList.getContactPerson());
// jpStation.setModuleCount(ObjectUtils.isEmpty(Math.toIntExact(imasterStationDetail.getModule()))?0:Math.toIntExact(imasterStationDetail.getModule()));
//并网类型
// jpStation.setState(ImasterConstant.stationStaus.get(String.valueOf(imasterStationDetail.getRealHealthState())));
jpStation.setThirdStationId(imasterStationList.getPlantCode());
jpStation.setThirdCode(PVProducerInfoEnum.HUAWEI.getCode());
// jpStation.setRealTimePower(imasterStationDetail.getPower());
// jpStation.setOnGridType(GoLangConstant.intoNetWorkStatus.get(String.valueOf(imasterStationDetail.getStationtypenew())));
jpStation.setDayGenerate(imasterStationDetail.getDay_power());
jpStation.setMonthGenerate(imasterStationDetail.getMonth_power());
// jpStation.setMonthGenerate(imasterStationDetail.getMonthPower());
// jpStation.setYearGenerate(imasterStationDetail.getYearenergy());
Long currentTime = System.currentTimeMillis();
Long monthStart = CalendarAdjust.getMonthStartTime(currentTime, "GMT+8:00");
Long yearStart = CalendarAdjust.getYearStartTime(currentTime, "GMT+8:00");
// 获取年发电量 年收益
for (ImasterStationDetailsYear imasterStationDetailsYear : result3
) {
if (imasterStationDetailsYear.getCollectTime().equals(String.valueOf(yearStart))) {
jpStation.setYearGenerate(imasterStationDetailsYear.getInverter_power());
jpStation.setYearIncome(imasterStationDetailsYear.getPower_profit());
imasterStationDetailsYear.setStationCode(imasterStationList.getPlantCode());
imasterStationDetailsYear.setCreatedTime(System.currentTimeMillis());
imasterStationYearMapper.insert(imasterStationDetailsYear);
}
}
// 获取月收益
for (ImasterStationDetailsMonth imasterStationDetailsMonth: result2
) {
if(imasterStationDetailsMonth.getCollectTime().equals(String.valueOf(monthStart))) {
jpStation.setMonthIncome(imasterStationDetailsMonth.getPower_profit());
imasterStationDetailsMonth.setStationCode(imasterStationList.getPlantCode());
imasterStationDetailsMonth.setCreatedTime(System.currentTimeMillis());
imasterStationMonthMapper.insert(imasterStationDetailsMonth);
}
}
// 获取月收益
//实时功率
Double active_power=0.0;
for (ImasterInverterListDetails imasterInverterListDetails : result4) {
active_power=active_power+ (imasterInverterListDetails.getActive_power()!=null?imasterInverterListDetails.getActive_power():0.0);
for (ImasterStationDetailsMonth imasterStationDetailsMonth : result2
) {
if (imasterStationDetailsMonth.getCollectTime().equals(String.valueOf(monthStart))) {
jpStation.setMonthIncome(imasterStationDetailsMonth.getPower_profit());
imasterStationDetailsMonth.setStationCode(imasterStationList.getPlantCode());
imasterStationDetailsMonth.setCreatedTime(System.currentTimeMillis());
imasterStationMonthMapper.insert(imasterStationDetailsMonth);
}
jpStation.setRealTimePower(active_power);
jpStation.setAccumulatedPower(imasterStationDetail.getTotal_power());
jpStation.setCumulativeIncome(imasterStationDetail.getTotal_power()!=null?imasterStationDetail.getTotal_power()*0.45:0.0);
}
jpStation.setDayIncome(imasterStationDetail.getDay_income());
//jpStation.setCumulativeIncome(imasterStationDetail.getTotal_income());
jpStation.setState(ImasterConstant.stationStaus.get(String.valueOf(imasterStationDetail.getReal_health_state())));
// jpStation.setDayIncome(imasterStationDetail.getDayIncome());
// jpStation.setMonthIncome(imasterStationDetail.getMonthincome());
// jpStation.setYearIncome(imasterStationDetail.getYearincome());
// jpStation.setCumulativeIncome(imasterStationDetail.getTotalIncome());
// jpStation.setArea(imasterStationDetail.getRegionstr());
// jpStation.setEmail(imasterStationDetail.getUseremail());
// jpStation.setOnGridTime(new Date(imasterStationDetail.getFispowertime()));
// jpStation.setAccessTime(new Date(imasterStationDetail.getFisgeneratetime()));
// jpStation.setCreateTime(new Date(imasterStationDetail.getCreatedate()));
// jpStation.setRatedPower(Double.valueOf(imasterStationDetail.getInverterpower()));
if (!ObjectUtils.isEmpty(jpStation.getSequenceNbr())) {
jpStationMapper.updateById(jpStation);
} else {
jpStationMapper.insert(jpStation);
}
HYGFJPStationPowerHistory hygfjpStationPowerHistory = new HYGFJPStationPowerHistory();
hygfjpStationPowerHistory.setCreatedTime(System.currentTimeMillis());
hygfjpStationPowerHistory.setThirdStationId(jpStation.getThirdStationId());
// hygfjpStationPowerHistory.setPower(imasterStationDetail.getPower());
hygfjpStationPowerHistory.setThirdCode(jpStation.getThirdCode());
hygfjpStationPowerHistory.setTime(System.currentTimeMillis());
hygfjpStationPowerHistoryMapper.insert(hygfjpStationPowerHistory);
HYGFJPDayPower hygfjpDayPower = hygfjpDayPowerMapper.selectOne(
new QueryWrapper<HYGFJPDayPower>().
eq("tation_id", imasterStationList.getPlantCode()).
eq("year_month_day", today).
eq("hour", hour)
);
if (ObjectUtils.isEmpty(hygfjpDayPower)) {
hygfjpDayPower = new HYGFJPDayPower();
}
hygfjpDayPower.setTationId(imasterStationList.getPlantCode());
hygfjpDayPower.setHour(hour);
hygfjpDayPower.setYearMonthDay(today);
//实时功率
Double active_power = 0.0;
for (ImasterInverterListDetails imasterInverterListDetails : result4) {
active_power = active_power + (imasterInverterListDetails.getActive_power() != null ? imasterInverterListDetails.getActive_power() : 0.0);
}
jpStation.setRealTimePower(active_power);
jpStation.setAccumulatedPower(imasterStationDetail.getTotal_power());
jpStation.setCumulativeIncome(imasterStationDetail.getTotal_power() != null ? imasterStationDetail.getTotal_power() * 0.45 : 0.0);
jpStation.setDayIncome(imasterStationDetail.getDay_income());
//jpStation.setCumulativeIncome(imasterStationDetail.getTotal_income());
jpStation.setState(ImasterConstant.stationStaus.get(String.valueOf(imasterStationDetail.getReal_health_state())));
// jpStation.setDayIncome(imasterStationDetail.getDayIncome());
// jpStation.setMonthIncome(imasterStationDetail.getMonthincome());
// jpStation.setYearIncome(imasterStationDetail.getYearincome());
// jpStation.setCumulativeIncome(imasterStationDetail.getTotalIncome());
// jpStation.setArea(imasterStationDetail.getRegionstr());
// jpStation.setEmail(imasterStationDetail.getUseremail());
// jpStation.setOnGridTime(new Date(imasterStationDetail.getFispowertime()));
// jpStation.setAccessTime(new Date(imasterStationDetail.getFisgeneratetime()));
// jpStation.setCreateTime(new Date(imasterStationDetail.getCreatedate()));
// jpStation.setRatedPower(Double.valueOf(imasterStationDetail.getInverterpower()));
if (!ObjectUtils.isEmpty(jpStation.getSequenceNbr())) {
jpStationMapper.updateById(jpStation);
} else {
jpStationMapper.insert(jpStation);
}
HYGFJPStationPowerHistory hygfjpStationPowerHistory = new HYGFJPStationPowerHistory();
hygfjpStationPowerHistory.setCreatedTime(System.currentTimeMillis());
hygfjpStationPowerHistory.setThirdStationId(jpStation.getThirdStationId());
// hygfjpStationPowerHistory.setPower(imasterStationDetail.getPower());
hygfjpStationPowerHistory.setThirdCode(jpStation.getThirdCode());
hygfjpStationPowerHistory.setTime(System.currentTimeMillis());
hygfjpStationPowerHistoryMapper.insert(hygfjpStationPowerHistory);
HYGFJPDayPower hygfjpDayPower = hygfjpDayPowerMapper.selectOne(
new QueryWrapper<HYGFJPDayPower>().
eq("tation_id", imasterStationList.getPlantCode()).
eq("year_month_day", today).
eq("hour", hour)
);
if (ObjectUtils.isEmpty(hygfjpDayPower)) {
hygfjpDayPower = new HYGFJPDayPower();
}
hygfjpDayPower.setTationId(imasterStationList.getPlantCode());
hygfjpDayPower.setHour(hour);
hygfjpDayPower.setYearMonthDay(today);
hygfjpDayPower.setPower(active_power);
hygfjpDayPower.setPower(active_power);
if (ObjectUtils.isEmpty(hygfjpDayPower.getCreatedTime())) {
hygfjpDayPower.setCreatedTime(System.currentTimeMillis());
hygfjpDayPowerMapper.insert(hygfjpDayPower);
} else {
hygfjpDayPowerMapper.insert(hygfjpDayPower);
}
if (ObjectUtils.isEmpty(hygfjpDayPower.getCreatedTime())) {
hygfjpDayPower.setCreatedTime(System.currentTimeMillis());
hygfjpDayPowerMapper.insert(hygfjpDayPower);
} else {
hygfjpDayPowerMapper.insert(hygfjpDayPower);
}
Date today1 = new Date();
//户用场站日发电量
TdHYGFStationDayGenerate tdHYGFStationDayGenerate = tdHYGFStationDayGenerateMapper.selectOne(new QueryWrapper<TdHYGFStationDayGenerate>()
.eq("third_station_id", jpStation.getThirdStationId())
.eq("day_time", DateUtil.format(today1, "yyyy-MM-dd"))
.eq("year_month", DateUtil.format(today1, "yyyy-MM")));
if (ObjectUtils.isEmpty(tdHYGFStationDayGenerate)) {
tdHYGFStationDayGenerate = new TdHYGFStationDayGenerate();
}
tdHYGFStationDayGenerate.setThirdStationId(jpStation.getThirdStationId());
tdHYGFStationDayGenerate.setDayTime(DateUtil.format(today1, "yyyy-MM-dd"));
tdHYGFStationDayGenerate.setYearMonth(DateUtil.format(today1, "yyyy-MM"));
tdHYGFStationDayGenerate.setGenerate(jpStation.getDayGenerate());
tdHYGFStationDayGenerate.setFullhour(jpStation.getDayGenerate() / jpStation.getCapacity());
if (ObjectUtils.isEmpty(tdHYGFStationDayGenerate.getCreatedTime())) {
tdHYGFStationDayGenerate.setCreatedTime(System.currentTimeMillis());
tdHYGFStationDayGenerateMapper.insert(tdHYGFStationDayGenerate);
} else {
tdHYGFStationDayGenerateMapper.insert(tdHYGFStationDayGenerate);
}
//户用场站月发电量
TdHYGFStationMonthGenerate tdHYGFStationMonthGenerate = tdHYGFStationMonthGenerateMapper.selectOne(new QueryWrapper<TdHYGFStationMonthGenerate>()
.eq("third_station_id", jpStation.getThirdStationId())
.eq("month_time", DateUtil.format(today1, "yyyy-MM"))
.eq("year", DateUtil.format(today1, "yyyy")));
if (ObjectUtils.isEmpty(tdHYGFStationMonthGenerate)) {
tdHYGFStationMonthGenerate = new TdHYGFStationMonthGenerate();
}
tdHYGFStationMonthGenerate.setThirdStationId(jpStation.getThirdStationId());
tdHYGFStationMonthGenerate.setMonthTime(DateUtil.format(today1, "yyyy-MM"));
tdHYGFStationMonthGenerate.setYear(DateUtil.format(today1, "yyyy"));
tdHYGFStationMonthGenerate.setGenerate(jpStation.getMonthGenerate());
tdHYGFStationMonthGenerate.setFullhour(jpStation.getMonthGenerate() / jpStation.getCapacity());
if (ObjectUtils.isEmpty(tdHYGFStationMonthGenerate.getCreatedTime())) {
tdHYGFStationMonthGenerate.setCreatedTime(System.currentTimeMillis());
tdHYGFStationMonthGenerateMapper.insert(tdHYGFStationMonthGenerate);
} else {
tdHYGFStationMonthGenerateMapper.insert(tdHYGFStationMonthGenerate);
}
//户用场站年发电量
TdHYGFStationYearGenerate tdHYGFStationYearGenerate = tdHYGFStationYearGenerateMapper.selectOne(new QueryWrapper<TdHYGFStationYearGenerate>()
.eq("third_station_id", jpStation.getThirdStationId())
.eq("year_time", DateUtil.format(today1, "yyyy"))
.eq("year", DateUtil.format(today1, "yyyy")));
if (ObjectUtils.isEmpty(tdHYGFStationYearGenerate)) {
tdHYGFStationYearGenerate = new TdHYGFStationYearGenerate();
}
tdHYGFStationYearGenerate.setThirdStationId(jpStation.getThirdStationId());
tdHYGFStationYearGenerate.setYearTime(DateUtil.format(today1, "yyyy"));
tdHYGFStationYearGenerate.setYear(DateUtil.format(today1, "yyyy"));
tdHYGFStationYearGenerate.setGenerate(jpStation.getYearGenerate());
tdHYGFStationYearGenerate.setFullhour(jpStation.getYearGenerate() / jpStation.getCapacity());
if (ObjectUtils.isEmpty(tdHYGFStationYearGenerate.getCreatedTime())) {
tdHYGFStationYearGenerate.setCreatedTime(System.currentTimeMillis());
tdHYGFStationYearGenerateMapper.insert(tdHYGFStationYearGenerate);
} else {
tdHYGFStationYearGenerateMapper.insert(tdHYGFStationYearGenerate);
}
}
this.inverterDetail(result4);
}
......@@ -343,45 +395,45 @@ public class ImasterDataServiceImpl implements ImasterDataService {
// } catch (InterruptedException e) {
// throw new RuntimeException(e);
// }
HashMap<String, Object> requestInfo = new HashMap<>();
requestInfo.put("stationCodes", stationIds.stream().collect(Collectors.joining(",")));
String requestParaminfo = JSON.toJSONString(requestInfo);
List<ImasterCollectorList> result = imasterUtils.getResPonse(ImasterConstant.collectorListUrl,
GoLangConstant.requestPost,
requestParaminfo,
ImasterConstant.resovleRule_data_page_records,
ImasterCollectorList.class
);
for (int j = 0; j < result.size(); j++) {
QueryWrapper<ImasterStationList> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("plant_code", result.get(j).getStationCode());
queryWrapper.orderByDesc("created_time");
List<ImasterStationList> imasterStationListAll = imasterStationMapper.selectList(queryWrapper);
ImasterStationList imasterStationList = imasterStationListAll.get(0);
ImasterCollectorList imasterCollectorList = result.get(j);
imasterCollectorList.setStationName(imasterStationList.getPlantName());
imasterCollectorList.setCreatedTime(System.currentTimeMillis());
if(imasterCollectorList.getDevTypeId() == ImasterConstant.devTypeC) {
imasterCollectorListMapper.insert(imasterCollectorList);
JpCollector jpCollector = jpCollectorMapper.selectOne(new QueryWrapper<JpCollector>().
eq("third_station_id", imasterCollectorList.getStationCode()).
eq("third_code", PVProducerInfoEnum.HUAWEI.getCode()).
eq("sn_code", imasterCollectorList.getEsnCode()));
if (ObjectUtils.isEmpty(jpCollector)) {
jpCollector = new JpCollector();
}
//sn编码
jpCollector.setSnCode(imasterCollectorList.getEsnCode());
jpCollector.setAddr(imasterStationList.getPlantAddress());
jpCollector.setName(imasterCollectorList.getDevName());
//类型
jpCollector.setType("通信模块");
//更新时间
jpCollector.setUpdateTime(new Date());
//出场日期
HashMap<String, Object> requestInfo = new HashMap<>();
requestInfo.put("stationCodes", stationIds.stream().collect(Collectors.joining(",")));
String requestParaminfo = JSON.toJSONString(requestInfo);
List<ImasterCollectorList> result = imasterUtils.getResPonse(ImasterConstant.collectorListUrl,
GoLangConstant.requestPost,
requestParaminfo,
ImasterConstant.resovleRule_data_page_records,
ImasterCollectorList.class
);
for (int j = 0; j < result.size(); j++) {
QueryWrapper<ImasterStationList> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("plant_code", result.get(j).getStationCode());
queryWrapper.orderByDesc("created_time");
List<ImasterStationList> imasterStationListAll = imasterStationMapper.selectList(queryWrapper);
ImasterStationList imasterStationList = imasterStationListAll.get(0);
ImasterCollectorList imasterCollectorList = result.get(j);
imasterCollectorList.setStationName(imasterStationList.getPlantName());
imasterCollectorList.setCreatedTime(System.currentTimeMillis());
if (imasterCollectorList.getDevTypeId() == ImasterConstant.devTypeC) {
imasterCollectorListMapper.insert(imasterCollectorList);
JpCollector jpCollector = jpCollectorMapper.selectOne(new QueryWrapper<JpCollector>().
eq("third_station_id", imasterCollectorList.getStationCode()).
eq("third_code", PVProducerInfoEnum.HUAWEI.getCode()).
eq("sn_code", imasterCollectorList.getEsnCode()));
if (ObjectUtils.isEmpty(jpCollector)) {
jpCollector = new JpCollector();
}
//sn编码
jpCollector.setSnCode(imasterCollectorList.getEsnCode());
jpCollector.setAddr(imasterStationList.getPlantAddress());
jpCollector.setName(imasterCollectorList.getDevName());
//类型
jpCollector.setType("通信模块");
//更新时间
jpCollector.setUpdateTime(new Date());
//出场日期
// jpCollector.setDischargeDate(new Date(collectorDetailDto.getFactoryTime()));
// //生产日期
// jpCollector.setProductDate(new Date(collectorDetailDto.getFactoryTime()));
......@@ -391,36 +443,36 @@ public class ImasterDataServiceImpl implements ImasterDataService {
// jpCollector.setThisWorkTime(new DateTime(collectorDetailDto.getCurrentWorkingTime()));
// //累计工作时间
// jpCollector.setTotalWorkTime(new DateTime(collectorDetailDto.getTotalWorkingTime()));
//第三方电站id
jpCollector.setThirdStationId(imasterCollectorList.getStationCode());
//第三方厂商标识
jpCollector.setThirdCode(PVProducerInfoEnum.HUAWEI.getCode());
//第三方厂商标识
jpCollector.setState(ImasterConstant.inverterStaus.get("1"));
jpCollector.setStationName(imasterStationList.getPlantName());
jpCollector.setVersion(imasterCollectorList.getSoftwareVersion());
//第三方电站id
jpCollector.setThirdStationId(imasterCollectorList.getStationCode());
//第三方厂商标识
jpCollector.setThirdCode(PVProducerInfoEnum.HUAWEI.getCode());
//第三方厂商标识
jpCollector.setState(ImasterConstant.inverterStaus.get("1"));
jpCollector.setStationName(imasterStationList.getPlantName());
jpCollector.setVersion(imasterCollectorList.getSoftwareVersion());
// jpCollector.setAddr(collectorDetailDto.getAddr());
// jpCollector.setName(collectorDetailDto.getName());
if (ObjectUtils.isEmpty(jpCollector.getSequenceNbr())) {
jpCollectorMapper.insert(jpCollector);
} else {
jpCollectorMapper.updateById(jpCollector);
}
// td-collector-history
HYGFJPCollectorHistory hygfjpCollectorHistory = new HYGFJPCollectorHistory();
hygfjpCollectorHistory.setTime(System.currentTimeMillis());
hygfjpCollectorHistory.setCreatedTime(System.currentTimeMillis());
hygfjpCollectorHistory.setSnCode(imasterCollectorList.getEsnCode());
// hygfjpCollectorHistory.setSignalStrength(Double.valueOf(collectorDetailDto.getRssiLevel()));
hygfjpCollectorHistory.setThirdStationId(imasterCollectorList.getStationCode());
hygfjpCollectorHistory.setThirdCode(PVProducerInfoEnum.HUAWEI.getCode());
hygfjpCollectorHistoryMapper.insert(hygfjpCollectorHistory);
if (ObjectUtils.isEmpty(jpCollector.getSequenceNbr())) {
jpCollectorMapper.insert(jpCollector);
} else {
jpCollectorMapper.updateById(jpCollector);
}
// td-collector-history
HYGFJPCollectorHistory hygfjpCollectorHistory = new HYGFJPCollectorHistory();
hygfjpCollectorHistory.setTime(System.currentTimeMillis());
hygfjpCollectorHistory.setCreatedTime(System.currentTimeMillis());
hygfjpCollectorHistory.setSnCode(imasterCollectorList.getEsnCode());
// hygfjpCollectorHistory.setSignalStrength(Double.valueOf(collectorDetailDto.getRssiLevel()));
hygfjpCollectorHistory.setThirdStationId(imasterCollectorList.getStationCode());
hygfjpCollectorHistory.setThirdCode(PVProducerInfoEnum.HUAWEI.getCode());
hygfjpCollectorHistoryMapper.insert(hygfjpCollectorHistory);
}
}
this.inverterList(result);
this.inverterList(result);
}
@Override
......@@ -429,11 +481,11 @@ public class ImasterDataServiceImpl implements ImasterDataService {
}
// @Scheduled(cron = "${dataRequstScheduled.huawei}")
// @Scheduled(cron = "${dataRequstScheduled.huawei}")
@Override
public void inverterList(List<ImasterCollectorList> result) {
// List<String> stationIds = imasterStationMapper.getStationIds();
// for (int i = 0; i < stationIds.size(); i++) {
// List<String> stationIds = imasterStationMapper.getStationIds();
// for (int i = 0; i < stationIds.size(); i++) {
// try {
// TimeUnit.SECONDS.sleep(1);
// } catch (InterruptedException e) {
......@@ -448,44 +500,44 @@ public class ImasterDataServiceImpl implements ImasterDataService {
// ImasterConstant.resovleRule_data_page_records,
// ImasterInverterList.class
// );
for (int j = 0; j < result.size(); j++) {
QueryWrapper<ImasterStationList> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("plant_code", result.get(j).getStationCode());
queryWrapper.orderByDesc("created_time");
List<ImasterStationList> imasterStationListAll = imasterStationMapper.selectList(queryWrapper);
ImasterStationList imasterStationList = imasterStationListAll.get(0);
ImasterCollectorList da = result.get(j);
ImasterInverterList imasterInverterList=new ImasterInverterList();
BeanUtils.copyProperties(da, imasterInverterList);
imasterInverterList.setStationName(imasterStationList.getPlantName());
imasterInverterList.setAddr(imasterStationList.getPlantAddress());
imasterInverterList.setCreatedTime(System.currentTimeMillis());
if(imasterInverterList.getDevTypeId() == ImasterConstant.devTypeI) {
imasterInverterListMapper.insert(imasterInverterList);
}
for (int j = 0; j < result.size(); j++) {
QueryWrapper<ImasterStationList> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("plant_code", result.get(j).getStationCode());
queryWrapper.orderByDesc("created_time");
List<ImasterStationList> imasterStationListAll = imasterStationMapper.selectList(queryWrapper);
ImasterStationList imasterStationList = imasterStationListAll.get(0);
ImasterCollectorList da = result.get(j);
ImasterInverterList imasterInverterList = new ImasterInverterList();
BeanUtils.copyProperties(da, imasterInverterList);
imasterInverterList.setStationName(imasterStationList.getPlantName());
imasterInverterList.setAddr(imasterStationList.getPlantAddress());
imasterInverterList.setCreatedTime(System.currentTimeMillis());
if (imasterInverterList.getDevTypeId() == ImasterConstant.devTypeI) {
imasterInverterListMapper.insert(imasterInverterList);
}
// }
}
// }
}
// @Scheduled(cron = "${dataRequstScheduled.huawei}")
// @Scheduled(cron = "${dataRequstScheduled.huawei}")
@Override
public void inverterDetail( List<ImasterInverterListDetails> result) {
public void inverterDetail(List<ImasterInverterListDetails> result) {
List<String> inverterSns = imasterInverterListMapper.getCollectIds();
// try {
//// TimeUnit.SECONDS.sleep(1);
//// } catch (InterruptedException e) {
//// throw new RuntimeException(e);
//// }
HashMap<String, Object> requestInfo = new HashMap<>();
String collect = inverterSns.stream().collect(Collectors.joining(","));
requestInfo.put("sns", collect);
requestInfo.put("devTypeId", 1);
requestInfo.put("collectTime", System.currentTimeMillis());
HashMap<String, Object> requestInfo = new HashMap<>();
String collect = inverterSns.stream().collect(Collectors.joining(","));
requestInfo.put("sns", collect);
requestInfo.put("devTypeId", 1);
requestInfo.put("collectTime", System.currentTimeMillis());
String requestParaminfo = JSON.toJSONString(requestInfo);
String requestParaminfo = JSON.toJSONString(requestInfo);
// List<ImasterInverterListDetails> result = imasterUtils.getResPonseOther(ImasterConstant.collectorDetailUrl,
// GoLangConstant.requestPost,
// requestParaminfo,
......@@ -493,91 +545,90 @@ public class ImasterDataServiceImpl implements ImasterDataService {
// ImasterInverterListDetails.class
// );
List<ImasterInverterMonth> result2 = imasterUtils.getResPonseOther(ImasterConstant.collectorDetailMonthUrl,
GoLangConstant.requestPost,
requestParaminfo,
ImasterConstant.resovleRule_data_page_records,
ImasterInverterMonth.class
);
List<ImasterInverterYear> result3 = imasterUtils.getResPonseOther(ImasterConstant.collectorDetailYearUrl,
GoLangConstant.requestPost,
requestParaminfo,
ImasterConstant.resovleRule_data_page_records,
ImasterInverterYear.class
);
Double active_power=0.0;
String third_station_id=null;
for (int j = 0; j < result.size(); j++) {
ImasterInverterListDetails inverterDetailDto = result.get(j);
active_power=active_power+ (inverterDetailDto.getActive_power()!=null?inverterDetailDto.getActive_power():0.0);
//获取所有逆变器实时功率总和
inverterDetailDto.setCreatedTime((System.currentTimeMillis()));
imasterInverterListDetailsMapper.insert(result.get(j));
QueryWrapper<ImasterInverterList> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("esn_code", result.get(j).getInverterId());
queryWrapper.orderByDesc("created_time");
List<ImasterInverterList> imasterInverterLists = imasterInverterListMapper.selectList(queryWrapper);
ImasterInverterList imasterInverterList = imasterInverterLists.get(0);
third_station_id=imasterInverterList.getStationCode();
QueryWrapper<ImasterCollectorList> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("dev_name", imasterInverterList.getDevName());
queryWrapper1.orderByDesc("created_time");
List<ImasterCollectorList> collectorLists = imasterCollectorListMapper.selectList(queryWrapper1);
ImasterCollectorList collectorList = collectorLists.get(0);
JpInverter jpInverter = jpInverterMapper.selectOne(new QueryWrapper<JpInverter>().
eq("third_station_id", imasterInverterList.getStationCode()).
eq("third_code", PVProducerInfoEnum.HUAWEI.getCode()).
eq("sn_code", imasterInverterList.getEsnCode()));
if (ObjectUtils.isEmpty(jpInverter)) {
jpInverter = new JpInverter();
}
jpInverter.setCapacity(ImasterConstant.Capacity.get(imasterInverterList.getDevName()));
jpInverter.setSnCode(imasterInverterList.getEsnCode());
jpInverter.setAddr(imasterInverterList.getAddr());
jpInverter.setCollectorSnCode(collectorList.getEsnCode());
jpInverter.setCollectorId(String.valueOf(collectorList.getId()));
jpInverter.setDayPowerGeneration(inverterDetailDto.getDay_cap() );
jpInverter.setState(ImasterConstant.inverterStaus.get(String.valueOf(inverterDetailDto.getRun_state())));
jpInverter.setTotalPowerGeneration(inverterDetailDto.getTotal_cap());
jpInverter.setCurrentPower(inverterDetailDto.getActive_power());
Long currentTime = System.currentTimeMillis();
Long monthStart = CalendarAdjust.getMonthStartTime(currentTime, "GMT+8:00");
Long yearStart = CalendarAdjust.getYearStartTime(currentTime, "GMT+8:00");
// 获取年发电量
for (ImasterInverterYear imasterInverterYear : result3
) {
if(imasterInverterYear.getCollectTime().equals(String.valueOf(yearStart)) && inverterDetailDto.getInverterId().equals(imasterInverterYear.getInverterId())) {
jpInverter.setYearPowerGeneration(imasterInverterYear.getProduct_power());
imasterInverterYear.setCreatedTime(System.currentTimeMillis());
imasterInverterYearMapper.insert(imasterInverterYear);
}
List<ImasterInverterMonth> result2 = imasterUtils.getResPonseOther(ImasterConstant.collectorDetailMonthUrl,
GoLangConstant.requestPost,
requestParaminfo,
ImasterConstant.resovleRule_data_page_records,
ImasterInverterMonth.class
);
List<ImasterInverterYear> result3 = imasterUtils.getResPonseOther(ImasterConstant.collectorDetailYearUrl,
GoLangConstant.requestPost,
requestParaminfo,
ImasterConstant.resovleRule_data_page_records,
ImasterInverterYear.class
);
Double active_power = 0.0;
String third_station_id = null;
for (int j = 0; j < result.size(); j++) {
ImasterInverterListDetails inverterDetailDto = result.get(j);
active_power = active_power + (inverterDetailDto.getActive_power() != null ? inverterDetailDto.getActive_power() : 0.0);
//获取所有逆变器实时功率总和
inverterDetailDto.setCreatedTime((System.currentTimeMillis()));
imasterInverterListDetailsMapper.insert(result.get(j));
QueryWrapper<ImasterInverterList> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("esn_code", result.get(j).getInverterId());
queryWrapper.orderByDesc("created_time");
List<ImasterInverterList> imasterInverterLists = imasterInverterListMapper.selectList(queryWrapper);
ImasterInverterList imasterInverterList = imasterInverterLists.get(0);
third_station_id = imasterInverterList.getStationCode();
QueryWrapper<ImasterCollectorList> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("dev_name", imasterInverterList.getDevName());
queryWrapper1.orderByDesc("created_time");
List<ImasterCollectorList> collectorLists = imasterCollectorListMapper.selectList(queryWrapper1);
ImasterCollectorList collectorList = collectorLists.get(0);
JpInverter jpInverter = jpInverterMapper.selectOne(new QueryWrapper<JpInverter>().
eq("third_station_id", imasterInverterList.getStationCode()).
eq("third_code", PVProducerInfoEnum.HUAWEI.getCode()).
eq("sn_code", imasterInverterList.getEsnCode()));
if (ObjectUtils.isEmpty(jpInverter)) {
jpInverter = new JpInverter();
}
jpInverter.setCapacity(ImasterConstant.Capacity.get(imasterInverterList.getDevName()));
jpInverter.setSnCode(imasterInverterList.getEsnCode());
jpInverter.setAddr(imasterInverterList.getAddr());
jpInverter.setCollectorSnCode(collectorList.getEsnCode());
jpInverter.setCollectorId(String.valueOf(collectorList.getId()));
jpInverter.setDayPowerGeneration(inverterDetailDto.getDay_cap());
jpInverter.setState(ImasterConstant.inverterStaus.get(String.valueOf(inverterDetailDto.getRun_state())));
jpInverter.setTotalPowerGeneration(inverterDetailDto.getTotal_cap());
jpInverter.setCurrentPower(inverterDetailDto.getActive_power());
Long currentTime = System.currentTimeMillis();
Long monthStart = CalendarAdjust.getMonthStartTime(currentTime, "GMT+8:00");
Long yearStart = CalendarAdjust.getYearStartTime(currentTime, "GMT+8:00");
// 获取年发电量
for (ImasterInverterYear imasterInverterYear : result3
) {
if (imasterInverterYear.getCollectTime().equals(String.valueOf(yearStart)) && inverterDetailDto.getInverterId().equals(imasterInverterYear.getInverterId())) {
jpInverter.setYearPowerGeneration(imasterInverterYear.getProduct_power());
imasterInverterYear.setCreatedTime(System.currentTimeMillis());
imasterInverterYearMapper.insert(imasterInverterYear);
}
}
// 获取月发电量
// 获取月发电量
for (ImasterInverterMonth imasterInverterMonth: result2
) {
if(imasterInverterMonth.getCollectTime().equals(String.valueOf(monthStart)) && inverterDetailDto.getInverterId().equals(imasterInverterMonth.getInverterId())) {
jpInverter.setMonthPowerGeneration(imasterInverterMonth.getProduct_power());
imasterInverterMonth.setCreatedTime(System.currentTimeMillis());
imasterInverterMonthMapper.insert(imasterInverterMonth);
}
for (ImasterInverterMonth imasterInverterMonth : result2
) {
if (imasterInverterMonth.getCollectTime().equals(String.valueOf(monthStart)) && inverterDetailDto.getInverterId().equals(imasterInverterMonth.getInverterId())) {
jpInverter.setMonthPowerGeneration(imasterInverterMonth.getProduct_power());
imasterInverterMonth.setCreatedTime(System.currentTimeMillis());
imasterInverterMonthMapper.insert(imasterInverterMonth);
}
}
// jpInverter.setCollectorId(inverterDetailDto.getCollectorId());
// jpInverter.setCollectorSnCode(inverterDetailDto.getCollectorsn());
jpInverter.setUpdateTime(new Date());
// jpInverter.setCollectorSnCode(inverterDetailDto.getCollectorsn());
jpInverter.setUpdateTime(new Date());
// jpInverter.setCurrentPower(inverterDetailDto.getPac());
// jpInverter.setDayPowerGeneration(inverterDetailDto.getEToday());
// jpInverter.setMonthPowerGeneration(inverterDetailDto.getEMonth() * GoLangConstant.mwhTokwh);
......@@ -586,145 +637,255 @@ public class ImasterDataServiceImpl implements ImasterDataService {
// jpInverter.setBrand(inverterDetailDto.getName());
// jpInverter.setModel(inverterDetailDto.getProductModel());
// jpInverter.setNationalStandard(inverterDetailDto.getNationalStandards());
jpInverter.setVersion(imasterInverterList.getSoftwareVersion());
// jpInverter.setGenerationHours(String.valueOf(inverterDetailDto.getFullHour()));
jpInverter.setId(String.valueOf(imasterInverterList.getId()));
// jpInverter.setCapacity(inverterDetailDto.getPower().intValue());
jpInverter.setThirdStationId(String.valueOf(imasterInverterList.getStationCode()));
jpInverter.setThirdCode(PVProducerInfoEnum.HUAWEI.getCode());
jpInverter.setStationName(imasterInverterList.getStationName());
if (!ObjectUtils.isEmpty(jpInverter.getSequenceNbr())) {
jpInverterMapper.updateById(jpInverter);
} else {
jpInverterMapper.insert(jpInverter);
}
String jsonString = JSON.toJSONString(inverterDetailDto);
Map<String, Object> hanlderResult = JSON.parseObject(jsonString, Map.class);
jpInverter.setVersion(imasterInverterList.getSoftwareVersion());
// jpInverter.setGenerationHours(String.valueOf(inverterDetailDto.getFullHour()));
jpInverter.setId(String.valueOf(imasterInverterList.getId()));
// jpInverter.setCapacity(inverterDetailDto.getPower().intValue());
jpInverter.setThirdStationId(String.valueOf(imasterInverterList.getStationCode()));
jpInverter.setThirdCode(PVProducerInfoEnum.HUAWEI.getCode());
jpInverter.setStationName(imasterInverterList.getStationName());
if (!ObjectUtils.isEmpty(jpInverter.getSequenceNbr())) {
jpInverterMapper.updateById(jpInverter);
} else {
jpInverterMapper.insert(jpInverter);
}
String jsonString = JSON.toJSONString(inverterDetailDto);
Map<String, Object> hanlderResult = JSON.parseObject(jsonString, Map.class);
JpInverterElectricity jpInverterElectricityR = jpInverterElectricityMapper.selectOne(new QueryWrapper<JpInverterElectricity>().
eq("sn_code", imasterInverterList.getEsnCode()).
eq("type", "交流").
eq("name", "A")
);
if (ObjectUtils.isEmpty(jpInverterElectricityR)) {
jpInverterElectricityR = new JpInverterElectricity();
}
jpInverterElectricityR.setInverterId(String.valueOf(imasterInverterList.getId()));
jpInverterElectricityR.setSnCode(imasterInverterList.getEsnCode());
jpInverterElectricityR.setThirdCode(PVProducerInfoEnum.HUAWEI.getCode());
jpInverterElectricityR.setThirdStationId(imasterInverterList.getStationCode());
jpInverterElectricityR.setType("交流");
jpInverterElectricityR.setName("A");
jpInverterElectricityR.setVoltage(inverterDetailDto.getA_u());
jpInverterElectricityR.setCurrent(inverterDetailDto.getA_i());
if (ObjectUtils.isEmpty(jpInverterElectricityR.getSequenceNbr())) {
jpInverterElectricityMapper.insert(jpInverterElectricityR);
} else {
jpInverterElectricityMapper.updateById(jpInverterElectricityR);
}
JpInverterElectricity jpInverterElectricityR = jpInverterElectricityMapper.selectOne(new QueryWrapper<JpInverterElectricity>().
eq("sn_code", imasterInverterList.getEsnCode()).
eq("type", "交流").
eq("name", "A")
);
if (ObjectUtils.isEmpty(jpInverterElectricityR)) {
jpInverterElectricityR = new JpInverterElectricity();
}
jpInverterElectricityR.setInverterId(String.valueOf(imasterInverterList.getId()));
jpInverterElectricityR.setSnCode(imasterInverterList.getEsnCode());
jpInverterElectricityR.setThirdCode(PVProducerInfoEnum.HUAWEI.getCode());
jpInverterElectricityR.setThirdStationId(imasterInverterList.getStationCode());
jpInverterElectricityR.setType("交流");
jpInverterElectricityR.setName("A");
jpInverterElectricityR.setVoltage(inverterDetailDto.getA_u());
jpInverterElectricityR.setCurrent(inverterDetailDto.getA_i());
if (ObjectUtils.isEmpty(jpInverterElectricityR.getSequenceNbr())) {
jpInverterElectricityMapper.insert(jpInverterElectricityR);
} else {
jpInverterElectricityMapper.updateById(jpInverterElectricityR);
}
JpInverterElectricity jpInverterElectricityB = jpInverterElectricityMapper.selectOne(new QueryWrapper<JpInverterElectricity>().
eq("sn_code", imasterInverterList.getEsnCode()).
eq("type", "交流").
eq("name", "B")
);
if (ObjectUtils.isEmpty(jpInverterElectricityB)) {
jpInverterElectricityB = new JpInverterElectricity();
}
jpInverterElectricityB.setInverterId(String.valueOf(imasterInverterList.getId()));
jpInverterElectricityB.setSnCode(imasterInverterList.getEsnCode());
jpInverterElectricityB.setThirdCode(PVProducerInfoEnum.HUAWEI.getCode());
jpInverterElectricityB.setThirdStationId(imasterInverterList.getStationCode());
jpInverterElectricityB.setType("交流");
jpInverterElectricityB.setName("B");
jpInverterElectricityB.setVoltage(inverterDetailDto.getB_u());
jpInverterElectricityB.setCurrent(inverterDetailDto.getB_i());
if (ObjectUtils.isEmpty(jpInverterElectricityB.getSequenceNbr())) {
jpInverterElectricityMapper.insert(jpInverterElectricityB);
} else {
jpInverterElectricityMapper.updateById(jpInverterElectricityB);
}
JpInverterElectricity jpInverterElectricityB = jpInverterElectricityMapper.selectOne(new QueryWrapper<JpInverterElectricity>().
eq("sn_code", imasterInverterList.getEsnCode()).
eq("type", "交流").
eq("name", "B")
);
if (ObjectUtils.isEmpty(jpInverterElectricityB)) {
jpInverterElectricityB = new JpInverterElectricity();
}
jpInverterElectricityB.setInverterId(String.valueOf(imasterInverterList.getId()));
jpInverterElectricityB.setSnCode(imasterInverterList.getEsnCode());
jpInverterElectricityB.setThirdCode(PVProducerInfoEnum.HUAWEI.getCode());
jpInverterElectricityB.setThirdStationId(imasterInverterList.getStationCode());
jpInverterElectricityB.setType("交流");
jpInverterElectricityB.setName("B");
jpInverterElectricityB.setVoltage(inverterDetailDto.getB_u());
jpInverterElectricityB.setCurrent(inverterDetailDto.getB_i());
if (ObjectUtils.isEmpty(jpInverterElectricityB.getSequenceNbr())) {
jpInverterElectricityMapper.insert(jpInverterElectricityB);
} else {
jpInverterElectricityMapper.updateById(jpInverterElectricityB);
}
JpInverterElectricity jpInverterElectricityC = jpInverterElectricityMapper.selectOne(new QueryWrapper<JpInverterElectricity>().
eq("sn_code", imasterInverterList.getEsnCode()).
eq("type", "交流").
eq("name", "C")
);
if (ObjectUtils.isEmpty(jpInverterElectricityC)) {
jpInverterElectricityC = new JpInverterElectricity();
}
jpInverterElectricityC.setInverterId(String.valueOf(imasterInverterList.getId()));
jpInverterElectricityC.setSnCode(imasterInverterList.getEsnCode());
jpInverterElectricityC.setThirdCode(PVProducerInfoEnum.HUAWEI.getCode());
jpInverterElectricityC.setThirdStationId(imasterInverterList.getStationCode());
jpInverterElectricityC.setType("交流");
jpInverterElectricityC.setName("C");
jpInverterElectricityC.setVoltage(inverterDetailDto.getC_u());
jpInverterElectricityC.setCurrent(inverterDetailDto.getC_i());
if (ObjectUtils.isEmpty(jpInverterElectricityC.getSequenceNbr())) {
jpInverterElectricityMapper.insert(jpInverterElectricityC);
} else {
jpInverterElectricityMapper.updateById(jpInverterElectricityC);
}
JpInverterElectricity jpInverterElectricityC = jpInverterElectricityMapper.selectOne(new QueryWrapper<JpInverterElectricity>().
for (int k1 = 1; k1 < 29; k1++) {
JpInverterElectricity jpInverterElectricity = jpInverterElectricityMapper.selectOne(new QueryWrapper<JpInverterElectricity>().
eq("sn_code", imasterInverterList.getEsnCode()).
eq("type", "流").
eq("name", "C")
eq("type", "流").
eq("name", "PV" + k1)
);
if (ObjectUtils.isEmpty(jpInverterElectricityC)) {
jpInverterElectricityC = new JpInverterElectricity();
if (ObjectUtils.isEmpty(jpInverterElectricity)) {
jpInverterElectricity = new JpInverterElectricity();
}
jpInverterElectricityC.setInverterId(String.valueOf(imasterInverterList.getId()));
jpInverterElectricityC.setSnCode(imasterInverterList.getEsnCode());
jpInverterElectricityC.setThirdCode(PVProducerInfoEnum.HUAWEI.getCode());
jpInverterElectricityC.setThirdStationId(imasterInverterList.getStationCode());
jpInverterElectricityC.setType("交流");
jpInverterElectricityC.setName("C");
jpInverterElectricityC.setVoltage(inverterDetailDto.getC_u());
jpInverterElectricityC.setCurrent(inverterDetailDto.getC_i());
if (ObjectUtils.isEmpty(jpInverterElectricityC.getSequenceNbr())) {
jpInverterElectricityMapper.insert(jpInverterElectricityC);
jpInverterElectricity.setInverterId(String.valueOf(imasterInverterList.getId()));
jpInverterElectricity.setSnCode(imasterInverterList.getEsnCode());
jpInverterElectricity.setThirdCode(PVProducerInfoEnum.HUAWEI.getCode());
jpInverterElectricity.setThirdStationId(String.valueOf(imasterInverterList.getStationCode()));
jpInverterElectricity.setType("直流");
jpInverterElectricity.setName("PV" + k1);
jpInverterElectricity.setVoltage(Double.valueOf(hanlderResult.get("pv" + k1 + "_u").toString()));
jpInverterElectricity.setCurrent(Double.valueOf(hanlderResult.get("pv" + k1 + "_i").toString()));
// jpInverterElectricity.setPower(Double.valueOf(hanlderResult.get("pow" + k1).toString()));
if (ObjectUtils.isEmpty(jpInverterElectricity.getSequenceNbr())) {
jpInverterElectricityMapper.insert(jpInverterElectricity);
} else {
jpInverterElectricityMapper.updateById(jpInverterElectricityC);
jpInverterElectricityMapper.updateById(jpInverterElectricity);
}
}
HYGFJPInverterElecHistory hygfjpInverterElecHistory = new HYGFJPInverterElecHistory();
hygfjpInverterElecHistory.setThirdStationId(String.valueOf(imasterInverterList.getStationCode()));
hygfjpInverterElecHistory.setCreatedTime(System.currentTimeMillis());
hygfjpInverterElecHistory.setSnCode(imasterInverterList.getEsnCode());
hygfjpInverterElecHistory.setUAcCurrent(inverterDetailDto.getA_i());
hygfjpInverterElecHistory.setVAcCurrent(inverterDetailDto.getB_i());
hygfjpInverterElecHistory.setWAcCurrent(inverterDetailDto.getC_i());
hygfjpInverterElecHistory.setUAcVoltage(inverterDetailDto.getA_u());
hygfjpInverterElecHistory.setVAcVoltage(inverterDetailDto.getB_u());
hygfjpInverterElecHistory.setWAcVoltage(inverterDetailDto.getC_u());
hygfjpInverterElecHistory.setThirdCode(PVProducerInfoEnum.HUAWEI.getCode());
hygfjpInverterElecHistory.setTime(System.currentTimeMillis());
hygfjpInverterElecHistoryMapper.insert(hygfjpInverterElecHistory);
// 逆变器历史
String today = DateUtil.today();
HYGFJPInverterHistory hygfjpInverterHistory = hygfjpInverterHistoryMapper.selectOne(new QueryWrapper<HYGFJPInverterHistory>().eq("sn_code", imasterInverterList.getEsnCode()).eq("date", today));
if (ObjectUtils.isEmpty(hygfjpInverterHistory)) {
hygfjpInverterHistory = new HYGFJPInverterHistory();
}
hygfjpInverterHistory.setDate(today);
hygfjpInverterHistory.setThirdStationId(String.valueOf(imasterInverterList.getStationCode()));
hygfjpInverterHistory.setInverterId(String.valueOf(imasterInverterList.getId()));
hygfjpInverterHistory.setSnCode(imasterInverterList.getEsnCode());
hygfjpInverterHistory.setThirdCode(PVProducerInfoEnum.HUAWEI.getCode());
// hygfjpInverterHistory.setGenerationHours(inverterDetailDto.getFullHour());
hygfjpInverterHistory.setPowerGeneration(inverterDetailDto.getDay_cap());
if (ObjectUtils.isEmpty(hygfjpInverterHistory.getCreatedTime())) {
hygfjpInverterHistory.setCreatedTime(System.currentTimeMillis());
hygfjpInverterHistoryMapper.insert(hygfjpInverterHistory);
} else {
hygfjpInverterHistoryMapper.insert(hygfjpInverterHistory);
}
for (int k1 = 1; k1 < 29; k1++) {
JpInverterElectricity jpInverterElectricity = jpInverterElectricityMapper.selectOne(new QueryWrapper<JpInverterElectricity>().
eq("sn_code", imasterInverterList.getEsnCode()).
eq("type", "直流").
eq("name", "PV" + k1)
);
if (ObjectUtils.isEmpty(jpInverterElectricity)) {
jpInverterElectricity = new JpInverterElectricity();
}
jpInverterElectricity.setInverterId(String.valueOf(imasterInverterList.getId()));
jpInverterElectricity.setSnCode(imasterInverterList.getEsnCode());
jpInverterElectricity.setThirdCode(PVProducerInfoEnum.HUAWEI.getCode());
jpInverterElectricity.setThirdStationId(String.valueOf(imasterInverterList.getStationCode()));
jpInverterElectricity.setType("直流");
jpInverterElectricity.setName("PV" + k1);
jpInverterElectricity.setVoltage(Double.valueOf(hanlderResult.get("pv" + k1 + "_u").toString()));
jpInverterElectricity.setCurrent(Double.valueOf(hanlderResult.get("pv" + k1 + "_i").toString()));
// jpInverterElectricity.setPower(Double.valueOf(hanlderResult.get("pow" + k1).toString()));
if (ObjectUtils.isEmpty(jpInverterElectricity.getSequenceNbr())) {
jpInverterElectricityMapper.insert(jpInverterElectricity);
} else {
jpInverterElectricityMapper.updateById(jpInverterElectricity);
}
}
HYGFJPInverterElecHistory hygfjpInverterElecHistory = new HYGFJPInverterElecHistory();
hygfjpInverterElecHistory.setThirdStationId(String.valueOf(imasterInverterList.getStationCode()));
hygfjpInverterElecHistory.setCreatedTime(System.currentTimeMillis());
hygfjpInverterElecHistory.setSnCode(imasterInverterList.getEsnCode());
hygfjpInverterElecHistory.setUAcCurrent(inverterDetailDto.getA_i());
hygfjpInverterElecHistory.setVAcCurrent(inverterDetailDto.getB_i());
hygfjpInverterElecHistory.setWAcCurrent(inverterDetailDto.getC_i());
hygfjpInverterElecHistory.setUAcVoltage(inverterDetailDto.getA_u());
hygfjpInverterElecHistory.setVAcVoltage(inverterDetailDto.getB_u());
hygfjpInverterElecHistory.setWAcVoltage(inverterDetailDto.getC_u());
hygfjpInverterElecHistory.setThirdCode(PVProducerInfoEnum.HUAWEI.getCode());
hygfjpInverterElecHistory.setTime(System.currentTimeMillis());
hygfjpInverterElecHistoryMapper.insert(hygfjpInverterElecHistory);
// 逆变器历史
String today = DateUtil.today();
HYGFJPInverterHistory hygfjpInverterHistory = hygfjpInverterHistoryMapper.selectOne(new QueryWrapper<HYGFJPInverterHistory>().eq("sn_code", imasterInverterList.getEsnCode()).eq("date", today));
if (ObjectUtils.isEmpty(hygfjpInverterHistory)) {
hygfjpInverterHistory = new HYGFJPInverterHistory();
}
hygfjpInverterHistory.setDate(today);
hygfjpInverterHistory.setThirdStationId(String.valueOf(imasterInverterList.getStationCode()));
hygfjpInverterHistory.setInverterId(String.valueOf(imasterInverterList.getId()));
hygfjpInverterHistory.setSnCode(imasterInverterList.getEsnCode());
hygfjpInverterHistory.setThirdCode(PVProducerInfoEnum.HUAWEI.getCode());
// hygfjpInverterHistory.setGenerationHours(inverterDetailDto.getFullHour());
hygfjpInverterHistory.setPowerGeneration(inverterDetailDto.getDay_cap());
if (ObjectUtils.isEmpty(hygfjpInverterHistory.getCreatedTime())) {
hygfjpInverterHistory.setCreatedTime(System.currentTimeMillis());
hygfjpInverterHistoryMapper.insert(hygfjpInverterHistory);
} else {
hygfjpInverterHistoryMapper.insert(hygfjpInverterHistory);
}
//-----------------------户用光伏日报表----------------------
TdHYGFInverterDayGenerate tdHYGFInverterDayGenerate = new TdHYGFInverterDayGenerate();
tdHYGFInverterDayGenerate.setCreatedTime(System.currentTimeMillis());
tdHYGFInverterDayGenerate.setThirdStationId(jpInverter.getThirdStationId());
tdHYGFInverterDayGenerate.setSnCode(jpInverter.getSnCode());
tdHYGFInverterDayGenerate.setWorkStatus(jpInverter.getState());
//交流电压
tdHYGFInverterDayGenerate.setDcv1(jpInverterElectricityR.getVoltage());
tdHYGFInverterDayGenerate.setDcv2(jpInverterElectricityB.getVoltage());
tdHYGFInverterDayGenerate.setDcv3(jpInverterElectricityC.getVoltage());
//交流电流
// tdHYGFInverterDayGenerate.setDcv4(inverterDetailDto.getUAc4());
tdHYGFInverterDayGenerate.setDcc1(jpInverterElectricityR.getCurrent());
tdHYGFInverterDayGenerate.setDcc2(jpInverterElectricityB.getCurrent());
tdHYGFInverterDayGenerate.setDcc3(jpInverterElectricityC.getCurrent());
// tdHYGFInverterDayGenerate.setDcc4(inverterDetailDto.getIAc4());
//直流电压
tdHYGFInverterDayGenerate.setAcv1(Double.valueOf(hanlderResult.get("pv1_u").toString()));
tdHYGFInverterDayGenerate.setAcv2(Double.valueOf(hanlderResult.get("pv2_u").toString()));
tdHYGFInverterDayGenerate.setAcv3(Double.valueOf(hanlderResult.get("pv3_u").toString()));
tdHYGFInverterDayGenerate.setAcv4(Double.valueOf(hanlderResult.get("pv4_u").toString()));
//直流电流
tdHYGFInverterDayGenerate.setAcc1(Double.valueOf(hanlderResult.get("pv1_i").toString()));
tdHYGFInverterDayGenerate.setAcc2(Double.valueOf(hanlderResult.get("pv2_i").toString()));
tdHYGFInverterDayGenerate.setAcc3(Double.valueOf(hanlderResult.get("pv3_i").toString()));
tdHYGFInverterDayGenerate.setAcc4(Double.valueOf(hanlderResult.get("pv4_i").toString()));
tdHYGFInverterDayGenerate.setPv1(null);
tdHYGFInverterDayGenerate.setPv2(null);
tdHYGFInverterDayGenerate.setPv3(null);
tdHYGFInverterDayGenerate.setPv4(null);
//功率
tdHYGFInverterDayGenerate.setTotalPower(jpInverter.getCurrentPower());
//频率
tdHYGFInverterDayGenerate.setFrequency(String.valueOf(inverterDetailDto.getElec_freq()));
//功率因数
tdHYGFInverterDayGenerate.setPowerFactor(inverterDetailDto.getPower_factor());
tdHYGFInverterDayGenerate.setDayGen(jpInverter.getDayPowerGeneration());
tdHYGFInverterDayGenerate.setMonthGen(jpInverter.getMonthPowerGeneration());
tdHYGFInverterDayGenerate.setYearGen(jpInverter.getYearPowerGeneration());
tdHYGFInverterDayGenerate.setTotalGen(jpInverter.getTotalPowerGeneration());
tdHYGFInverterDayGenerate.setIgbtTemp(inverterDetailDto.getTemperature());
tdHYGFInverterDayGenerate.setIncome(null);
tdHYGFInverterDayGenerate.setFullhour(jpInverter.getDayPowerGeneration()/jpInverter.getCapacity());
tdHYGFInverterDayGenerateMapper.insert(tdHYGFInverterDayGenerate);
//户用场站月发电量
Date today1 = new Date();
TdHYGFInverterMonthGenerate tdHYGFInverterMonthGenerate = tdHYGFInverterMonthGenerateMapper.selectOne(new QueryWrapper<TdHYGFInverterMonthGenerate>()
.eq("third_station_id",jpInverter.getThirdStationId())
.eq("sn_code",jpInverter.getSnCode())
.eq("day_time",DateUtil.format(today1, "yyyy-MM-dd"))
.eq("year_month",DateUtil.format(today1, "yyyy-MM")));
if(ObjectUtils.isEmpty(tdHYGFInverterMonthGenerate)){
tdHYGFInverterMonthGenerate=new TdHYGFInverterMonthGenerate();
}
tdHYGFInverterMonthGenerate.setThirdStationId(jpInverter.getThirdStationId());
tdHYGFInverterMonthGenerate.setSnCode(String.valueOf(jpInverter.getSnCode()));
tdHYGFInverterMonthGenerate.setDayTime(DateUtil.format(today1, "yyyy-MM-dd"));
tdHYGFInverterMonthGenerate.setYearMonth(DateUtil.format(today1, "yyyy-MM"));
tdHYGFInverterMonthGenerate.setGenerate(jpInverter.getDayPowerGeneration());
tdHYGFInverterMonthGenerate.setFullhour(jpInverter.getDayPowerGeneration()/jpInverter.getCapacity());
if(ObjectUtils.isEmpty(tdHYGFInverterMonthGenerate.getCreatedTime())){
tdHYGFInverterMonthGenerate.setCreatedTime(System.currentTimeMillis());
tdHYGFInverterMonthGenerateMapper.insert(tdHYGFInverterMonthGenerate);
}else {
tdHYGFInverterMonthGenerateMapper.insert(tdHYGFInverterMonthGenerate);
}
//户用场站年发电量
TdHYGFInverterYearGenerate tdHYGFInverterYearGenerate = tdHYGFInverterYearGenerateMapper.selectOne(new QueryWrapper<TdHYGFInverterYearGenerate>()
.eq("third_station_id",jpInverter.getThirdStationId())
.eq("sn_code",jpInverter.getSnCode())
.eq("month_time",DateUtil.format(today1, "yyyy-MM"))
.eq("year",DateUtil.format(today1, "yyyy")));
if(ObjectUtils.isEmpty(tdHYGFInverterYearGenerate)){
tdHYGFInverterYearGenerate = new TdHYGFInverterYearGenerate();
}
tdHYGFInverterYearGenerate.setThirdStationId(jpInverter.getThirdStationId());
tdHYGFInverterYearGenerate.setSnCode(jpInverter.getSnCode());
tdHYGFInverterYearGenerate.setMonthTime(DateUtil.format(today1, "yyyy-MM"));
tdHYGFInverterYearGenerate.setYear(DateUtil.format(today1, "yyyy"));
tdHYGFInverterYearGenerate.setGenerate(jpInverter.getMonthPowerGeneration());
tdHYGFInverterYearGenerate.setFullhour(jpInverter.getMonthPowerGeneration()/jpInverter.getCapacity());
if(ObjectUtils.isEmpty(tdHYGFInverterYearGenerate.getCreatedTime())){
tdHYGFInverterYearGenerate.setCreatedTime(System.currentTimeMillis());
tdHYGFInverterYearGenerateMapper.insert(tdHYGFInverterYearGenerate);
}else {
tdHYGFInverterYearGenerateMapper.insert(tdHYGFInverterYearGenerate);
}
//户用场站年发电量
TdHYGFInverterTotalGenerate tdHYGFInverterTotalGenerate = tdHYGFInverterTotalGenerateMapper.selectOne(new QueryWrapper<TdHYGFInverterTotalGenerate>()
.eq("third_station_id",jpInverter.getThirdStationId())
.eq("sn_code",jpInverter.getSnCode())
.eq("year_time",DateUtil.format(today1, "yyyy"))
.eq("year",DateUtil.format(today1, "yyyy")));
if(ObjectUtils.isEmpty(tdHYGFInverterTotalGenerate)){
tdHYGFInverterTotalGenerate = new TdHYGFInverterTotalGenerate();
}
tdHYGFInverterTotalGenerate.setThirdStationId(jpInverter.getThirdStationId());
tdHYGFInverterTotalGenerate.setSnCode(jpInverter.getSnCode());
tdHYGFInverterTotalGenerate.setYearTime(DateUtil.format(today1, "yyyy"));
tdHYGFInverterTotalGenerate.setYear(DateUtil.format(today1, "yyyy"));
tdHYGFInverterTotalGenerate.setGenerate(jpInverter.getYearPowerGeneration());
tdHYGFInverterTotalGenerate.setFullhour(jpInverter.getYearPowerGeneration()/jpInverter.getCapacity());
if(ObjectUtils.isEmpty(tdHYGFInverterTotalGenerate.getCreatedTime())){
tdHYGFInverterTotalGenerate.setCreatedTime(System.currentTimeMillis());
tdHYGFInverterTotalGenerateMapper.insert(tdHYGFInverterTotalGenerate);
}else {
tdHYGFInverterTotalGenerateMapper.insert(tdHYGFInverterTotalGenerate);
}
}
// JpStation jpStation1 = jpStationMapper.selectOne(new QueryWrapper<JpStation>().
// eq("third_code", PVProducerInfoEnum.HUAWEI.getCode()).
// eq("third_station_id",third_station_id));
......@@ -739,56 +900,56 @@ public class ImasterDataServiceImpl implements ImasterDataService {
public void inverAlramInfo() {
List<String> inverterSns = imasterInverterListMapper.getCollectIds();
// for (int i = 0; i < inverterSns.size(); i++) {
// for (int i = 0; i < inverterSns.size(); i++) {
// try {
// TimeUnit.MINUTES.sleep(3);
// } catch (InterruptedException e) {
// throw new RuntimeException(e);
// }
HashMap<String, Object> requestInfo = new HashMap<>();
requestInfo.put("sns", inverterSns.stream().collect(Collectors.joining(",")));
requestInfo.put("language", "zh_CN ");
requestInfo.put("devTypes", 1);
requestInfo.put("beginTime", DateUtil.today());
requestInfo.put("endTime", DateUtil.today());
String requestParaminfo = JSON.toJSONString(requestInfo);
List<ImasterAlarmDto> result = imasterUtils.getResPonse(ImasterConstant.alarmListUrl,
GoLangConstant.requestPost,
requestParaminfo,
ImasterConstant.resovleRule_data_page_records,
ImasterAlarmDto.class
);
for (int j = 0; j < result.size(); j++) {
ImasterAlarmDto alarmDto = result.get(j);
if (!ObjectUtils.isEmpty(alarmDto.getEsnCode())) {
HYGFJPInverterWarn hygfjpInverterWarn = hygfjpInverterWarnMapper.selectOne(new QueryWrapper<HYGFJPInverterWarn>()
.eq("sn_code", alarmDto.getEsnCode())
.eq("start_time", alarmDto.getRaiseTime())
.eq("third_station_id", String.valueOf(alarmDto.getStationCode()))
);
if (ObjectUtils.isEmpty(hygfjpInverterWarn)) {
hygfjpInverterWarn = new HYGFJPInverterWarn();
}
hygfjpInverterWarn.setTime(System.currentTimeMillis());
hygfjpInverterWarn.setSnCode(alarmDto.getEsnCode());
hygfjpInverterWarn.setThirdStationId(String.valueOf(alarmDto.getStationCode()));
hygfjpInverterWarn.setLevel(ImasterConstant.alarmLevel.get(alarmDto.getLev().toString()));
hygfjpInverterWarn.setContent(alarmDto.getAlarmName());
hygfjpInverterWarn.setThirdCode(PVProducerInfoEnum.HUAWEI.getCode());
hygfjpInverterWarn.setTreatment(alarmDto.getDevName());
hygfjpInverterWarn.setStartTime(alarmDto.getRaiseTime());
hygfjpInverterWarn.setRecoverTime(null);
hygfjpInverterWarn.setTimeLong(null);
hygfjpInverterWarn.setState(ImasterConstant.alarmstatus.get(alarmDto.getStatus().toString()));
if (ObjectUtils.isEmpty(hygfjpInverterWarn.getCreatedTime())) {
hygfjpInverterWarn.setCreatedTime(System.currentTimeMillis());
hygfjpInverterWarnMapper.insert(hygfjpInverterWarn);
} else {
hygfjpInverterWarnMapper.insert(hygfjpInverterWarn);
}
HashMap<String, Object> requestInfo = new HashMap<>();
requestInfo.put("sns", inverterSns.stream().collect(Collectors.joining(",")));
requestInfo.put("language", "zh_CN ");
requestInfo.put("devTypes", 1);
requestInfo.put("beginTime", DateUtil.today());
requestInfo.put("endTime", DateUtil.today());
String requestParaminfo = JSON.toJSONString(requestInfo);
List<ImasterAlarmDto> result = imasterUtils.getResPonse(ImasterConstant.alarmListUrl,
GoLangConstant.requestPost,
requestParaminfo,
ImasterConstant.resovleRule_data_page_records,
ImasterAlarmDto.class
);
for (int j = 0; j < result.size(); j++) {
ImasterAlarmDto alarmDto = result.get(j);
if (!ObjectUtils.isEmpty(alarmDto.getEsnCode())) {
HYGFJPInverterWarn hygfjpInverterWarn = hygfjpInverterWarnMapper.selectOne(new QueryWrapper<HYGFJPInverterWarn>()
.eq("sn_code", alarmDto.getEsnCode())
.eq("start_time", alarmDto.getRaiseTime())
.eq("third_station_id", String.valueOf(alarmDto.getStationCode()))
);
if (ObjectUtils.isEmpty(hygfjpInverterWarn)) {
hygfjpInverterWarn = new HYGFJPInverterWarn();
}
hygfjpInverterWarn.setTime(System.currentTimeMillis());
hygfjpInverterWarn.setSnCode(alarmDto.getEsnCode());
hygfjpInverterWarn.setThirdStationId(String.valueOf(alarmDto.getStationCode()));
hygfjpInverterWarn.setLevel(ImasterConstant.alarmLevel.get(alarmDto.getLev().toString()));
hygfjpInverterWarn.setContent(alarmDto.getAlarmName());
hygfjpInverterWarn.setThirdCode(PVProducerInfoEnum.HUAWEI.getCode());
hygfjpInverterWarn.setTreatment(alarmDto.getDevName());
hygfjpInverterWarn.setStartTime(alarmDto.getRaiseTime());
hygfjpInverterWarn.setRecoverTime(null);
hygfjpInverterWarn.setTimeLong(null);
hygfjpInverterWarn.setState(ImasterConstant.alarmstatus.get(alarmDto.getStatus().toString()));
if (ObjectUtils.isEmpty(hygfjpInverterWarn.getCreatedTime())) {
hygfjpInverterWarn.setCreatedTime(System.currentTimeMillis());
hygfjpInverterWarnMapper.insert(hygfjpInverterWarn);
} else {
hygfjpInverterWarnMapper.insert(hygfjpInverterWarn);
}
}
// }
}
// }
}
}
......@@ -94,6 +94,20 @@ public class KsolarDataAcquisitionServiceImpl implements KSolarDataAcquisitionSe
//监盘逆变器电量mapper
@Autowired
private JpInverterElectricityMapper jpInverterElectricityMapper;
@Autowired
private TdHYGFInverterDayGenerateMapper tdHYGFInverterDayGenerateMapper;
@Autowired
private TdHYGFInverterMonthGenerateMapper tdHYGFInverterMonthGenerateMapper;
@Autowired
private TdHYGFInverterYearGenerateMapper tdHYGFInverterYearGenerateMapper;
@Autowired
private TdHYGFStationDayGenerateMapper tdHYGFStationDayGenerateMapper;
@Autowired
private TdHYGFStationMonthGenerateMapper tdHYGFStationMonthGenerateMapper;
@Autowired
private TdHYGFStationYearGenerateMapper tdHYGFStationYearGenerateMapper;
@Autowired
private TdHYGFInverterTotalGenerateMapper tdHYGFInverterTotalGenerateMapper;
@Scheduled(cron = "${dataRequstScheduled.keshida}")
@Override
......@@ -252,6 +266,64 @@ public class KsolarDataAcquisitionServiceImpl implements KSolarDataAcquisitionSe
ksolarStationDetail.setCreatedTime(System.currentTimeMillis());
ksolarStationDetailsMapper.insert(ksolarStationDetail);
Date today1 = new Date();
//户用场站日发电量
TdHYGFStationDayGenerate tdHYGFStationDayGenerate = tdHYGFStationDayGenerateMapper.selectOne(new QueryWrapper<TdHYGFStationDayGenerate>()
.eq("third_station_id",stationId)
.eq("day_time",DateUtil.format(today1, "yyyy-MM-dd"))
.eq("year_month",DateUtil.format(today1, "yyyy-MM")));
if(ObjectUtils.isEmpty(tdHYGFStationDayGenerate)){
tdHYGFStationDayGenerate = new TdHYGFStationDayGenerate();
}
tdHYGFStationDayGenerate.setThirdStationId(stationId);
tdHYGFStationDayGenerate.setDayTime(DateUtil.format(today1, "yyyy-MM-dd"));
tdHYGFStationDayGenerate.setYearMonth(DateUtil.format(today1, "yyyy-MM"));
tdHYGFStationDayGenerate.setGenerate(stationEarn.getDayGeneration());
tdHYGFStationDayGenerate.setFullhour(stationEarn.getDayGeneration()/jpStation.getCapacity());
if(ObjectUtils.isEmpty(tdHYGFStationDayGenerate.getCreatedTime())){
tdHYGFStationDayGenerate.setCreatedTime(System.currentTimeMillis());
tdHYGFStationDayGenerateMapper.insert(tdHYGFStationDayGenerate);
}else {
tdHYGFStationDayGenerateMapper.insert(tdHYGFStationDayGenerate);
}
//户用场站月发电量
TdHYGFStationMonthGenerate tdHYGFStationMonthGenerate = tdHYGFStationMonthGenerateMapper.selectOne(new QueryWrapper<TdHYGFStationMonthGenerate>()
.eq("third_station_id",stationId)
.eq("month_time",DateUtil.format(today1, "yyyy-MM"))
.eq("year",DateUtil.format(today1, "yyyy")));
if(ObjectUtils.isEmpty(tdHYGFStationMonthGenerate)){
tdHYGFStationMonthGenerate=new TdHYGFStationMonthGenerate();
}
tdHYGFStationMonthGenerate.setThirdStationId(stationId);
tdHYGFStationMonthGenerate.setMonthTime(DateUtil.format(today1, "yyyy-MM"));
tdHYGFStationMonthGenerate.setYear(DateUtil.format(today1, "yyyy"));
tdHYGFStationMonthGenerate.setGenerate(stationEarn.getMonthGeneration());
tdHYGFStationMonthGenerate.setFullhour(stationEarn.getMonthGeneration()/jpStation.getCapacity());
if(ObjectUtils.isEmpty(tdHYGFStationMonthGenerate.getCreatedTime())){
tdHYGFStationMonthGenerate.setCreatedTime(System.currentTimeMillis());
tdHYGFStationMonthGenerateMapper.insert(tdHYGFStationMonthGenerate);
}else {
tdHYGFStationMonthGenerateMapper.insert(tdHYGFStationMonthGenerate);
}
//户用场站年发电量
TdHYGFStationYearGenerate tdHYGFStationYearGenerate = tdHYGFStationYearGenerateMapper.selectOne(new QueryWrapper<TdHYGFStationYearGenerate>()
.eq("third_station_id",stationId)
.eq("year_time",DateUtil.format(today1, "yyyy"))
.eq("year",DateUtil.format(today1, "yyyy")));
if(ObjectUtils.isEmpty(tdHYGFStationYearGenerate)){
tdHYGFStationYearGenerate = new TdHYGFStationYearGenerate();
}
tdHYGFStationYearGenerate.setThirdStationId(stationId);
tdHYGFStationYearGenerate.setYearTime(DateUtil.format(today1, "yyyy"));
tdHYGFStationYearGenerate.setYear(DateUtil.format(today1, "yyyy"));
tdHYGFStationYearGenerate.setGenerate(stationEarn.getYearGeneration());
tdHYGFStationYearGenerate.setFullhour(stationEarn.getYearGeneration()/jpStation.getCapacity());
if(ObjectUtils.isEmpty(tdHYGFStationYearGenerate.getCreatedTime())){
tdHYGFStationYearGenerate.setCreatedTime(System.currentTimeMillis());
tdHYGFStationYearGenerateMapper.insert(tdHYGFStationYearGenerate);
}else {
tdHYGFStationYearGenerateMapper.insert(tdHYGFStationYearGenerate);
}
}
}
}
......@@ -814,9 +886,120 @@ public class KsolarDataAcquisitionServiceImpl implements KSolarDataAcquisitionSe
} else {
hygfjpInverterHistoryMapper.insert(hygfjpInverterHistory);
}
//-----------------------户用光伏日报表----------------------
TdHYGFInverterDayGenerate tdHYGFInverterDayGenerate = new TdHYGFInverterDayGenerate();
tdHYGFInverterDayGenerate.setCreatedTime(System.currentTimeMillis());
tdHYGFInverterDayGenerate.setThirdStationId(jpInverter.getThirdStationId());
tdHYGFInverterDayGenerate.setSnCode(jpInverter.getSnCode());
tdHYGFInverterDayGenerate.setWorkStatus(jpInverter.getState());
//交流电压
tdHYGFInverterDayGenerate.setDcv1(jpInverterElectricityR.getVoltage());
tdHYGFInverterDayGenerate.setDcv2(jpInverterElectricityS.getVoltage());
tdHYGFInverterDayGenerate.setDcv3(jpInverterElectricityT.getVoltage());
//交流电流
// tdHYGFInverterDayGenerate.setDcv4(inverterDetailDto.getUAc4());
tdHYGFInverterDayGenerate.setDcc1(jpInverterElectricityR.getCurrent());
tdHYGFInverterDayGenerate.setDcc2(jpInverterElectricityS.getCurrent());
tdHYGFInverterDayGenerate.setDcc3(jpInverterElectricityT.getCurrent());
// tdHYGFInverterDayGenerate.setDcc4(inverterDetailDto.getIAc4());
//直流电压
tdHYGFInverterDayGenerate.setAcv1(Double.valueOf(hanlderResult.get("voltagePv1").toString()));
tdHYGFInverterDayGenerate.setAcv2(Double.valueOf(hanlderResult.get("voltagePv2").toString()));
tdHYGFInverterDayGenerate.setAcv3(Double.valueOf(hanlderResult.get("voltagePv3").toString()));
tdHYGFInverterDayGenerate.setAcv4(Double.valueOf(hanlderResult.get("voltagePv4").toString()));
//直流电流
tdHYGFInverterDayGenerate.setAcc1(Double.valueOf(hanlderResult.get("currentPv1").toString()));
tdHYGFInverterDayGenerate.setAcc2(Double.valueOf(hanlderResult.get("currentPv2").toString()));
tdHYGFInverterDayGenerate.setAcc3(Double.valueOf(hanlderResult.get("currentPv3").toString()));
tdHYGFInverterDayGenerate.setAcc4(Double.valueOf(hanlderResult.get("currentPv4").toString()));
tdHYGFInverterDayGenerate.setPv1(Double.valueOf(hanlderResult.get("powerPv1").toString()));
tdHYGFInverterDayGenerate.setPv2(Double.valueOf(hanlderResult.get("powerPv2").toString()));
tdHYGFInverterDayGenerate.setPv3(Double.valueOf(hanlderResult.get("powerPv3").toString()));
tdHYGFInverterDayGenerate.setPv4(Double.valueOf(hanlderResult.get("powerPv4").toString()));
//功率
tdHYGFInverterDayGenerate.setTotalPower(jpInverter.getCurrentPower());
// //频率
tdHYGFInverterDayGenerate.setFrequency(String.valueOf(jpInverterElectricityR.getFrequency()));
// //功率因数
tdHYGFInverterDayGenerate.setPowerFactor(1.0);
tdHYGFInverterDayGenerate.setDayGen(jpInverter.getDayPowerGeneration());
tdHYGFInverterDayGenerate.setMonthGen(jpInverter.getMonthPowerGeneration());
tdHYGFInverterDayGenerate.setYearGen(jpInverter.getYearPowerGeneration());
tdHYGFInverterDayGenerate.setTotalGen(jpInverter.getTotalPowerGeneration());
tdHYGFInverterDayGenerate.setIgbtTemp(ObjectUtils.isEmpty(jpInverter.getIgbtTemperature())?null:Double.valueOf(jpInverter.getIgbtTemperature()));
tdHYGFInverterDayGenerate.setIncome(null);
tdHYGFInverterDayGenerate.setFullhour(jpInverter.getDayPowerGeneration()/jpInverter.getCapacity());
tdHYGFInverterDayGenerateMapper.insert(tdHYGFInverterDayGenerate);
//户用场站月发电量
Date today1 = new Date();
TdHYGFInverterMonthGenerate tdHYGFInverterMonthGenerate = tdHYGFInverterMonthGenerateMapper.selectOne(new QueryWrapper<TdHYGFInverterMonthGenerate>()
.eq("third_station_id",jpInverter.getThirdStationId())
.eq("sn_code",jpInverter.getSnCode())
.eq("day_time",DateUtil.format(today1, "yyyy-MM-dd"))
.eq("year_month",DateUtil.format(today1, "yyyy-MM")));
if(ObjectUtils.isEmpty(tdHYGFInverterMonthGenerate)){
tdHYGFInverterMonthGenerate=new TdHYGFInverterMonthGenerate();
}
tdHYGFInverterMonthGenerate.setThirdStationId(jpInverter.getThirdStationId());
tdHYGFInverterMonthGenerate.setSnCode(String.valueOf(jpInverter.getSnCode()));
tdHYGFInverterMonthGenerate.setDayTime(DateUtil.format(today1, "yyyy-MM-dd"));
tdHYGFInverterMonthGenerate.setYearMonth(DateUtil.format(today1, "yyyy-MM"));
tdHYGFInverterMonthGenerate.setGenerate(jpInverter.getDayPowerGeneration());
tdHYGFInverterMonthGenerate.setFullhour(jpInverter.getDayPowerGeneration()/jpInverter.getCapacity());
if(ObjectUtils.isEmpty(tdHYGFInverterMonthGenerate.getCreatedTime())){
tdHYGFInverterMonthGenerate.setCreatedTime(System.currentTimeMillis());
tdHYGFInverterMonthGenerateMapper.insert(tdHYGFInverterMonthGenerate);
}else {
tdHYGFInverterMonthGenerateMapper.insert(tdHYGFInverterMonthGenerate);
}
//户用场站年发电量
TdHYGFInverterYearGenerate tdHYGFInverterYearGenerate = tdHYGFInverterYearGenerateMapper.selectOne(new QueryWrapper<TdHYGFInverterYearGenerate>()
.eq("third_station_id",jpInverter.getThirdStationId())
.eq("sn_code",jpInverter.getSnCode())
.eq("month_time",DateUtil.format(today1, "yyyy-MM"))
.eq("year",DateUtil.format(today1, "yyyy")));
if(ObjectUtils.isEmpty(tdHYGFInverterYearGenerate)){
tdHYGFInverterYearGenerate = new TdHYGFInverterYearGenerate();
}
tdHYGFInverterYearGenerate.setThirdStationId(jpInverter.getThirdStationId());
tdHYGFInverterYearGenerate.setSnCode(jpInverter.getSnCode());
tdHYGFInverterYearGenerate.setMonthTime(DateUtil.format(today1, "yyyy-MM"));
tdHYGFInverterYearGenerate.setYear(DateUtil.format(today1, "yyyy"));
tdHYGFInverterYearGenerate.setGenerate(jpInverter.getMonthPowerGeneration());
tdHYGFInverterYearGenerate.setFullhour(jpInverter.getMonthPowerGeneration()/jpInverter.getCapacity());
if(ObjectUtils.isEmpty(tdHYGFInverterYearGenerate.getCreatedTime())){
tdHYGFInverterYearGenerate.setCreatedTime(System.currentTimeMillis());
tdHYGFInverterYearGenerateMapper.insert(tdHYGFInverterYearGenerate);
}else {
tdHYGFInverterYearGenerateMapper.insert(tdHYGFInverterYearGenerate);
}
//户用场站年发电量
TdHYGFInverterTotalGenerate tdHYGFInverterTotalGenerate = tdHYGFInverterTotalGenerateMapper.selectOne(new QueryWrapper<TdHYGFInverterTotalGenerate>()
.eq("third_station_id",jpInverter.getThirdStationId())
.eq("sn_code",jpInverter.getSnCode())
.eq("year_time",DateUtil.format(today1, "yyyy"))
.eq("year",DateUtil.format(today1, "yyyy")));
if(ObjectUtils.isEmpty(tdHYGFInverterTotalGenerate)){
tdHYGFInverterTotalGenerate = new TdHYGFInverterTotalGenerate();
}
tdHYGFInverterTotalGenerate.setThirdStationId(jpInverter.getThirdStationId());
tdHYGFInverterTotalGenerate.setSnCode(jpInverter.getSnCode());
tdHYGFInverterTotalGenerate.setYearTime(DateUtil.format(today1, "yyyy"));
tdHYGFInverterTotalGenerate.setYear(DateUtil.format(today1, "yyyy"));
tdHYGFInverterTotalGenerate.setGenerate(jpInverter.getYearPowerGeneration());
tdHYGFInverterTotalGenerate.setFullhour(jpInverter.getYearPowerGeneration()/jpInverter.getCapacity());
if(ObjectUtils.isEmpty(tdHYGFInverterTotalGenerate.getCreatedTime())){
tdHYGFInverterTotalGenerate.setCreatedTime(System.currentTimeMillis());
tdHYGFInverterTotalGenerateMapper.insert(tdHYGFInverterTotalGenerate);
}else {
tdHYGFInverterTotalGenerateMapper.insert(tdHYGFInverterTotalGenerate);
}
});
}
}
......@@ -1073,14 +1256,15 @@ public class KsolarDataAcquisitionServiceImpl implements KSolarDataAcquisitionSe
}
}
}
HYGFJPInverterWarn hygfjpInverterWarn = hygfjpInverterWarnMapper.selectOne(new QueryWrapper<HYGFJPInverterWarn>()
List<HYGFJPInverterWarn> list= hygfjpInverterWarnMapper.selectList(new QueryWrapper<HYGFJPInverterWarn>()
.eq("sn_code",snCode)
.eq("start_time",DateUtil.parse(ksolarAlarmDto.getSaveTime(), DatePattern.NORM_DATETIME_PATTERN).getTime())
.eq("third_code", PVProducerInfoEnum.KSOLAR.getCode())
.eq("third_station_id", ksolarAlarmDto.getStationId())
);
if (ObjectUtils.isEmpty(hygfjpInverterWarn)) {
hygfjpInverterWarn = new HYGFJPInverterWarn();
HYGFJPInverterWarn hygfjpInverterWarn = new HYGFJPInverterWarn();
if (!ObjectUtils.isEmpty(list)) {
hygfjpInverterWarn = list.get(0);
}
hygfjpInverterWarn.setTime(System.currentTimeMillis());
......
......@@ -642,7 +642,7 @@ public class IdxBizFanHealthIndexController extends BaseController {
// }
List<FanHealthIndexDay> fanHealthIndexDays = fanHealthIndexDayMapper.selectData(healthLevel, area, equipmentName, subSystem, analysisType, analysisObjType, station, pointName, indexAddress, startTimeTop, endTimeTop,(current-1)*size,size);
Map<String,Object> map = new HashMap<>();
map.put("value",fanHealthIndexDays.get(0).getValue());
map.put("value",Double.parseDouble(df.format(fanHealthIndexDays.get(0).getHealthIndex())));
return ResponseHelper.buildResponse(map);
}else if (requiredType.equals("按小时")){
......@@ -666,7 +666,7 @@ public class IdxBizFanHealthIndexController extends BaseController {
// }
List<FanHealthIndexHour> fanHealthIndexHours = fanHealthIndexHourMapper.selectData(healthLevel, area, equipmentName, subSystem, analysisType, analysisObjType, station, pointName, indexAddress, startTimeTop, endTimeTop,(current-1)*size,size);
Map<String,Object> map = new HashMap<>();
map.put("value",fanHealthIndexHours.get(0).getValue());
map.put("value",Double.parseDouble(df.format(fanHealthIndexHours.get(0).getHealthIndex())));
return ResponseHelper.buildResponse(map);
}else {
// if (null != type && type.equals("0")){
......@@ -683,7 +683,7 @@ public class IdxBizFanHealthIndexController extends BaseController {
// }
List<FanHealthIndexMoment> fanHealthIndexMoments = fanHealthIndexMomentMapper.selectData(healthLevel, area, equipmentName, subSystem, analysisType, analysisObjType, station, pointName, indexAddress, startTimeTop, endTimeTop,(current-1)*size,size);
Map<String,Object> map = new HashMap<>();
map.put("value",fanHealthIndexMoments.get(0).getValue());
map.put("value",Double.parseDouble(df.format(fanHealthIndexMoments.get(0).getHealthIndex())));
return ResponseHelper.buildResponse(map);
}
}
......
......@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jxiop.biz.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.jxiop.biz.Enum.HealthLevelSortEnum;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.IdxBizPvHealthIndexDto;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizPvWarningRecord;
import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.IdxBizPvHealthIndexServiceImpl;
......@@ -18,6 +19,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
......@@ -44,6 +46,7 @@ public class IdxBizPvHealthIndexController extends BaseController {
PvHealthIndexMomentMapper pvHealthIndexMomentMapper;
@Autowired
PvWaringRecordMapper pvWaringRecordMapper;
public final DecimalFormat df = new DecimalFormat("#.0");
/**
* 新增
*
......@@ -251,8 +254,13 @@ public class IdxBizPvHealthIndexController extends BaseController {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
startTimeTop = formatter.format(date);
List<PvHealthIndexDay> fanHealthIndexDays = pvHealthIndexDayMapper.selectData(healthLevel, area, equipmentName, subarray, analysisType, analysisObjType, station, pointName, indexAddress, startTimeTop, endTimeTop,(current-1)*size,size);
int total = pvHealthIndexDayMapper.selectDataTotal(healthLevel, area, equipmentName, subarray, analysisType, analysisObjType, station, pointName, indexAddress, startTimeTop, endTimeTop);
List<PvHealthIndexDay> fanHealthIndexDays = pvHealthIndexDayMapper.selectData(station, analysisType, indexAddress, healthLevel, area, analysisObjType, subarray, pointName, startTimeTop, endTimeTop, equipmentName,(current-1)*size,size);
fanHealthIndexDays.forEach(item -> {
item.setHealthIndex(Double.parseDouble(df.format(item.getHealthIndex())));
});
int total = pvHealthIndexDayMapper.selectDataTotal(station, analysisType, indexAddress, healthLevel, area, analysisObjType, subarray, pointName, startTimeTop, endTimeTop, equipmentName);
Page page = new Page<>();
page.setCurrent(current);
page.setSize(size);
......@@ -272,6 +280,9 @@ public class IdxBizPvHealthIndexController extends BaseController {
}
List<PvHealthIndexHour> fanHealthIndexHours = pvHealthIndexHourMapper.selectData(healthLevel, area, equipmentName, subarray, analysisType, analysisObjType, station, pointName, indexAddress, startTimeTop, endTimeTop,(current-1)*size,size);
fanHealthIndexHours.forEach(item -> {
item.setHealthIndex(Double.parseDouble(df.format(item.getHealthIndex())));
});
int total = pvHealthIndexHourMapper.selectDataTotal(healthLevel, area, equipmentName, subarray, analysisType, analysisObjType, station, pointName, indexAddress, startTimeTop, endTimeTop);
Page page = new Page<>();
......@@ -286,6 +297,9 @@ public class IdxBizPvHealthIndexController extends BaseController {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
startTimeTop = formatter.format(date);
List<PvHealthIndexMoment> fanHealthIndexMoments = pvHealthIndexMomentMapper.selectData(healthLevel, area, equipmentName, subarray, analysisType, analysisObjType, station, pointName, indexAddress, startTimeTop, endTimeTop,(current-1)*size,size);
fanHealthIndexMoments.forEach(item -> {
item.setHealthIndex(Double.parseDouble(df.format(item.getHealthIndex())));
});
Page page = new Page<>();
page.setCurrent(current);
page.setSize(size);
......@@ -298,6 +312,76 @@ public class IdxBizPvHealthIndexController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(httpMethod = "GET",value = "仪表盘", notes = "仪表盘")
@GetMapping(value = "/pointHealthIndexTableByPanel")
public ResponseModel<Map<String, Object>> pointHealthIndexTableByPanel(@RequestParam(value = "area",required = false) String area,
@RequestParam(value = "station",required = false) String station,
@RequestParam(value = "analysisObjType",required = false) String analysisObjType,
@RequestParam(value = "analysisType",required = false) String analysisType,
@RequestParam(value = "endTimeTop",required = false) String endTimeTop,
@RequestParam(value = "startTimeTop",required = false) String startTimeTop,
@RequestParam(value = "indexAddress",required = false) String indexAddress,
@RequestParam(value = "pointName",required = false) String pointName,
@RequestParam(value = "equipmentName",required = false) String equipmentName,
@RequestParam(value = "healthLevel",required = false) String healthLevel,
@RequestParam(value = "type",required = false) String type,
@RequestParam(value = "requiredType",required = false) String requiredType,
@RequestParam(value = "current",required = false) Integer current,
@RequestParam(value = "size",required = false) Integer size,
@RequestParam(value = "subarray",required = false) String subarray){
if (requiredType.equals("按天")){
Date startDayTime = DateUtils.getCurrentDayStartTime(new Date());
Date date = DateUtils.dateAddHours(startDayTime, -8);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
startTimeTop = formatter.format(date);
List<PvHealthIndexDay> fanHealthIndexDays = pvHealthIndexDayMapper.selectData(station, requiredType, indexAddress, healthLevel, area, analysisObjType, subarray, pointName, startTimeTop, endTimeTop, equipmentName,(current-1)*size,size);
Map<String,Object> map = new HashMap<>();
map.put("value", Double.parseDouble(df.format(fanHealthIndexDays.get(0).getHealthIndex())));
return ResponseHelper.buildResponse(map);
}else if (requiredType.equals("按小时")){
int hour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
String day = DateUtils.getDateNowShortStr();
startTimeTop = day + " "+ hour+":00:00";
try {
Date date = DateUtils.dateAddHours(DateUtils.dateParse(startTimeTop,DateUtils.DATE_TIME_PATTERN),-8);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
startTimeTop = formatter.format(date);
} catch (ParseException e) {
e.printStackTrace();
}
List<PvHealthIndexHour> fanHealthIndexHours = pvHealthIndexHourMapper.selectData(station, analysisType, indexAddress, healthLevel, area, analysisObjType, subarray, pointName, startTimeTop, endTimeTop, equipmentName,(current-1)*size,size);
Map<String,Object> map = new HashMap<>();
map.put("value", Double.parseDouble(df.format(fanHealthIndexHours.get(0).getHealthIndex())));
return ResponseHelper.buildResponse(map);
}else {
Date date = DateUtils.dateAddMinutes(null,-9);
date = DateUtils.dateAddHours(date, -8);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
startTimeTop = formatter.format(date);
List<PvHealthIndexMoment> fanHealthIndexMoments = pvHealthIndexMomentMapper.selectData(station, analysisType, indexAddress, healthLevel, area, analysisObjType, subarray, pointName, startTimeTop, endTimeTop, equipmentName,(current-1)*size,size);
Map<String,Object> map = new HashMap<>();
map.put("value", Double.parseDouble(df.format(fanHealthIndexMoments.get(0).getHealthIndex())));
return ResponseHelper.buildResponse(map);
}
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(httpMethod = "GET",value = "TD 光伏折线图", notes = "TD光伏折线图")
@GetMapping(value = "/pointHealthIndexTrend")
public ResponseModel<Object> pointHealthIndexTrend(@RequestParam(value = "area",required = false) String area,
......@@ -329,12 +413,12 @@ public class IdxBizPvHealthIndexController extends BaseController {
Date startDate = DateUtils.dateAddHours(DateUtils.longStr2Date(startTimeTop), -8);
startTimeTop = formatter.format(startDate);
List<PvHealthIndexDay> fanHealthIndexDays = pvHealthIndexDayMapper.selectData(healthLevel, area, equipmentName, subarray, analysisType, analysisObjType, station, pointName, indexAddress, startTimeTop, endTimeTop,(current-1)*size,size);
List<PvHealthIndexDay> fanHealthIndexDays = pvHealthIndexDayMapper.selectData(station, analysisType, indexAddress, healthLevel, area, analysisObjType, subarray, pointName, startTimeTop, endTimeTop, equipmentName, (current - 1) * size, size);
fanHealthIndexDays= fanHealthIndexDays.stream().sorted(Comparator.comparing(PvHealthIndexDay::getAnalysisTime)).collect(Collectors.toList());
for (PvHealthIndexDay obj : fanHealthIndexDays) {
if (type.equals("0")){
seriesData.add(obj.getHealthIndex().intValue());
seriesData.add(Double.parseDouble(df.format(obj.getHealthIndex())));
}else {
seriesData.add(obj.getAnomaly());
}
......@@ -355,7 +439,7 @@ public class IdxBizPvHealthIndexController extends BaseController {
fanHealthIndexHours= fanHealthIndexHours.stream().sorted(Comparator.comparing(PvHealthIndexHour::getAnalysisTime)).collect(Collectors.toList());
for (PvHealthIndexHour obj : fanHealthIndexHours) {
if (type.equals("0")){
seriesData.add(obj.getHealthIndex().intValue());
seriesData.add(Double.parseDouble(df.format(obj.getHealthIndex())));
}else {
seriesData.add(obj.getAnomaly());
}
......@@ -377,7 +461,7 @@ public class IdxBizPvHealthIndexController extends BaseController {
fanHealthIndexMoments= fanHealthIndexMoments.stream().sorted(Comparator.comparing(PvHealthIndexMoment::getAnalysisTime)).collect(Collectors.toList());
for (PvHealthIndexMoment obj : fanHealthIndexMoments) {
if (type.equals("0")){
seriesData.add(obj.getHealthIndex().intValue());
seriesData.add(Double.parseDouble(df.format(obj.getHealthIndex())));
}else {
seriesData.add(obj.getAnomaly());
}
......@@ -444,4 +528,80 @@ public class IdxBizPvHealthIndexController extends BaseController {
return ResponseHelper.buildResponse(maps);
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(httpMethod = "GET",value = "查询场站下设备状态统计", notes = "查询场站下设备状态统计")
@GetMapping (value = "/selectEquipStatusByStationPv")
public ResponseModel<List<Map<String,Object>>> selectEquipStatusByStationPv(@RequestParam(value = "area",required = false) String area,
@RequestParam(value = "station",required = false) String station,
@RequestParam(value = "analysisObjType",required = false) String analysisObjType
) {
List<Map<String, Object>> maps = pvHealthIndexDayMapper.selectEquipStatusByStationPv(area, analysisObjType, station);
if (maps.size() == 4){
for (Map<String, Object> map : maps) {
map.put("name",map.get("healthlevel"));
}
} else {
List<String> levels = new ArrayList<>();
levels.add("安全");
levels.add("注意");
levels.add("警告");
levels.add("危险");
for (Map<String, Object> map : maps) {
map.put("name",map.get("healthlevel"));
String healthlevel = map.get("healthlevel").toString();
levels.remove(healthlevel);
}
if (levels.size()>0){
for (String s : levels) {
Map<String, Object> map = new HashMap<>();
map.put("name",s);
map.put("value",0);
map.put("sort", HealthLevelSortEnum.getCode(s));
maps.add(map);
}
maps = maps.stream().sorted(Comparator.comparingLong(e -> Long.valueOf(e.get("sort").toString()))).collect(Collectors.toList());
}
}
return ResponseHelper.buildResponse(maps);
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/selectFanWarningNum")
@ApiOperation(httpMethod = "GET", value = "查询各风机预警状况", notes = "查询各风机预警状况")
public ResponseModel<Map<String,Object>> selectFanWarningNum(@RequestParam String station) {
Map<String, Object> resultMap = new HashMap<>();
List<Map<String, Object>> maps = pvWaringRecordMapper.selectFanWarningNum(station);
List<Integer> wxList = new ArrayList<>();
List<Integer> zyList = new ArrayList<>();
List<Integer> jgList = new ArrayList<>();
List<String> list =new ArrayList<>();
for (Map<String, Object> map : maps) {
wxList.add(Integer.valueOf(map.get("危险").toString()));
zyList.add(Integer.valueOf(map.get("注意").toString()));
jgList.add(Integer.valueOf(map.get("警告").toString()));
list.add(map.get("subarray").toString());
}
HashMap<String, Object> wxMapResult = new HashMap<>();
wxMapResult.put("data", wxList);
wxMapResult.put("name", "危险");
HashMap<String, Object> zyMapResult = new HashMap<>();
zyMapResult.put("data", zyList);
zyMapResult.put("name", "注意");
HashMap<String, Object> jgMapResult = new HashMap<>();
jgMapResult.put("data", jgList);
jgMapResult.put("name", "警告");
List<Map<String, Object>> hashMaps = Arrays.asList(wxMapResult, zyMapResult, jgMapResult);
resultMap.put("axisData", list);
resultMap.put("seriesData", hashMaps);
return ResponseHelper.buildResponse(resultMap);
}
}
......@@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
import java.util.Map;
public interface PvHealthIndexDayMapper extends BaseMapper<PvHealthIndexDay> {
@Select("<script>"+
......@@ -24,7 +25,17 @@ public interface PvHealthIndexDayMapper extends BaseMapper<PvHealthIndexDay> {
"order by health_index "+
"<if test='current != null and size != null'>limit ${current},${size} </if>" +
"</script>")
List<PvHealthIndexDay> selectData(@Param("station")String station,@Param("analysisType")String analysisType,@Param("indexAddress")String indexAddress,@Param("healthLevel")String healthLevel,@Param("area")String area,@Param("analysisObjType")String analysisObjType, @Param("subarray")String subarray, @Param("pointName")String pointName,@Param("startTimeTop") String startTimeTop, @Param("endTimeTop")String endTimeTop, @Param("equipmentName")String equipmentName
List<PvHealthIndexDay> selectData(@Param("station")String station,
@Param("analysisType")String analysisType,
@Param("indexAddress")String indexAddress,
@Param("healthLevel")String healthLevel,
@Param("area")String area,
@Param("analysisObjType")String analysisObjType,
@Param("subarray")String subarray,
@Param("pointName")String pointName,
@Param("startTimeTop") String startTimeTop,
@Param("endTimeTop")String endTimeTop,
@Param("equipmentName")String equipmentName
, @Param("current")Integer current, @Param("size")Integer size);
......@@ -43,4 +54,12 @@ public interface PvHealthIndexDayMapper extends BaseMapper<PvHealthIndexDay> {
"</script>")
int selectDataTotal(@Param("station")String station,@Param("analysisType")String analysisType,@Param("indexAddress")String indexAddress,@Param("healthLevel")String healthLevel,@Param("area")String area,@Param("analysisObjType")String analysisObjType, @Param("subarray")String subarray, @Param("pointName")String pointName,@Param("startTimeTop") String startTimeTop, @Param("endTimeTop")String endTimeTop, @Param("equipmentName")String equipmentName);
@Select("<script>"+
"SELECT station, health_level as healthlevel,( CASE HEALTH_LEVEL WHEN '危险' THEN 4 WHEN '警告' THEN 3 WHEN '注意' THEN 2 ELSE 1 END ) AS sort, count( 1 ) AS `value` FROM analysis_data.pv_health_index_day WHERE analysis_obj_type = #{analysisObjType} AND ts >= TODAY()-8h" +
"<if test='area!= null'> AND area = #{area} </if> " +
"<if test='station!= null'>AND station = #{station} </if>" +
" GROUP BY station,health_level order by sort"+
"</script>")
List<Map<String,Object>> selectEquipStatusByStationPv(@Param("area")String area, @Param("analysisObjType")String analysisObjType, @Param("station")String station);
}
......@@ -152,7 +152,8 @@
<select id="selectWarningPointTotal" resultType="int">
SELECT
select count(1) from
(SELECT
a.station,
a.warning_name,
a.content,
......@@ -178,7 +179,7 @@
point_name,
rec_date ,
content,
warning_name
warning_name) b
</select>
<select id="selectEquipWarningTotal" resultType="map">
......@@ -204,7 +205,7 @@
`z`.`warning_name` as `WARNING_NAME`,
count( 1 ) as `num`
from
analysis_data.fan_warning_record z where
analysis_data.pv_warning_record z where
( `z`.`status` = 0 )
<if test="STATION != null and STATION != '' ">
AND z.station = #{STATION}
......
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