|
@@ -26,6 +26,8 @@ import org.apache.ibatis.annotations.Update;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.text.ParseException;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -43,6 +45,7 @@ public class RealtimeService {
|
|
|
public void saveWindturbineStatus2() {
|
|
|
|
|
|
List<ProEconWindturbineStatus2> resultList = new ArrayList<>();
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
|
|
|
|
|
|
List<Windturbine> wtls = CacheContext.wtls;
|
|
|
Map<Integer, String> statusmxMap = CacheContext.statusmxMap;
|
|
@@ -72,13 +75,14 @@ public class RealtimeService {
|
|
|
double tempDouble = sectionData.getPointValueInDouble();
|
|
|
double speed = edosUtil.getRealData(windturbinetestingpointaifs).getPointValueInDouble();
|
|
|
|
|
|
- if (currentDate.equals(startOfDay) || aDouble != tempDouble){
|
|
|
+ if (isEq(DateUtils.toDate(currentDate),DateUtils.toDate(startOfDay)) || aDouble != tempDouble){
|
|
|
ProEconWindturbineStatus2 proEconWindturbineStatus2 = new ProEconWindturbineStatus2();
|
|
|
proEconWindturbineStatus2.setId(CommonUtils.getUUID());
|
|
|
proEconWindturbineStatus2.setWindpowerstationId(wt.getWindpowerstationid());
|
|
|
proEconWindturbineStatus2.setWindturbineId(wt.getId());
|
|
|
- proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(currentDate.getTime()));
|
|
|
- proEconWindturbineStatus2.setStartTime(DateUtils.parseLongToDate(currentDate.getTime()));
|
|
|
+
|
|
|
+ proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(sdf.parse(DateUtils.toDate1(currentDate)).getTime()));
|
|
|
+ proEconWindturbineStatus2.setStartTime(DateUtils.parseLongToDate(sdf.parse(DateUtils.toDate1(currentDate)).getTime()));
|
|
|
proEconWindturbineStatus2.setStopHours(DateUtils.hoursDiff2(proEconWindturbineStatus2.getStopTime(), proEconWindturbineStatus2.getStartTime()));
|
|
|
proEconWindturbineStatus2.setLossPower(0.0);
|
|
|
proEconWindturbineStatus2.setShutdownEventId("");
|
|
@@ -88,11 +92,14 @@ public class RealtimeService {
|
|
|
proEconWindturbineStatus2.setAvgSpeed(0.0);
|
|
|
String statusName = statusmxMap.get(new Double(aDouble).intValue());
|
|
|
proEconWindturbineStatus2.setStatusDesc(statusName);
|
|
|
- resultList.add(proEconWindturbineStatus2);
|
|
|
+// resultList.add(proEconWindturbineStatus2);
|
|
|
+ proEconWindturbineStatus2Service.save(proEconWindturbineStatus2);
|
|
|
|
|
|
QueryWrapper<ProEconWindturbineStatus2> qw = new QueryWrapper<>();
|
|
|
qw.eq("windTurbine_Id",wt.getId());
|
|
|
- Date beforeFive = DateUtils.addMinutes(currentDate, -5);
|
|
|
+ Date beforeFive = DateUtils.addMinutes(sdf.parse(DateUtils.toDate1(currentDate)), -5);
|
|
|
+// String toDate = DateUtils.toDate(beforeFive);
|
|
|
+// Date parse = sdf.parse(toDate);
|
|
|
qw.eq("stop_Time",beforeFive);
|
|
|
Optional<ProEconWindturbineStatus2> first = proEconWindturbineStatus2Service.list(qw).stream().findFirst();
|
|
|
if (first.isPresent()){
|
|
@@ -102,30 +109,34 @@ public class RealtimeService {
|
|
|
proEconWindturbineStatus.setLossPower(0.0);
|
|
|
proEconWindturbineStatus.setSpeed(speed);
|
|
|
proEconWindturbineStatus.setAvgSpeed(0.0);
|
|
|
- resultList.add(proEconWindturbineStatus2);
|
|
|
+// resultList.add(proEconWindturbineStatus2);
|
|
|
+ proEconWindturbineStatus2Service.updateById(proEconWindturbineStatus2);
|
|
|
}
|
|
|
|
|
|
}else {
|
|
|
QueryWrapper<ProEconWindturbineStatus2> qw = new QueryWrapper<>();
|
|
|
qw.eq("windTurbine_Id",wt.getId());
|
|
|
- Date beforeFive = DateUtils.addMinutes(currentDate, -5);
|
|
|
+ Date beforeFive = DateUtils.addMinutes(sdf.parse(DateUtils.toDate1(currentDate)), -5);
|
|
|
+// String toDate = DateUtils.toDate(beforeFive);
|
|
|
+// Date parse = sdf.parse(toDate);
|
|
|
qw.eq("stop_Time",beforeFive);
|
|
|
Optional<ProEconWindturbineStatus2> first = proEconWindturbineStatus2Service.list(qw).stream().findFirst();
|
|
|
if (first.isPresent()){
|
|
|
ProEconWindturbineStatus2 proEconWindturbineStatus2 = first.get();
|
|
|
- proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(currentDate.getTime()));
|
|
|
+ proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(sdf.parse(DateUtils.toDate1(currentDate)).getTime()));
|
|
|
proEconWindturbineStatus2.setStopHours(DateUtils.hoursDiff2(proEconWindturbineStatus2.getStopTime(), proEconWindturbineStatus2.getStartTime()));
|
|
|
proEconWindturbineStatus2.setLossPower(0.0);
|
|
|
proEconWindturbineStatus2.setSpeed(speed);
|
|
|
proEconWindturbineStatus2.setAvgSpeed(0.0);
|
|
|
- resultList.add(proEconWindturbineStatus2);
|
|
|
+ proEconWindturbineStatus2Service.updateById(proEconWindturbineStatus2);
|
|
|
+// resultList.add(proEconWindturbineStatus2);
|
|
|
}else {
|
|
|
ProEconWindturbineStatus2 proEconWindturbineStatus2 = new ProEconWindturbineStatus2();
|
|
|
proEconWindturbineStatus2.setId(CommonUtils.getUUID());
|
|
|
proEconWindturbineStatus2.setWindpowerstationId(wt.getWindpowerstationid());
|
|
|
proEconWindturbineStatus2.setWindturbineId(wt.getId());
|
|
|
- proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(currentDate.getTime()));
|
|
|
- proEconWindturbineStatus2.setStartTime(DateUtils.parseLongToDate(currentDate.getTime()));
|
|
|
+ proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(sdf.parse(DateUtils.toDate1(currentDate)).getTime()));
|
|
|
+ proEconWindturbineStatus2.setStartTime(DateUtils.parseLongToDate(sdf.parse(DateUtils.toDate1(currentDate)).getTime()));
|
|
|
proEconWindturbineStatus2.setStopHours(DateUtils.hoursDiff2(proEconWindturbineStatus2.getStopTime(), proEconWindturbineStatus2.getStartTime()));
|
|
|
proEconWindturbineStatus2.setLossPower(0.0);
|
|
|
proEconWindturbineStatus2.setShutdownEventId("");
|
|
@@ -135,8 +146,8 @@ public class RealtimeService {
|
|
|
proEconWindturbineStatus2.setAvgSpeed(0.0);
|
|
|
String statusName = statusmxMap.get(new Double(aDouble).intValue());
|
|
|
proEconWindturbineStatus2.setStatusDesc(statusName);
|
|
|
- resultList.add(proEconWindturbineStatus2);
|
|
|
-
|
|
|
+// resultList.add(proEconWindturbineStatus2);
|
|
|
+ proEconWindturbineStatus2Service.save(proEconWindturbineStatus2);
|
|
|
}
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
@@ -145,7 +156,7 @@ public class RealtimeService {
|
|
|
|
|
|
});
|
|
|
|
|
|
- proEconWindturbineStatus2Service.saveOrUpdateBatch(resultList);
|
|
|
+// proEconWindturbineStatus2Service.saveOrUpdateBatch(resultList);
|
|
|
|
|
|
}
|
|
|
|
|
@@ -301,14 +312,21 @@ public class RealtimeService {
|
|
|
* @param endDate
|
|
|
* @return
|
|
|
*/
|
|
|
- private List<String> getDays(String beginDate, String endDate) {
|
|
|
- List<String> days = null;
|
|
|
- if (StringUtils.isNotEmpty(beginDate) && StringUtils.isNotEmpty(endDate)) {
|
|
|
- days = DateUtils.getDays(beginDate, endDate);
|
|
|
- } else {
|
|
|
- days = new ArrayList<>();
|
|
|
- days.add(DateUtils.getYesterdayStr("yyyy-MM-dd"));
|
|
|
+ private boolean isEq(String beginDate, String endDate) throws ParseException {
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Date date1 = sdf.parse(beginDate);
|
|
|
+
|
|
|
+ Date date2 = sdf.parse(endDate);
|
|
|
+
|
|
|
+ if(date1.equals(date2)) {
|
|
|
+
|
|
|
+ return true;
|
|
|
+
|
|
|
+ }else {
|
|
|
+ return false;
|
|
|
}
|
|
|
- return days;
|
|
|
}
|
|
|
}
|