return ret_val;
}
+DataRange *DeviceData::get_monthly_summary(Date *date,
+ EnumSummaryCalculationType calc_type_param) {
+ return get_summary(date, calc_type_param, PERIOD_MONTHLY);
+}
+
+DataRange *DeviceData::get_monthly_summary(Date *date) {
+ DataRange *ret_val;
+
+ ret_val = get_monthly_summary(date, summary_calc_type);
+ return ret_val;
+}
+
+DataRange *DeviceData::get_monthly_summary(Date *start_date,
+ Date *end_date) {
+ DataRange *ret_val;
+ DataRange *data;
+ Date *date;
+
+ ret_val = NULL;
+ date = start_date->clone();
+ while(date->before_or_equal_month(end_date)) {
+ data = get_monthly_summary(date);
+ if (data != NULL) {
+ if (ret_val == NULL) {
+ ret_val = new DataRange(data);
+ }
+ else {
+ ret_val->add(data);
+ }
+ delete(data);
+ }
+ date->next_month();
+ }
+ delete(date);
+ return ret_val;
+}
+
DataRange *DeviceData::get_daily_summary(Date *date,
EnumSummaryCalculationType calc_type_param) {
return get_summary(date, calc_type_param, PERIOD_DAILY);
}
delete(data);
}
- date->tomorrow();
+ date->next_day();
}
delete(date);
return ret_val;
delete(data);
}
}
- date->tomorrow();
+ date->next_day();
}
delete(date);
return ret_val;
switch(period) {
case PERIOD_YEARLY:
log_debug("get yearly summary: %s - %s\n", start_date->to_string().c_str(), end_date->to_string().c_str());
- ret_val = get_daily_summary(start_date, end_date);
+ ret_val = get_monthly_summary(start_date, end_date);
break;
case PERIOD_MONTHLY:
log_debug("get monthly summary\n");
- ret_val = get_daily_summary(start_date, end_date);
+ ret_val = get_monthly_summary(start_date, end_date);
break;
case PERIOD_DAILY:
log_debug("get daily summary\n");