|
@@ -8,7 +8,6 @@ import com.gyee.frame.service.weather.WfnwpdataService;
|
|
|
import com.gyee.frame.util.DateUtils;
|
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
@@ -34,14 +33,14 @@ public class TaskWeatherGather {
|
|
|
static {
|
|
|
// 网源事业部的风场序号
|
|
|
wp_map.put(1, "NSS_FDC#牛首山风电场");
|
|
|
- wp_map.put(2, "QS_FDC#青山山风电场");
|
|
|
+ wp_map.put(2, "QS_FDC#青山风电场");
|
|
|
wp_map.put(3, "SBQ_FDC#石板泉风电场");
|
|
|
wp_map.put(4, "XS_FDC#香山风电场");
|
|
|
wp_map.put(5, "MHS_FDC#麻黄山风电场");
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 延时1分钟 每天凌晨1点执行一次
|
|
|
+ * 每天凌晨1点执行一次
|
|
|
*/
|
|
|
@Scheduled(cron = "0 0 1 * * ?")
|
|
|
// @Scheduled(initialDelay = 30 * 1000, fixedRate = 2 * 86400 * 1000)
|
|
@@ -50,7 +49,7 @@ public class TaskWeatherGather {
|
|
|
String[] value = wp_map.get(key).split("#");
|
|
|
for (int i = 0; i < days; i++) {
|
|
|
Calendar cal = Calendar.getInstance();
|
|
|
- cal.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH) + i);
|
|
|
+ cal.set(Calendar.DAY_OF_MONTH , i+1);
|
|
|
cal.set(Calendar.HOUR_OF_DAY, 12);
|
|
|
cal.set(Calendar.MINUTE, 0);
|
|
|
cal.set(Calendar.SECOND, 0);
|
|
@@ -71,15 +70,15 @@ public class TaskWeatherGather {
|
|
|
weatherfd.setRealfeel1(new BigDecimal(list.get(0).getTemperature()).setScale(2, RoundingMode.HALF_EVEN).doubleValue());
|
|
|
weatherfd.setPrecipitation1(0.0);
|
|
|
weatherfd.setWinddirection1(String.valueOf(new BigDecimal(list.get(0).getWindDir()).setScale(2, RoundingMode.HALF_EVEN).doubleValue()));
|
|
|
- weatherfd.setSpeed1(new BigDecimal(list.get(0).getWindSpeed() * 3.6).setScale(2, RoundingMode.HALF_EVEN).doubleValue());
|
|
|
- weatherfd.setGust1(new BigDecimal(list.get(0).getWindSpeed() * 3.6).setScale(2, RoundingMode.HALF_EVEN).doubleValue());
|
|
|
+ weatherfd.setSpeed1(new BigDecimal(list.get(0).getWindSpeed()).setScale(2, RoundingMode.HALF_EVEN).doubleValue());
|
|
|
+ weatherfd.setGust1(new BigDecimal(list.get(0).getWindSpeed()).setScale(2, RoundingMode.HALF_EVEN).doubleValue());
|
|
|
//夜间
|
|
|
weatherfd.setTemperature2(new BigDecimal(list.get(list.size() - 1).getTemperature()).setScale(2, RoundingMode.HALF_EVEN).doubleValue());
|
|
|
weatherfd.setRealfeel2(new BigDecimal(list.get(list.size() - 1).getTemperature()).setScale(2, RoundingMode.HALF_EVEN).doubleValue());
|
|
|
weatherfd.setPrecipitation2(0.0);
|
|
|
weatherfd.setWinddirection2(String.valueOf(new BigDecimal(list.get(list.size() - 1).getWindDir()).setScale(2, RoundingMode.HALF_EVEN).doubleValue()));
|
|
|
- weatherfd.setSpeed2(new BigDecimal(list.get(list.size() - 1).getWindSpeed() * 3.6).setScale(2, RoundingMode.HALF_EVEN).doubleValue());
|
|
|
- weatherfd.setGust2(new BigDecimal(list.get(list.size() - 1).getWindSpeed() * 3.6).setScale(2, RoundingMode.HALF_EVEN).doubleValue());
|
|
|
+ weatherfd.setSpeed2(new BigDecimal(list.get(list.size() - 1).getWindSpeed()).setScale(2, RoundingMode.HALF_EVEN).doubleValue());
|
|
|
+ weatherfd.setGust2(new BigDecimal(list.get(list.size() - 1).getWindSpeed()).setScale(2, RoundingMode.HALF_EVEN).doubleValue());
|
|
|
|
|
|
WeatherfdExample example = new WeatherfdExample();
|
|
|
example.createCriteria().andRecodedataEqualTo(DateUtils.parseStrtoDate(DateUtils.format(cal.getTime(), DateUtils.DATE_PATTERN)))
|
|
@@ -88,21 +87,27 @@ public class TaskWeatherGather {
|
|
|
if (weatherfds != null && weatherfds.size() > 0){
|
|
|
weatherfd.setId(weatherfds.get(0).getId());
|
|
|
weatherfdService.updateByPrimaryKeySelective(weatherfd);
|
|
|
- }else
|
|
|
+ }else{
|
|
|
weatherfdService.insertSelective(weatherfd);
|
|
|
-
|
|
|
+ }
|
|
|
} else {
|
|
|
- cal.add(Calendar.YEAR, -1);
|
|
|
-// System.out.println(DateUtils.format(cal.getTime(), DateUtils.DATE_PATTERN));
|
|
|
WeatherfdExample example = new WeatherfdExample();
|
|
|
example.createCriteria().andRecodedataEqualTo(DateUtils.parseStrtoDate(DateUtils.format(cal.getTime(), DateUtils.DATE_PATTERN)))
|
|
|
.andWindpowerstationidEqualTo(value[0]);
|
|
|
List<Weatherfd> weatherfds = weatherfdService.selectByExample(example);
|
|
|
- cal.add(Calendar.YEAR, 1);
|
|
|
- if (weatherfds != null && weatherfds.size() > 0) {
|
|
|
- Weatherfd weatherfd = weatherfds.get(0);
|
|
|
- weatherfd.setRecodedata(DateUtils.parseStrtoDate(DateUtils.format(cal.getTime(), DateUtils.DATE_PATTERN)));
|
|
|
- weatherfdService.insertSelective(weatherfd);
|
|
|
+ if (null != weatherfds && weatherfds.size() > 0)
|
|
|
+ continue;
|
|
|
+
|
|
|
+ cal.add(Calendar.MONTH, -1);
|
|
|
+ WeatherfdExample ex = new WeatherfdExample();
|
|
|
+ ex.createCriteria().andRecodedataEqualTo(DateUtils.parseStrtoDate(DateUtils.format(cal.getTime(), DateUtils.DATE_PATTERN)))
|
|
|
+ .andWindpowerstationidEqualTo(value[0]);
|
|
|
+ List<Weatherfd> weatherfd = weatherfdService.selectByExample(ex);
|
|
|
+ cal.add(Calendar.MONTH, 1);
|
|
|
+ if (null != weatherfd && weatherfd.size() > 0) {
|
|
|
+ Weatherfd weather = weatherfd.get(0);
|
|
|
+ weather.setRecodedata(DateUtils.parseStrtoDate(DateUtils.format(cal.getTime(), DateUtils.DATE_PATTERN)));
|
|
|
+ weatherfdService.insertSelective(weather);
|
|
|
}
|
|
|
}
|
|
|
}catch (Exception e){
|
|
@@ -119,13 +124,20 @@ public class TaskWeatherGather {
|
|
|
public static void main(String[] args) {
|
|
|
|
|
|
Calendar cal = Calendar.getInstance();
|
|
|
- cal.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH) + 40);
|
|
|
+// cal.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH) + 0);
|
|
|
+ cal.set(Calendar.DAY_OF_MONTH , 60);
|
|
|
cal.set(Calendar.HOUR_OF_DAY, 12);
|
|
|
cal.set(Calendar.MINUTE, 0);
|
|
|
cal.set(Calendar.SECOND, 0);
|
|
|
+ System.out.println(DateUtils.format(cal.getTime(), DateUtils.DATE_PATTERN));
|
|
|
Date beginDate = cal.getTime();
|
|
|
cal.set(Calendar.HOUR_OF_DAY, 23);
|
|
|
Date endDate = cal.getTime();
|
|
|
+ cal.add(Calendar.MONTH, -1);
|
|
|
+
|
|
|
+ System.out.println(DateUtils.format(cal.getTime(), DateUtils.DATE_PATTERN));
|
|
|
+
|
|
|
+ cal.add(Calendar.MONTH, 1);
|
|
|
|
|
|
System.out.println(DateUtils.format(cal.getTime(), DateUtils.DATE_PATTERN));
|
|
|
}
|