taxtank-core 0.10.4 → 0.10.5
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 +926 -1122
- package/bundles/taxtank-core.umd.js.map +1 -1
- package/esm2015/lib/collections/collection-dictionary.js +6 -6
- package/esm2015/lib/models/depreciation/depreciation.js +3 -3
- package/esm2015/public-api.js +1 -6
- package/fesm2015/taxtank-core.js +675 -843
- package/fesm2015/taxtank-core.js.map +1 -1
- package/lib/collections/collection-dictionary.d.ts +1 -1
- package/lib/models/depreciation/depreciation.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +0 -5
- package/esm2015/lib/collections/report/property/property-report-item-depreciation.collection.js +0 -19
- package/esm2015/lib/collections/report/property/property-report-item-transaction.collection.js +0 -19
- package/esm2015/lib/models/report/property/property-report-item-depreciation.js +0 -13
- package/esm2015/lib/models/report/property/property-report-item-transaction.js +0 -12
- package/esm2015/lib/models/report/property/property-report-item.js +0 -18
- package/esm2015/lib/services/report/property/property-transaction-report.service.js +0 -112
- package/lib/collections/report/property/property-report-item-depreciation.collection.d.ts +0 -12
- package/lib/collections/report/property/property-report-item-transaction.collection.d.ts +0 -12
- package/lib/models/report/property/property-report-item-depreciation.d.ts +0 -10
- package/lib/models/report/property/property-report-item-transaction.d.ts +0 -10
- package/lib/models/report/property/property-report-item.d.ts +0 -18
- package/lib/services/report/property/property-transaction-report.service.d.ts +0 -49
|
@@ -18,7 +18,7 @@ export declare class CollectionDictionary<Collection extends BaseCollection<obje
|
|
|
18
18
|
* @param path Path to the property to be grouped (Examples: 'transaction', 'property.category')
|
|
19
19
|
* @param prop Optional: Field to group by (Default 'id', Examples: 'id', 'amount', 'date')
|
|
20
20
|
*/
|
|
21
|
-
constructor(collection: Collection, path?: string);
|
|
21
|
+
constructor(collection: Collection, path?: string, prop?: string);
|
|
22
22
|
/**
|
|
23
23
|
* List of collections keys
|
|
24
24
|
*/
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -23,8 +23,6 @@ export * from './lib/collections/message-document.collection';
|
|
|
23
23
|
export * from './lib/collections/property/property.collection';
|
|
24
24
|
export * from './lib/collections/report/depreciation/depreciation-lvp-report-item.collection';
|
|
25
25
|
export * from './lib/collections/report/depreciation/depreciation-report-item.collection';
|
|
26
|
-
export * from './lib/collections/report/property/property-report-item-transaction.collection';
|
|
27
|
-
export * from './lib/collections/report/property/property-report-item-depreciation.collection';
|
|
28
26
|
export * from './lib/collections/service-price.collection';
|
|
29
27
|
export * from './lib/collections/service-subscription.collection';
|
|
30
28
|
export * from './lib/collections/tax-summary/report-item.collection';
|
|
@@ -225,8 +223,6 @@ export * from './lib/models/registration-invite/registration-invite';
|
|
|
225
223
|
export * from './lib/models/report/depreciation/depreciation-lvp-report-item';
|
|
226
224
|
export * from './lib/models/report/depreciation/depreciation-report-item';
|
|
227
225
|
export * from './lib/models/report/depreciation/depreciation-lvp-asset-type.enum';
|
|
228
|
-
export * from './lib/models/report/property/property-report-item';
|
|
229
|
-
export * from './lib/models/report/property/property-report-item-transaction';
|
|
230
226
|
export * from './lib/models/service-subscription/module-url-list.const';
|
|
231
227
|
export * from './lib/models/service-subscription/service-payment';
|
|
232
228
|
export * from './lib/models/service-subscription/service-price';
|
|
@@ -304,7 +300,6 @@ export * from './lib/services/http/loan/loan.service';
|
|
|
304
300
|
export * from './lib/services/http/service-notification/service-notification.service';
|
|
305
301
|
export * from './lib/services/pdf/pdf.service';
|
|
306
302
|
export * from './lib/services/preloader/preloader.service';
|
|
307
|
-
export * from './lib/services/report/property/property-transaction-report.service';
|
|
308
303
|
export * from './lib/services/property/corelogic/corelogic.service';
|
|
309
304
|
export * from './lib/services/http/property/property.service';
|
|
310
305
|
export * from './lib/services/property/property-calculation/property-calculation.service';
|
package/esm2015/lib/collections/report/property/property-report-item-depreciation.collection.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Collection } from '../../collection';
|
|
2
|
-
import { CollectionDictionary } from '../../collection-dictionary';
|
|
3
|
-
import { PropertyReportItemDepreciation } from '../../../models/report/property/property-report-item-depreciation';
|
|
4
|
-
/**
|
|
5
|
-
* Collection to work with depreciation-based property report items
|
|
6
|
-
*/
|
|
7
|
-
export class PropertyReportItemDepreciationCollection extends Collection {
|
|
8
|
-
constructor(depreciations, property, chartAccounts) {
|
|
9
|
-
super();
|
|
10
|
-
this.setItems(depreciations, property, chartAccounts);
|
|
11
|
-
}
|
|
12
|
-
setItems(depreciations, property, chartAccounts) {
|
|
13
|
-
const depreciationsbyType = new CollectionDictionary(depreciations, 'type');
|
|
14
|
-
this.items = depreciationsbyType.keys.map((type) => {
|
|
15
|
-
return new PropertyReportItemDepreciation(depreciationsbyType.get(type), property, chartAccounts.getById(depreciationsbyType.get(type).first.chartAccounts.id));
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktcmVwb3J0LWl0ZW0tZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvcmVwb3J0L3Byb3BlcnR5L3Byb3BlcnR5LXJlcG9ydC1pdGVtLWRlcHJlY2lhdGlvbi5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUs5QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUVuSDs7R0FFRztBQUNILE1BQU0sT0FBTyx3Q0FBeUMsU0FBUSxVQUE4QjtJQUMxRixZQUNFLGFBQXFDLEVBQ3JDLFFBQWtCLEVBQ2xCLGFBQXdDO1FBRXhDLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBQ3ZELENBQUM7SUFFTyxRQUFRLENBQUMsYUFBcUMsRUFBRSxRQUFrQixFQUFFLGFBQXdDO1FBQ2xILE1BQU0sbUJBQW1CLEdBQWlELElBQUksb0JBQW9CLENBQ2hHLGFBQWEsRUFDYixNQUFNLENBQ1AsQ0FBQztRQUVGLElBQUksQ0FBQyxLQUFLLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFO1lBQ3pELE9BQU8sSUFBSSw4QkFBOEIsQ0FDdkMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUM3QixRQUFRLEVBQ1IsYUFBYSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FDNUUsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgUHJvcGVydHlSZXBvcnRJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS1yZXBvcnQtaXRlbSc7XG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9kZXByZWNpYXRpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBDb2xsZWN0aW9uRGljdGlvbmFyeSB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb24tZGljdGlvbmFyeSc7XG5pbXBvcnQgeyBQcm9wZXJ0eVJlcG9ydEl0ZW1EZXByZWNpYXRpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcmVwb3J0L3Byb3BlcnR5L3Byb3BlcnR5LXJlcG9ydC1pdGVtLWRlcHJlY2lhdGlvbic7XG5cbi8qKlxuICogQ29sbGVjdGlvbiB0byB3b3JrIHdpdGggZGVwcmVjaWF0aW9uLWJhc2VkIHByb3BlcnR5IHJlcG9ydCBpdGVtc1xuICovXG5leHBvcnQgY2xhc3MgUHJvcGVydHlSZXBvcnRJdGVtRGVwcmVjaWF0aW9uQ29sbGVjdGlvbiBleHRlbmRzIENvbGxlY3Rpb248UHJvcGVydHlSZXBvcnRJdGVtPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24sXG4gICAgcHJvcGVydHk6IFByb3BlcnR5LFxuICAgIGNoYXJ0QWNjb3VudHM6IENvbGxlY3Rpb248Q2hhcnRBY2NvdW50cz5cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnNldEl0ZW1zKGRlcHJlY2lhdGlvbnMsIHByb3BlcnR5LCBjaGFydEFjY291bnRzKVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRJdGVtcyhkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uLCBwcm9wZXJ0eTogUHJvcGVydHksIGNoYXJ0QWNjb3VudHM6IENvbGxlY3Rpb248Q2hhcnRBY2NvdW50cz4pOiB2b2lkIHtcbiAgICBjb25zdCBkZXByZWNpYXRpb25zYnlUeXBlOiBDb2xsZWN0aW9uRGljdGlvbmFyeTxEZXByZWNpYXRpb25Db2xsZWN0aW9uPiA9IG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeTxEZXByZWNpYXRpb25Db2xsZWN0aW9uPihcbiAgICAgIGRlcHJlY2lhdGlvbnMsXG4gICAgICAndHlwZSdcbiAgICApO1xuXG4gICAgdGhpcy5pdGVtcyA9IGRlcHJlY2lhdGlvbnNieVR5cGUua2V5cy5tYXAoKHR5cGU6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIG5ldyBQcm9wZXJ0eVJlcG9ydEl0ZW1EZXByZWNpYXRpb24oXG4gICAgICAgIGRlcHJlY2lhdGlvbnNieVR5cGUuZ2V0KHR5cGUpLFxuICAgICAgICBwcm9wZXJ0eSxcbiAgICAgICAgY2hhcnRBY2NvdW50cy5nZXRCeUlkKGRlcHJlY2lhdGlvbnNieVR5cGUuZ2V0KHR5cGUpLmZpcnN0LmNoYXJ0QWNjb3VudHMuaWQpXG4gICAgICApXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
package/esm2015/lib/collections/report/property/property-report-item-transaction.collection.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Collection } from '../../collection';
|
|
2
|
-
import { CollectionDictionary } from '../../collection-dictionary';
|
|
3
|
-
import { PropertyReportItemTransaction } from '../../../models/report/property/property-report-item-transaction';
|
|
4
|
-
/**
|
|
5
|
-
* Collection to work with transaction-based property report items
|
|
6
|
-
*/
|
|
7
|
-
export class PropertyReportItemTransactionCollection extends Collection {
|
|
8
|
-
constructor(transactions, property, chartAccounts) {
|
|
9
|
-
super();
|
|
10
|
-
this.setItems(transactions, property, chartAccounts);
|
|
11
|
-
}
|
|
12
|
-
setItems(transactions, property, chartAccounts) {
|
|
13
|
-
const transactionsDictionary = new CollectionDictionary(transactions, 'chartAccounts.id');
|
|
14
|
-
this.items = transactionsDictionary.keys.map((chartAccountId) => {
|
|
15
|
-
return new PropertyReportItemTransaction(transactionsDictionary.get(chartAccountId), property, chartAccounts.getById(+chartAccountId));
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktcmVwb3J0LWl0ZW0tdHJhbnNhY3Rpb24uY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9yZXBvcnQvcHJvcGVydHkvcHJvcGVydHktcmVwb3J0LWl0ZW0tdHJhbnNhY3Rpb24uY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFLOUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFFakg7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUNBQXdDLFNBQVEsVUFBOEI7SUFDekYsWUFDRSxZQUFtQyxFQUNuQyxRQUFrQixFQUNsQixhQUF3QztRQUV4QyxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8sUUFBUSxDQUFDLFlBQW1DLEVBQUUsUUFBa0IsRUFBRSxhQUF3QztRQUNoSCxNQUFNLHNCQUFzQixHQUFnRCxJQUFJLG9CQUFvQixDQUNsRyxZQUFZLEVBQ1osa0JBQWtCLENBQ25CLENBQUM7UUFFRixJQUFJLENBQUMsS0FBSyxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxjQUFzQixFQUFFLEVBQUU7WUFDdEUsT0FBTyxJQUFJLDZCQUE2QixDQUN0QyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQzFDLFFBQVEsRUFDUixhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQ3ZDLENBQUE7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IFByb3BlcnR5UmVwb3J0SXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9yZXBvcnQvcHJvcGVydHkvcHJvcGVydHktcmVwb3J0LWl0ZW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCB7IENvbGxlY3Rpb25EaWN0aW9uYXJ5IH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbi1kaWN0aW9uYXJ5JztcbmltcG9ydCB7IFByb3BlcnR5UmVwb3J0SXRlbVRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS1yZXBvcnQtaXRlbS10cmFuc2FjdGlvbic7XG5cbi8qKlxuICogQ29sbGVjdGlvbiB0byB3b3JrIHdpdGggdHJhbnNhY3Rpb24tYmFzZWQgcHJvcGVydHkgcmVwb3J0IGl0ZW1zXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eVJlcG9ydEl0ZW1UcmFuc2FjdGlvbkNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPFByb3BlcnR5UmVwb3J0SXRlbT4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbixcbiAgICBwcm9wZXJ0eTogUHJvcGVydHksXG4gICAgY2hhcnRBY2NvdW50czogQ29sbGVjdGlvbjxDaGFydEFjY291bnRzPlxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuc2V0SXRlbXModHJhbnNhY3Rpb25zLCBwcm9wZXJ0eSwgY2hhcnRBY2NvdW50cyk7XG4gIH1cblxuICBwcml2YXRlIHNldEl0ZW1zKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uLCBwcm9wZXJ0eTogUHJvcGVydHksIGNoYXJ0QWNjb3VudHM6IENvbGxlY3Rpb248Q2hhcnRBY2NvdW50cz4pOiB2b2lkIHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbnNEaWN0aW9uYXJ5OiBDb2xsZWN0aW9uRGljdGlvbmFyeTxUcmFuc2FjdGlvbkNvbGxlY3Rpb24+ID0gbmV3IENvbGxlY3Rpb25EaWN0aW9uYXJ5PFRyYW5zYWN0aW9uQ29sbGVjdGlvbj4oXG4gICAgICB0cmFuc2FjdGlvbnMsXG4gICAgICAnY2hhcnRBY2NvdW50cy5pZCdcbiAgICApO1xuXG4gICAgdGhpcy5pdGVtcyA9IHRyYW5zYWN0aW9uc0RpY3Rpb25hcnkua2V5cy5tYXAoKGNoYXJ0QWNjb3VudElkOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiBuZXcgUHJvcGVydHlSZXBvcnRJdGVtVHJhbnNhY3Rpb24oXG4gICAgICAgIHRyYW5zYWN0aW9uc0RpY3Rpb25hcnkuZ2V0KGNoYXJ0QWNjb3VudElkKSxcbiAgICAgICAgcHJvcGVydHksXG4gICAgICAgIGNoYXJ0QWNjb3VudHMuZ2V0QnlJZCgrY2hhcnRBY2NvdW50SWQpXG4gICAgICApXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { PropertyReportItem } from './property-report-item';
|
|
2
|
-
import { DepreciationTypeEnum } from '../../../db/Enums/depreciation-type.enum';
|
|
3
|
-
/**
|
|
4
|
-
* Class with depreciation-based property transactions report entities
|
|
5
|
-
*/
|
|
6
|
-
export class PropertyReportItemDepreciation extends PropertyReportItem {
|
|
7
|
-
constructor(depreciations, property, chartAccounts) {
|
|
8
|
-
super(property, chartAccounts);
|
|
9
|
-
this.amount = depreciations.getCurrentYearForecastAmount();
|
|
10
|
-
this.description = DepreciationTypeEnum[depreciations.first.type];
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktcmVwb3J0LWl0ZW0tZGVwcmVjaWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9yZXBvcnQvcHJvcGVydHkvcHJvcGVydHktcmVwb3J0LWl0ZW0tZGVwcmVjaWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSTVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRWhGOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDhCQUErQixTQUFRLGtCQUFrQjtJQUNwRSxZQUNFLGFBQXFDLEVBQ3JDLFFBQWtCLEVBQ2xCLGFBQTRCO1FBRTVCLEtBQUssQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsV0FBVyxHQUFJLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDcEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvcGVydHlSZXBvcnRJdGVtIH0gZnJvbSAnLi9wcm9wZXJ0eS1yZXBvcnQtaXRlbSc7XG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4uLy4uL3Byb3BlcnR5L3Byb3BlcnR5JztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHMgfSBmcm9tICcuLi8uLi9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cyc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMvZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9kYi9FbnVtcy9kZXByZWNpYXRpb24tdHlwZS5lbnVtJztcblxuLyoqXG4gKiBDbGFzcyB3aXRoIGRlcHJlY2lhdGlvbi1iYXNlZCBwcm9wZXJ0eSB0cmFuc2FjdGlvbnMgcmVwb3J0IGVudGl0aWVzXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eVJlcG9ydEl0ZW1EZXByZWNpYXRpb24gZXh0ZW5kcyBQcm9wZXJ0eVJlcG9ydEl0ZW0ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uLFxuICAgIHByb3BlcnR5OiBQcm9wZXJ0eSxcbiAgICBjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzXG4gICkge1xuICAgIHN1cGVyKHByb3BlcnR5LCBjaGFydEFjY291bnRzKTtcbiAgICB0aGlzLmFtb3VudCA9IGRlcHJlY2lhdGlvbnMuZ2V0Q3VycmVudFllYXJGb3JlY2FzdEFtb3VudCgpO1xuICAgIHRoaXMuZGVzY3JpcHRpb24gPSAgRGVwcmVjaWF0aW9uVHlwZUVudW1bZGVwcmVjaWF0aW9ucy5maXJzdC50eXBlXVxuICB9XG59XG4iXX0=
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { PropertyReportItem } from './property-report-item';
|
|
2
|
-
/**
|
|
3
|
-
* Class with transaction-based property transactions report entities
|
|
4
|
-
*/
|
|
5
|
-
export class PropertyReportItemTransaction extends PropertyReportItem {
|
|
6
|
-
constructor(transactions, property, chartAccounts) {
|
|
7
|
-
super(property, chartAccounts);
|
|
8
|
-
this.amount = transactions.amount;
|
|
9
|
-
this.description = chartAccounts.name;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktcmVwb3J0LWl0ZW0tdHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS1yZXBvcnQtaXRlbS10cmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUs1RDs7R0FFRztBQUNILE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxrQkFBa0I7SUFDbkUsWUFDRSxZQUFtQyxFQUNuQyxRQUFrQixFQUNsQixhQUE0QjtRQUU1QixLQUFLLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUE7SUFDdkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvcGVydHlSZXBvcnRJdGVtIH0gZnJvbSAnLi9wcm9wZXJ0eS1yZXBvcnQtaXRlbSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi4vLi4vcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uLy4uL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcblxuLyoqXG4gKiBDbGFzcyB3aXRoIHRyYW5zYWN0aW9uLWJhc2VkIHByb3BlcnR5IHRyYW5zYWN0aW9ucyByZXBvcnQgZW50aXRpZXNcbiAqL1xuZXhwb3J0IGNsYXNzIFByb3BlcnR5UmVwb3J0SXRlbVRyYW5zYWN0aW9uIGV4dGVuZHMgUHJvcGVydHlSZXBvcnRJdGVtIHtcbiAgY29uc3RydWN0b3IoXG4gICAgdHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sXG4gICAgcHJvcGVydHk6IFByb3BlcnR5LFxuICAgIGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHNcbiAgKSB7XG4gICAgc3VwZXIocHJvcGVydHksIGNoYXJ0QWNjb3VudHMpO1xuICAgIHRoaXMuYW1vdW50ID0gdHJhbnNhY3Rpb25zLmFtb3VudDtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gY2hhcnRBY2NvdW50cy5uYW1lXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Class with property transactions report entities
|
|
3
|
-
*/
|
|
4
|
-
export class PropertyReportItem {
|
|
5
|
-
constructor(property, chartAccounts) {
|
|
6
|
-
this.claimPercent = property.claimPercent;
|
|
7
|
-
this.sharePercent = property.sharePercent;
|
|
8
|
-
this.subCode = chartAccounts.taxReturnItem.subCode;
|
|
9
|
-
this.description = chartAccounts.name;
|
|
10
|
-
}
|
|
11
|
-
get claimAmount() {
|
|
12
|
-
return +(this.amount * (this.claimPercent / 100)).toFixed(2);
|
|
13
|
-
}
|
|
14
|
-
get shareClaimAmount() {
|
|
15
|
-
return this.claimAmount * (this.sharePercent / 100);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktcmVwb3J0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS1yZXBvcnQtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFXN0IsWUFDRSxRQUFrQixFQUNsQixhQUE0QjtRQUU1QixJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7UUFDbkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFBO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4uLy4uL3Byb3BlcnR5L3Byb3BlcnR5JztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHMgfSBmcm9tICcuLi8uLi9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cyc7XG5cbi8qKlxuICogQ2xhc3Mgd2l0aCBwcm9wZXJ0eSB0cmFuc2FjdGlvbnMgcmVwb3J0IGVudGl0aWVzXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eVJlcG9ydEl0ZW0ge1xuICBhbW91bnQ6IG51bWJlcjtcbiAgZGVzY3JpcHRpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGF4IHJldHVybiBpdGVtIHN1Yi1jb2RlXG4gICAqL1xuICBzdWJDb2RlOiBzdHJpbmc7XG4gIHNoYXJlUGVyY2VudDogbnVtYmVyO1xuICBjbGFpbVBlcmNlbnQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm9wZXJ0eTogUHJvcGVydHksXG4gICAgY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50c1xuICApIHtcbiAgICB0aGlzLmNsYWltUGVyY2VudCA9IHByb3BlcnR5LmNsYWltUGVyY2VudDtcbiAgICB0aGlzLnNoYXJlUGVyY2VudCA9IHByb3BlcnR5LnNoYXJlUGVyY2VudDtcbiAgICB0aGlzLnN1YkNvZGUgPSBjaGFydEFjY291bnRzLnRheFJldHVybkl0ZW0uc3ViQ29kZTtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gY2hhcnRBY2NvdW50cy5uYW1lXG4gIH1cblxuICBnZXQgY2xhaW1BbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKyh0aGlzLmFtb3VudCAqICh0aGlzLmNsYWltUGVyY2VudCAvIDEwMCkpLnRvRml4ZWQoMik7XG4gIH1cblxuICBnZXQgc2hhcmVDbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNsYWltQW1vdW50ICogKHRoaXMuc2hhcmVQZXJjZW50IC8gMTAwKTtcbiAgfVxufVxuIl19
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { combineLatest } from 'rxjs';
|
|
3
|
-
import { DepreciationCollection } from '../../../collections/depreciation.collection';
|
|
4
|
-
import { CHART_ACCOUNTS_CATEGORIES } from '../../../models/chart-accounts/chart-accounts-categories.const';
|
|
5
|
-
import { Collection } from '../../../collections/collection';
|
|
6
|
-
import { CollectionDictionary } from '../../../collections/collection-dictionary';
|
|
7
|
-
import { TransactionCollection } from '../../../collections/transaction.collection';
|
|
8
|
-
import { map } from 'rxjs/operators';
|
|
9
|
-
import { PropertyCollection } from '../../../collections/property/property.collection';
|
|
10
|
-
import { PropertyReportItemTransactionCollection } from '../../../collections/report/property/property-report-item-transaction.collection';
|
|
11
|
-
import { PropertyReportItemDepreciationCollection } from '../../../collections/report/property/property-report-item-depreciation.collection';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "../../http/property/property.service";
|
|
14
|
-
import * as i2 from "../../http/transaction/transaction.service";
|
|
15
|
-
import * as i3 from "../../http/depreciation/depreciation.service";
|
|
16
|
-
import * as i4 from "../../http/chart-accounts/chart-accounts.service";
|
|
17
|
-
/**
|
|
18
|
-
* Service to handle Property transactions report items data (get income / expense report items, e.t.c.)
|
|
19
|
-
*/
|
|
20
|
-
export class PropertyTransactionReportService {
|
|
21
|
-
constructor(propertyService, transactionService, depreciationService, chartAccountsService) {
|
|
22
|
-
this.propertyService = propertyService;
|
|
23
|
-
this.transactionService = transactionService;
|
|
24
|
-
this.depreciationService = depreciationService;
|
|
25
|
-
this.chartAccountsService = chartAccountsService;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Get collections dictionary of income report items, grouped by property id
|
|
29
|
-
*/
|
|
30
|
-
getIncomes() {
|
|
31
|
-
return combineLatest([
|
|
32
|
-
this.getProperties(),
|
|
33
|
-
this.getTransactions(),
|
|
34
|
-
this.getChartAccounts(),
|
|
35
|
-
]).pipe(map(([properties, transactions, chartAccounts]) => {
|
|
36
|
-
return this.initIncomeItemsData(transactions, properties, chartAccounts);
|
|
37
|
-
}));
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Get collections dictionary of expense report items, grouped by property id
|
|
41
|
-
*/
|
|
42
|
-
getExpenses() {
|
|
43
|
-
return combineLatest([
|
|
44
|
-
this.getProperties(),
|
|
45
|
-
this.getTransactions(),
|
|
46
|
-
this.getDepreciations(),
|
|
47
|
-
this.getChartAccounts()
|
|
48
|
-
]).pipe(map(([properties, transactions, depreciations, chartAccounts]) => {
|
|
49
|
-
return this.initExpenseItemsData(transactions, depreciations, properties, chartAccounts);
|
|
50
|
-
}));
|
|
51
|
-
}
|
|
52
|
-
initIncomeItemsData(transactions, properties, chartAccounts) {
|
|
53
|
-
// empty collection dictionary to be filled with income report items
|
|
54
|
-
const incomesByProperty = new CollectionDictionary(new Collection([]), 'property.id');
|
|
55
|
-
const incomeTransactionsByProperty = new CollectionDictionary(transactions.getIncomeTransactions(), 'property.id');
|
|
56
|
-
incomeTransactionsByProperty.keys.forEach((propertyId) => {
|
|
57
|
-
incomesByProperty.add(propertyId, new PropertyReportItemTransactionCollection(incomeTransactionsByProperty.get(propertyId), properties.getById(+propertyId), chartAccounts));
|
|
58
|
-
});
|
|
59
|
-
return incomesByProperty;
|
|
60
|
-
}
|
|
61
|
-
initExpenseItemsData(transactions, depreciations, properties, chartAccounts) {
|
|
62
|
-
// empty collection dictionary to be filled with expense report items
|
|
63
|
-
const expensesByProperty = new CollectionDictionary(new Collection([]), 'property.id');
|
|
64
|
-
const transactionsByProperty = new CollectionDictionary(transactions.getExpenseTransactions(), 'property.id');
|
|
65
|
-
const depreciationsByProperty = new CollectionDictionary(depreciations, 'property.id');
|
|
66
|
-
transactionsByProperty.keys.forEach((propertyId) => {
|
|
67
|
-
expensesByProperty.add(propertyId, new Collection([
|
|
68
|
-
...new PropertyReportItemTransactionCollection(transactionsByProperty.get(propertyId), properties.getById(+propertyId), chartAccounts).items,
|
|
69
|
-
...new PropertyReportItemDepreciationCollection(depreciationsByProperty.get(propertyId), properties.getById(+propertyId), chartAccounts).items
|
|
70
|
-
]));
|
|
71
|
-
});
|
|
72
|
-
return expensesByProperty;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Get colection of property transactions
|
|
76
|
-
*/
|
|
77
|
-
getTransactions() {
|
|
78
|
-
return this.transactionService.get().pipe(map((transactions) => {
|
|
79
|
-
return new TransactionCollection(transactions)
|
|
80
|
-
.getByChartAccountsCategories(CHART_ACCOUNTS_CATEGORIES.property);
|
|
81
|
-
}));
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Get list of asset & capital property depreciations
|
|
85
|
-
*/
|
|
86
|
-
getDepreciations() {
|
|
87
|
-
return this.depreciationService.get().pipe(map((depreciations) => {
|
|
88
|
-
return new DepreciationCollection(depreciations)
|
|
89
|
-
.getByChartAccountsCategories(CHART_ACCOUNTS_CATEGORIES.property)
|
|
90
|
-
.getWithoutBorrowingExpenses();
|
|
91
|
-
}));
|
|
92
|
-
}
|
|
93
|
-
getProperties() {
|
|
94
|
-
return this.propertyService.get().pipe(map((properties) => {
|
|
95
|
-
return new PropertyCollection(properties);
|
|
96
|
-
}));
|
|
97
|
-
}
|
|
98
|
-
getChartAccounts() {
|
|
99
|
-
return this.chartAccountsService.getChartAccounts().pipe(map((chartAccounts) => {
|
|
100
|
-
return new Collection(chartAccounts);
|
|
101
|
-
}));
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
PropertyTransactionReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyTransactionReportService, deps: [{ token: i1.PropertyService }, { token: i2.TransactionService }, { token: i3.DepreciationService }, { token: i4.ChartAccountsService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
105
|
-
PropertyTransactionReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyTransactionReportService, providedIn: 'root' });
|
|
106
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyTransactionReportService, decorators: [{
|
|
107
|
-
type: Injectable,
|
|
108
|
-
args: [{
|
|
109
|
-
providedIn: 'root'
|
|
110
|
-
}]
|
|
111
|
-
}], ctorParameters: function () { return [{ type: i1.PropertyService }, { type: i2.TransactionService }, { type: i3.DepreciationService }, { type: i4.ChartAccountsService }]; } });
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktdHJhbnNhY3Rpb24tcmVwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvcmVwb3J0L3Byb3BlcnR5L3Byb3BlcnR5LXRyYW5zYWN0aW9uLXJlcG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLM0MsT0FBTyxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUtqRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUMzRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3ZGLE9BQU8sRUFDTCx1Q0FBdUMsRUFDeEMsTUFBTSxrRkFBa0YsQ0FBQztBQUMxRixPQUFPLEVBQ0wsd0NBQXdDLEVBQ3pDLE1BQU0sbUZBQW1GLENBQUM7Ozs7OztBQUUzRjs7R0FFRztBQUlILE1BQU0sT0FBTyxnQ0FBZ0M7SUFNM0MsWUFDVSxlQUFnQyxFQUNoQyxrQkFBc0MsRUFDdEMsbUJBQXdDLEVBQ3hDLG9CQUEwQztRQUgxQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hD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Q3RELEdBQUcsQ0FBQyxDQUFDLGFBQThCLEVBQUUsRUFBRTtZQUNyQyxPQUFPLElBQUksVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDOzs4SEE1SlUsZ0NBQWdDO2tJQUFoQyxnQ0FBZ0MsY0FGL0IsTUFBTTs0RkFFUCxnQ0FBZ0M7a0JBSDVDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvcGVydHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaHR0cC9wcm9wZXJ0eS9wcm9wZXJ0eS5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2h0dHAvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaHR0cC9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9odHRwL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJvcGVydHkgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cyc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMvZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy1jYXRlZ29yaWVzLmNvbnN0JztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uJztcbmltcG9ydCB7IFByb3BlcnR5UmVwb3J0SXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9yZXBvcnQvcHJvcGVydHkvcHJvcGVydHktcmVwb3J0LWl0ZW0nO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkRpY3Rpb25hcnkgfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uLWRpY3Rpb25hcnknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMvdHJhbnNhY3Rpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucy9wcm9wZXJ0eS9wcm9wZXJ0eS5jb2xsZWN0aW9uJztcbmltcG9ydCB7XG4gIFByb3BlcnR5UmVwb3J0SXRlbVRyYW5zYWN0aW9uQ29sbGVjdGlvblxufSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucy9yZXBvcnQvcHJvcGVydHkvcHJvcGVydHktcmVwb3J0LWl0ZW0tdHJhbnNhY3Rpb24uY29sbGVjdGlvbic7XG5pbXBvcnQge1xuICBQcm9wZXJ0eVJlcG9ydEl0ZW1EZXByZWNpYXRpb25Db2xsZWN0aW9uXG59IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zL3JlcG9ydC9wcm9wZXJ0eS9wcm9wZXJ0eS1yZXBvcnQtaXRlbS1kZXByZWNpYXRpb24uY29sbGVjdGlvbic7XG5cbi8qKlxuICogU2VydmljZSB0byBoYW5kbGUgUHJvcGVydHkgdHJhbnNhY3Rpb25zIHJlcG9ydCBpdGVtcyBkYXRhIChnZXQgaW5jb21lIC8gZXhwZW5zZSByZXBvcnQgaXRlbXMsIGUudC5jLilcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHJvcGVydHlUcmFuc2FjdGlvblJlcG9ydFNlcnZpY2Uge1xuICBwcm9wZXJ0aWVzOiBQcm9wZXJ0eVtdO1xuICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbjtcbiAgZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbjtcbiAgY2hhcnRBY2NvdW50czogQ29sbGVjdGlvbjxDaGFydEFjY291bnRzPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHByb3BlcnR5U2VydmljZTogUHJvcGVydHlTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkZXByZWNpYXRpb25TZXJ2aWNlOiBEZXByZWNpYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhcnRBY2NvdW50c1NlcnZpY2U6IENoYXJ0QWNjb3VudHNTZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb2xsZWN0aW9ucyBkaWN0aW9uYXJ5IG9mIGluY29tZSByZXBvcnQgaXRlbXMsIGdyb3VwZWQgYnkgcHJvcGVydHkgaWRcbiAgICovXG4gIGdldEluY29tZXMoKTogT2JzZXJ2YWJsZTxDb2xsZWN0aW9uRGljdGlvbmFyeTxDb2xsZWN0aW9uPFByb3BlcnR5UmVwb3J0SXRlbT4+PiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5nZXRQcm9wZXJ0aWVzKCkgYXMgT2JzZXJ2YWJsZTxQcm9wZXJ0eUNvbGxlY3Rpb24+LFxuICAgICAgdGhpcy5nZXRUcmFuc2FjdGlvbnMoKSBhcyBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uQ29sbGVjdGlvbj4sXG4gICAgICB0aGlzLmdldENoYXJ0QWNjb3VudHMoKSBhcyBPYnNlcnZhYmxlPENvbGxlY3Rpb248Q2hhcnRBY2NvdW50cz4+LFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtwcm9wZXJ0aWVzLCB0cmFuc2FjdGlvbnMsIGNoYXJ0QWNjb3VudHNdKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluaXRJbmNvbWVJdGVtc0RhdGEodHJhbnNhY3Rpb25zLCBwcm9wZXJ0aWVzLCBjaGFydEFjY291bnRzKTtcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb2xsZWN0aW9ucyBkaWN0aW9uYXJ5IG9mIGV4cGVuc2UgcmVwb3J0IGl0ZW1zLCBncm91cGVkIGJ5IHByb3BlcnR5IGlkXG4gICAqL1xuICBnZXRFeHBlbnNlcygpOiBPYnNlcnZhYmxlPENvbGxlY3Rpb25EaWN0aW9uYXJ5PENvbGxlY3Rpb248UHJvcGVydHlSZXBvcnRJdGVtPj4+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmdldFByb3BlcnRpZXMoKSBhcyBPYnNlcnZhYmxlPFByb3BlcnR5Q29sbGVjdGlvbj4sXG4gICAgICB0aGlzLmdldFRyYW5zYWN0aW9ucygpIGFzIE9ic2VydmFibGU8VHJhbnNhY3Rpb25Db2xsZWN0aW9uPixcbiAgICAgIHRoaXMuZ2V0RGVwcmVjaWF0aW9ucygpIGFzIE9ic2VydmFibGU8RGVwcmVjaWF0aW9uQ29sbGVjdGlvbj4sXG4gICAgICB0aGlzLmdldENoYXJ0QWNjb3VudHMoKSBhcyBPYnNlcnZhYmxlPENvbGxlY3Rpb248Q2hhcnRBY2NvdW50cz4+XG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW3Byb3BlcnRpZXMsIHRyYW5zYWN0aW9ucywgZGVwcmVjaWF0aW9ucywgY2hhcnRBY2NvdW50c10pID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5pdEV4cGVuc2VJdGVtc0RhdGEodHJhbnNhY3Rpb25zLCBkZXByZWNpYXRpb25zLCBwcm9wZXJ0aWVzLCBjaGFydEFjY291bnRzKTtcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0SW5jb21lSXRlbXNEYXRhKFxuICAgIHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uLFxuICAgIHByb3BlcnRpZXM6IFByb3BlcnR5Q29sbGVjdGlvbixcbiAgICBjaGFydEFjY291bnRzOiBDb2xsZWN0aW9uPENoYXJ0QWNjb3VudHM+XG4gICk6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PENvbGxlY3Rpb248UHJvcGVydHlSZXBvcnRJdGVtPj4ge1xuICAgIC8vIGVtcHR5IGNvbGxlY3Rpb24gZGljdGlvbmFyeSB0byBiZSBmaWxsZWQgd2l0aCBpbmNvbWUgcmVwb3J0IGl0ZW1zXG4gICAgY29uc3QgaW5jb21lc0J5UHJvcGVydHk6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PENvbGxlY3Rpb248UHJvcGVydHlSZXBvcnRJdGVtPj4gPSBuZXcgQ29sbGVjdGlvbkRpY3Rpb25hcnkoXG4gICAgICBuZXcgQ29sbGVjdGlvbjxQcm9wZXJ0eVJlcG9ydEl0ZW0+KFtdKSxcbiAgICAgICdwcm9wZXJ0eS5pZCdcbiAgICApO1xuXG4gICAgY29uc3QgaW5jb21lVHJhbnNhY3Rpb25zQnlQcm9wZXJ0eTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8VHJhbnNhY3Rpb25Db2xsZWN0aW9uPiA9IG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeShcbiAgICAgIHRyYW5zYWN0aW9ucy5nZXRJbmNvbWVUcmFuc2FjdGlvbnMoKSxcbiAgICAgICdwcm9wZXJ0eS5pZCdcbiAgICApO1xuXG4gICAgaW5jb21lVHJhbnNhY3Rpb25zQnlQcm9wZXJ0eS5rZXlzLmZvckVhY2goKHByb3BlcnR5SWQ6IHN0cmluZykgPT4ge1xuICAgICAgaW5jb21lc0J5UHJvcGVydHkuYWRkKFxuICAgICAgICBwcm9wZXJ0eUlkLFxuICAgICAgICBuZXcgUHJvcGVydHlSZXBvcnRJdGVtVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgICAgIGluY29tZVRyYW5zYWN0aW9uc0J5UHJvcGVydHkuZ2V0KHByb3BlcnR5SWQpLFxuICAgICAgICAgIHByb3BlcnRpZXMuZ2V0QnlJZCgrcHJvcGVydHlJZCksXG4gICAgICAgICAgY2hhcnRBY2NvdW50c1xuICAgICAgICApXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGluY29tZXNCeVByb3BlcnR5O1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0RXhwZW5zZUl0ZW1zRGF0YShcbiAgICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbixcbiAgICBkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uLFxuICAgIHByb3BlcnRpZXM6IFByb3BlcnR5Q29sbGVjdGlvbixcbiAgICBjaGFydEFjY291bnRzOiBDb2xsZWN0aW9uPENoYXJ0QWNjb3VudHM+XG4gICk6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PENvbGxlY3Rpb248UHJvcGVydHlSZXBvcnRJdGVtPj4ge1xuICAgIC8vIGVtcHR5IGNvbGxlY3Rpb24gZGljdGlvbmFyeSB0byBiZSBmaWxsZWQgd2l0aCBleHBlbnNlIHJlcG9ydCBpdGVtc1xuICAgIGNvbnN0IGV4cGVuc2VzQnlQcm9wZXJ0eTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8Q29sbGVjdGlvbjxQcm9wZXJ0eVJlcG9ydEl0ZW0+PiA9IG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeShcbiAgICAgIG5ldyBDb2xsZWN0aW9uPFByb3BlcnR5UmVwb3J0SXRlbT4oW10pLFxuICAgICAgJ3Byb3BlcnR5LmlkJ1xuICAgICk7XG4gICAgY29uc3QgdHJhbnNhY3Rpb25zQnlQcm9wZXJ0eTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8VHJhbnNhY3Rpb25Db2xsZWN0aW9uPiA9IG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeShcbiAgICAgIHRyYW5zYWN0aW9ucy5nZXRFeHBlbnNlVHJhbnNhY3Rpb25zKCksXG4gICAgICAncHJvcGVydHkuaWQnXG4gICAgKTtcblxuICAgIGNvbnN0IGRlcHJlY2lhdGlvbnNCeVByb3BlcnR5OiBDb2xsZWN0aW9uRGljdGlvbmFyeTxEZXByZWNpYXRpb25Db2xsZWN0aW9uPiA9IG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeShcbiAgICAgIGRlcHJlY2lhdGlvbnMsXG4gICAgICAncHJvcGVydHkuaWQnXG4gICAgKTtcblxuICAgIHRyYW5zYWN0aW9uc0J5UHJvcGVydHkua2V5cy5mb3JFYWNoKChwcm9wZXJ0eUlkOiBzdHJpbmcpID0+IHtcbiAgICAgIGV4cGVuc2VzQnlQcm9wZXJ0eS5hZGQoXG4gICAgICAgIHByb3BlcnR5SWQsXG4gICAgICAgIG5ldyBDb2xsZWN0aW9uPFByb3BlcnR5UmVwb3J0SXRlbT4oW1xuICAgICAgICAgIC4uLm5ldyBQcm9wZXJ0eVJlcG9ydEl0ZW1UcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICAgICAgICB0cmFuc2FjdGlvbnNCeVByb3BlcnR5LmdldChwcm9wZXJ0eUlkKSxcbiAgICAgICAgICAgIHByb3BlcnRpZXMuZ2V0QnlJZCgrcHJvcGVydHlJZCksXG4gICAgICAgICAgICBjaGFydEFjY291bnRzXG4gICAgICAgICAgKS5pdGVtcyxcbiAgICAgICAgICAuLi5uZXcgUHJvcGVydHlSZXBvcnRJdGVtRGVwcmVjaWF0aW9uQ29sbGVjdGlvbihcbiAgICAgICAgICAgIGRlcHJlY2lhdGlvbnNCeVByb3BlcnR5LmdldChwcm9wZXJ0eUlkKSxcbiAgICAgICAgICAgIHByb3BlcnRpZXMuZ2V0QnlJZCgrcHJvcGVydHlJZCksXG4gICAgICAgICAgICBjaGFydEFjY291bnRzXG4gICAgICAgICAgKS5pdGVtc1xuICAgICAgICBdKVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBleHBlbnNlc0J5UHJvcGVydHk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbGVjdGlvbiBvZiBwcm9wZXJ0eSB0cmFuc2FjdGlvbnNcbiAgICovXG4gIHByaXZhdGUgZ2V0VHJhbnNhY3Rpb25zKCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25Db2xsZWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldCgpLnBpcGUoXG4gICAgICBtYXAoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbih0cmFuc2FjdGlvbnMpXG4gICAgICAgICAgLmdldEJ5Q2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5wcm9wZXJ0eSk7XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzdCBvZiBhc3NldCAmIGNhcGl0YWwgcHJvcGVydHkgZGVwcmVjaWF0aW9uc1xuICAgKi9cbiAgcHJpdmF0ZSBnZXREZXByZWNpYXRpb25zKCk6IE9ic2VydmFibGU8RGVwcmVjaWF0aW9uQ29sbGVjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmRlcHJlY2lhdGlvblNlcnZpY2UuZ2V0KCkucGlwZShcbiAgICAgIG1hcCgoZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uW10pID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBEZXByZWNpYXRpb25Db2xsZWN0aW9uKGRlcHJlY2lhdGlvbnMpXG4gICAgICAgICAgLmdldEJ5Q2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5wcm9wZXJ0eSlcbiAgICAgICAgICAuZ2V0V2l0aG91dEJvcnJvd2luZ0V4cGVuc2VzKCk7XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UHJvcGVydGllcygpOiBPYnNlcnZhYmxlPFByb3BlcnR5Q29sbGVjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLnByb3BlcnR5U2VydmljZS5nZXQoKS5waXBlKFxuICAgICAgbWFwKChwcm9wZXJ0aWVzOiBQcm9wZXJ0eVtdKSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvcGVydHlDb2xsZWN0aW9uKHByb3BlcnRpZXMpXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2hhcnRBY2NvdW50cygpOiBPYnNlcnZhYmxlPENvbGxlY3Rpb248Q2hhcnRBY2NvdW50cz4+IHtcbiAgICByZXR1cm4gdGhpcy5jaGFydEFjY291bnRzU2VydmljZS5nZXRDaGFydEFjY291bnRzKCkucGlwZShcbiAgICAgIG1hcCgoY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50c1tdKSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQ29sbGVjdGlvbihjaGFydEFjY291bnRzKTtcbiAgICAgIH0pXG4gICAgKVxuICB9XG59XG4iXX0=
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Collection } from '../../collection';
|
|
2
|
-
import { PropertyReportItem } from '../../../models/report/property/property-report-item';
|
|
3
|
-
import { Property } from '../../../models/property/property';
|
|
4
|
-
import { ChartAccounts } from '../../../models/chart-accounts/chart-accounts';
|
|
5
|
-
import { DepreciationCollection } from '../../depreciation.collection';
|
|
6
|
-
/**
|
|
7
|
-
* Collection to work with depreciation-based property report items
|
|
8
|
-
*/
|
|
9
|
-
export declare class PropertyReportItemDepreciationCollection extends Collection<PropertyReportItem> {
|
|
10
|
-
constructor(depreciations: DepreciationCollection, property: Property, chartAccounts: Collection<ChartAccounts>);
|
|
11
|
-
private setItems;
|
|
12
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Collection } from '../../collection';
|
|
2
|
-
import { PropertyReportItem } from '../../../models/report/property/property-report-item';
|
|
3
|
-
import { TransactionCollection } from '../../transaction.collection';
|
|
4
|
-
import { Property } from '../../../models/property/property';
|
|
5
|
-
import { ChartAccounts } from '../../../models/chart-accounts/chart-accounts';
|
|
6
|
-
/**
|
|
7
|
-
* Collection to work with transaction-based property report items
|
|
8
|
-
*/
|
|
9
|
-
export declare class PropertyReportItemTransactionCollection extends Collection<PropertyReportItem> {
|
|
10
|
-
constructor(transactions: TransactionCollection, property: Property, chartAccounts: Collection<ChartAccounts>);
|
|
11
|
-
private setItems;
|
|
12
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { PropertyReportItem } from './property-report-item';
|
|
2
|
-
import { Property } from '../../property/property';
|
|
3
|
-
import { ChartAccounts } from '../../chart-accounts/chart-accounts';
|
|
4
|
-
import { DepreciationCollection } from '../../../collections/depreciation.collection';
|
|
5
|
-
/**
|
|
6
|
-
* Class with depreciation-based property transactions report entities
|
|
7
|
-
*/
|
|
8
|
-
export declare class PropertyReportItemDepreciation extends PropertyReportItem {
|
|
9
|
-
constructor(depreciations: DepreciationCollection, property: Property, chartAccounts: ChartAccounts);
|
|
10
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { PropertyReportItem } from './property-report-item';
|
|
2
|
-
import { TransactionCollection } from '../../../collections/transaction.collection';
|
|
3
|
-
import { Property } from '../../property/property';
|
|
4
|
-
import { ChartAccounts } from '../../chart-accounts/chart-accounts';
|
|
5
|
-
/**
|
|
6
|
-
* Class with transaction-based property transactions report entities
|
|
7
|
-
*/
|
|
8
|
-
export declare class PropertyReportItemTransaction extends PropertyReportItem {
|
|
9
|
-
constructor(transactions: TransactionCollection, property: Property, chartAccounts: ChartAccounts);
|
|
10
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Property } from '../../property/property';
|
|
2
|
-
import { ChartAccounts } from '../../chart-accounts/chart-accounts';
|
|
3
|
-
/**
|
|
4
|
-
* Class with property transactions report entities
|
|
5
|
-
*/
|
|
6
|
-
export declare class PropertyReportItem {
|
|
7
|
-
amount: number;
|
|
8
|
-
description: string;
|
|
9
|
-
/**
|
|
10
|
-
* Tax return item sub-code
|
|
11
|
-
*/
|
|
12
|
-
subCode: string;
|
|
13
|
-
sharePercent: number;
|
|
14
|
-
claimPercent: number;
|
|
15
|
-
constructor(property: Property, chartAccounts: ChartAccounts);
|
|
16
|
-
get claimAmount(): number;
|
|
17
|
-
get shareClaimAmount(): number;
|
|
18
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { PropertyService } from '../../http/property/property.service';
|
|
2
|
-
import { TransactionService } from '../../http/transaction/transaction.service';
|
|
3
|
-
import { DepreciationService } from '../../http/depreciation/depreciation.service';
|
|
4
|
-
import { ChartAccountsService } from '../../http/chart-accounts/chart-accounts.service';
|
|
5
|
-
import { Observable } from 'rxjs';
|
|
6
|
-
import { Property } from '../../../models/property/property';
|
|
7
|
-
import { ChartAccounts } from '../../../models/chart-accounts/chart-accounts';
|
|
8
|
-
import { DepreciationCollection } from '../../../collections/depreciation.collection';
|
|
9
|
-
import { Collection } from '../../../collections/collection';
|
|
10
|
-
import { PropertyReportItem } from '../../../models/report/property/property-report-item';
|
|
11
|
-
import { CollectionDictionary } from '../../../collections/collection-dictionary';
|
|
12
|
-
import { TransactionCollection } from '../../../collections/transaction.collection';
|
|
13
|
-
import * as i0 from "@angular/core";
|
|
14
|
-
/**
|
|
15
|
-
* Service to handle Property transactions report items data (get income / expense report items, e.t.c.)
|
|
16
|
-
*/
|
|
17
|
-
export declare class PropertyTransactionReportService {
|
|
18
|
-
private propertyService;
|
|
19
|
-
private transactionService;
|
|
20
|
-
private depreciationService;
|
|
21
|
-
private chartAccountsService;
|
|
22
|
-
properties: Property[];
|
|
23
|
-
transactions: TransactionCollection;
|
|
24
|
-
depreciations: DepreciationCollection;
|
|
25
|
-
chartAccounts: Collection<ChartAccounts>;
|
|
26
|
-
constructor(propertyService: PropertyService, transactionService: TransactionService, depreciationService: DepreciationService, chartAccountsService: ChartAccountsService);
|
|
27
|
-
/**
|
|
28
|
-
* Get collections dictionary of income report items, grouped by property id
|
|
29
|
-
*/
|
|
30
|
-
getIncomes(): Observable<CollectionDictionary<Collection<PropertyReportItem>>>;
|
|
31
|
-
/**
|
|
32
|
-
* Get collections dictionary of expense report items, grouped by property id
|
|
33
|
-
*/
|
|
34
|
-
getExpenses(): Observable<CollectionDictionary<Collection<PropertyReportItem>>>;
|
|
35
|
-
private initIncomeItemsData;
|
|
36
|
-
private initExpenseItemsData;
|
|
37
|
-
/**
|
|
38
|
-
* Get colection of property transactions
|
|
39
|
-
*/
|
|
40
|
-
private getTransactions;
|
|
41
|
-
/**
|
|
42
|
-
* Get list of asset & capital property depreciations
|
|
43
|
-
*/
|
|
44
|
-
private getDepreciations;
|
|
45
|
-
private getProperties;
|
|
46
|
-
private getChartAccounts;
|
|
47
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<PropertyTransactionReportService, never>;
|
|
48
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<PropertyTransactionReportService>;
|
|
49
|
-
}
|