|
@@ -165,56 +165,55 @@ public class GenerationService {
|
|
Date date = DateUtils.parseDate(day);
|
|
Date date = DateUtils.parseDate(day);
|
|
QueryWrapper<Meterpointvalue> qw = new QueryWrapper();
|
|
QueryWrapper<Meterpointvalue> qw = new QueryWrapper();
|
|
qw.eq("recorddate",date);
|
|
qw.eq("recorddate",date);
|
|
- List<Meterpointvalue> meterpointvalues = meterpointvalueService.list(qw);
|
|
|
|
- if (StringUtils.isEmpty(meterpointvalues)){
|
|
|
|
- meterpoints.stream().forEach(meterpoint -> {
|
|
|
|
- String meterid = meterpoint.getId();
|
|
|
|
- Double magnification = meterpoint.getMagnification();
|
|
|
|
- Double xs = meterpoint.getXs();
|
|
|
|
- Meterpointvalue meterpointvalue = new Meterpointvalue();
|
|
|
|
- Date date1 = DateUtils.addDays(date, 1);
|
|
|
|
- meterpointvalue.setRecorddate(date1);
|
|
|
|
- Double real = 0.0;
|
|
|
|
- Double sameday = 0.0;
|
|
|
|
- Double month = 0.0;
|
|
|
|
- Double year = 0.0;
|
|
|
|
- try {
|
|
|
|
- Optional<PointData> first = edosUtil.getHistoryDatasSnap(meterid, date1.getTime() / 1000, date1.getTime() / 1000, 1l, null).stream().findFirst();
|
|
|
|
- if (first.isPresent()){
|
|
|
|
- real = first.get().getPointValueInDouble();
|
|
|
|
- }
|
|
|
|
- Optional<PointData> dayFirst = edosUtil.getHistoryDatasSnap(meterid, samedayZero.getTime() / 1000, samedayZero.getTime() / 1000, 1l, null).stream().findFirst();
|
|
|
|
- if (dayFirst.isPresent()){
|
|
|
|
- sameday = dayFirst.get().getPointValueInDouble();
|
|
|
|
- }
|
|
|
|
- Optional<PointData> monthFirst = edosUtil.getHistoryDatasSnap(meterid, monthFirstZero.getTime() / 1000, monthFirstZero.getTime() / 1000, 1l, null).stream().findFirst();
|
|
|
|
- if (monthFirst.isPresent()){
|
|
|
|
- month = monthFirst.get().getPointValueInDouble();
|
|
|
|
- }
|
|
|
|
- Optional<PointData> yearFirst = edosUtil.getHistoryDatasSnap(meterid, yearFirstZero.getTime() / 1000, yearFirstZero.getTime() / 1000, 1l, null).stream().findFirst();
|
|
|
|
- if (yearFirst.isPresent()){
|
|
|
|
- year = yearFirst.get().getPointValueInDouble();
|
|
|
|
- }
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- e.printStackTrace();
|
|
|
|
|
|
+// meterpointvalueService.remove(qw);
|
|
|
|
+ meterpoints.stream().forEach(meterpoint -> {
|
|
|
|
+ String meterid = meterpoint.getId();
|
|
|
|
+ Double magnification = meterpoint.getMagnification();
|
|
|
|
+ Double xs = meterpoint.getXs();
|
|
|
|
+ Meterpointvalue meterpointvalue = new Meterpointvalue();
|
|
|
|
+ Date date1 = DateUtils.addDays(date, 1);
|
|
|
|
+ meterpointvalue.setRecorddate(date1);
|
|
|
|
+ meterpointvalue.setMeterid(meterpoint.getId());
|
|
|
|
+ Double real = 0.0;
|
|
|
|
+ Double sameday = 0.0;
|
|
|
|
+ Double month = 0.0;
|
|
|
|
+ Double year = 0.0;
|
|
|
|
+ try {
|
|
|
|
+ Optional<PointData> first = edosUtil.getHistoryDatasSnap(meterid, date1.getTime() / 1000, date1.getTime() / 1000, 1l, null).stream().findFirst();
|
|
|
|
+ if (first.isPresent()){
|
|
|
|
+ real = first.get().getPointValueInDouble();
|
|
}
|
|
}
|
|
- meterpointvalue.setYear(DoubleUtils.keepPrecision(year/xs,2));
|
|
|
|
- meterpointvalue.setYear4(DoubleUtils.keepPrecision(year/xs,4));
|
|
|
|
- meterpointvalue.setMonth(DoubleUtils.keepPrecision(month/xs,2));
|
|
|
|
- meterpointvalue.setMonth4(DoubleUtils.keepPrecision(month/xs,4));
|
|
|
|
- meterpointvalue.setDay(DoubleUtils.keepPrecision(sameday/xs,2));
|
|
|
|
- meterpointvalue.setDay4(DoubleUtils.keepPrecision(sameday/xs,4));
|
|
|
|
- meterpointvalue.setNow(DoubleUtils.keepPrecision(real/xs,2));
|
|
|
|
- meterpointvalue.setNow4(DoubleUtils.keepPrecision(real/xs,4));
|
|
|
|
- Double yearvalue = (real - year) * magnification;
|
|
|
|
- Double monthvalue = (real - month) * magnification;
|
|
|
|
- Double dayvalue = (real - sameday) * magnification;
|
|
|
|
- meterpointvalue.setYearvalue(yearvalue);
|
|
|
|
- meterpointvalue.setMonthvalue(monthvalue);
|
|
|
|
- meterpointvalue.setDayvalue(dayvalue);
|
|
|
|
- resultList.add(meterpointvalue);
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
|
|
+ Optional<PointData> dayFirst = edosUtil.getHistoryDatasSnap(meterid, samedayZero.getTime() / 1000, samedayZero.getTime() / 1000, 1l, null).stream().findFirst();
|
|
|
|
+ if (dayFirst.isPresent()){
|
|
|
|
+ sameday = dayFirst.get().getPointValueInDouble();
|
|
|
|
+ }
|
|
|
|
+ Optional<PointData> monthFirst = edosUtil.getHistoryDatasSnap(meterid, monthFirstZero.getTime() / 1000, monthFirstZero.getTime() / 1000, 1l, null).stream().findFirst();
|
|
|
|
+ if (monthFirst.isPresent()){
|
|
|
|
+ month = monthFirst.get().getPointValueInDouble();
|
|
|
|
+ }
|
|
|
|
+ Optional<PointData> yearFirst = edosUtil.getHistoryDatasSnap(meterid, yearFirstZero.getTime() / 1000, yearFirstZero.getTime() / 1000, 1l, null).stream().findFirst();
|
|
|
|
+ if (yearFirst.isPresent()){
|
|
|
|
+ year = yearFirst.get().getPointValueInDouble();
|
|
|
|
+ }
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ meterpointvalue.setYear(DoubleUtils.keepPrecision(year/xs,2));
|
|
|
|
+ meterpointvalue.setYear4(DoubleUtils.keepPrecision(year/xs,4));
|
|
|
|
+ meterpointvalue.setMonth(DoubleUtils.keepPrecision(month/xs,2));
|
|
|
|
+ meterpointvalue.setMonth4(DoubleUtils.keepPrecision(month/xs,4));
|
|
|
|
+ meterpointvalue.setDay(DoubleUtils.keepPrecision(sameday/xs,2));
|
|
|
|
+ meterpointvalue.setDay4(DoubleUtils.keepPrecision(sameday/xs,4));
|
|
|
|
+ meterpointvalue.setNow(DoubleUtils.keepPrecision(real/xs,2));
|
|
|
|
+ meterpointvalue.setNow4(DoubleUtils.keepPrecision(real/xs,4));
|
|
|
|
+ Double yearvalue = (real - year) * magnification;
|
|
|
|
+ Double monthvalue = (real - month) * magnification;
|
|
|
|
+ Double dayvalue = (real - sameday) * magnification;
|
|
|
|
+ meterpointvalue.setYearvalue(yearvalue);
|
|
|
|
+ meterpointvalue.setMonthvalue(monthvalue);
|
|
|
|
+ meterpointvalue.setDayvalue(dayvalue);
|
|
|
|
+ resultList.add(meterpointvalue);
|
|
|
|
+ });
|
|
meterpointvalueService.saveBatch(resultList);
|
|
meterpointvalueService.saveBatch(resultList);
|
|
});
|
|
});
|
|
}
|
|
}
|