taxtank-core 0.10.7 → 0.12.1
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 +1631 -1346
- package/bundles/taxtank-core.umd.js.map +1 -1
- package/esm2015/lib/collections/account-setup-item.collection.js +11 -0
- package/esm2015/lib/collections/bank-transaction.collection.js +2 -2
- package/esm2015/lib/collections/collection-dictionary.js +4 -4
- package/esm2015/lib/collections/collection.js +4 -1
- package/esm2015/lib/collections/depreciation.collection.js +24 -10
- package/esm2015/lib/collections/transaction-allocation.collection.js +2 -2
- 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/Enums/user-status.enum.js +1 -2
- package/esm2015/lib/db/Models/client-details.js +1 -1
- package/esm2015/lib/db/Models/client-income-types.js +3 -0
- 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 +22 -0
- package/esm2015/lib/forms/index.js +4 -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/account-setup/account-setup-item.js +6 -0
- package/esm2015/lib/models/account-setup/account-setup-items.const.js +44 -0
- package/esm2015/lib/models/account-setup/account-setup-items.enum.js +14 -0
- 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/client/client-income-types.js +10 -0
- 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-config.js +2 -2
- package/esm2015/lib/models/pdf/pdf-orientation.enum.js +6 -0
- 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 +109 -0
- 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-income/client-income-types.service.js +50 -0
- 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 +12 -12
- package/esm2015/lib/validators/at-least-one.validator.js +11 -0
- package/esm2015/lib/validators/index.js +2 -0
- package/esm2015/public-api.js +14 -2
- package/fesm2015/taxtank-core.js +1408 -1106
- package/fesm2015/taxtank-core.js.map +1 -1
- package/lib/collections/account-setup-item.collection.d.ts +6 -0
- 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/Enums/user-status.enum.d.ts +1 -2
- package/lib/db/Models/client-details.d.ts +5 -1
- package/lib/db/Models/client-income-types.d.ts +11 -0
- package/lib/db/Models/vehicle-claim.d.ts +2 -0
- package/lib/db/Models/vehicle.d.ts +2 -0
- package/lib/forms/client/client-income-types.form.d.ts +7 -0
- package/lib/forms/index.d.ts +3 -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/account-setup/account-setup-item.d.ts +9 -0
- package/lib/models/account-setup/account-setup-items.const.d.ts +7 -0
- package/lib/models/account-setup/account-setup-items.enum.d.ts +12 -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/client/client-income-types.d.ts +7 -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-orientation.enum.d.ts +4 -0
- 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 +43 -0
- 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-income/client-income-types.service.d.ts +18 -0
- 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 -2
- package/lib/validators/at-least-one.validator.d.ts +6 -0
- package/lib/validators/index.d.ts +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +13 -1
- package/esm2015/lib/collections/logbook.collection.js +0 -97
- package/lib/collections/logbook.collection.d.ts +0 -19
|
@@ -1,26 +1,18 @@
|
|
|
1
1
|
import { EventEmitter } from '@angular/core';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { Transaction as TransactionBase } from '../../../db/Models/transaction';
|
|
4
|
-
import { HttpClient } from '@angular/common/http';
|
|
5
|
-
import { EventDispatcherService } from '../../event/event-dispatcher.service';
|
|
6
4
|
import { RestService } from '../rest/rest.service';
|
|
7
5
|
import { Transaction } from '../../../models/transaction/transaction';
|
|
8
6
|
import { ChartAccounts } from '../../../models/chart-accounts/chart-accounts';
|
|
9
7
|
import { ChartAccountsTaxLabelsEnum } from '../../../models/chart-accounts/chart-accounts-tax-labels.enum';
|
|
10
|
-
import { ToastService } from '../../toast/toast.service';
|
|
11
8
|
import * as i0 from "@angular/core";
|
|
12
9
|
/**
|
|
13
10
|
* Service for transactions business logic
|
|
14
11
|
*/
|
|
15
12
|
export declare class TransactionService extends RestService<TransactionBase, Transaction> {
|
|
16
|
-
protected http: HttpClient;
|
|
17
|
-
protected eventDispatcherService: EventDispatcherService;
|
|
18
|
-
protected environment: any;
|
|
19
|
-
protected toastService: ToastService;
|
|
20
13
|
url: string;
|
|
21
14
|
modelClass: typeof Transaction;
|
|
22
15
|
transactionDeleted: EventEmitter<Transaction>;
|
|
23
|
-
constructor(http: HttpClient, eventDispatcherService: EventDispatcherService, environment: any, toastService: ToastService);
|
|
24
16
|
/**
|
|
25
17
|
* Listen events from Event Dispatcher services
|
|
26
18
|
*/
|
|
@@ -85,10 +77,6 @@ export declare class TransactionService extends RestService<TransactionBase, Tra
|
|
|
85
77
|
* tax type depends of chart account heading or category.
|
|
86
78
|
*/
|
|
87
79
|
getTaxLabel(chartAccounts: ChartAccounts): ChartAccountsTaxLabelsEnum;
|
|
88
|
-
/**
|
|
89
|
-
* Get transactions related to Vehicle category
|
|
90
|
-
*/
|
|
91
|
-
getVehicleTransactions(): Observable<Transaction[]>;
|
|
92
80
|
/**
|
|
93
81
|
* Listen to EventDispatcherService event related to Depreciation changing
|
|
94
82
|
*/
|
|
@@ -1,18 +1,12 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
|
2
1
|
import { UserEventSetting } from '../../../../models/user-event/user-event-setting';
|
|
3
2
|
import { UserEventSetting as UserEventSettingBase } from '../../../../db/Models/user-event-setting';
|
|
4
|
-
import { EventDispatcherService } from '../../../event/event-dispatcher.service';
|
|
5
3
|
import { RestService } from '../../rest/rest.service';
|
|
6
4
|
import { Observable } from 'rxjs';
|
|
7
5
|
import * as i0 from "@angular/core";
|
|
8
6
|
export declare class UserEventSettingService extends RestService<UserEventSettingBase, UserEventSetting> {
|
|
9
|
-
protected http: HttpClient;
|
|
10
|
-
protected eventDispatcherService: EventDispatcherService;
|
|
11
|
-
protected environment: any;
|
|
12
7
|
modelClass: typeof UserEventSetting;
|
|
13
8
|
url: string;
|
|
14
9
|
isHydra: boolean;
|
|
15
|
-
constructor(http: HttpClient, eventDispatcherService: EventDispatcherService, environment: any);
|
|
16
10
|
/**
|
|
17
11
|
* Send batch to add/updated settings
|
|
18
12
|
*/
|
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
|
2
1
|
import { UserEventType as UserEventTypeBase } from '../../../../db/Models/user-event-type';
|
|
3
2
|
import { UserEventType } from '../../../../models/user-event/user-event-type';
|
|
4
|
-
import { EventDispatcherService } from '../../../event/event-dispatcher.service';
|
|
5
3
|
import { RestService } from '../../rest/rest.service';
|
|
6
4
|
import * as i0 from "@angular/core";
|
|
7
5
|
export declare class UserEventTypeService extends RestService<UserEventTypeBase, UserEventType> {
|
|
8
|
-
protected http: HttpClient;
|
|
9
|
-
protected eventDispatcherService: EventDispatcherService;
|
|
10
|
-
protected environment: any;
|
|
11
6
|
modelClass: typeof UserEventType;
|
|
12
7
|
url: string;
|
|
13
8
|
isHydra: boolean;
|
|
14
|
-
constructor(http: HttpClient, eventDispatcherService: EventDispatcherService, environment: any);
|
|
15
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<UserEventTypeService, never>;
|
|
16
10
|
static ɵprov: i0.ɵɵInjectableDeclaration<UserEventTypeService>;
|
|
17
11
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare enum MessagesEnum {
|
|
2
|
+
VEHICLE_CREATED = "Vehicle created successfully",
|
|
3
|
+
VEHICLE_UPDATED = "Vehicle updated successfully",
|
|
4
|
+
VEHICLE_DELETED = "Vehicle deleted successfully",
|
|
5
|
+
VEHICLE_CLAIM_CREATED = "Vehicle claim created successfully",
|
|
6
|
+
VEHICLE_CLAIM_UPDATED = "Vehicle claim updated successfully",
|
|
7
|
+
VEHICLE_CLAIM_DELETED = "Vehicle claim deleted successfully",
|
|
8
|
+
VEHICLE_LOGBOOK_CREATED = "Vehicle logbook created successfully",
|
|
9
|
+
VEHICLE_LOGBOOK_UPDATED = "Vehicle logbook updated successfully",
|
|
10
|
+
VEHICLE_LOGBOOK_DELETED = "Vehicle logbook deleted successfully"
|
|
11
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { VehicleClaim as VehicleClaimBase } from '../../../db/Models/vehicle-claim';
|
|
2
|
+
import { VehicleClaim } from '../../../models/logbook/vehicle-claim';
|
|
3
|
+
import { RestService } from '../rest/rest.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class VehicleClaimService extends RestService<VehicleClaimBase, VehicleClaim> {
|
|
6
|
+
modelClass: typeof VehicleClaim;
|
|
7
|
+
url: string;
|
|
8
|
+
messageCreated: string;
|
|
9
|
+
messageUpdated: string;
|
|
10
|
+
messageDeleted: string;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<VehicleClaimService, never>;
|
|
12
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<VehicleClaimService>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { VehicleLogbook } from '../../../models/logbook/vehicle-logbook';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { HttpClient } from '@angular/common/http';
|
|
4
|
+
import { EventDispatcherService } from '../../event/event-dispatcher.service';
|
|
5
|
+
import { ToastService } from '../../toast/toast.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* Vehicle logbook service. Allows user to add, update or delete vehicle trips
|
|
9
|
+
* @TODO extend rest service after it refactored
|
|
10
|
+
*/
|
|
11
|
+
export declare class VehicleLogbookService {
|
|
12
|
+
private http;
|
|
13
|
+
private eventDispatcherService;
|
|
14
|
+
private environment;
|
|
15
|
+
private toastService;
|
|
16
|
+
constructor(http: HttpClient, eventDispatcherService: EventDispatcherService, environment: any, toastService: ToastService);
|
|
17
|
+
add(logbook: VehicleLogbook, vehicleId: number): Observable<VehicleLogbook>;
|
|
18
|
+
update(logbook: VehicleLogbook, vehicleId: number): Observable<any>;
|
|
19
|
+
delete(logbook: VehicleLogbook, vehicleId: number): Observable<void>;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<VehicleLogbookService, never>;
|
|
21
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<VehicleLogbookService>;
|
|
22
|
+
}
|
|
@@ -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,14 +1,15 @@
|
|
|
1
1
|
import { ExportDataTable } from '../../models/export/export-data-table';
|
|
2
|
+
import { PdfSettings } from '../../models/pdf/pdf-settings';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
export declare class PdfService {
|
|
4
5
|
/**
|
|
5
6
|
* Export file from provided HTML tables
|
|
6
7
|
*/
|
|
7
|
-
exportTables(tables: NodeListOf<HTMLTableElement>,
|
|
8
|
+
exportTables(tables: NodeListOf<HTMLTableElement>, fileSettings: PdfSettings): void;
|
|
8
9
|
/**
|
|
9
10
|
* Export file from provided array-like table data
|
|
10
11
|
*/
|
|
11
|
-
exportFromDataTables(dataTables: ExportDataTable[],
|
|
12
|
+
exportFromDataTables(dataTables: ExportDataTable[], fileSettings: PdfSettings): void;
|
|
12
13
|
/**
|
|
13
14
|
* Generate file from array-like table data
|
|
14
15
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './at-least-one.validator';
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export * from './lib/tt-core.module';
|
|
|
6
6
|
* Collections
|
|
7
7
|
*/
|
|
8
8
|
export * from './lib/collections/collection';
|
|
9
|
+
export * from './lib/collections/account-setup-item.collection';
|
|
9
10
|
export * from './lib/collections/bank-account.collection';
|
|
10
11
|
export * from './lib/collections/bank-transaction.collection';
|
|
11
12
|
export * from './lib/collections/client.collection';
|
|
@@ -17,7 +18,6 @@ export * from './lib/collections/depreciation-forecast.collection';
|
|
|
17
18
|
export * from './lib/collections/employee.collection';
|
|
18
19
|
export * from './lib/collections/income-source.collection';
|
|
19
20
|
export * from './lib/collections/loan.collection';
|
|
20
|
-
export * from './lib/collections/logbook.collection';
|
|
21
21
|
export * from './lib/collections/message.collection';
|
|
22
22
|
export * from './lib/collections/message-document.collection';
|
|
23
23
|
export * from './lib/collections/property/property.collection';
|
|
@@ -33,6 +33,8 @@ export * from './lib/collections/tax-review.collection';
|
|
|
33
33
|
export * from './lib/collections/transaction-allocation.collection';
|
|
34
34
|
export * from './lib/collections/transaction.collection';
|
|
35
35
|
export * from './lib/collections/user-event-setting.collection';
|
|
36
|
+
export * from './lib/collections/vehicle.collection';
|
|
37
|
+
export * from './lib/collections/vehicle-logbook.collection';
|
|
36
38
|
/**
|
|
37
39
|
* DB models
|
|
38
40
|
*/
|
|
@@ -125,6 +127,7 @@ export * from './lib/db/Enums/property/property-sale/tax-exemption-metadata.enum
|
|
|
125
127
|
/**
|
|
126
128
|
* Models and related enums and consts
|
|
127
129
|
*/
|
|
130
|
+
export * from './lib/models/account-setup/account-setup-item';
|
|
128
131
|
export * from './lib/models/address/address';
|
|
129
132
|
export * from './lib/models/address/country';
|
|
130
133
|
export * from './lib/models/bank/bank';
|
|
@@ -150,11 +153,13 @@ export * from './lib/models/chart-accounts/chart-accounts-depreciation';
|
|
|
150
153
|
export * from './lib/models/chart-accounts/chart-accounts-heading';
|
|
151
154
|
export * from './lib/models/chart-accounts/chart-accounts-metadata';
|
|
152
155
|
export * from './lib/models/chart-accounts/chart-accounts-tax-labels.enum';
|
|
156
|
+
export * from './lib/models/chart-accounts/chart-accounts-value';
|
|
153
157
|
export * from './lib/models/chat/chat';
|
|
154
158
|
export * from './lib/models/chat/chat-view-type.enum';
|
|
155
159
|
export * from './lib/models/chat/message';
|
|
156
160
|
export * from './lib/models/chat/message-document';
|
|
157
161
|
export * from './lib/models/client/client-details';
|
|
162
|
+
export * from './lib/models/client/client-income-types';
|
|
158
163
|
export * from './lib/models/client/client-invite';
|
|
159
164
|
export * from './lib/models/client/client-movement';
|
|
160
165
|
export * from './lib/models/client/client-portfolio-chart-data';
|
|
@@ -204,6 +209,8 @@ export * from './lib/models/logbook/vehicle';
|
|
|
204
209
|
export * from './lib/models/logbook/vehicle-claim';
|
|
205
210
|
export * from './lib/models/logbook/vehicle-logbook';
|
|
206
211
|
export * from './lib/models/notification/notification';
|
|
212
|
+
export * from './lib/models/pdf/pdf-orientation.enum';
|
|
213
|
+
export * from './lib/models/pdf/pdf-settings';
|
|
207
214
|
export * from './lib/models/phone/phone';
|
|
208
215
|
export * from './lib/models/property/calculation-form-item';
|
|
209
216
|
export * from './lib/models/property/calculation-form-type.enum';
|
|
@@ -268,6 +275,7 @@ export * from './lib/models/user-event/user-event-type';
|
|
|
268
275
|
/**
|
|
269
276
|
* Services
|
|
270
277
|
*/
|
|
278
|
+
export * from './lib/services/account-setup/account-setup.service';
|
|
271
279
|
export * from './lib/services/http/address/address.service';
|
|
272
280
|
export * from './lib/services/asset/assets.service';
|
|
273
281
|
export * from './lib/services/auth/auth.service';
|
|
@@ -293,6 +301,7 @@ export * from './lib/services/http/depreciation/depreciation.service';
|
|
|
293
301
|
export * from './lib/services/http/document/document-folder/document-folder.service';
|
|
294
302
|
export * from './lib/services/http/firm/employee/employee.service';
|
|
295
303
|
export * from './lib/services/http/firm/employee-invite/employee-invite.service';
|
|
304
|
+
export * from './lib/services/http/firm/client-income/client-income-types.service';
|
|
296
305
|
export * from './lib/services/event/event-dispatcher.service';
|
|
297
306
|
export * from './lib/services/event/sse.service';
|
|
298
307
|
export * from './lib/services/http/firm/firm.service';
|
|
@@ -333,6 +342,8 @@ export * from './lib/services/user/user-switcher.service';
|
|
|
333
342
|
export * from './lib/services/http/user/user-event-setting/user-event-setting.service';
|
|
334
343
|
export * from './lib/services/http/user/user-event-type/user-event-type.service';
|
|
335
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';
|
|
336
347
|
export * from './lib/services/xlsx/xlsx.service';
|
|
337
348
|
export * from './lib/services/http/property/property-sale/tax-exemption/tax-exemption.service';
|
|
338
349
|
/**
|
|
@@ -353,6 +364,7 @@ export * from './lib/interfaces/exportable.interface';
|
|
|
353
364
|
export * from './lib/interfaces/receipt.interface';
|
|
354
365
|
export * from './lib/interfaces/tank.interface';
|
|
355
366
|
export * from './lib/interfaces/updatable.interface';
|
|
367
|
+
export * from './lib/interfaces/expense.interface';
|
|
356
368
|
/**
|
|
357
369
|
* Functions
|
|
358
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
|
-
}
|