|
@@ -77,8 +77,8 @@ public class RealtimeService {
|
|
|
proEconWindturbineStatus2.setId(CommonUtils.getUUID());
|
|
|
proEconWindturbineStatus2.setWindpowerstationId(wt.getWindpowerstationid());
|
|
|
proEconWindturbineStatus2.setWindturbineId(wt.getId());
|
|
|
- proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(realData.getPointTime()*1000));
|
|
|
- proEconWindturbineStatus2.setStartTime(DateUtils.parseLongToDate(realData.getPointTime()*1000));
|
|
|
+ proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(currentDate.getTime()));
|
|
|
+ proEconWindturbineStatus2.setStartTime(DateUtils.parseLongToDate(currentDate.getTime()));
|
|
|
proEconWindturbineStatus2.setStopHours(DateUtils.hoursDiff2(proEconWindturbineStatus2.getStopTime(), proEconWindturbineStatus2.getStartTime()));
|
|
|
proEconWindturbineStatus2.setLossPower(0.0);
|
|
|
proEconWindturbineStatus2.setShutdownEventId("");
|
|
@@ -97,7 +97,7 @@ public class RealtimeService {
|
|
|
Optional<ProEconWindturbineStatus2> first = proEconWindturbineStatus2Service.list(qw).stream().findFirst();
|
|
|
if (first.isPresent()){
|
|
|
ProEconWindturbineStatus2 proEconWindturbineStatus = first.get();
|
|
|
- proEconWindturbineStatus.setStopTime(DateUtils.parseLongToDate(realData.getPointTime()*1000));
|
|
|
+ proEconWindturbineStatus.setStopTime(DateUtils.parseLongToDate(currentDate.getTime()));
|
|
|
proEconWindturbineStatus.setStopHours(DateUtils.hoursDiff2(proEconWindturbineStatus.getStopTime(), proEconWindturbineStatus.getStartTime()));
|
|
|
proEconWindturbineStatus.setLossPower(0.0);
|
|
|
proEconWindturbineStatus.setSpeed(speed);
|
|
@@ -113,7 +113,7 @@ public class RealtimeService {
|
|
|
Optional<ProEconWindturbineStatus2> first = proEconWindturbineStatus2Service.list(qw).stream().findFirst();
|
|
|
if (first.isPresent()){
|
|
|
ProEconWindturbineStatus2 proEconWindturbineStatus2 = first.get();
|
|
|
- proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(realData.getPointTime()*1000));
|
|
|
+ proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(currentDate.getTime()));
|
|
|
proEconWindturbineStatus2.setStopHours(DateUtils.hoursDiff2(proEconWindturbineStatus2.getStopTime(), proEconWindturbineStatus2.getStartTime()));
|
|
|
proEconWindturbineStatus2.setLossPower(0.0);
|
|
|
proEconWindturbineStatus2.setSpeed(speed);
|
|
@@ -124,8 +124,8 @@ public class RealtimeService {
|
|
|
proEconWindturbineStatus2.setId(CommonUtils.getUUID());
|
|
|
proEconWindturbineStatus2.setWindpowerstationId(wt.getWindpowerstationid());
|
|
|
proEconWindturbineStatus2.setWindturbineId(wt.getId());
|
|
|
- proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(realData.getPointTime()*1000));
|
|
|
- proEconWindturbineStatus2.setStartTime(DateUtils.parseLongToDate(realData.getPointTime()*1000));
|
|
|
+ proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(currentDate.getTime()));
|
|
|
+ proEconWindturbineStatus2.setStartTime(DateUtils.parseLongToDate(currentDate.getTime()));
|
|
|
proEconWindturbineStatus2.setStopHours(DateUtils.hoursDiff2(proEconWindturbineStatus2.getStopTime(), proEconWindturbineStatus2.getStartTime()));
|
|
|
proEconWindturbineStatus2.setLossPower(0.0);
|
|
|
proEconWindturbineStatus2.setShutdownEventId("");
|
|
@@ -242,6 +242,58 @@ public class RealtimeService {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ public void saveWindstationStatus1(String beginDate,String endDate) {
|
|
|
+
|
|
|
+ List<ProEconStationStatusmx> resultList = new ArrayList<>();
|
|
|
+ List<String> days = DateUtils.getDays(beginDate, endDate);
|
|
|
+ List<Windturbine> wtls = CacheContext.wtls;
|
|
|
+ Map<Integer, String> statusmxMap = CacheContext.statusmxMap;
|
|
|
+ Set<Integer> status = statusmxMap.keySet();
|
|
|
+
|
|
|
+ Map<String, Map<String, Windturbinetestingpointai>> wtpAimap = CacheContext.wtpAimap;
|
|
|
+
|
|
|
+ Date samedayZero = DateUtils.getSamedayZero();
|
|
|
+ Date currentDate = DateUtils.getCurrentDate();
|
|
|
+// Date befroeDate = DateUtils.addSeconds(currentDate,-1);
|
|
|
+// Date befroeDate = DateUtils.addMinutes(currentDate,-5);
|
|
|
+ days.forEach(day->{
|
|
|
+ Date date = DateUtils.parseDate(day);
|
|
|
+ Date addday = DateUtils.addDays(date, 1);
|
|
|
+ wtls.stream().forEach(wt->{
|
|
|
+ Map<String, Windturbinetestingpointai> stringWindturbinetestingpointaiMap = wtpAimap.get(wt.getId());
|
|
|
+ Windturbinetestingpointai windturbinetestingpointai = stringWindturbinetestingpointaiMap.get(Contant.ZTMX);
|
|
|
+ Windturbinetestingpointai windturbinetestingpointaifs = stringWindturbinetestingpointaiMap.get(Contant.AI022);
|
|
|
+ try {
|
|
|
+ List<PointData> historyDatasSnap = edosUtil.getHistoryDatasSnap(windturbinetestingpointai, date.getTime() / 1000, addday.getTime() / 1000, null, 60l);
|
|
|
+ status.stream().forEach(sta->{
|
|
|
+ int minutes = historyDatasSnap.stream().filter(i -> i.getPointValueInDouble() == sta).collect(Collectors.toList()).size();
|
|
|
+ ProEconStationStatusmx proEconStationStatusmx = new ProEconStationStatusmx();
|
|
|
+ proEconStationStatusmx.setId(CommonUtils.getUUID());
|
|
|
+ proEconStationStatusmx.setProjectId(wt.getProjectid());
|
|
|
+ proEconStationStatusmx.setWindpowerstationId(wt.getWindpowerstationid());
|
|
|
+ proEconStationStatusmx.setWindturbineId(wt.getId());
|
|
|
+ proEconStationStatusmx.setRecorddate(date);
|
|
|
+ proEconStationStatusmx.setStopHours(DoubleUtils.keepPrecision(new Double(minutes)/60,2));
|
|
|
+ proEconStationStatusmx.setLossPower(0.0);
|
|
|
+ proEconStationStatusmx.setSatusCode(sta);
|
|
|
+ proEconStationStatusmx.setStatusDesc(statusmxMap.get(sta));
|
|
|
+ proEconStationStatusmx.setAvgSpeed(0.0);
|
|
|
+// proEconStationStatusmxService.save(proEconStationStatusmx);
|
|
|
+ resultList.add(proEconStationStatusmx);
|
|
|
+ });
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ proEconStationStatusmxService.saveBatch(resultList);
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 获取两日期间日期list
|
|
|
*
|