Tasks on dashboard
This commit is contained in:
parent
66114aec80
commit
7a00c67166
|
|
@ -86,11 +86,15 @@ abstract class TaskTime implements Built<TaskTime, TaskTimeBuilder> {
|
|||
bool get isRunning => endDate == null;
|
||||
|
||||
Map<String, Duration> getParts(int timezoneOffset) {
|
||||
print('getParts');
|
||||
final startSqlDate = convertDateTimeToSqlDate(startDate);
|
||||
final endSqlDate = convertDateTimeToSqlDate(endDate);
|
||||
print('start date: $startDate');
|
||||
print('end date: $endDate');
|
||||
final localStartDate = startDate.toLocal();
|
||||
final localEndDate = endDate.toLocal();
|
||||
final startSqlDate = convertDateTimeToSqlDate(localStartDate);
|
||||
final endSqlDate = convertDateTimeToSqlDate(localEndDate);
|
||||
|
||||
if (startSqlDate == endSqlDate) {
|
||||
print('start eq end');
|
||||
return {startSqlDate: duration};
|
||||
}
|
||||
|
||||
|
|
@ -98,23 +102,23 @@ abstract class TaskTime implements Built<TaskTime, TaskTimeBuilder> {
|
|||
DateTime nextDate;
|
||||
final Map<String, Duration> dates = {
|
||||
startSqlDate:
|
||||
DateTime(startDate.year, startDate.month, startDate.day)
|
||||
.add(Duration(days: offset)).difference(startDate)
|
||||
DateTime(localStartDate.year, localStartDate.month, localStartDate.day)
|
||||
.add(Duration(days: offset)).difference(localStartDate)
|
||||
};
|
||||
|
||||
do {
|
||||
nextDate = DateTime(startDate.year, startDate.month, startDate.day)
|
||||
nextDate = DateTime(localStartDate.year, localStartDate.month, localStartDate.day)
|
||||
.add(Duration(days: offset));
|
||||
print('Next Date: $nextDate');
|
||||
offset++;
|
||||
|
||||
Duration duration = endDate.difference(nextDate);
|
||||
Duration duration = localEndDate.difference(nextDate);
|
||||
if (duration.inHours > 24) {
|
||||
duration = Duration(hours: 24);
|
||||
}
|
||||
|
||||
dates[convertDateTimeToSqlDate(nextDate)] = duration;
|
||||
} while (nextDate.isBefore(endDate.subtract(Duration(days: 1))));
|
||||
} while (nextDate.isBefore(localEndDate.subtract(Duration(days: 1))));
|
||||
|
||||
print('returning: $dates');
|
||||
return dates;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import 'package:charts_common/common.dart';
|
||||
import 'package:invoiceninja_flutter/redux/dashboard/dashboard_state.dart';
|
||||
import 'package:invoiceninja_flutter/redux/task/task_selectors.dart';
|
||||
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
||||
import 'package:memoize/memoize.dart';
|
||||
import 'package:built_collection/built_collection.dart';
|
||||
|
|
@ -376,12 +377,16 @@ List<ChartDataGroup> chartTasks(
|
|||
print('Task: $task');
|
||||
print('Task - date: $date');
|
||||
|
||||
final taskRate = taskRateSelector(
|
||||
company: company, project: project, client: client);
|
||||
final double amount = taskRate * round(duration.inSeconds / 3600, 3);
|
||||
|
||||
if (false) {
|
||||
totals[STATUS_PAID][date] += 0;
|
||||
totals[STATUS_PAID][date] += amount;
|
||||
} else if (task.isInvoiced) {
|
||||
totals[STATUS_INVOICED][date] += 0;
|
||||
totals[STATUS_INVOICED][date] += amount;
|
||||
} else {
|
||||
totals[STATUS_LOGGED][date] += duration.inHours;
|
||||
totals[STATUS_LOGGED][date] += amount;
|
||||
}
|
||||
|
||||
counts[STATUS_LOGGED]++;
|
||||
|
|
|
|||
Loading…
Reference in New Issue