taxtank-core 0.11.0 → 0.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/taxtank-core.umd.js +2760 -2780
- package/bundles/taxtank-core.umd.js.map +1 -1
- package/esm2015/lib/collections/collection.js +4 -1
- package/esm2015/lib/collections/depreciation.collection.js +24 -10
- package/esm2015/lib/collections/transaction.collection.js +28 -1
- package/esm2015/lib/collections/vehicle-logbook.collection.js +88 -0
- package/esm2015/lib/collections/vehicle.collection.js +9 -0
- package/esm2015/lib/db/Enums/chart-accounts-heading-vehicle-list.enum.js +3 -1
- package/esm2015/lib/db/Enums/chart-accounts-list.enum.js +4 -3
- package/esm2015/lib/db/Models/client-income-types.js +1 -1
- package/esm2015/lib/db/Models/vehicle-claim.js +1 -1
- package/esm2015/lib/db/Models/vehicle.js +1 -1
- package/esm2015/lib/forms/client/client-income-types.form.js +3 -3
- package/esm2015/lib/forms/index.js +3 -1
- package/esm2015/lib/forms/vehicle/vehicle-claim.form.js +114 -0
- package/esm2015/lib/forms/vehicle/vehicle.form.js +20 -0
- package/esm2015/lib/interfaces/event-listener.interface.js +1 -1
- package/esm2015/lib/interfaces/expense.interface.js +2 -0
- package/esm2015/lib/interfaces/tank.interface.js +1 -1
- package/esm2015/lib/models/chart-accounts/chart-accounts-value.js +4 -0
- package/esm2015/lib/models/chart-accounts/chart-accounts.js +34 -1
- package/esm2015/lib/models/depreciation/depreciation.js +5 -1
- package/esm2015/lib/models/event/app-event-type.enum.js +4 -1
- package/esm2015/lib/models/logbook/logbook-period.js +8 -1
- package/esm2015/lib/models/logbook/vehicle-claim.js +63 -4
- package/esm2015/lib/models/logbook/vehicle-logbook.js +9 -3
- package/esm2015/lib/models/logbook/vehicle.js +7 -29
- package/esm2015/lib/models/pdf/pdf-settings.js +10 -0
- package/esm2015/lib/models/transaction/transaction.js +1 -1
- package/esm2015/lib/services/account-setup/account-setup.service.js +8 -23
- package/esm2015/lib/services/http/bank/bank-account/bank-account.service.js +6 -15
- package/esm2015/lib/services/http/bank/bank-connection/bank-connection.service.js +6 -15
- package/esm2015/lib/services/http/bank/bank-transaction/bank-transaction.service.js +6 -15
- package/esm2015/lib/services/http/bank/basiq/basiq.service.js +6 -15
- package/esm2015/lib/services/http/chart-accounts/chart-accounts.service.js +1 -1
- package/esm2015/lib/services/http/chat/chat.service.js +8 -12
- package/esm2015/lib/services/http/chat/message/message.service.js +8 -12
- package/esm2015/lib/services/http/chat/message-document/message-document.service.js +1 -1
- package/esm2015/lib/services/http/depreciation/depreciation.service.js +6 -23
- package/esm2015/lib/services/http/document/document-folder/document-folder.service.js +6 -14
- package/esm2015/lib/services/http/firm/client-movement/client-movement.service.js +6 -15
- package/esm2015/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.js +6 -15
- package/esm2015/lib/services/http/income-source/income-source.service.js +6 -14
- package/esm2015/lib/services/http/income-source/salary-forecast/salary-forecast.service.js +6 -15
- package/esm2015/lib/services/http/income-source/sole-forecast/sole-forecast.service.js +6 -15
- package/esm2015/lib/services/http/loan/loan.service.js +6 -15
- package/esm2015/lib/services/http/property/property-document/property-document.service.js +6 -15
- package/esm2015/lib/services/http/property/property-share/property-share.service.js +6 -15
- package/esm2015/lib/services/http/property/property.service.js +6 -15
- package/esm2015/lib/services/http/rest/rest.service.js +31 -4
- package/esm2015/lib/services/http/service-notification/service-notification.service.js +8 -12
- package/esm2015/lib/services/http/subscription/subscription.service.js +1 -4
- package/esm2015/lib/services/http/tax-review/tax-review-history/tax-review-history.service.js +15 -16
- package/esm2015/lib/services/http/tax-review/tax-review.service.js +6 -15
- package/esm2015/lib/services/http/tax-summary/tax-summary.service.js +1 -1
- package/esm2015/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.js +6 -15
- package/esm2015/lib/services/http/transaction/transaction.service.js +6 -25
- package/esm2015/lib/services/http/user/user-event-setting/user-event-setting.service.js +6 -14
- package/esm2015/lib/services/http/user/user-event-type/user-event-type.service.js +6 -14
- package/esm2015/lib/services/http/vehicle/messages.enum.js +13 -0
- package/esm2015/lib/services/http/vehicle/vehicle-claim.service.js +24 -0
- package/esm2015/lib/services/http/vehicle/vehicle-logbook.service.js +59 -0
- package/esm2015/lib/services/http/vehicle/vehicle.service.js +49 -213
- package/esm2015/lib/services/pdf/pdf.service.js +11 -11
- package/esm2015/public-api.js +8 -2
- package/fesm2015/taxtank-core.js +2482 -2450
- package/fesm2015/taxtank-core.js.map +1 -1
- package/lib/collections/collection.d.ts +1 -0
- package/lib/collections/depreciation.collection.d.ts +5 -4
- package/lib/collections/transaction.collection.d.ts +9 -0
- package/lib/collections/vehicle-logbook.collection.d.ts +30 -0
- package/lib/collections/vehicle.collection.d.ts +6 -0
- package/lib/db/Enums/chart-accounts-heading-vehicle-list.enum.d.ts +3 -1
- package/lib/db/Enums/chart-accounts-list.enum.d.ts +4 -3
- package/lib/db/Models/client-income-types.d.ts +2 -2
- package/lib/db/Models/vehicle-claim.d.ts +2 -0
- package/lib/db/Models/vehicle.d.ts +2 -0
- package/lib/forms/index.d.ts +2 -0
- package/lib/forms/vehicle/vehicle-claim.form.d.ts +43 -0
- package/lib/forms/vehicle/vehicle.form.d.ts +11 -0
- package/lib/interfaces/event-listener.interface.d.ts +1 -0
- package/lib/interfaces/expense.interface.d.ts +12 -0
- package/lib/interfaces/tank.interface.d.ts +2 -0
- package/lib/models/chart-accounts/chart-accounts-value.d.ts +3 -0
- package/lib/models/chart-accounts/chart-accounts.d.ts +18 -0
- package/lib/models/depreciation/depreciation.d.ts +6 -2
- package/lib/models/event/app-event-type.enum.d.ts +4 -1
- package/lib/models/logbook/logbook-period.d.ts +4 -0
- package/lib/models/logbook/vehicle-claim.d.ts +20 -3
- package/lib/models/logbook/vehicle-logbook.d.ts +8 -2
- package/lib/models/logbook/vehicle.d.ts +5 -7
- package/lib/models/pdf/pdf-settings.d.ts +9 -0
- package/lib/models/transaction/transaction.d.ts +2 -2
- package/lib/services/account-setup/account-setup.service.d.ts +3 -7
- package/lib/services/http/bank/bank-account/bank-account.service.d.ts +2 -7
- package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +2 -7
- package/lib/services/http/bank/bank-transaction/bank-transaction.service.d.ts +3 -8
- package/lib/services/http/bank/basiq/basiq.service.d.ts +2 -7
- package/lib/services/http/chat/chat.service.d.ts +4 -7
- package/lib/services/http/chat/message/message.service.d.ts +4 -7
- package/lib/services/http/chat/message-document/message-document.service.d.ts +3 -3
- package/lib/services/http/depreciation/depreciation.service.d.ts +2 -11
- package/lib/services/http/document/document-folder/document-folder.service.d.ts +0 -6
- package/lib/services/http/firm/client-movement/client-movement.service.d.ts +2 -7
- package/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.d.ts +2 -7
- package/lib/services/http/income-source/income-source.service.d.ts +0 -6
- package/lib/services/http/income-source/salary-forecast/salary-forecast.service.d.ts +1 -7
- package/lib/services/http/income-source/sole-forecast/sole-forecast.service.d.ts +2 -7
- package/lib/services/http/loan/loan.service.d.ts +2 -7
- package/lib/services/http/property/property-document/property-document.service.d.ts +3 -8
- package/lib/services/http/property/property-share/property-share.service.d.ts +2 -7
- package/lib/services/http/property/property.service.d.ts +2 -7
- package/lib/services/http/rest/rest.service.d.ts +17 -2
- package/lib/services/http/service-notification/service-notification.service.d.ts +4 -7
- package/lib/services/http/subscription/subscription.service.d.ts +0 -1
- package/lib/services/http/tax-review/tax-review-history/tax-review-history.service.d.ts +7 -7
- package/lib/services/http/tax-review/tax-review.service.d.ts +1 -7
- package/lib/services/http/tax-summary/tax-summary.service.d.ts +2 -1
- package/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.d.ts +3 -8
- package/lib/services/http/transaction/transaction.service.d.ts +0 -12
- package/lib/services/http/user/user-event-setting/user-event-setting.service.d.ts +0 -6
- package/lib/services/http/user/user-event-type/user-event-type.service.d.ts +0 -6
- package/lib/services/http/vehicle/messages.enum.d.ts +11 -0
- package/lib/services/http/vehicle/vehicle-claim.service.d.ts +13 -0
- package/lib/services/http/vehicle/vehicle-logbook.service.d.ts +22 -0
- package/lib/services/http/vehicle/vehicle.service.d.ts +17 -80
- package/lib/services/pdf/pdf.service.d.ts +3 -3
- package/package.json +1 -1
- package/public-api.d.ts +7 -1
- package/esm2015/lib/collections/logbook.collection.js +0 -97
- package/lib/collections/logbook.collection.d.ts +0 -19
|
@@ -1,94 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Observable, ReplaySubject } from 'rxjs';
|
|
3
|
-
import { TransactionService } from '../transaction/transaction.service';
|
|
1
|
+
import { Vehicle as VehicleBase } from '../../../db/Models/vehicle';
|
|
4
2
|
import { Vehicle } from '../../../models/logbook/vehicle';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { IncomePosition } from '../../../models/income-position/income-position';
|
|
8
|
-
import { DepreciationService } from '../depreciation/depreciation.service';
|
|
9
|
-
import { ChartAccountsService } from '../chart-accounts/chart-accounts.service';
|
|
10
|
-
import { EventDispatcherService } from '../../event/event-dispatcher.service';
|
|
3
|
+
import { RestService } from '../rest/rest.service';
|
|
4
|
+
import { IEventListener } from '../../../interfaces/event-listener.interface';
|
|
11
5
|
import * as i0 from "@angular/core";
|
|
12
6
|
/**
|
|
13
7
|
* Service that allows to work with WorkTank operations
|
|
14
|
-
* @TODO separate
|
|
8
|
+
* @TODO separate vehicles and logbooks to different api
|
|
15
9
|
*/
|
|
16
|
-
export declare class VehicleService {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
_vehicles: Vehicle[];
|
|
24
|
-
vehiclesSubject: ReplaySubject<Vehicle[]>;
|
|
25
|
-
_vehicleClaim: VehicleClaim;
|
|
26
|
-
vehicleClaimSubject: ReplaySubject<VehicleClaim>;
|
|
27
|
-
_vehicleClaimRate: number;
|
|
28
|
-
vehicleClaimRateSubject: ReplaySubject<number>;
|
|
29
|
-
_vehicleTaxReturn: number;
|
|
30
|
-
vehicleTaxReturnSubject: ReplaySubject<number>;
|
|
31
|
-
_incomePositions: IncomePosition[];
|
|
32
|
-
incomePositionsSubject: ReplaySubject<IncomePosition[]>;
|
|
33
|
-
constructor(http: HttpClient, transactionService: TransactionService, depreciationService: DepreciationService, chartAccountsService: ChartAccountsService, eventDispatcherService: EventDispatcherService, environment: any);
|
|
34
|
-
getVehicles(): Observable<Vehicle[]>;
|
|
10
|
+
export declare class VehicleService extends RestService<VehicleBase, Vehicle> implements IEventListener {
|
|
11
|
+
url: string;
|
|
12
|
+
modelClass: typeof Vehicle;
|
|
13
|
+
messageCreated: string;
|
|
14
|
+
messageUpdated: string;
|
|
15
|
+
messageDeleted: string;
|
|
16
|
+
listenEvents(): void;
|
|
35
17
|
/**
|
|
36
|
-
*
|
|
18
|
+
* Add a new logbook items to the vehicle when a new one created
|
|
37
19
|
*/
|
|
38
|
-
|
|
20
|
+
private listenLogbookAdded;
|
|
39
21
|
/**
|
|
40
|
-
*
|
|
41
|
-
* @param claim object which should be added
|
|
22
|
+
* Replace vehicle's logbook with updated instance when logbook item updated
|
|
42
23
|
*/
|
|
43
|
-
|
|
24
|
+
private listenLogbookUpdated;
|
|
44
25
|
/**
|
|
45
|
-
*
|
|
26
|
+
* Remove logbook item from vehicle when logbook deleted
|
|
46
27
|
*/
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Get vehicles tax return for vehicle transactions & depreciations
|
|
50
|
-
*/
|
|
51
|
-
getVehiclesTaxReturn(): Observable<number>;
|
|
52
|
-
/**
|
|
53
|
-
* Update vehicle claim
|
|
54
|
-
* @param claim which should be updated
|
|
55
|
-
*
|
|
56
|
-
* @TODO alex refresh depreciation/transaction cache
|
|
57
|
-
*/
|
|
58
|
-
updateVehicleClaim(claim: VehicleClaim): Observable<any>;
|
|
59
|
-
/**
|
|
60
|
-
* Add new logbook for desired vehicle
|
|
61
|
-
* @param logbook which should be added
|
|
62
|
-
* @param vehicle for which logbook object should be added
|
|
63
|
-
*/
|
|
64
|
-
addLogbook(logbook: VehicleLogbook, vehicle: Vehicle): Observable<void>;
|
|
65
|
-
/**
|
|
66
|
-
* Update logbook
|
|
67
|
-
* @param logbook which should be updated
|
|
68
|
-
* @param vehicle for which logbook object should be updated
|
|
69
|
-
*/
|
|
70
|
-
updateLogbook(logbook: VehicleLogbook, vehicle: Vehicle): Observable<any>;
|
|
71
|
-
/**
|
|
72
|
-
* Delete trip
|
|
73
|
-
* @param logbook for which trip should be deleted
|
|
74
|
-
* @param vehicle for which trip should be deleted
|
|
75
|
-
*/
|
|
76
|
-
deleteTrip(logbook: VehicleLogbook, vehicle: Vehicle): Observable<any>;
|
|
77
|
-
/**
|
|
78
|
-
* Add new vehicle
|
|
79
|
-
* @param vehicle which should be added
|
|
80
|
-
*/
|
|
81
|
-
addVehicle(vehicle: Vehicle): Observable<any>;
|
|
82
|
-
/**
|
|
83
|
-
* Update vehicle
|
|
84
|
-
* @param vehicle which should be updated
|
|
85
|
-
*/
|
|
86
|
-
updateVehicle(vehicle: Vehicle): Observable<any>;
|
|
87
|
-
/**
|
|
88
|
-
* Delete vehicle
|
|
89
|
-
* @param vehicle which should be deleted
|
|
90
|
-
*/
|
|
91
|
-
deleteVehicle(vehicle: Vehicle): Observable<void>;
|
|
28
|
+
private listenLogbookDeleted;
|
|
92
29
|
static ɵfac: i0.ɵɵFactoryDeclaration<VehicleService, never>;
|
|
93
30
|
static ɵprov: i0.ɵɵInjectableDeclaration<VehicleService>;
|
|
94
31
|
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { ExportDataTable } from '../../models/export/export-data-table';
|
|
2
|
-
import {
|
|
2
|
+
import { PdfSettings } from '../../models/pdf/pdf-settings';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class PdfService {
|
|
5
5
|
/**
|
|
6
6
|
* Export file from provided HTML tables
|
|
7
7
|
*/
|
|
8
|
-
exportTables(tables: NodeListOf<HTMLTableElement>,
|
|
8
|
+
exportTables(tables: NodeListOf<HTMLTableElement>, fileSettings: PdfSettings): void;
|
|
9
9
|
/**
|
|
10
10
|
* Export file from provided array-like table data
|
|
11
11
|
*/
|
|
12
|
-
exportFromDataTables(dataTables: ExportDataTable[],
|
|
12
|
+
exportFromDataTables(dataTables: ExportDataTable[], fileSettings: PdfSettings): void;
|
|
13
13
|
/**
|
|
14
14
|
* Generate file from array-like table data
|
|
15
15
|
*/
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -18,7 +18,6 @@ export * from './lib/collections/depreciation-forecast.collection';
|
|
|
18
18
|
export * from './lib/collections/employee.collection';
|
|
19
19
|
export * from './lib/collections/income-source.collection';
|
|
20
20
|
export * from './lib/collections/loan.collection';
|
|
21
|
-
export * from './lib/collections/logbook.collection';
|
|
22
21
|
export * from './lib/collections/message.collection';
|
|
23
22
|
export * from './lib/collections/message-document.collection';
|
|
24
23
|
export * from './lib/collections/property/property.collection';
|
|
@@ -34,6 +33,8 @@ export * from './lib/collections/tax-review.collection';
|
|
|
34
33
|
export * from './lib/collections/transaction-allocation.collection';
|
|
35
34
|
export * from './lib/collections/transaction.collection';
|
|
36
35
|
export * from './lib/collections/user-event-setting.collection';
|
|
36
|
+
export * from './lib/collections/vehicle.collection';
|
|
37
|
+
export * from './lib/collections/vehicle-logbook.collection';
|
|
37
38
|
/**
|
|
38
39
|
* DB models
|
|
39
40
|
*/
|
|
@@ -152,6 +153,7 @@ export * from './lib/models/chart-accounts/chart-accounts-depreciation';
|
|
|
152
153
|
export * from './lib/models/chart-accounts/chart-accounts-heading';
|
|
153
154
|
export * from './lib/models/chart-accounts/chart-accounts-metadata';
|
|
154
155
|
export * from './lib/models/chart-accounts/chart-accounts-tax-labels.enum';
|
|
156
|
+
export * from './lib/models/chart-accounts/chart-accounts-value';
|
|
155
157
|
export * from './lib/models/chat/chat';
|
|
156
158
|
export * from './lib/models/chat/chat-view-type.enum';
|
|
157
159
|
export * from './lib/models/chat/message';
|
|
@@ -208,6 +210,7 @@ export * from './lib/models/logbook/vehicle-claim';
|
|
|
208
210
|
export * from './lib/models/logbook/vehicle-logbook';
|
|
209
211
|
export * from './lib/models/notification/notification';
|
|
210
212
|
export * from './lib/models/pdf/pdf-orientation.enum';
|
|
213
|
+
export * from './lib/models/pdf/pdf-settings';
|
|
211
214
|
export * from './lib/models/phone/phone';
|
|
212
215
|
export * from './lib/models/property/calculation-form-item';
|
|
213
216
|
export * from './lib/models/property/calculation-form-type.enum';
|
|
@@ -339,6 +342,8 @@ export * from './lib/services/user/user-switcher.service';
|
|
|
339
342
|
export * from './lib/services/http/user/user-event-setting/user-event-setting.service';
|
|
340
343
|
export * from './lib/services/http/user/user-event-type/user-event-type.service';
|
|
341
344
|
export * from './lib/services/http/vehicle/vehicle.service';
|
|
345
|
+
export * from './lib/services/http/vehicle/vehicle-claim.service';
|
|
346
|
+
export * from './lib/services/http/vehicle/vehicle-logbook.service';
|
|
342
347
|
export * from './lib/services/xlsx/xlsx.service';
|
|
343
348
|
export * from './lib/services/http/property/property-sale/tax-exemption/tax-exemption.service';
|
|
344
349
|
/**
|
|
@@ -359,6 +364,7 @@ export * from './lib/interfaces/exportable.interface';
|
|
|
359
364
|
export * from './lib/interfaces/receipt.interface';
|
|
360
365
|
export * from './lib/interfaces/tank.interface';
|
|
361
366
|
export * from './lib/interfaces/updatable.interface';
|
|
367
|
+
export * from './lib/interfaces/expense.interface';
|
|
362
368
|
/**
|
|
363
369
|
* Functions
|
|
364
370
|
*/
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { FinancialYear } from '../models/financial-year/financial-year';
|
|
2
|
-
import { LogbookPeriod } from '../models/logbook/logbook-period';
|
|
3
|
-
import { plainToClass } from 'class-transformer';
|
|
4
|
-
// Class contain array of vehicle logbooks and calculate the best period for logbook claim method
|
|
5
|
-
export class LogbookCollection {
|
|
6
|
-
constructor(vehicles) {
|
|
7
|
-
// 12 weeks in milliseconds to check logbooks range
|
|
8
|
-
this.logbookClaimRange = 12 * 7 * 24 * 3600 * 1000;
|
|
9
|
-
this.trips = vehicles.map((vehicle) => vehicle.logbook).flat();
|
|
10
|
-
this.financialYear = new FinancialYear();
|
|
11
|
-
this.setInitialBestPeriod();
|
|
12
|
-
}
|
|
13
|
-
// check if summary logbooks date range less than 84 days (12 weeks)
|
|
14
|
-
get isAutomaticLogbookCalculationAllowed() {
|
|
15
|
-
// forbid automatic logbook calculation if no logbook trips exist
|
|
16
|
-
if (!this.trips.length) {
|
|
17
|
-
return false;
|
|
18
|
-
}
|
|
19
|
-
// forbid automatic logbook calculation if logbook trips summary date range less than 12 weeks
|
|
20
|
-
return this.trips.slice(-1)[0].date.getTime() - this.trips[0].date.getTime() >= this.logbookClaimRange;
|
|
21
|
-
}
|
|
22
|
-
get bestPeriod() {
|
|
23
|
-
// don't calculate if not allowed
|
|
24
|
-
if (!this.isAutomaticLogbookCalculationAllowed) {
|
|
25
|
-
return null;
|
|
26
|
-
}
|
|
27
|
-
this.calculateBestPeriod();
|
|
28
|
-
return this._bestPeriod;
|
|
29
|
-
}
|
|
30
|
-
get workTrips() {
|
|
31
|
-
return this.trips.filter((logbook) => logbook.isWork);
|
|
32
|
-
}
|
|
33
|
-
// calculate best period for logbook claim method
|
|
34
|
-
calculateBestPeriod() {
|
|
35
|
-
// set default best period values for real values comparison
|
|
36
|
-
this.setInitialBestPeriod();
|
|
37
|
-
// get best period with each trip date as start date
|
|
38
|
-
this.workTrips.forEach((logbook) => {
|
|
39
|
-
const dateRange = this.getDateRange(logbook.date);
|
|
40
|
-
// get all trips included in current 12 weeks period
|
|
41
|
-
const tripsInRange = this.trips.filter((l) => {
|
|
42
|
-
return l.date >= dateRange.from && l.date <= dateRange.to;
|
|
43
|
-
});
|
|
44
|
-
// get work trips included in current 12 weeks period
|
|
45
|
-
const workTripsInRange = tripsInRange.filter((l) => l.isWork);
|
|
46
|
-
// calculate sum of work kilometers in current 12 weeks range
|
|
47
|
-
const currentRangeKilometers = this.getKilometersAmount(workTripsInRange);
|
|
48
|
-
// overwrite best period with current 12 weeks range if amount of kilometers is bigger
|
|
49
|
-
if (currentRangeKilometers > this._bestPeriod.kilometers) {
|
|
50
|
-
this._bestPeriod = {
|
|
51
|
-
from: dateRange.from,
|
|
52
|
-
to: dateRange.to,
|
|
53
|
-
kilometers: currentRangeKilometers,
|
|
54
|
-
workUsage: this.getLogbooksWorkUsage(tripsInRange, workTripsInRange)
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
getDateRange(from) {
|
|
60
|
-
// set end date after 12 weeks after start date
|
|
61
|
-
let to = new Date(from.getTime() + this.logbookClaimRange);
|
|
62
|
-
// set as period last 12 weeks of current year if period end date after end of current year
|
|
63
|
-
if (to > this.financialYear.endDate) {
|
|
64
|
-
to = this.financialYear.endDate;
|
|
65
|
-
from = new Date(to.getTime() - this.logbookClaimRange);
|
|
66
|
-
}
|
|
67
|
-
return { from, to };
|
|
68
|
-
}
|
|
69
|
-
// calculate kilometers amount for passed trips
|
|
70
|
-
getKilometersAmount(logbooks) {
|
|
71
|
-
if (!logbooks.length) {
|
|
72
|
-
return 0;
|
|
73
|
-
}
|
|
74
|
-
return logbooks.map((logbook) => logbook.odometerEnd - logbook.odometerStart)
|
|
75
|
-
.reduce((prev, next) => prev + Number(next));
|
|
76
|
-
}
|
|
77
|
-
// calculate work usage for passed trips
|
|
78
|
-
getLogbooksWorkUsage(logbooks, workLogbooks) {
|
|
79
|
-
const kilometers = this.getKilometersAmount(logbooks);
|
|
80
|
-
const workKilometers = this.getKilometersAmount(workLogbooks);
|
|
81
|
-
return Math.round(workKilometers / kilometers * 100);
|
|
82
|
-
}
|
|
83
|
-
// set default best period with zero values and fin year start date for comparison in calculation
|
|
84
|
-
setInitialBestPeriod() {
|
|
85
|
-
// set 1st of July of current year as default start date for best period
|
|
86
|
-
const startDate = this.financialYear.startDate;
|
|
87
|
-
// set end custom-date after 12 weeks from start date
|
|
88
|
-
const endDate = new Date(startDate.getTime() + this.logbookClaimRange);
|
|
89
|
-
this._bestPeriod = plainToClass(LogbookPeriod, {
|
|
90
|
-
from: startDate,
|
|
91
|
-
to: endDate,
|
|
92
|
-
kilometers: 0,
|
|
93
|
-
workUsage: 0
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nYm9vay5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2xvZ2Jvb2suY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxpR0FBaUc7QUFDakcsTUFBTSxPQUFPLGlCQUFpQjtJQVU1QixZQUNFLFFBQW1CO1FBUnJCLG1EQUFtRDtRQUNuRCxzQkFBaUIsR0FBVyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBU3BELElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQWdCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4RSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELG9FQUFvRTtJQUNwRSxJQUFJLG9DQUFvQztRQUN0QyxpRUFBaUU7UUFDakUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ3RCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCw4RkFBOEY7UUFDOUYsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElB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QUMsSUFBWSxFQUFFLElBQVksRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCx3Q0FBd0M7SUFDaEMsb0JBQW9CLENBQUMsUUFBMEIsRUFBRSxZQUE4QjtRQUNyRixNQUFNLFVBQVUsR0FBVyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUQsTUFBTSxjQUFjLEdBQVcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3RFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsVUFBVSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxpR0FBaUc7SUFDekYsb0JBQW9CO1FBQzFCLHdFQUF3RTtRQUN4RSxNQUFNLFNBQVMsR0FBUyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztRQUNyRCxxREFBcUQ7UUFDckQsTUFBTSxPQUFPLEdBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTdFLElBQUksQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDLGFBQWEsRUFBRTtZQUM3QyxJQUFJLEVBQUUsU0FBUztZQUNmLEVBQUUsRUFBRSxPQUFPO1lBQ1gsVUFBVSxFQUFFLENBQUM7WUFDYixTQUFTLEVBQUUsQ0FBQztTQUNiLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZlaGljbGVMb2dib29rIH0gZnJvbSAnLi4vbW9kZWxzL2xvZ2Jvb2svdmVoaWNsZS1sb2dib29rJztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9tb2RlbHMvZmluYW5jaWFsLXllYXIvZmluYW5jaWFsLXllYXInO1xuaW1wb3J0IHsgTG9nYm9va1BlcmlvZCB9IGZyb20gJy4uL21vZGVscy9sb2dib29rL2xvZ2Jvb2stcGVyaW9kJztcbmltcG9ydCB7IFZlaGljbGUgfSBmcm9tICcuLi9tb2RlbHMvbG9nYm9vay92ZWhpY2xlJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuLy8gQ2xhc3MgY29udGFpbiBhcnJheSBvZiB2ZWhpY2xlIGxvZ2Jvb2tzIGFuZCBjYWxjdWxhdGUgdGhlIGJlc3QgcGVyaW9kIGZvciBsb2dib29rIGNsYWltIG1ldGhvZFxuZXhwb3J0IGNsYXNzIExvZ2Jvb2tDb2xsZWN0aW9uIHtcbiAgLy8gYXJyYXkgb2YgYWxsIHRyaXBzXG4gIHRyaXBzOiBWZWhpY2xlTG9nYm9va1tdO1xuICAvLyAxMiB3ZWVrcyBpbiBtaWxsaXNlY29uZHMgdG8gY2hlY2sgbG9nYm9va3MgcmFuZ2VcbiAgbG9nYm9va0NsYWltUmFuZ2U6IG51bWJlciA9IDEyICogNyAqIDI0ICogMzYwMCAqIDEwMDA7XG4gIC8vIGN1cnJlbnQgZmluYW5jaWFsIHllYXIgb2JqZWN0XG4gIGZpbmFuY2lhbFllYXI6IEZpbmFuY2lhbFllYXI7XG4gIC8vIGRlZmF1bHQgYmVzdCBwZXJpb2QgdXNlZCBmb3IgY29tcGFyaXNvbiBpbiBjYWxjdWxhdGlvblxuICBwcml2YXRlIF9iZXN0UGVyaW9kOiBMb2dib29rUGVyaW9kO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHZlaGljbGVzOiBWZWhpY2xlW11cbiAgKSB7XG4gICAgdGhpcy50cmlwcyA9IHZlaGljbGVzLm1hcCgodmVoaWNsZTogVmVoaWNsZSkgPT4gdmVoaWNsZS5sb2dib29rKS5mbGF0KCk7XG4gICAgdGhpcy5maW5hbmNpYWxZZWFyID0gbmV3IEZpbmFuY2lhbFllYXIoKTtcbiAgICB0aGlzLnNldEluaXRpYWxCZXN0UGVyaW9kKCk7XG4gIH1cblxuICAvLyBjaGVjayBpZiBzdW1tYXJ5IGxvZ2Jvb2tzIGRhdGUgcmFuZ2UgbGVzcyB0aGFuIDg0IGRheXMgKDEyIHdlZWtzKVxuICBnZXQgaXNBdXRvbWF0aWNMb2dib29rQ2FsY3VsYXRpb25BbGxvd2VkKCk6IGJvb2xlYW4ge1xuICAgIC8vIGZvcmJpZCBhdXRvbWF0aWMgbG9nYm9vayBjYWxjdWxhdGlvbiBpZiBubyBsb2dib29rIHRyaXBzIGV4aXN0XG4gICAgaWYgKCF0aGlzLnRyaXBzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIGZvcmJpZCBhdXRvbWF0aWMgbG9nYm9vayBjYWxjdWxhdGlvbiBpZiBsb2dib29rIHRyaXBzIHN1bW1hcnkgZGF0ZSByYW5nZSBsZXNzIHRoYW4gMTIgd2Vla3NcbiAgICByZXR1cm4gdGhpcy50cmlwcy5zbGljZSgtMSlbMF0uZGF0ZS5nZXRUaW1lKCkgLSB0aGlzLnRyaXBzWzBdLmRhdGUuZ2V0VGltZSgpID49IHRoaXMubG9nYm9va0NsYWltUmFuZ2U7XG4gIH1cblxuICBnZXQgYmVzdFBlcmlvZCgpOiBMb2dib29rUGVyaW9kIHtcbiAgICAvLyBkb24ndCBjYWxjdWxhdGUgaWYgbm90IGFsbG93ZWRcbiAgICBpZiAoIXRoaXMuaXNBdXRvbWF0aWNMb2dib29rQ2FsY3VsYXRpb25BbGxvd2VkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICB0aGlzLmNhbGN1bGF0ZUJlc3RQZXJpb2QoKTtcblxuICAgIHJldHVybiB0aGlzLl9iZXN0UGVyaW9kO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgd29ya1RyaXBzKCk6IFZlaGljbGVMb2dib29rW10ge1xuICAgIHJldHVybiB0aGlzLnRyaXBzLmZpbHRlcigobG9nYm9vazogVmVoaWNsZUxvZ2Jvb2spID0+IGxvZ2Jvb2suaXNXb3JrKTtcbiAgfVxuXG4gIC8vIGNhbGN1bGF0ZSBiZXN0IHBlcmlvZCBmb3IgbG9nYm9vayBjbGFpbSBtZXRob2RcbiAgcHJpdmF0ZSBjYWxjdWxhdGVCZXN0UGVyaW9kKCk6IHZvaWQge1xuXG4gICAgLy8gc2V0IGRlZmF1bHQgYmVzdCBwZXJpb2QgdmFsdWVzIGZvciByZWFsIHZhbHVlcyBjb21wYXJpc29uXG4gICAgdGhpcy5zZXRJbml0aWFsQmVzdFBlcmlvZCgpO1xuXG4gICAgLy8gZ2V0IGJlc3QgcGVyaW9kIHdpdGggZWFjaCB0cmlwIGRhdGUgYXMgc3RhcnQgZGF0ZVxuICAgIHRoaXMud29ya1RyaXBzLmZvckVhY2goKGxvZ2Jvb2s6IFZlaGljbGVMb2dib29rKSA9PiB7XG4gICAgICBjb25zdCBkYXRlUmFuZ2U6IHtmcm9tOiBEYXRlLCB0bzogRGF0ZX0gPSB0aGlzLmdldERhdGVSYW5nZShsb2dib29rLmRhdGUpO1xuXG4gICAgICAvLyBnZXQgYWxsIHRyaXBzIGluY2x1ZGVkIGluIGN1cnJlbnQgMTIgd2Vla3MgcGVyaW9kXG4gICAgICBjb25zdCB0cmlwc0luUmFuZ2U6IFZlaGljbGVMb2dib29rW10gPSB0aGlzLnRyaXBzLmZpbHRlcigobDogVmVoaWNsZUxvZ2Jvb2spID0+IHtcbiAgICAgICAgcmV0dXJuIGwuZGF0ZSA+PSBkYXRlUmFuZ2UuZnJvbSAmJiBsLmRhdGUgPD0gZGF0ZVJhbmdlLnRvO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIGdldCB3b3JrIHRyaXBzIGluY2x1ZGVkIGluIGN1cnJlbnQgMTIgd2Vla3MgcGVyaW9kXG4gICAgICBjb25zdCB3b3JrVHJpcHNJblJhbmdlOiBWZWhpY2xlTG9nYm9va1tdID0gdHJpcHNJblJhbmdlLmZpbHRlcigobDogVmVoaWNsZUxvZ2Jvb2spID0+IGwuaXNXb3JrKTtcblxuICAgICAgLy8gY2FsY3VsYXRlIHN1bSBvZiB3b3JrIGtpbG9tZXRlcnMgaW4gY3VycmVudCAxMiB3ZWVrcyByYW5nZVxuICAgICAgY29uc3QgY3VycmVudFJhbmdlS2lsb21ldGVyczogbnVtYmVyID0gdGhpcy5nZXRLaWxvbWV0ZXJzQW1vdW50KHdvcmtUcmlwc0luUmFuZ2UpO1xuXG4gICAgICAvLyBvdmVyd3JpdGUgYmVzdCBwZXJpb2Qgd2l0aCBjdXJyZW50IDEyIHdlZWtzIHJhbmdlIGlmIGFtb3VudCBvZiBraWxvbWV0ZXJzIGlzIGJpZ2dlclxuICAgICAgaWYgKGN1cnJlbnRSYW5nZUtpbG9tZXRlcnMgPiB0aGlzLl9iZXN0UGVyaW9kLmtpbG9tZXRlcnMpIHtcbiAgICAgICAgdGhpcy5fYmVzdFBlcmlvZCA9IHtcbiAgICAgICAgICBmcm9tOiBkYXRlUmFuZ2UuZnJvbSxcbiAgICAgICAgICB0bzogZGF0ZVJhbmdlLnRvLFxuICAgICAgICAgIGtpbG9tZXRlcnM6IGN1cnJlbnRSYW5nZUtpbG9tZXRlcnMsXG4gICAgICAgICAgd29ya1VzYWdlOiB0aGlzLmdldExvZ2Jvb2tzV29ya1VzYWdlKHRyaXBzSW5SYW5nZSwgd29ya1RyaXBzSW5SYW5nZSlcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGF0ZVJhbmdlKGZyb206IERhdGUpOiB7ZnJvbTogRGF0ZSwgdG86IERhdGV9IHtcbiAgICAvLyBzZXQgZW5kIGRhdGUgYWZ0ZXIgMTIgd2Vla3MgYWZ0ZXIgc3RhcnQgZGF0ZVxuICAgIGxldCB0bzogRGF0ZSA9IG5ldyBEYXRlKGZyb20uZ2V0VGltZSgpICsgdGhpcy5sb2dib29rQ2xhaW1SYW5nZSk7XG5cbiAgICAvLyBzZXQgYXMgcGVyaW9kIGxhc3QgMTIgd2Vla3Mgb2YgY3VycmVudCB5ZWFyIGlmIHBlcmlvZCBlbmQgZGF0ZSBhZnRlciBlbmQgb2YgY3VycmVudCB5ZWFyXG4gICAgaWYgKHRvID4gdGhpcy5maW5hbmNpYWxZZWFyLmVuZERhdGUpIHtcbiAgICAgIHRvID0gdGhpcy5maW5hbmNpYWxZZWFyLmVuZERhdGU7XG4gICAgICBmcm9tID0gbmV3IERhdGUodG8uZ2V0VGltZSgpIC0gdGhpcy5sb2dib29rQ2xhaW1SYW5nZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtmcm9tLCB0b307XG4gIH1cblxuICAvLyBjYWxjdWxhdGUga2lsb21ldGVycyBhbW91bnQgZm9yIHBhc3NlZCB0cmlwc1xuICBwcml2YXRlIGdldEtpbG9tZXRlcnNBbW91bnQobG9nYm9va3M6IFZlaGljbGVMb2dib29rW10pOiBudW1iZXIge1xuICAgIGlmICghbG9nYm9va3MubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gbG9nYm9va3MubWFwKChsb2dib29rOiBWZWhpY2xlTG9nYm9vaykgPT4gbG9nYm9vay5vZG9tZXRlckVuZCAtIGxvZ2Jvb2sub2RvbWV0ZXJTdGFydClcbiAgICAgIC5yZWR1Y2UoKHByZXY6IG51bWJlciwgbmV4dDogbnVtYmVyKSA9PiBwcmV2ICsgTnVtYmVyKG5leHQpKTtcbiAgfVxuXG4gIC8vIGNhbGN1bGF0ZSB3b3JrIHVzYWdlIGZvciBwYXNzZWQgdHJpcHNcbiAgcHJpdmF0ZSBnZXRMb2dib29rc1dvcmtVc2FnZShsb2dib29rczogVmVoaWNsZUxvZ2Jvb2tbXSwgd29ya0xvZ2Jvb2tzOiBWZWhpY2xlTG9nYm9va1tdKTogbnVtYmVyIHtcbiAgICBjb25zdCBraWxvbWV0ZXJzOiBudW1iZXIgPSB0aGlzLmdldEtpbG9tZXRlcnNBbW91bnQobG9nYm9va3MpO1xuICAgIGNvbnN0IHdvcmtLaWxvbWV0ZXJzOiBudW1iZXIgPSB0aGlzLmdldEtpbG9tZXRlcnNBbW91bnQod29ya0xvZ2Jvb2tzKTtcbiAgICByZXR1cm4gTWF0aC5yb3VuZCh3b3JrS2lsb21ldGVycyAvIGtpbG9tZXRlcnMgKiAxMDApO1xuICB9XG5cbiAgLy8gc2V0IGRlZmF1bHQgYmVzdCBwZXJpb2Qgd2l0aCB6ZXJvIHZhbHVlcyBhbmQgZmluIHllYXIgc3RhcnQgZGF0ZSBmb3IgY29tcGFyaXNvbiBpbiBjYWxjdWxhdGlvblxuICBwcml2YXRlIHNldEluaXRpYWxCZXN0UGVyaW9kKCk6IHZvaWQge1xuICAgIC8vIHNldCAxc3Qgb2YgSnVseSBvZiBjdXJyZW50IHllYXIgYXMgZGVmYXVsdCBzdGFydCBkYXRlIGZvciBiZXN0IHBlcmlvZFxuICAgIGNvbnN0IHN0YXJ0RGF0ZTogRGF0ZSA9IHRoaXMuZmluYW5jaWFsWWVhci5zdGFydERhdGU7XG4gICAgLy8gc2V0IGVuZCBjdXN0b20tZGF0ZSBhZnRlciAxMiB3ZWVrcyBmcm9tIHN0YXJ0IGRhdGVcbiAgICBjb25zdCBlbmREYXRlOiBEYXRlID0gbmV3IERhdGUoc3RhcnREYXRlLmdldFRpbWUoKSArIHRoaXMubG9nYm9va0NsYWltUmFuZ2UpO1xuXG4gICAgdGhpcy5fYmVzdFBlcmlvZCA9IHBsYWluVG9DbGFzcyhMb2dib29rUGVyaW9kLCB7XG4gICAgICBmcm9tOiBzdGFydERhdGUsXG4gICAgICB0bzogZW5kRGF0ZSxcbiAgICAgIGtpbG9tZXRlcnM6IDAsXG4gICAgICB3b3JrVXNhZ2U6IDBcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { VehicleLogbook } from '../models/logbook/vehicle-logbook';
|
|
2
|
-
import { FinancialYear } from '../models/financial-year/financial-year';
|
|
3
|
-
import { LogbookPeriod } from '../models/logbook/logbook-period';
|
|
4
|
-
import { Vehicle } from '../models/logbook/vehicle';
|
|
5
|
-
export declare class LogbookCollection {
|
|
6
|
-
trips: VehicleLogbook[];
|
|
7
|
-
logbookClaimRange: number;
|
|
8
|
-
financialYear: FinancialYear;
|
|
9
|
-
private _bestPeriod;
|
|
10
|
-
constructor(vehicles: Vehicle[]);
|
|
11
|
-
get isAutomaticLogbookCalculationAllowed(): boolean;
|
|
12
|
-
get bestPeriod(): LogbookPeriod;
|
|
13
|
-
private get workTrips();
|
|
14
|
-
private calculateBestPeriod;
|
|
15
|
-
private getDateRange;
|
|
16
|
-
private getKilometersAmount;
|
|
17
|
-
private getLogbooksWorkUsage;
|
|
18
|
-
private setInitialBestPeriod;
|
|
19
|
-
}
|