@senior-gestao-empresarial/erpx-components 4.3.0 → 4.5.0
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/senior-gestao-empresarial-erpx-components.umd.js +331 -184
- package/bundles/senior-gestao-empresarial-erpx-components.umd.js.map +1 -1
- package/bundles/senior-gestao-empresarial-erpx-components.umd.min.js +2 -2
- package/bundles/senior-gestao-empresarial-erpx-components.umd.min.js.map +1 -1
- package/components/tributos/calculators/gross-amount-calculator.d.ts +5 -0
- package/components/tributos/calculators/tax-amount-calculator.d.ts +5 -1
- package/components/tributos/erp-tributos.component.d.ts +13 -3
- package/components/tributos/services/tax-rounding.service.d.ts +5 -0
- package/components/tributos/stores/tax.store.d.ts +10 -0
- package/components/utils/loading-context.d.ts +7 -0
- package/esm2015/components/tributos/calculators/gross-amount-calculator.js +18 -3
- package/esm2015/components/tributos/calculators/tax-amount-calculator.js +26 -7
- package/esm2015/components/tributos/erp-tributos.component.js +82 -16
- package/esm2015/components/tributos/rules/calculation/rules/gross-amount-calculation-rule.js +2 -4
- package/esm2015/components/tributos/services/tax-rounding.service.js +18 -0
- package/esm2015/components/tributos/stores/tax.store.js +19 -0
- package/esm2015/components/utils/loading-context.js +20 -0
- package/esm2015/senior-gestao-empresarial-erpx-components.js +46 -43
- package/esm5/components/tributos/calculators/gross-amount-calculator.js +17 -4
- package/esm5/components/tributos/calculators/tax-amount-calculator.js +26 -7
- package/esm5/components/tributos/erp-tributos.component.js +83 -16
- package/esm5/components/tributos/rules/calculation/rules/gross-amount-calculation-rule.js +2 -4
- package/esm5/components/tributos/services/tax-rounding.service.js +23 -0
- package/esm5/components/tributos/stores/tax.store.js +26 -0
- package/esm5/components/utils/loading-context.js +22 -0
- package/esm5/senior-gestao-empresarial-erpx-components.js +46 -43
- package/fesm2015/senior-gestao-empresarial-erpx-components.js +264 -131
- package/fesm2015/senior-gestao-empresarial-erpx-components.js.map +1 -1
- package/fesm5/senior-gestao-empresarial-erpx-components.js +287 -142
- package/fesm5/senior-gestao-empresarial-erpx-components.js.map +1 -1
- package/package.json +1 -1
- package/senior-gestao-empresarial-erpx-components.d.ts +45 -42
- package/senior-gestao-empresarial-erpx-components.metadata.json +1 -1
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
|
+
import { TaxRoundingService } from '../services/tax-rounding.service';
|
|
3
|
+
import { TaxStore } from '../stores/tax.store';
|
|
2
4
|
export declare class GrossAmountCalculator {
|
|
5
|
+
private readonly taxRoundingService;
|
|
6
|
+
private readonly taxStore;
|
|
7
|
+
constructor(taxRoundingService: TaxRoundingService, taxStore: TaxStore);
|
|
3
8
|
/**
|
|
4
9
|
* Calculates the gross amount based on the provided taxable base and tax rate.
|
|
5
10
|
*
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
2
|
import { EffectiveTaxRateCalculator } from './effective-tax-rate-calculator';
|
|
3
|
+
import { TaxRoundingService } from '../services/tax-rounding.service';
|
|
4
|
+
import { TaxStore } from '../stores/tax.store';
|
|
3
5
|
export declare class TaxAmountCalculator {
|
|
4
6
|
private readonly effectiveTaxRateCalculator;
|
|
5
|
-
|
|
7
|
+
private readonly taxRoundingService;
|
|
8
|
+
private readonly taxStore;
|
|
9
|
+
constructor(effectiveTaxRateCalculator: EffectiveTaxRateCalculator, taxRoundingService: TaxRoundingService, taxStore: TaxStore);
|
|
6
10
|
/**
|
|
7
11
|
* Calculates the tax amount based on a taxable base and a tax rate.
|
|
8
12
|
*
|
|
@@ -3,15 +3,21 @@ import { FormBuilder, FormGroup } from '@angular/forms';
|
|
|
3
3
|
import { TranslateService } from '@ngx-translate/core';
|
|
4
4
|
import { BeneficioFiscalLookup, ClassificacaoTributariaLookup, CplTriNotaSaidaNaturezaReceitaPisCofinsLookup, E027EqiLookup, E027StrLookup, LookupValidationUtils } from '@senior-gestao-empresarial/angular-components';
|
|
5
5
|
import { BadgeColors, ButtonAnimation, ButtonPriority, ButtonSize, FormField, LocaleService } from '@seniorsistemas/angular-components';
|
|
6
|
+
import { FeatureToggleService } from '@seniorsistemas/platform-components';
|
|
6
7
|
import { GTagService } from '@seniorsistemas/platform-utils';
|
|
7
8
|
import { MenuItem, MessageService } from 'primeng/api';
|
|
9
|
+
import { LoadingContext } from '../utils/loading-context';
|
|
10
|
+
import { TaxAmountCalculator } from './calculators/tax-amount-calculator';
|
|
8
11
|
import { ErpTributosService } from './erp-tributos.service';
|
|
9
12
|
import { Item, Sugestao, TaxCalculationMemory } from './erp-tributos.types';
|
|
10
13
|
import { RulesService } from './rules/rules.service';
|
|
14
|
+
import { TaxRoundingService } from './services/tax-rounding.service';
|
|
15
|
+
import { TaxStore } from './stores/tax.store';
|
|
11
16
|
import { Context } from './types/context';
|
|
12
17
|
import { Group } from './types/group';
|
|
13
18
|
import { Tax } from './types/tax';
|
|
14
19
|
export declare class ErpTributosComponent implements OnInit, OnChanges, OnDestroy {
|
|
20
|
+
readonly loadingContext: LoadingContext;
|
|
15
21
|
private readonly messageService;
|
|
16
22
|
private readonly formBuilder;
|
|
17
23
|
private readonly changeDetector;
|
|
@@ -26,6 +32,10 @@ export declare class ErpTributosComponent implements OnInit, OnChanges, OnDestro
|
|
|
26
32
|
private readonly gtag;
|
|
27
33
|
private readonly rulesService;
|
|
28
34
|
private readonly localeService;
|
|
35
|
+
private readonly taxRoundingService;
|
|
36
|
+
private readonly taxAmountCalculator;
|
|
37
|
+
private readonly featureToggleService;
|
|
38
|
+
private readonly taxStore;
|
|
29
39
|
context: Context;
|
|
30
40
|
sugestoes: Sugestao[];
|
|
31
41
|
camposBloqueados: boolean;
|
|
@@ -46,7 +56,6 @@ export declare class ErpTributosComponent implements OnInit, OnChanges, OnDestro
|
|
|
46
56
|
reload: boolean;
|
|
47
57
|
indexAccordion: number[];
|
|
48
58
|
prefixLabel: string;
|
|
49
|
-
isLoading: boolean;
|
|
50
59
|
private menuItemPis;
|
|
51
60
|
private menuItemCofins;
|
|
52
61
|
private menuItemIpi;
|
|
@@ -115,7 +124,7 @@ export declare class ErpTributosComponent implements OnInit, OnChanges, OnDestro
|
|
|
115
124
|
private requiredFcpStReditoAnt;
|
|
116
125
|
private percentageLocaleOptions?;
|
|
117
126
|
private readonly unsubscribe$;
|
|
118
|
-
constructor(messageService: MessageService, formBuilder: FormBuilder, changeDetector: ChangeDetectorRef, translate: TranslateService, e027StrLookup: E027StrLookup, beneficioFiscalLookup: BeneficioFiscalLookup, e027eqiLookup: E027EqiLookup, naturezaReceitaLookup: CplTriNotaSaidaNaturezaReceitaPisCofinsLookup, classificacaoTributariaLookup: ClassificacaoTributariaLookup, lookupUtils: LookupValidationUtils, erpTributosService: ErpTributosService, gtag: GTagService, rulesService: RulesService, localeService: LocaleService);
|
|
127
|
+
constructor(loadingContext: LoadingContext, messageService: MessageService, formBuilder: FormBuilder, changeDetector: ChangeDetectorRef, translate: TranslateService, e027StrLookup: E027StrLookup, beneficioFiscalLookup: BeneficioFiscalLookup, e027eqiLookup: E027EqiLookup, naturezaReceitaLookup: CplTriNotaSaidaNaturezaReceitaPisCofinsLookup, classificacaoTributariaLookup: ClassificacaoTributariaLookup, lookupUtils: LookupValidationUtils, erpTributosService: ErpTributosService, gtag: GTagService, rulesService: RulesService, localeService: LocaleService, taxRoundingService: TaxRoundingService, taxAmountCalculator: TaxAmountCalculator, featureToggleService: FeatureToggleService, taxStore: TaxStore);
|
|
119
128
|
ngOnInit(): void;
|
|
120
129
|
ngOnChanges(changes: SimpleChanges): void;
|
|
121
130
|
ngOnDestroy(): void;
|
|
@@ -174,7 +183,6 @@ export declare class ErpTributosComponent implements OnInit, OnChanges, OnDestro
|
|
|
174
183
|
private setVariableRequired;
|
|
175
184
|
private setRequired;
|
|
176
185
|
private impostoCalculado;
|
|
177
|
-
private roundImposto;
|
|
178
186
|
private addMessageErrorBaseDiferente;
|
|
179
187
|
private calcularValor;
|
|
180
188
|
private calcularImpostosTotal;
|
|
@@ -199,4 +207,6 @@ export declare class ErpTributosComponent implements OnInit, OnChanges, OnDestro
|
|
|
199
207
|
};
|
|
200
208
|
private isInvoiceDocument;
|
|
201
209
|
private isFieldRequired;
|
|
210
|
+
private markICMSSimplesAsManual;
|
|
211
|
+
private getArredondamentoAbnt;
|
|
202
212
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ComponentStore } from '@ngrx/component-store';
|
|
2
|
+
export declare class TaxStore extends ComponentStore<Store> {
|
|
3
|
+
constructor();
|
|
4
|
+
readonly getArredondamentoAbnt: () => boolean;
|
|
5
|
+
readonly setArredondamentoAbnt: (arredondamentoAbnt: boolean) => void;
|
|
6
|
+
}
|
|
7
|
+
declare type Store = {
|
|
8
|
+
arredondamentoAbnt: boolean;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
|
+
import { TaxRoundingService } from '../services/tax-rounding.service';
|
|
4
|
+
import { TaxStore } from '../stores/tax.store';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../services/tax-rounding.service";
|
|
7
|
+
import * as i2 from "../stores/tax.store";
|
|
4
8
|
let GrossAmountCalculator = class GrossAmountCalculator {
|
|
9
|
+
constructor(taxRoundingService, taxStore) {
|
|
10
|
+
this.taxRoundingService = taxRoundingService;
|
|
11
|
+
this.taxStore = taxStore;
|
|
12
|
+
}
|
|
5
13
|
/**
|
|
6
14
|
* Calculates the gross amount based on the provided taxable base and tax rate.
|
|
7
15
|
*
|
|
@@ -11,12 +19,19 @@ let GrossAmountCalculator = class GrossAmountCalculator {
|
|
|
11
19
|
* @returns The calculated gross amount as a BigNumber.
|
|
12
20
|
*/
|
|
13
21
|
calculateGrossAmount({ taxableBase, taxRate }) {
|
|
14
|
-
|
|
22
|
+
const taxAmount = taxableBase.multipliedBy(taxRate).dividedBy(100);
|
|
23
|
+
return this.taxStore.getArredondamentoAbnt()
|
|
24
|
+
? this.taxRoundingService.halfEven(taxAmount)
|
|
25
|
+
: this.taxRoundingService.halfUp(taxAmount.toNumber());
|
|
15
26
|
}
|
|
16
27
|
};
|
|
17
|
-
GrossAmountCalculator
|
|
28
|
+
GrossAmountCalculator.ctorParameters = () => [
|
|
29
|
+
{ type: TaxRoundingService },
|
|
30
|
+
{ type: TaxStore }
|
|
31
|
+
];
|
|
32
|
+
GrossAmountCalculator.ɵprov = i0.ɵɵdefineInjectable({ factory: function GrossAmountCalculator_Factory() { return new GrossAmountCalculator(i0.ɵɵinject(i1.TaxRoundingService), i0.ɵɵinject(i2.TaxStore)); }, token: GrossAmountCalculator, providedIn: "root" });
|
|
18
33
|
GrossAmountCalculator = __decorate([
|
|
19
34
|
Injectable({ providedIn: 'root' })
|
|
20
35
|
], GrossAmountCalculator);
|
|
21
36
|
export { GrossAmountCalculator };
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jvc3MtYW1vdW50LWNhbGN1bGF0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9lcnB4LWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RyaWJ1dG9zL2NhbGN1bGF0b3JzL2dyb3NzLWFtb3VudC1jYWxjdWxhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQUcvQyxJQUFhLHFCQUFxQixHQUFsQyxNQUFhLHFCQUFxQjtJQUM5QixZQUNxQixrQkFBc0MsRUFDdEMsUUFBa0I7UUFEbEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQ3BDLENBQUM7SUFFSjs7Ozs7OztPQU9HO0lBQ0gsb0JBQW9CLENBQUMsRUFDakIsV0FBVyxFQUNYLE9BQU8sRUFJVjtRQUNHLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRW5FLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRTtZQUN4QyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7WUFDN0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNKLENBQUE7O1lBekI0QyxrQkFBa0I7WUFDNUIsUUFBUTs7O0FBSDlCLHFCQUFxQjtJQURqQyxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7R0FDdEIscUJBQXFCLENBMkJqQztTQTNCWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcclxuaW1wb3J0IHsgVGF4Um91bmRpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGF4LXJvdW5kaW5nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUYXhTdG9yZSB9IGZyb20gJy4uL3N0b3Jlcy90YXguc3RvcmUnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEdyb3NzQW1vdW50Q2FsY3VsYXRvciB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRheFJvdW5kaW5nU2VydmljZTogVGF4Um91bmRpbmdTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGF4U3RvcmU6IFRheFN0b3JlXHJcbiAgICApIHt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDYWxjdWxhdGVzIHRoZSBncm9zcyBhbW91bnQgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHRheGFibGUgYmFzZSBhbmQgdGF4IHJhdGUuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHBhcmFtcyAtIEFuIG9iamVjdCBjb250YWluaW5nOlxyXG4gICAgICogICAtIHRheGFibGVCYXNlOiBUaGUgYmFzZSBhbW91bnQgdG8gYmUgdGF4ZWQgYXMgYSBCaWdOdW1iZXIuXHJcbiAgICAgKiAgIC0gdGF4UmF0ZTogVGhlIHRheCByYXRlIHRvIGFwcGx5IGFzIGEgQmlnTnVtYmVyIChwZXJjZW50YWdlKS5cclxuICAgICAqIEByZXR1cm5zIFRoZSBjYWxjdWxhdGVkIGdyb3NzIGFtb3VudCBhcyBhIEJpZ051bWJlci5cclxuICAgICAqL1xyXG4gICAgY2FsY3VsYXRlR3Jvc3NBbW91bnQoe1xyXG4gICAgICAgIHRheGFibGVCYXNlLFxyXG4gICAgICAgIHRheFJhdGVcclxuICAgIH06IHtcclxuICAgICAgICB0YXhhYmxlQmFzZTogQmlnTnVtYmVyO1xyXG4gICAgICAgIHRheFJhdGU6IEJpZ051bWJlcjtcclxuICAgIH0pOiBCaWdOdW1iZXIge1xyXG4gICAgICAgIGNvbnN0IHRheEFtb3VudCA9IHRheGFibGVCYXNlLm11bHRpcGxpZWRCeSh0YXhSYXRlKS5kaXZpZGVkQnkoMTAwKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGF4U3RvcmUuZ2V0QXJyZWRvbmRhbWVudG9BYm50KClcclxuICAgICAgICAgICAgPyB0aGlzLnRheFJvdW5kaW5nU2VydmljZS5oYWxmRXZlbih0YXhBbW91bnQpXHJcbiAgICAgICAgICAgIDogdGhpcy50YXhSb3VuZGluZ1NlcnZpY2UuaGFsZlVwKHRheEFtb3VudC50b051bWJlcigpKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -2,11 +2,17 @@ import { __decorate } from "tslib";
|
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
3
|
import BigNumber from 'bignumber.js';
|
|
4
4
|
import { EffectiveTaxRateCalculator } from './effective-tax-rate-calculator';
|
|
5
|
+
import { TaxRoundingService } from '../services/tax-rounding.service';
|
|
6
|
+
import { TaxStore } from '../stores/tax.store';
|
|
5
7
|
import * as i0 from "@angular/core";
|
|
6
8
|
import * as i1 from "./effective-tax-rate-calculator";
|
|
9
|
+
import * as i2 from "../services/tax-rounding.service";
|
|
10
|
+
import * as i3 from "../stores/tax.store";
|
|
7
11
|
let TaxAmountCalculator = class TaxAmountCalculator {
|
|
8
|
-
constructor(effectiveTaxRateCalculator) {
|
|
12
|
+
constructor(effectiveTaxRateCalculator, taxRoundingService, taxStore) {
|
|
9
13
|
this.effectiveTaxRateCalculator = effectiveTaxRateCalculator;
|
|
14
|
+
this.taxRoundingService = taxRoundingService;
|
|
15
|
+
this.taxStore = taxStore;
|
|
10
16
|
}
|
|
11
17
|
/**
|
|
12
18
|
* Calculates the tax amount based on a taxable base and a tax rate.
|
|
@@ -17,7 +23,12 @@ let TaxAmountCalculator = class TaxAmountCalculator {
|
|
|
17
23
|
* @returns The calculated tax amount as a BigNumber.
|
|
18
24
|
*/
|
|
19
25
|
calculateTaxAmount({ taxableBase, taxRate }) {
|
|
20
|
-
|
|
26
|
+
const taxAmount = new BigNumber(taxableBase)
|
|
27
|
+
.multipliedBy(taxRate)
|
|
28
|
+
.dividedBy(100);
|
|
29
|
+
return this.taxStore.getArredondamentoAbnt()
|
|
30
|
+
? this.taxRoundingService.halfEven(taxAmount)
|
|
31
|
+
: this.taxRoundingService.halfUp(taxAmount.toNumber());
|
|
21
32
|
}
|
|
22
33
|
/**
|
|
23
34
|
* Calculates the tax amount considering a deferred tax value.
|
|
@@ -29,10 +40,13 @@ let TaxAmountCalculator = class TaxAmountCalculator {
|
|
|
29
40
|
* @returns The calculated tax amount after subtracting the deferred tax.
|
|
30
41
|
*/
|
|
31
42
|
calculateTaxAmountWithDeferredTax({ taxableBase, taxRate, deferredTaxAmount }) {
|
|
32
|
-
|
|
43
|
+
const taxAmount = new BigNumber(taxableBase)
|
|
33
44
|
.multipliedBy(taxRate)
|
|
34
45
|
.dividedBy(100)
|
|
35
46
|
.minus(deferredTaxAmount);
|
|
47
|
+
return this.taxStore.getArredondamentoAbnt()
|
|
48
|
+
? this.taxRoundingService.halfEven(taxAmount)
|
|
49
|
+
: this.taxRoundingService.halfUp(taxAmount.toNumber());
|
|
36
50
|
}
|
|
37
51
|
/**
|
|
38
52
|
* Calculates the tax amount based on the provided tax base, tax rate, and tax rate reduction,
|
|
@@ -52,17 +66,22 @@ let TaxAmountCalculator = class TaxAmountCalculator {
|
|
|
52
66
|
taxRate,
|
|
53
67
|
taxRateReduction
|
|
54
68
|
});
|
|
55
|
-
|
|
69
|
+
const taxAmount = new BigNumber(taxBase)
|
|
56
70
|
.multipliedBy(effectiveTaxRate)
|
|
57
71
|
.dividedBy(100);
|
|
72
|
+
return this.taxStore.getArredondamentoAbnt()
|
|
73
|
+
? this.taxRoundingService.halfEven(taxAmount)
|
|
74
|
+
: this.taxRoundingService.halfUp(taxAmount.toNumber());
|
|
58
75
|
}
|
|
59
76
|
};
|
|
60
77
|
TaxAmountCalculator.ctorParameters = () => [
|
|
61
|
-
{ type: EffectiveTaxRateCalculator }
|
|
78
|
+
{ type: EffectiveTaxRateCalculator },
|
|
79
|
+
{ type: TaxRoundingService },
|
|
80
|
+
{ type: TaxStore }
|
|
62
81
|
];
|
|
63
|
-
TaxAmountCalculator.ɵprov = i0.ɵɵdefineInjectable({ factory: function TaxAmountCalculator_Factory() { return new TaxAmountCalculator(i0.ɵɵinject(i1.EffectiveTaxRateCalculator)); }, token: TaxAmountCalculator, providedIn: "root" });
|
|
82
|
+
TaxAmountCalculator.ɵprov = i0.ɵɵdefineInjectable({ factory: function TaxAmountCalculator_Factory() { return new TaxAmountCalculator(i0.ɵɵinject(i1.EffectiveTaxRateCalculator), i0.ɵɵinject(i2.TaxRoundingService), i0.ɵɵinject(i3.TaxStore)); }, token: TaxAmountCalculator, providedIn: "root" });
|
|
64
83
|
TaxAmountCalculator = __decorate([
|
|
65
84
|
Injectable({ providedIn: 'root' })
|
|
66
85
|
], TaxAmountCalculator);
|
|
67
86
|
export { TaxAmountCalculator };
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LWFtb3VudC1jYWxjdWxhdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tZW1wcmVzYXJpYWwvZXJweC1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90cmlidXRvcy9jYWxjdWxhdG9ycy90YXgtYW1vdW50LWNhbGN1bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxTQUFTLE1BQU0sY0FBYyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFHL0MsSUFBYSxtQkFBbUIsR0FBaEMsTUFBYSxtQkFBbUI7SUFDNUIsWUFDcUIsMEJBQXNELEVBQ3RELGtCQUFzQyxFQUN0QyxRQUFrQjtRQUZsQiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ3RELHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUNwQyxDQUFDO0lBRUo7Ozs7Ozs7T0FPRztJQUNILGtCQUFrQixDQUFDLEVBQ2YsV0FBVyxFQUNYLE9BQU8sRUFJVjtRQUNHLE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDLFdBQVcsQ0FBQzthQUN2QyxZQUFZLENBQUMsT0FBTyxDQUFDO2FBQ3JCLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVwQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLEVBQUU7WUFDeEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO1lBQzdDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILGlDQUFpQyxDQUFDLEVBQzlCLFdBQVcsRUFDWCxPQUFPLEVBQ1AsaUJBQWlCLEVBS3BCO1FBQ0csTUFBTSxTQUFTLEdBQUcsSUFBSSxTQUFTLENBQUMsV0FBVyxDQUFDO2FBQ3ZDLFlBQVksQ0FBQyxPQUFPLENBQUM7YUFDckIsU0FBUyxDQUFDLEdBQUcsQ0FBQzthQUNkLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTlCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRTtZQUN4QyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7WUFDN0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILGtFQUFrRSxDQUFDLEVBQy9ELE9BQU8sRUFDUCxPQUFPLEVBQ1AsZ0JBQWdCLEVBS25CO1FBQ0csTUFBTSxnQkFBZ0IsR0FDbEIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLDZEQUE2RCxDQUN6RjtZQUNJLE9BQU87WUFDUCxnQkFBZ0I7U0FDbkIsQ0FDSixDQUFDO1FBRU4sTUFBTSxTQUFTLEdBQUcsSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDO2FBQ25DLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQzthQUM5QixTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFcEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLHFCQUFxQixFQUFFO1lBQ3hDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztZQUM3QyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBQ0osQ0FBQTs7WUEvRm9ELDBCQUEwQjtZQUNsQyxrQkFBa0I7WUFDNUIsUUFBUTs7O0FBSjlCLG1CQUFtQjtJQUQvQixVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7R0FDdEIsbUJBQW1CLENBaUcvQjtTQWpHWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcclxuaW1wb3J0IHsgRWZmZWN0aXZlVGF4UmF0ZUNhbGN1bGF0b3IgfSBmcm9tICcuL2VmZmVjdGl2ZS10YXgtcmF0ZS1jYWxjdWxhdG9yJztcclxuaW1wb3J0IHsgVGF4Um91bmRpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGF4LXJvdW5kaW5nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUYXhTdG9yZSB9IGZyb20gJy4uL3N0b3Jlcy90YXguc3RvcmUnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFRheEFtb3VudENhbGN1bGF0b3Ige1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlZmZlY3RpdmVUYXhSYXRlQ2FsY3VsYXRvcjogRWZmZWN0aXZlVGF4UmF0ZUNhbGN1bGF0b3IsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0YXhSb3VuZGluZ1NlcnZpY2U6IFRheFJvdW5kaW5nU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRheFN0b3JlOiBUYXhTdG9yZVxyXG4gICAgKSB7fVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgdGF4IGFtb3VudCBiYXNlZCBvbiBhIHRheGFibGUgYmFzZSBhbmQgYSB0YXggcmF0ZS5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gcGFyYW1zIC0gQW4gb2JqZWN0IGNvbnRhaW5pbmc6XHJcbiAgICAgKiAgIEBwYXJhbSBwYXJhbXMudGF4YWJsZUJhc2UgLSBUaGUgYmFzZSBhbW91bnQgb24gd2hpY2ggdGhlIHRheCBpcyBjYWxjdWxhdGVkIChhcyBhIEJpZ051bWJlcikuXHJcbiAgICAgKiAgIEBwYXJhbSBwYXJhbXMudGF4UmF0ZSAtIFRoZSB0YXggcmF0ZSB0byBhcHBseSAoYXMgYSBCaWdOdW1iZXIsIHJlcHJlc2VudGluZyBhIHBlcmNlbnRhZ2UpLlxyXG4gICAgICogQHJldHVybnMgVGhlIGNhbGN1bGF0ZWQgdGF4IGFtb3VudCBhcyBhIEJpZ051bWJlci5cclxuICAgICAqL1xyXG4gICAgY2FsY3VsYXRlVGF4QW1vdW50KHtcclxuICAgICAgICB0YXhhYmxlQmFzZSxcclxuICAgICAgICB0YXhSYXRlXHJcbiAgICB9OiB7XHJcbiAgICAgICAgdGF4YWJsZUJhc2U6IEJpZ051bWJlcjtcclxuICAgICAgICB0YXhSYXRlOiBCaWdOdW1iZXI7XHJcbiAgICB9KTogQmlnTnVtYmVyIHtcclxuICAgICAgICBjb25zdCB0YXhBbW91bnQgPSBuZXcgQmlnTnVtYmVyKHRheGFibGVCYXNlKVxyXG4gICAgICAgICAgICAubXVsdGlwbGllZEJ5KHRheFJhdGUpXHJcbiAgICAgICAgICAgIC5kaXZpZGVkQnkoMTAwKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGF4U3RvcmUuZ2V0QXJyZWRvbmRhbWVudG9BYm50KClcclxuICAgICAgICAgICAgPyB0aGlzLnRheFJvdW5kaW5nU2VydmljZS5oYWxmRXZlbih0YXhBbW91bnQpXHJcbiAgICAgICAgICAgIDogdGhpcy50YXhSb3VuZGluZ1NlcnZpY2UuaGFsZlVwKHRheEFtb3VudC50b051bWJlcigpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENhbGN1bGF0ZXMgdGhlIHRheCBhbW91bnQgY29uc2lkZXJpbmcgYSBkZWZlcnJlZCB0YXggdmFsdWUuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgY2FsY3VsYXRpb24uXHJcbiAgICAgKiBAcGFyYW0gcGFyYW1zLnRheGFibGVCYXNlIC0gVGhlIGJhc2UgYW1vdW50IG9uIHdoaWNoIHRheCBpcyBjYWxjdWxhdGVkLlxyXG4gICAgICogQHBhcmFtIHBhcmFtcy50YXhSYXRlIC0gVGhlIHRheCByYXRlIGFzIGEgcGVyY2VudGFnZS5cclxuICAgICAqIEBwYXJhbSBwYXJhbXMuZGVmZXJyZWRUYXhBbW91bnQgLSBUaGUgYW1vdW50IG9mIHRheCB0aGF0IGlzIGRlZmVycmVkIGFuZCBzaG91bGQgYmUgc3VidHJhY3RlZCBmcm9tIHRoZSByZXN1bHQuXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgY2FsY3VsYXRlZCB0YXggYW1vdW50IGFmdGVyIHN1YnRyYWN0aW5nIHRoZSBkZWZlcnJlZCB0YXguXHJcbiAgICAgKi9cclxuICAgIGNhbGN1bGF0ZVRheEFtb3VudFdpdGhEZWZlcnJlZFRheCh7XHJcbiAgICAgICAgdGF4YWJsZUJhc2UsXHJcbiAgICAgICAgdGF4UmF0ZSxcclxuICAgICAgICBkZWZlcnJlZFRheEFtb3VudFxyXG4gICAgfToge1xyXG4gICAgICAgIHRheGFibGVCYXNlOiBCaWdOdW1iZXI7XHJcbiAgICAgICAgdGF4UmF0ZTogQmlnTnVtYmVyO1xyXG4gICAgICAgIGRlZmVycmVkVGF4QW1vdW50OiBCaWdOdW1iZXI7XHJcbiAgICB9KTogQmlnTnVtYmVyIHtcclxuICAgICAgICBjb25zdCB0YXhBbW91bnQgPSBuZXcgQmlnTnVtYmVyKHRheGFibGVCYXNlKVxyXG4gICAgICAgICAgICAubXVsdGlwbGllZEJ5KHRheFJhdGUpXHJcbiAgICAgICAgICAgIC5kaXZpZGVkQnkoMTAwKVxyXG4gICAgICAgICAgICAubWludXMoZGVmZXJyZWRUYXhBbW91bnQpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy50YXhTdG9yZS5nZXRBcnJlZG9uZGFtZW50b0FibnQoKVxyXG4gICAgICAgICAgICA/IHRoaXMudGF4Um91bmRpbmdTZXJ2aWNlLmhhbGZFdmVuKHRheEFtb3VudClcclxuICAgICAgICAgICAgOiB0aGlzLnRheFJvdW5kaW5nU2VydmljZS5oYWxmVXAodGF4QW1vdW50LnRvTnVtYmVyKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsY3VsYXRlcyB0aGUgdGF4IGFtb3VudCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgdGF4IGJhc2UsIHRheCByYXRlLCBhbmQgdGF4IHJhdGUgcmVkdWN0aW9uLFxyXG4gICAgICogZXhjbHVkaW5nIGRlZmVycmVkIHRheCBhbmQgZ292ZXJuYW1lbnRhbCB0YXggcmF0ZSByZWR1Y3Rpb25zLlxyXG4gICAgICpcclxuICAgICAqIFRoaXMgbWV0aG9kIHVzZXMgdGhlIGVmZmVjdGl2ZSB0YXggcmF0ZSBjYWxjdWxhdGVkIHdpdGhvdXQgY29uc2lkZXJpbmcgZ292ZXJuYW1lbnRhbCB0YXggcmF0ZSByZWR1Y3Rpb25zLFxyXG4gICAgICogYW5kIGFwcGxpZXMgaXQgdG8gdGhlIHRheCBiYXNlIHRvIGRldGVybWluZSB0aGUgZmluYWwgdGF4IGFtb3VudC5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRheCBjYWxjdWxhdGlvbi5cclxuICAgICAqIEBwYXJhbSBwYXJhbXMudGF4QmFzZSAtIFRoZSBiYXNlIGFtb3VudCBvbiB3aGljaCB0aGUgdGF4IGlzIGNhbGN1bGF0ZWQuXHJcbiAgICAgKiBAcGFyYW0gcGFyYW1zLnRheFJhdGUgLSBUaGUgaW5pdGlhbCB0YXggcmF0ZSBiZWZvcmUgYW55IHJlZHVjdGlvbnMuXHJcbiAgICAgKiBAcGFyYW0gcGFyYW1zLnRheFJhdGVSZWR1Y3Rpb24gLSBUaGUgcmVkdWN0aW9uIGFwcGxpZWQgdG8gdGhlIHRheCByYXRlLlxyXG4gICAgICogQHJldHVybnMgVGhlIGNhbGN1bGF0ZWQgdGF4IGFtb3VudCBhcyBhIEJpZ051bWJlci5cclxuICAgICAqL1xyXG4gICAgY2FsY3VsYXRlVGF4QW1vdW50V2l0aG91dERlZmVycmVkVGF4QW5kV2l0aG91dEdvdmVybmFtZW50YWxUYXhSYXRlKHtcclxuICAgICAgICB0YXhCYXNlLFxyXG4gICAgICAgIHRheFJhdGUsXHJcbiAgICAgICAgdGF4UmF0ZVJlZHVjdGlvblxyXG4gICAgfToge1xyXG4gICAgICAgIHRheEJhc2U6IEJpZ051bWJlcjtcclxuICAgICAgICB0YXhSYXRlOiBCaWdOdW1iZXI7XHJcbiAgICAgICAgdGF4UmF0ZVJlZHVjdGlvbjogQmlnTnVtYmVyO1xyXG4gICAgfSk6IEJpZ051bWJlciB7XHJcbiAgICAgICAgY29uc3QgZWZmZWN0aXZlVGF4UmF0ZSA9XHJcbiAgICAgICAgICAgIHRoaXMuZWZmZWN0aXZlVGF4UmF0ZUNhbGN1bGF0b3IuY2FsY3VsYXRlRWZmZWN0aXZlVGF4UmF0ZVdpdGhvdXRHb3Zlcm5hbWVudGFsVGF4UmF0ZVJlZHVjdGlvbihcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB0YXhSYXRlLFxyXG4gICAgICAgICAgICAgICAgICAgIHRheFJhdGVSZWR1Y3Rpb25cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgY29uc3QgdGF4QW1vdW50ID0gbmV3IEJpZ051bWJlcih0YXhCYXNlKVxyXG4gICAgICAgICAgICAubXVsdGlwbGllZEJ5KGVmZmVjdGl2ZVRheFJhdGUpXHJcbiAgICAgICAgICAgIC5kaXZpZGVkQnkoMTAwKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGF4U3RvcmUuZ2V0QXJyZWRvbmRhbWVudG9BYm50KClcclxuICAgICAgICAgICAgPyB0aGlzLnRheFJvdW5kaW5nU2VydmljZS5oYWxmRXZlbih0YXhBbW91bnQpXHJcbiAgICAgICAgICAgIDogdGhpcy50YXhSb3VuZGluZ1NlcnZpY2UuaGFsZlVwKHRheEFtb3VudC50b051bWJlcigpKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|