Commit 3ad9b36a authored by tianchao's avatar tianchao

1光伏预测调整,预测算法页面

parent c8807de3
...@@ -30,6 +30,7 @@ import xstartup.feature.api.annotation.XApiGet; ...@@ -30,6 +30,7 @@ import xstartup.feature.api.annotation.XApiGet;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -96,20 +97,65 @@ public class PlantPredictedPowerLongTermDataCloudServiceImpl implements PlantPre ...@@ -96,20 +97,65 @@ public class PlantPredictedPowerLongTermDataCloudServiceImpl implements PlantPre
longTermDataMapper.delete(longTermDataWrapper); longTermDataMapper.delete(longTermDataWrapper);
PlantPredictedPowerLongTermDataViewMapper longTermDataViewMapper = context.getBean(PlantPredictedPowerLongTermDataViewMapper.class); PlantPredictedPowerLongTermDataViewMapper longTermDataViewMapper = context.getBean(PlantPredictedPowerLongTermDataViewMapper.class);
List<PlantPredictedPowerLongTermDataEnt> batchList = new ArrayList<>(); List<PlantPredictedPowerLongTermDataEnt> batchList = new ArrayList<>();
for(PlantPredictedPowerLongTermDataEnt item : insertList){ List<String> timeList = Arrays.asList("15" , "30" , "45");
for(int i=0;i < insertList.size();i++){
PlantPredictedPowerLongTermDataEnt item = insertList.get(i);
Date date = XDateUtils.parse(item.getDataDate()); Date date = XDateUtils.parse(item.getDataDate());
item.setYearTime(XDateUtils.getYear(date)+""); item.setYearTime(XDateUtils.getYear(date)+"");
item.setMonthTime(String.format("%02d", XDateUtils.getMonth(date))); item.setMonthTime(String.format("%02d", XDateUtils.getMonth(date)));
item.setDayTime(String.format("%02d", XDateUtils.getDay(date))); item.setDayTime(String.format("%02d", XDateUtils.getDay(date)));
item.setHourTime(String.format("%02d", XDateUtils.getHour24(date))); item.setHourTime(String.format("%02d", XDateUtils.getHour24(date)));
item.setMinTime(String.format("%02d", XDateUtils.getMinute(date)) + ":00"); item.setMinTime(String.format("%02d", XDateUtils.getMinute(date)) + ":00");
//longTermDataMapper.insert(item);
batchList.add(item); batchList.add(item);
if(i < insertList.size() - 1){
for(int y = 0; y < timeList.size() ; y++) {
PlantPredictedPowerLongTermDataEnt dao = XCopyUtils.copyNewObject(item);
dao.setMinTime(timeList.get(y) + ":00");
dao.setDataDate(dao.getYearTime() + "-" + dao.getMonthTime() + "-" + dao.getDayTime() + " " + dao.getHourTime() + ":" + dao.getMinTime());
int I_i=i+1;
BigDecimal temperature_1 = insertList.get(i).getTemperature() == null ? new BigDecimal(0) : insertList.get(i).getTemperature();
BigDecimal temperature_2 = insertList.get(I_i).getTemperature() == null ? new BigDecimal(0) : insertList.get(I_i).getTemperature();
dao.setTemperature(temperature_1.add(temperature_2.subtract(temperature_1).multiply(new BigDecimal(0.3*(y+1)))));
BigDecimal humidity_1 = insertList.get(i).getHumidity() == null ? new BigDecimal(0) : insertList.get(i).getHumidity();
BigDecimal humidity_2 = insertList.get(I_i).getHumidity() == null ? new BigDecimal(0) : insertList.get(I_i).getHumidity();
dao.setHumidity(humidity_1.add(humidity_2.subtract(humidity_1).multiply(new BigDecimal(0.3*(y+1)))));
BigDecimal windSpeed_1 = insertList.get(i).getWindSpeed() == null ? new BigDecimal(0) : insertList.get(i).getWindSpeed();
BigDecimal windSpeed_2 = insertList.get(I_i).getWindSpeed() == null ? new BigDecimal(0) : insertList.get(I_i).getWindSpeed();
dao.setWindSpeed(windSpeed_1.add(windSpeed_2.subtract(windSpeed_1).multiply(new BigDecimal(0.3*(y+1)))));
BigDecimal pressure_1 = insertList.get(i).getPressure() == null ? new BigDecimal(0) : insertList.get(i).getPressure();
BigDecimal pressure_2 = insertList.get(I_i).getPressure() == null ? new BigDecimal(0) : insertList.get(I_i).getPressure();
dao.setPressure(pressure_1.add(pressure_2.subtract(pressure_1).multiply(new BigDecimal(0.3*(y+1)))));
BigDecimal planeIrradiance_1 = insertList.get(i).getPlaneIrradiance() == null ? new BigDecimal(0) : insertList.get(i).getPlaneIrradiance();
BigDecimal planeIrradiance_2 = insertList.get(I_i).getPlaneIrradiance() == null ? new BigDecimal(0) : insertList.get(I_i).getPlaneIrradiance();
dao.setPlaneIrradiance(planeIrradiance_1.add(planeIrradiance_2.subtract(planeIrradiance_1).multiply(new BigDecimal(0.3*(y+1)))));
BigDecimal horizontalIrradiance_1 = insertList.get(i).getHorizontalIrradiance() == null ? new BigDecimal(0) : insertList.get(i).getHorizontalIrradiance();
BigDecimal horizontalIrradiance_2 = insertList.get(I_i).getHorizontalIrradiance() == null ? new BigDecimal(0) : insertList.get(I_i).getHorizontalIrradiance();
dao.setHorizontalIrradiance(horizontalIrradiance_1.add(horizontalIrradiance_2.subtract(horizontalIrradiance_1).multiply(new BigDecimal(0.3*(y+1)))));
BigDecimal power_1 = insertList.get(i).getPower() == null ? new BigDecimal(0) : insertList.get(i).getPower();
BigDecimal power_2 = insertList.get(I_i).getPower() == null ? new BigDecimal(0) : insertList.get(I_i).getPower();
dao.setPower(power_1.add(power_2.subtract(power_1).multiply(new BigDecimal(0.3*(y+1)))));
batchList.add(dao);
}
}
if(batchList.size() > 500){ if(batchList.size() > 500){
longTermDataViewMapper.insertBatch(batchList); longTermDataViewMapper.insertBatch(batchList);
batchList = new ArrayList<>(); batchList = new ArrayList<>();
} }
} }
// for(PlantPredictedPowerLongTermDataEnt item : insertList){
// Date date = XDateUtils.parse(item.getDataDate());
// item.setYearTime(XDateUtils.getYear(date)+"");
// item.setMonthTime(String.format("%02d", XDateUtils.getMonth(date)));
// item.setDayTime(String.format("%02d", XDateUtils.getDay(date)));
// item.setHourTime(String.format("%02d", XDateUtils.getHour24(date)));
// item.setMinTime(String.format("%02d", XDateUtils.getMinute(date)) + ":00");
// //longTermDataMapper.insert(item);
// batchList.add(item);
// if(batchList.size() > 500){
// longTermDataViewMapper.insertBatch(batchList);
// batchList = new ArrayList<>();
// }
// }
if(batchList.size() > 0) if(batchList.size() > 0)
longTermDataViewMapper.insertBatch(batchList); longTermDataViewMapper.insertBatch(batchList);
} }
......
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