@senior-gestao-empresarial/erpx-components 4.0.1 → 4.0.2-develop-21d58680

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.
Files changed (75) hide show
  1. package/bundles/senior-gestao-empresarial-erpx-components.umd.js +792 -660
  2. package/bundles/senior-gestao-empresarial-erpx-components.umd.js.map +1 -1
  3. package/bundles/senior-gestao-empresarial-erpx-components.umd.min.js +2 -2
  4. package/bundles/senior-gestao-empresarial-erpx-components.umd.min.js.map +1 -1
  5. package/components/tributos/erp-tributos.component.d.ts +12 -8
  6. package/components/tributos/erp-tributos.types.d.ts +5 -1
  7. package/components/tributos/index.d.ts +1 -0
  8. package/components/tributos/rules/calculation/registries/calculation-rules-registries/outgoing-invoice-calculation-rules.registry.d.ts +3 -1
  9. package/components/tributos/rules/calculation/rules/assessment-period-calculation-rule.d.ts +5 -0
  10. package/components/tributos/rules/status/registries/purchase-order-status-rules.registry.d.ts +8 -0
  11. package/components/tributos/rules/status/registries/sale-order-status-rules.registry.d.ts +8 -0
  12. package/components/tributos/rules/status/registries/status-rules.registry.d.ts +5 -1
  13. package/components/tributos/rules/types/schemas/outgoing-invoice.schema.d.ts +2 -0
  14. package/components/tributos/rules/validation/registries/outgoing-invoice-validation-rules.registry.d.ts +3 -1
  15. package/components/tributos/rules/validation/rules/required/assessment-period-required-validation-rule.d.ts +5 -0
  16. package/components/tributos/tax-reform-utilities.d.ts +1 -1
  17. package/components/tributos/types/debit-invoice-type.d.ts +1 -1
  18. package/components/tributos/types/tax.d.ts +8 -0
  19. package/esm2015/components/tributos/erp-tributos.component.js +134 -40
  20. package/esm2015/components/tributos/erp-tributos.types.js +5 -1
  21. package/esm2015/components/tributos/index.js +1 -1
  22. package/esm2015/components/tributos/mappings/enum-tip-imp-cst-mapping.js +3 -1
  23. package/esm2015/components/tributos/rules/calculation/registries/calculation-rules-registries/outgoing-invoice-calculation-rules.registry.js +44 -4
  24. package/esm2015/components/tributos/rules/calculation/rules/assessment-period-calculation-rule.js +55 -0
  25. package/esm2015/components/tributos/rules/calculation/rules/tax-amount-calculation-rule.js +17 -1
  26. package/esm2015/components/tributos/rules/calculation/rules/tax-classification-calculation-rule.js +35 -1
  27. package/esm2015/components/tributos/rules/calculation/rules/tax-situation-calculation-rule.js +37 -1
  28. package/esm2015/components/tributos/rules/status/registries/outgoing-invoice-status-rules.registry.js +13 -1
  29. package/esm2015/components/tributos/rules/status/registries/purchase-order-status-rules.registry.js +18 -0
  30. package/esm2015/components/tributos/rules/status/registries/sale-order-status-rules.registry.js +18 -0
  31. package/esm2015/components/tributos/rules/status/registries/status-rules.registry.js +16 -4
  32. package/esm2015/components/tributos/rules/status/rules/tax-classification-status-rule.js +3 -1
  33. package/esm2015/components/tributos/rules/types/schemas/outgoing-invoice.schema.js +13 -1
  34. package/esm2015/components/tributos/rules/validation/registries/outgoing-invoice-validation-rules.registry.js +44 -4
  35. package/esm2015/components/tributos/rules/validation/registries/sale-order-validation-rules.registry.js +8 -560
  36. package/esm2015/components/tributos/rules/validation/rules/required/assessment-period-required-validation-rule.js +78 -0
  37. package/esm2015/components/tributos/rules/validation/rules/required/tax-amount-required-validation-rule.js +51 -2
  38. package/esm2015/components/tributos/rules/validation/rules/required/tax-classification-required-validation-rule.js +48 -2
  39. package/esm2015/components/tributos/rules/validation/rules/required/tax-situation-required-validation-rule.js +48 -2
  40. package/esm2015/components/tributos/tax-reform-utilities.js +6 -2
  41. package/esm2015/components/tributos/types/debit-invoice-type.js +1 -1
  42. package/esm2015/components/tributos/types/tax.js +2 -0
  43. package/esm2015/senior-gestao-empresarial-erpx-components.js +37 -33
  44. package/esm5/components/tributos/erp-tributos.component.js +149 -47
  45. package/esm5/components/tributos/erp-tributos.types.js +5 -1
  46. package/esm5/components/tributos/index.js +1 -1
  47. package/esm5/components/tributos/mappings/enum-tip-imp-cst-mapping.js +3 -1
  48. package/esm5/components/tributos/rules/calculation/registries/calculation-rules-registries/outgoing-invoice-calculation-rules.registry.js +44 -4
  49. package/esm5/components/tributos/rules/calculation/rules/assessment-period-calculation-rule.js +77 -0
  50. package/esm5/components/tributos/rules/calculation/rules/tax-amount-calculation-rule.js +24 -1
  51. package/esm5/components/tributos/rules/calculation/rules/tax-classification-calculation-rule.js +59 -1
  52. package/esm5/components/tributos/rules/calculation/rules/tax-situation-calculation-rule.js +61 -1
  53. package/esm5/components/tributos/rules/status/registries/outgoing-invoice-status-rules.registry.js +13 -1
  54. package/esm5/components/tributos/rules/status/registries/purchase-order-status-rules.registry.js +19 -0
  55. package/esm5/components/tributos/rules/status/registries/sale-order-status-rules.registry.js +19 -0
  56. package/esm5/components/tributos/rules/status/registries/status-rules.registry.js +16 -4
  57. package/esm5/components/tributos/rules/status/rules/tax-classification-status-rule.js +3 -1
  58. package/esm5/components/tributos/rules/types/schemas/outgoing-invoice.schema.js +13 -1
  59. package/esm5/components/tributos/rules/validation/registries/outgoing-invoice-validation-rules.registry.js +44 -4
  60. package/esm5/components/tributos/rules/validation/registries/sale-order-validation-rules.registry.js +10 -562
  61. package/esm5/components/tributos/rules/validation/rules/required/assessment-period-required-validation-rule.js +86 -0
  62. package/esm5/components/tributos/rules/validation/rules/required/tax-amount-required-validation-rule.js +55 -2
  63. package/esm5/components/tributos/rules/validation/rules/required/tax-classification-required-validation-rule.js +52 -2
  64. package/esm5/components/tributos/rules/validation/rules/required/tax-situation-required-validation-rule.js +52 -2
  65. package/esm5/components/tributos/tax-reform-utilities.js +6 -2
  66. package/esm5/components/tributos/types/debit-invoice-type.js +1 -1
  67. package/esm5/components/tributos/types/tax.js +2 -0
  68. package/esm5/senior-gestao-empresarial-erpx-components.js +37 -33
  69. package/fesm2015/senior-gestao-empresarial-erpx-components.js +654 -633
  70. package/fesm2015/senior-gestao-empresarial-erpx-components.js.map +1 -1
  71. package/fesm5/senior-gestao-empresarial-erpx-components.js +754 -626
  72. package/fesm5/senior-gestao-empresarial-erpx-components.js.map +1 -1
  73. package/package.json +1 -1
  74. package/senior-gestao-empresarial-erpx-components.d.ts +36 -32
  75. package/senior-gestao-empresarial-erpx-components.metadata.json +1 -1
@@ -4,10 +4,10 @@ import { CommonModule } from '@angular/common';
4
4
  import { BreadcrumbModule as BreadcrumbModule$1 } from 'primeng/breadcrumb';
5
5
  import { NavigationEnd, PRIMARY_OUTLET, ActivatedRoute, Router, RouterModule } from '@angular/router';
6
6
  import { Subject, combineLatest, throwError } from 'rxjs';
7
- import { takeUntil, filter, startWith, distinctUntilChanged, skip, map, auditTime, debounceTime, scan, catchError, first } from 'rxjs/operators';
7
+ import { takeUntil, filter, startWith, distinctUntilChanged, skip, map, debounceTime, auditTime, scan, catchError, first } from 'rxjs/operators';
8
8
  import { TranslateService, TranslateModule } from '@ngx-translate/core';
9
9
  import { EnumLogicalOperator, E027StrLookup, BeneficioFiscalLookup, E027EqiLookup, CplTriNotaSaidaNaturezaReceitaPisCofinsLookup, ClassificacaoTributariaLookup, LookupValidationUtils, ErpLookupsModule, E210DxpLookup } from '@senior-gestao-empresarial/angular-components';
10
- import { FieldType, BadgeColors, ButtonPriority, ButtonSize, ButtonAnimation, isNullOrUndefined as isNullOrUndefined$1, FormField, ButtonModule, DynamicFormModule, LoadingStateModule, BadgeModule, EnumColumnFieldType, LocaleModule, StatsCardModule, EmptyStateModule, SidebarModule, TableModule as TableModule$1 } from '@seniorsistemas/angular-components';
10
+ import { FieldType, BadgeColors, ButtonPriority, ButtonSize, ButtonAnimation, isNullOrUndefined as isNullOrUndefined$1, FormField, CalendarLocaleOptions, LocaleService, ButtonModule, DynamicFormModule, LoadingStateModule, BadgeModule, EnumColumnFieldType, LocaleModule, StatsCardModule, EmptyStateModule, SidebarModule, TableModule as TableModule$1 } from '@seniorsistemas/angular-components';
11
11
  import { AccordionModule } from 'primeng/accordion';
12
12
  import { Validators, FormControl, FormGroup, FormBuilder, ReactiveFormsModule, FormsModule } from '@angular/forms';
13
13
  import { GTagService } from '@seniorsistemas/platform-utils';
@@ -15,13 +15,13 @@ import BigNumber from 'bignumber.js';
15
15
  import { MessageService as MessageService$1 } from 'primeng/api';
16
16
  import { HttpClient, HttpParams } from '@angular/common/http';
17
17
  import { MessageService } from 'primeng';
18
+ import * as moment from 'moment';
18
19
  import { ConfirmDialogModule } from 'primeng/confirmdialog';
19
20
  import { MessagesModule } from 'primeng/messages';
20
21
  import { PanelModule } from 'primeng/panel';
21
22
  import { Table, TableModule } from 'primeng/table';
22
23
  import { TabViewModule } from 'primeng/tabview';
23
24
  import { PermissionsModule } from '@seniorsistemas/platform-components';
24
- import * as moment from 'moment';
25
25
 
26
26
  let BreadcrumbComponent = class BreadcrumbComponent {
27
27
  constructor(activatedRoute, router) {
@@ -360,6 +360,7 @@ var EnumCampoTributo;
360
360
  EnumCampoTributo["TipoCalculoImposto"] = "TipoCalculoImposto";
361
361
  EnumCampoTributo["ImpostoManual"] = "impostoManual";
362
362
  EnumCampoTributo["EscriturarAliquotaISS"] = "escriturarAliquotaISS";
363
+ EnumCampoTributo["PeriodoApuracao"] = "periodoApuracao";
363
364
  })(EnumCampoTributo || (EnumCampoTributo = {}));
364
365
  var EnumGrupoTributo;
365
366
  (function (EnumGrupoTributo) {
@@ -370,6 +371,7 @@ var EnumGrupoTributo;
370
371
  EnumGrupoTributo["IBS_CREDITO_PRESUMIDO"] = "ibs_credito_presumido";
371
372
  EnumGrupoTributo["IS"] = "is";
372
373
  EnumGrupoTributo["CBS_IBS_ESTORNO_CREDITO"] = "cbs_ibs_estorno_credito";
374
+ EnumGrupoTributo["CBS_IBS_AJUSTE"] = "cbs_ibs_ajuste";
373
375
  EnumGrupoTributo["ICMS"] = "icms";
374
376
  EnumGrupoTributo["ICMS_ST"] = "icms_st";
375
377
  EnumGrupoTributo["IPI"] = "ipi";
@@ -390,6 +392,7 @@ var EnumTipoTributo;
390
392
  EnumTipoTributo["CBS_TRIBUTACAO_REGULAR"] = "CBS_TRIBUTACAO_REGULAR";
391
393
  EnumTipoTributo["CBS_GOVERNAMENTAL"] = "CBS_GOVERNAMENTAL";
392
394
  EnumTipoTributo["CBS_ESTORNO_CREDITO"] = "CBS_ESTORNO_CREDITO";
395
+ EnumTipoTributo["CBS_AJUSTE"] = "CBS_AJUSTE";
393
396
  EnumTipoTributo["IBS_ESTADUAL"] = "IBS_ESTADUAL";
394
397
  EnumTipoTributo["IBS_ESTADUAL_DIFERIDO"] = "IBS_ESTADUAL_DIFERIDO";
395
398
  EnumTipoTributo["IBS_ESTADUAL_TRIBUTACAO_REGULAR"] = "IBS_ESTADUAL_TRIBUTACAO_REGULAR";
@@ -400,6 +403,7 @@ var EnumTipoTributo;
400
403
  EnumTipoTributo["IBS_MUNICIPAL_GOVERNAMENTAL"] = "IBS_MUNICIPAL_GOVERNAMENTAL";
401
404
  EnumTipoTributo["IBS_CREDITO_PRESUMIDO"] = "IBS_CREDITO_PRESUMIDO";
402
405
  EnumTipoTributo["IBS_ESTORNO_CREDITO"] = "IBS_ESTORNO_CREDITO";
406
+ EnumTipoTributo["IBS_AJUSTE"] = "IBS_AJUSTE";
403
407
  EnumTipoTributo["IS"] = "IS";
404
408
  EnumTipoTributo["PIS_FATURAMENTO"] = "PIS_FATURAMENTO";
405
409
  EnumTipoTributo["PIS_RECUPERAR"] = "PIS_RECUPERAR";
@@ -589,11 +593,13 @@ const mapEnumTipoTributoToEnumTipImpCst = (taxType) => {
589
593
  case EnumTipoTributo.CBS:
590
594
  case EnumTipoTributo.CBS_TRIBUTACAO_REGULAR:
591
595
  case EnumTipoTributo.CBS_ESTORNO_CREDITO:
596
+ case EnumTipoTributo.CBS_AJUSTE:
592
597
  case EnumTipoTributo.IBS_ESTADUAL:
593
598
  case EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR:
594
599
  case EnumTipoTributo.IBS_MUNICIPAL:
595
600
  case EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR:
596
601
  case EnumTipoTributo.IBS_ESTORNO_CREDITO:
602
+ case EnumTipoTributo.IBS_AJUSTE:
597
603
  return EnumTipImpCst.CBS_IBS;
598
604
  case EnumTipoTributo.IS:
599
605
  return EnumTipImpCst.IS;
@@ -619,7 +625,9 @@ const isTaxFromTaxReform = (tax) => {
619
625
  tax === EnumTipoTributo.IBS_MUNICIPAL_GOVERNAMENTAL ||
620
626
  tax === EnumTipoTributo.IBS_CREDITO_PRESUMIDO ||
621
627
  tax === EnumTipoTributo.CBS_ESTORNO_CREDITO ||
622
- tax === EnumTipoTributo.IBS_ESTORNO_CREDITO);
628
+ tax === EnumTipoTributo.IBS_ESTORNO_CREDITO ||
629
+ tax === EnumTipoTributo.CBS_AJUSTE ||
630
+ tax === EnumTipoTributo.IBS_AJUSTE);
623
631
  };
624
632
  const getBaseTaxByGroupTax = (groupTax) => {
625
633
  switch (groupTax) {
@@ -635,6 +643,8 @@ const getBaseTaxByGroupTax = (groupTax) => {
635
643
  return EnumTipoTributo.IS;
636
644
  case EnumGrupoTributo.CBS_IBS_ESTORNO_CREDITO:
637
645
  return EnumTipoTributo.CBS_ESTORNO_CREDITO;
646
+ case EnumGrupoTributo.CBS_IBS_AJUSTE:
647
+ return EnumTipoTributo.CBS_AJUSTE;
638
648
  default:
639
649
  return null;
640
650
  }
@@ -1345,6 +1355,22 @@ let TaxAmountCalculationRule = class TaxAmountCalculationRule {
1345
1355
  });
1346
1356
  }
1347
1357
  break;
1358
+ case EnumTipoTributo.CBS_AJUSTE:
1359
+ case EnumTipoTributo.IBS_AJUSTE:
1360
+ {
1361
+ const { dataKey } = formField.find(({ name }) => name === 'classificacaoTributaria');
1362
+ combineLatest([
1363
+ formGroup
1364
+ .get('classificacaoTributaria')
1365
+ .valueChanges.pipe(startWith(formGroup.get('classificacaoTributaria')
1366
+ .value), distinctUntilChanged((old, current) => (old === null || old === void 0 ? void 0 : old[dataKey]) === (current === null || current === void 0 ? void 0 : current[dataKey])))
1367
+ ])
1368
+ .pipe(skip(1), map(() => new BigNumber(formGroup.get('valor').value)), filter((taxAmount) => taxAmount.isNaN()))
1369
+ .subscribe(() => {
1370
+ formGroup.get('valor').setValue(0);
1371
+ });
1372
+ }
1373
+ break;
1348
1374
  default:
1349
1375
  throw new Error(`Regra TaxAmountCalculationRule não implementada para o imposto ${taxType}, documento ${document}.`);
1350
1376
  }
@@ -1495,6 +1521,40 @@ let TaxClassificationCalculationRule = class TaxClassificationCalculationRule {
1495
1521
  });
1496
1522
  }
1497
1523
  break;
1524
+ case EnumTipoTributo.CBS_AJUSTE:
1525
+ {
1526
+ const { formGroup: ibsAjusteFormGroup, formField: ibsAjusteFormField } = group.item.find(({ name }) => name === EnumTipoTributo.IBS_AJUSTE);
1527
+ const { dataKey } = ibsAjusteFormField.find(({ name }) => name === 'classificacaoTributaria');
1528
+ combineLatest([
1529
+ ibsAjusteFormGroup
1530
+ .get('classificacaoTributaria')
1531
+ .valueChanges.pipe(startWith(ibsAjusteFormGroup.get('classificacaoTributaria').value), distinctUntilChanged((old, current) => (old === null || old === void 0 ? void 0 : old[dataKey]) === (current === null || current === void 0 ? void 0 : current[dataKey])))
1532
+ ])
1533
+ .pipe(skip(1), map(([taxClassification]) => [taxClassification]))
1534
+ .subscribe(([taxClassification]) => {
1535
+ formGroup
1536
+ .get('classificacaoTributaria')
1537
+ .setValue(taxClassification);
1538
+ });
1539
+ }
1540
+ break;
1541
+ case EnumTipoTributo.IBS_AJUSTE:
1542
+ {
1543
+ const { formGroup: cbsAjusteFormGroup, formField: cbsAjusteFormField } = group.item.find(({ name }) => name === EnumTipoTributo.CBS_AJUSTE);
1544
+ const { dataKey } = cbsAjusteFormField.find(({ name }) => name === 'classificacaoTributaria');
1545
+ combineLatest([
1546
+ cbsAjusteFormGroup
1547
+ .get('classificacaoTributaria')
1548
+ .valueChanges.pipe(startWith(cbsAjusteFormGroup.get('classificacaoTributaria').value), distinctUntilChanged((old, current) => (old === null || old === void 0 ? void 0 : old[dataKey]) === (current === null || current === void 0 ? void 0 : current[dataKey])))
1549
+ ])
1550
+ .pipe(skip(1), map(([taxClassification]) => [taxClassification]))
1551
+ .subscribe(([taxClassification]) => {
1552
+ formGroup
1553
+ .get('classificacaoTributaria')
1554
+ .setValue(taxClassification);
1555
+ });
1556
+ }
1557
+ break;
1498
1558
  default:
1499
1559
  throw new Error(`Regra TaxClassificationCalculationRule não implementada para o imposto ${taxType}, documento ${document}.`);
1500
1560
  }
@@ -4005,6 +4065,53 @@ IncomingInvoiceCalculationRulesRegistry = __decorate([
4005
4065
  Injectable({ providedIn: 'root' })
4006
4066
  ], IncomingInvoiceCalculationRulesRegistry);
4007
4067
 
4068
+ let AssessmentPeriodCalculationRule = class AssessmentPeriodCalculationRule {
4069
+ apply({ context: { document }, group, item: { name: taxType, formGroup } }) {
4070
+ switch (taxType) {
4071
+ case EnumTipoTributo.CBS_AJUSTE:
4072
+ {
4073
+ const { formGroup: ibsAjusteFormGroup } = group.item.find(({ name }) => name === EnumTipoTributo.IBS_AJUSTE);
4074
+ combineLatest([
4075
+ ibsAjusteFormGroup
4076
+ .get(EnumCampoTributo.PeriodoApuracao)
4077
+ .valueChanges.pipe(startWith(ibsAjusteFormGroup.get(EnumCampoTributo.PeriodoApuracao).value), distinctUntilChanged((old, current) => old === current ||
4078
+ moment(old).isSame(current, 'day')), debounceTime(100))
4079
+ ])
4080
+ .pipe(skip(1), map(([taxSituation]) => [taxSituation]))
4081
+ .subscribe(([taxSituation]) => {
4082
+ formGroup
4083
+ .get(EnumCampoTributo.PeriodoApuracao)
4084
+ .setValue(taxSituation);
4085
+ });
4086
+ }
4087
+ break;
4088
+ case EnumTipoTributo.IBS_AJUSTE:
4089
+ {
4090
+ const { formGroup: cbsAjusteFormGroup } = group.item.find(({ name }) => name === EnumTipoTributo.CBS_AJUSTE);
4091
+ combineLatest([
4092
+ cbsAjusteFormGroup
4093
+ .get(EnumCampoTributo.PeriodoApuracao)
4094
+ .valueChanges.pipe(startWith(cbsAjusteFormGroup.get(EnumCampoTributo.PeriodoApuracao).value), distinctUntilChanged((old, current) => old === current ||
4095
+ moment(old).isSame(current, 'day')), debounceTime(100))
4096
+ ])
4097
+ .pipe(skip(1), map(([taxSituation]) => [taxSituation]))
4098
+ .subscribe(([taxSituation]) => {
4099
+ formGroup
4100
+ .get(EnumCampoTributo.PeriodoApuracao)
4101
+ .setValue(taxSituation);
4102
+ });
4103
+ }
4104
+ break;
4105
+ default:
4106
+ throw new Error(`Regra AssessmentPeriodCalculationRule não implementada para o imposto ${taxType}, documento ${document}.`);
4107
+ }
4108
+ }
4109
+ };
4110
+ AssessmentPeriodCalculationRule.ɵprov = ɵɵdefineInjectable({ factory: function AssessmentPeriodCalculationRule_Factory() { return new AssessmentPeriodCalculationRule(); }, token: AssessmentPeriodCalculationRule, providedIn: "root" });
4111
+ AssessmentPeriodCalculationRule = __decorate([
4112
+ Injectable({ providedIn: 'root' })
4113
+ ], AssessmentPeriodCalculationRule);
4114
+
4008
4115
  let TaxSituationCalculationRule = class TaxSituationCalculationRule {
4009
4116
  apply({ context: { document }, group, item: { name: taxType, formGroup } }) {
4010
4117
  switch (taxType) {
@@ -4042,6 +4149,42 @@ let TaxSituationCalculationRule = class TaxSituationCalculationRule {
4042
4149
  });
4043
4150
  }
4044
4151
  break;
4152
+ case EnumTipoTributo.CBS_AJUSTE:
4153
+ {
4154
+ const { formGroup: ibsAjusteFormGroup, formField: ibsAjusteFormField } = group.item.find(({ name }) => name === EnumTipoTributo.IBS_AJUSTE);
4155
+ const { dataKey } = ibsAjusteFormField.find(({ name }) => name === 'situacaoTributaria');
4156
+ combineLatest([
4157
+ ibsAjusteFormGroup
4158
+ .get('situacaoTributaria')
4159
+ .valueChanges.pipe(startWith(ibsAjusteFormGroup.get('situacaoTributaria')
4160
+ .value), distinctUntilChanged((old, current) => (old === null || old === void 0 ? void 0 : old[dataKey]) === (current === null || current === void 0 ? void 0 : current[dataKey])))
4161
+ ])
4162
+ .pipe(skip(1), map(([taxSituation]) => [taxSituation]))
4163
+ .subscribe(([taxSituation]) => {
4164
+ formGroup
4165
+ .get('situacaoTributaria')
4166
+ .setValue(taxSituation);
4167
+ });
4168
+ }
4169
+ break;
4170
+ case EnumTipoTributo.IBS_AJUSTE:
4171
+ {
4172
+ const { formGroup: cbsAjusteFormGroup, formField: cbsAjusteFormField } = group.item.find(({ name }) => name === EnumTipoTributo.CBS_AJUSTE);
4173
+ const { dataKey } = cbsAjusteFormField.find(({ name }) => name === 'situacaoTributaria');
4174
+ combineLatest([
4175
+ cbsAjusteFormGroup
4176
+ .get('situacaoTributaria')
4177
+ .valueChanges.pipe(startWith(cbsAjusteFormGroup.get('situacaoTributaria')
4178
+ .value), distinctUntilChanged((old, current) => (old === null || old === void 0 ? void 0 : old[dataKey]) === (current === null || current === void 0 ? void 0 : current[dataKey])))
4179
+ ])
4180
+ .pipe(skip(1), map(([taxSituation]) => [taxSituation]))
4181
+ .subscribe(([taxSituation]) => {
4182
+ formGroup
4183
+ .get('situacaoTributaria')
4184
+ .setValue(taxSituation);
4185
+ });
4186
+ }
4187
+ break;
4045
4188
  default:
4046
4189
  throw new Error(`Regra TaxSituationCalculationRule não implementada para o imposto ${taxType}, documento ${document}.`);
4047
4190
  }
@@ -4053,7 +4196,7 @@ TaxSituationCalculationRule = __decorate([
4053
4196
  ], TaxSituationCalculationRule);
4054
4197
 
4055
4198
  let OutgoingInvoiceCalculationRulesRegistry = class OutgoingInvoiceCalculationRulesRegistry {
4056
- constructor(taxableBaseCalculationRule, taxRateCalculationRule, effectiveTaxRateCalculationRule, taxAmountCalculationRule, grossAmountCalculationRule, taxSituationCalculationRule, taxClassificationCalculationRule, taxCalculationTypeCalculationRule, manualTaxCalculationRule) {
4199
+ constructor(taxableBaseCalculationRule, taxRateCalculationRule, effectiveTaxRateCalculationRule, taxAmountCalculationRule, grossAmountCalculationRule, taxSituationCalculationRule, taxClassificationCalculationRule, taxCalculationTypeCalculationRule, assessmentPeriodCalculationRule, manualTaxCalculationRule) {
4057
4200
  this.taxableBaseCalculationRule = taxableBaseCalculationRule;
4058
4201
  this.taxRateCalculationRule = taxRateCalculationRule;
4059
4202
  this.effectiveTaxRateCalculationRule = effectiveTaxRateCalculationRule;
@@ -4062,6 +4205,7 @@ let OutgoingInvoiceCalculationRulesRegistry = class OutgoingInvoiceCalculationRu
4062
4205
  this.taxSituationCalculationRule = taxSituationCalculationRule;
4063
4206
  this.taxClassificationCalculationRule = taxClassificationCalculationRule;
4064
4207
  this.taxCalculationTypeCalculationRule = taxCalculationTypeCalculationRule;
4208
+ this.assessmentPeriodCalculationRule = assessmentPeriodCalculationRule;
4065
4209
  this.manualTaxCalculationRule = manualTaxCalculationRule;
4066
4210
  this.strategies = {
4067
4211
  'Product And Service Sale': {
@@ -6250,6 +6394,42 @@ let OutgoingInvoiceCalculationRulesRegistry = class OutgoingInvoiceCalculationRu
6250
6394
  field: EnumCampoTributo.Valor,
6251
6395
  rule: this.taxAmountCalculationRule
6252
6396
  }
6397
+ ],
6398
+ [EnumTipoTributo.CBS_AJUSTE]: [
6399
+ {
6400
+ field: EnumCampoTributo.SituacaoTributaria,
6401
+ rule: this.taxSituationCalculationRule
6402
+ },
6403
+ {
6404
+ field: EnumCampoTributo.ClassificacaoTributaria,
6405
+ rule: this.taxClassificationCalculationRule
6406
+ },
6407
+ {
6408
+ field: EnumCampoTributo.PeriodoApuracao,
6409
+ rule: this.assessmentPeriodCalculationRule
6410
+ },
6411
+ {
6412
+ field: EnumCampoTributo.Valor,
6413
+ rule: this.taxAmountCalculationRule
6414
+ }
6415
+ ],
6416
+ [EnumTipoTributo.IBS_AJUSTE]: [
6417
+ {
6418
+ field: EnumCampoTributo.SituacaoTributaria,
6419
+ rule: this.taxSituationCalculationRule
6420
+ },
6421
+ {
6422
+ field: EnumCampoTributo.ClassificacaoTributaria,
6423
+ rule: this.taxClassificationCalculationRule
6424
+ },
6425
+ {
6426
+ field: EnumCampoTributo.PeriodoApuracao,
6427
+ rule: this.assessmentPeriodCalculationRule
6428
+ },
6429
+ {
6430
+ field: EnumCampoTributo.Valor,
6431
+ rule: this.taxAmountCalculationRule
6432
+ }
6253
6433
  ]
6254
6434
  },
6255
6435
  Delivery: {
@@ -7780,9 +7960,10 @@ OutgoingInvoiceCalculationRulesRegistry.ctorParameters = () => [
7780
7960
  { type: TaxSituationCalculationRule },
7781
7961
  { type: TaxClassificationCalculationRule },
7782
7962
  { type: TaxCalculationTypeCalculationRule },
7963
+ { type: AssessmentPeriodCalculationRule },
7783
7964
  { type: ManualTaxCalculationRule }
7784
7965
  ];
7785
- OutgoingInvoiceCalculationRulesRegistry.ɵprov = ɵɵdefineInjectable({ factory: function OutgoingInvoiceCalculationRulesRegistry_Factory() { return new OutgoingInvoiceCalculationRulesRegistry(ɵɵinject(TaxableBaseCalculationRule), ɵɵinject(TaxRateCalculationRule), ɵɵinject(EffectiveTaxRateCalculationRule), ɵɵinject(TaxAmountCalculationRule), ɵɵinject(GrossAmountCalculationRule), ɵɵinject(TaxSituationCalculationRule), ɵɵinject(TaxClassificationCalculationRule), ɵɵinject(TaxCalculationTypeCalculationRule), ɵɵinject(ManualTaxCalculationRule)); }, token: OutgoingInvoiceCalculationRulesRegistry, providedIn: "root" });
7966
+ OutgoingInvoiceCalculationRulesRegistry.ɵprov = ɵɵdefineInjectable({ factory: function OutgoingInvoiceCalculationRulesRegistry_Factory() { return new OutgoingInvoiceCalculationRulesRegistry(ɵɵinject(TaxableBaseCalculationRule), ɵɵinject(TaxRateCalculationRule), ɵɵinject(EffectiveTaxRateCalculationRule), ɵɵinject(TaxAmountCalculationRule), ɵɵinject(GrossAmountCalculationRule), ɵɵinject(TaxSituationCalculationRule), ɵɵinject(TaxClassificationCalculationRule), ɵɵinject(TaxCalculationTypeCalculationRule), ɵɵinject(AssessmentPeriodCalculationRule), ɵɵinject(ManualTaxCalculationRule)); }, token: OutgoingInvoiceCalculationRulesRegistry, providedIn: "root" });
7786
7967
  OutgoingInvoiceCalculationRulesRegistry = __decorate([
7787
7968
  Injectable({ providedIn: 'root' })
7788
7969
  ], OutgoingInvoiceCalculationRulesRegistry);
@@ -9466,6 +9647,8 @@ let TaxClassificationStatusRule = class TaxClassificationStatusRule {
9466
9647
  break;
9467
9648
  case EnumTipoTributo.CBS_ESTORNO_CREDITO:
9468
9649
  case EnumTipoTributo.IBS_ESTORNO_CREDITO:
9650
+ case EnumTipoTributo.CBS_AJUSTE:
9651
+ case EnumTipoTributo.IBS_AJUSTE:
9469
9652
  {
9470
9653
  combineLatest([
9471
9654
  formGroup
@@ -10436,6 +10619,18 @@ let OutgoingInvoiceStatusRulesRegistry = class OutgoingInvoiceStatusRulesRegistr
10436
10619
  field: EnumCampoTributo.ClassificacaoTributaria,
10437
10620
  rule: this.taxClassificationStatusRule
10438
10621
  }
10622
+ ],
10623
+ [EnumTipoTributo.CBS_AJUSTE]: [
10624
+ {
10625
+ field: EnumCampoTributo.ClassificacaoTributaria,
10626
+ rule: this.taxClassificationStatusRule
10627
+ }
10628
+ ],
10629
+ [EnumTipoTributo.IBS_AJUSTE]: [
10630
+ {
10631
+ field: EnumCampoTributo.ClassificacaoTributaria,
10632
+ rule: this.taxClassificationStatusRule
10633
+ }
10439
10634
  ]
10440
10635
  },
10441
10636
  Delivery: {
@@ -10768,10 +10963,40 @@ OutgoingInvoiceStatusRulesRegistry = __decorate([
10768
10963
  Injectable({ providedIn: 'root' })
10769
10964
  ], OutgoingInvoiceStatusRulesRegistry);
10770
10965
 
10966
+ let PurchaseOrderStatusRulesRegistry = class PurchaseOrderStatusRulesRegistry {
10967
+ constructor() {
10968
+ this.strategies = {};
10969
+ }
10970
+ get(type, taxType) {
10971
+ var _a, _b;
10972
+ return ((_b = (_a = this.strategies[type]) === null || _a === void 0 ? void 0 : _a[taxType]) !== null && _b !== void 0 ? _b : []);
10973
+ }
10974
+ };
10975
+ PurchaseOrderStatusRulesRegistry.ɵprov = ɵɵdefineInjectable({ factory: function PurchaseOrderStatusRulesRegistry_Factory() { return new PurchaseOrderStatusRulesRegistry(); }, token: PurchaseOrderStatusRulesRegistry, providedIn: "root" });
10976
+ PurchaseOrderStatusRulesRegistry = __decorate([
10977
+ Injectable({ providedIn: 'root' })
10978
+ ], PurchaseOrderStatusRulesRegistry);
10979
+
10980
+ let SaleOrderStatusRulesRegistry = class SaleOrderStatusRulesRegistry {
10981
+ constructor() {
10982
+ this.strategies = {};
10983
+ }
10984
+ get(type, taxType) {
10985
+ var _a, _b;
10986
+ return ((_b = (_a = this.strategies[type]) === null || _a === void 0 ? void 0 : _a[taxType]) !== null && _b !== void 0 ? _b : []);
10987
+ }
10988
+ };
10989
+ SaleOrderStatusRulesRegistry.ɵprov = ɵɵdefineInjectable({ factory: function SaleOrderStatusRulesRegistry_Factory() { return new SaleOrderStatusRulesRegistry(); }, token: SaleOrderStatusRulesRegistry, providedIn: "root" });
10990
+ SaleOrderStatusRulesRegistry = __decorate([
10991
+ Injectable({ providedIn: 'root' })
10992
+ ], SaleOrderStatusRulesRegistry);
10993
+
10771
10994
  let StatusRulesRegistry = class StatusRulesRegistry {
10772
- constructor(incomingInvoiceStatusRulesRegistry, outgoingInvoiceStatusRulesRegistry) {
10995
+ constructor(incomingInvoiceStatusRulesRegistry, outgoingInvoiceStatusRulesRegistry, saleOrderStatusRulesRegistry, purchaseOrderStatusRulesRegistry) {
10773
10996
  this.incomingInvoiceStatusRulesRegistry = incomingInvoiceStatusRulesRegistry;
10774
10997
  this.outgoingInvoiceStatusRulesRegistry = outgoingInvoiceStatusRulesRegistry;
10998
+ this.saleOrderStatusRulesRegistry = saleOrderStatusRulesRegistry;
10999
+ this.purchaseOrderStatusRulesRegistry = purchaseOrderStatusRulesRegistry;
10775
11000
  }
10776
11001
  get(context, taxType) {
10777
11002
  switch (context.document) {
@@ -10779,6 +11004,10 @@ let StatusRulesRegistry = class StatusRulesRegistry {
10779
11004
  return this.incomingInvoiceStatusRulesRegistry.get(context.invoice.type, taxType);
10780
11005
  case 'Outgoing Invoice':
10781
11006
  return this.outgoingInvoiceStatusRulesRegistry.get(context.invoice.type, taxType);
11007
+ case 'Sale Order':
11008
+ return this.saleOrderStatusRulesRegistry.get(context.order.type, taxType);
11009
+ case 'Purchase Order':
11010
+ return this.purchaseOrderStatusRulesRegistry.get(context.order.type, taxType);
10782
11011
  default:
10783
11012
  throw new Error(`StatusRulesRegistry not implemented for ${context.document}`);
10784
11013
  }
@@ -10786,9 +11015,11 @@ let StatusRulesRegistry = class StatusRulesRegistry {
10786
11015
  };
10787
11016
  StatusRulesRegistry.ctorParameters = () => [
10788
11017
  { type: IncomingInvoiceStatusRulesRegistry },
10789
- { type: OutgoingInvoiceStatusRulesRegistry }
11018
+ { type: OutgoingInvoiceStatusRulesRegistry },
11019
+ { type: SaleOrderStatusRulesRegistry },
11020
+ { type: PurchaseOrderStatusRulesRegistry }
10790
11021
  ];
10791
- StatusRulesRegistry.ɵprov = ɵɵdefineInjectable({ factory: function StatusRulesRegistry_Factory() { return new StatusRulesRegistry(ɵɵinject(IncomingInvoiceStatusRulesRegistry), ɵɵinject(OutgoingInvoiceStatusRulesRegistry)); }, token: StatusRulesRegistry, providedIn: "root" });
11022
+ StatusRulesRegistry.ɵprov = ɵɵdefineInjectable({ factory: function StatusRulesRegistry_Factory() { return new StatusRulesRegistry(ɵɵinject(IncomingInvoiceStatusRulesRegistry), ɵɵinject(OutgoingInvoiceStatusRulesRegistry), ɵɵinject(SaleOrderStatusRulesRegistry), ɵɵinject(PurchaseOrderStatusRulesRegistry)); }, token: StatusRulesRegistry, providedIn: "root" });
10792
11023
  StatusRulesRegistry = __decorate([
10793
11024
  Injectable({ providedIn: 'root' })
10794
11025
  ], StatusRulesRegistry);
@@ -11574,6 +11805,55 @@ let TaxAmountRequiredValidationRule = class TaxAmountRequiredValidationRule {
11574
11805
  });
11575
11806
  }
11576
11807
  break;
11808
+ case EnumTipoTributo.CBS_AJUSTE:
11809
+ case EnumTipoTributo.IBS_AJUSTE:
11810
+ {
11811
+ combineLatest([
11812
+ formGroup
11813
+ .get('situacaoTributaria')
11814
+ .valueChanges.pipe(startWith(formGroup.get('situacaoTributaria').value), distinctUntilChanged()),
11815
+ formGroup
11816
+ .get('classificacaoTributaria')
11817
+ .valueChanges.pipe(startWith(formGroup.get('classificacaoTributaria')
11818
+ .value), distinctUntilChanged()),
11819
+ formGroup
11820
+ .get(EnumCampoTributo.PeriodoApuracao)
11821
+ .valueChanges.pipe(startWith(formGroup.get(EnumCampoTributo.PeriodoApuracao).value), distinctUntilChanged()),
11822
+ formGroup
11823
+ .get('valor')
11824
+ .valueChanges.pipe(startWith(formGroup.get('valor').value), distinctUntilChanged())
11825
+ ])
11826
+ .pipe(map(([taxSituation, taxClassification, assessmentPeriod, taxAmount]) => [
11827
+ taxSituation,
11828
+ taxClassification,
11829
+ assessmentPeriod,
11830
+ new BigNumber(taxAmount)
11831
+ ]))
11832
+ .subscribe(([taxSituation, taxClassification, assessmentPeriod, taxAmount]) => {
11833
+ let validators = [];
11834
+ if (taxSituation ||
11835
+ taxClassification ||
11836
+ assessmentPeriod ||
11837
+ taxAmount.isFinite()) {
11838
+ validators = [
11839
+ Validators.max(9999999999999.99),
11840
+ Validators.required
11841
+ ];
11842
+ }
11843
+ else {
11844
+ validators = [
11845
+ Validators.max(9999999999999.99)
11846
+ ];
11847
+ }
11848
+ formGroup
11849
+ .get('valor')
11850
+ .setValidators(validators);
11851
+ formGroup.get('valor').updateValueAndValidity({
11852
+ emitEvent: false
11853
+ });
11854
+ });
11855
+ }
11856
+ break;
11577
11857
  default:
11578
11858
  throw new Error(`Regra TaxAmountRequiredValidationRule não implementada para o imposto ${taxType}, documento ${document}.`);
11579
11859
  }
@@ -11918,6 +12198,52 @@ let TaxClassificationRequiredValidationRule = class TaxClassificationRequiredVal
11918
12198
  });
11919
12199
  }
11920
12200
  break;
12201
+ case EnumTipoTributo.CBS_AJUSTE:
12202
+ case EnumTipoTributo.IBS_AJUSTE:
12203
+ {
12204
+ combineLatest([
12205
+ formGroup
12206
+ .get('situacaoTributaria')
12207
+ .valueChanges.pipe(startWith(formGroup.get('situacaoTributaria').value), distinctUntilChanged()),
12208
+ formGroup
12209
+ .get('classificacaoTributaria')
12210
+ .valueChanges.pipe(startWith(formGroup.get('classificacaoTributaria')
12211
+ .value), distinctUntilChanged()),
12212
+ formGroup
12213
+ .get(EnumCampoTributo.PeriodoApuracao)
12214
+ .valueChanges.pipe(startWith(formGroup.get(EnumCampoTributo.PeriodoApuracao).value), distinctUntilChanged()),
12215
+ formGroup
12216
+ .get('valor')
12217
+ .valueChanges.pipe(startWith(formGroup.get('valor').value), distinctUntilChanged())
12218
+ ])
12219
+ .pipe(map(([taxSituation, taxClassication, assessmentPeriod, taxAmount]) => [
12220
+ taxSituation,
12221
+ taxClassication,
12222
+ assessmentPeriod,
12223
+ new BigNumber(taxAmount)
12224
+ ]))
12225
+ .subscribe(([taxSituation, taxClassication, assessmentPeriod, taxAmount]) => {
12226
+ let validators = [];
12227
+ if (taxSituation ||
12228
+ taxClassication ||
12229
+ assessmentPeriod ||
12230
+ taxAmount.isFinite()) {
12231
+ validators = [Validators.required];
12232
+ }
12233
+ else {
12234
+ validators = [];
12235
+ }
12236
+ formGroup
12237
+ .get('classificacaoTributaria')
12238
+ .setValidators(validators);
12239
+ formGroup
12240
+ .get('classificacaoTributaria')
12241
+ .updateValueAndValidity({
12242
+ emitEvent: false
12243
+ });
12244
+ });
12245
+ }
12246
+ break;
11921
12247
  default:
11922
12248
  throw new Error(`Regra TaxClassificationRequiredValidationRule não implementada para o imposto ${taxType}, documento ${document}.`);
11923
12249
  }
@@ -12813,30 +13139,76 @@ let TaxSituationRequiredValidationRule = class TaxSituationRequiredValidationRul
12813
13139
  });
12814
13140
  }
12815
13141
  break;
12816
- default:
12817
- throw new Error(`Regra TaxSituationRequiredValidationRule não implementada para o imposto ${taxType}, documento ${document}.`);
12818
- }
12819
- }
12820
- };
12821
- TaxSituationRequiredValidationRule.ɵprov = ɵɵdefineInjectable({ factory: function TaxSituationRequiredValidationRule_Factory() { return new TaxSituationRequiredValidationRule(); }, token: TaxSituationRequiredValidationRule, providedIn: "root" });
12822
- TaxSituationRequiredValidationRule = __decorate([
12823
- Injectable({ providedIn: 'root' })
12824
- ], TaxSituationRequiredValidationRule);
12825
-
12826
- let TaxableBaseRequiredValidationRule = class TaxableBaseRequiredValidationRule {
12827
- constructor() { }
12828
- apply({ context: { document }, item: { name: taxType, formGroup }, group }) {
12829
- switch (taxType) {
12830
- case EnumTipoTributo.CBS:
12831
- case EnumTipoTributo.IBS_ESTADUAL:
12832
- case EnumTipoTributo.IBS_MUNICIPAL:
13142
+ case EnumTipoTributo.CBS_AJUSTE:
13143
+ case EnumTipoTributo.IBS_AJUSTE:
12833
13144
  {
12834
- switch (document) {
12835
- case 'Incoming Invoice':
12836
- case 'Outgoing Invoice':
12837
- {
12838
- combineLatest([
12839
- formGroup
13145
+ combineLatest([
13146
+ formGroup
13147
+ .get('situacaoTributaria')
13148
+ .valueChanges.pipe(startWith(formGroup.get('situacaoTributaria').value), distinctUntilChanged()),
13149
+ formGroup
13150
+ .get('classificacaoTributaria')
13151
+ .valueChanges.pipe(startWith(formGroup.get('classificacaoTributaria')
13152
+ .value), distinctUntilChanged()),
13153
+ formGroup
13154
+ .get(EnumCampoTributo.PeriodoApuracao)
13155
+ .valueChanges.pipe(startWith(formGroup.get(EnumCampoTributo.PeriodoApuracao).value), distinctUntilChanged()),
13156
+ formGroup
13157
+ .get('valor')
13158
+ .valueChanges.pipe(startWith(formGroup.get('valor').value), distinctUntilChanged())
13159
+ ])
13160
+ .pipe(map(([taxSituation, taxClassification, assessmentPeriod, taxAmount]) => [
13161
+ taxSituation,
13162
+ taxClassification,
13163
+ assessmentPeriod,
13164
+ new BigNumber(taxAmount)
13165
+ ]))
13166
+ .subscribe(([taxSituation, taxClassification, assessmentPeriod, taxAmount]) => {
13167
+ let validators = [];
13168
+ if (taxSituation ||
13169
+ taxClassification ||
13170
+ assessmentPeriod ||
13171
+ taxAmount.isFinite()) {
13172
+ validators = [Validators.required];
13173
+ }
13174
+ else {
13175
+ validators = [];
13176
+ }
13177
+ formGroup
13178
+ .get('situacaoTributaria')
13179
+ .setValidators(validators);
13180
+ formGroup
13181
+ .get('situacaoTributaria')
13182
+ .updateValueAndValidity({
13183
+ emitEvent: false
13184
+ });
13185
+ });
13186
+ }
13187
+ break;
13188
+ default:
13189
+ throw new Error(`Regra TaxSituationRequiredValidationRule não implementada para o imposto ${taxType}, documento ${document}.`);
13190
+ }
13191
+ }
13192
+ };
13193
+ TaxSituationRequiredValidationRule.ɵprov = ɵɵdefineInjectable({ factory: function TaxSituationRequiredValidationRule_Factory() { return new TaxSituationRequiredValidationRule(); }, token: TaxSituationRequiredValidationRule, providedIn: "root" });
13194
+ TaxSituationRequiredValidationRule = __decorate([
13195
+ Injectable({ providedIn: 'root' })
13196
+ ], TaxSituationRequiredValidationRule);
13197
+
13198
+ let TaxableBaseRequiredValidationRule = class TaxableBaseRequiredValidationRule {
13199
+ constructor() { }
13200
+ apply({ context: { document }, item: { name: taxType, formGroup }, group }) {
13201
+ switch (taxType) {
13202
+ case EnumTipoTributo.CBS:
13203
+ case EnumTipoTributo.IBS_ESTADUAL:
13204
+ case EnumTipoTributo.IBS_MUNICIPAL:
13205
+ {
13206
+ switch (document) {
13207
+ case 'Incoming Invoice':
13208
+ case 'Outgoing Invoice':
13209
+ {
13210
+ combineLatest([
13211
+ formGroup
12840
13212
  .get('baseCalculo')
12841
13213
  .valueChanges.pipe(startWith(formGroup.get('baseCalculo')
12842
13214
  .value), distinctUntilChanged()),
@@ -16262,13 +16634,83 @@ IncomingInvoiceValidationRulesRegistry = __decorate([
16262
16634
  Injectable({ providedIn: 'root' })
16263
16635
  ], IncomingInvoiceValidationRulesRegistry);
16264
16636
 
16637
+ let AssessmentPeriodRequiredValidationRule = class AssessmentPeriodRequiredValidationRule {
16638
+ apply({ context, item: { name: taxType, formGroup } }) {
16639
+ const { document } = context;
16640
+ switch (taxType) {
16641
+ case EnumTipoTributo.CBS_AJUSTE:
16642
+ case EnumTipoTributo.IBS_AJUSTE:
16643
+ {
16644
+ switch (document) {
16645
+ case 'Outgoing Invoice':
16646
+ {
16647
+ combineLatest([
16648
+ formGroup
16649
+ .get('situacaoTributaria')
16650
+ .valueChanges.pipe(startWith(formGroup.get('situacaoTributaria').value), distinctUntilChanged()),
16651
+ formGroup
16652
+ .get('classificacaoTributaria')
16653
+ .valueChanges.pipe(startWith(formGroup.get('classificacaoTributaria').value), distinctUntilChanged()),
16654
+ formGroup
16655
+ .get(EnumCampoTributo.PeriodoApuracao)
16656
+ .valueChanges.pipe(startWith(formGroup.get(EnumCampoTributo.PeriodoApuracao).value), distinctUntilChanged()),
16657
+ formGroup
16658
+ .get('valor')
16659
+ .valueChanges.pipe(startWith(formGroup.get('valor').value), distinctUntilChanged())
16660
+ ])
16661
+ .pipe(map(([taxSituation, taxClassication, assessmentPeriod, taxAmount]) => [
16662
+ taxSituation,
16663
+ taxClassication,
16664
+ assessmentPeriod,
16665
+ new BigNumber(taxAmount)
16666
+ ]))
16667
+ .subscribe(([taxSituation, taxClassication, assessmentPeriod, taxAmount]) => {
16668
+ let validators = [];
16669
+ if (taxSituation ||
16670
+ taxClassication ||
16671
+ assessmentPeriod ||
16672
+ taxAmount.isFinite()) {
16673
+ validators = [
16674
+ Validators.required
16675
+ ];
16676
+ }
16677
+ else {
16678
+ validators = [];
16679
+ }
16680
+ formGroup
16681
+ .get(EnumCampoTributo.PeriodoApuracao)
16682
+ .setValidators(validators);
16683
+ formGroup
16684
+ .get(EnumCampoTributo.PeriodoApuracao)
16685
+ .updateValueAndValidity({
16686
+ emitEvent: false
16687
+ });
16688
+ });
16689
+ }
16690
+ break;
16691
+ default:
16692
+ throw new Error(`Regra AssessmentPeriodRequiredValidationRule não implementada para o imposto ${taxType}, documento ${document}.`);
16693
+ }
16694
+ }
16695
+ break;
16696
+ default:
16697
+ throw new Error(`Regra AssessmentPeriodRequiredValidationRule não implementada para o imposto ${taxType}, documento ${document}.`);
16698
+ }
16699
+ }
16700
+ };
16701
+ AssessmentPeriodRequiredValidationRule.ɵprov = ɵɵdefineInjectable({ factory: function AssessmentPeriodRequiredValidationRule_Factory() { return new AssessmentPeriodRequiredValidationRule(); }, token: AssessmentPeriodRequiredValidationRule, providedIn: "root" });
16702
+ AssessmentPeriodRequiredValidationRule = __decorate([
16703
+ Injectable({ providedIn: 'root' })
16704
+ ], AssessmentPeriodRequiredValidationRule);
16705
+
16265
16706
  let OutgoingInvoiceValidationRulesRegistry = class OutgoingInvoiceValidationRulesRegistry {
16266
- constructor(taxableBaseRequiredValidationRule, taxRateRequiredValidationRule, taxClassificationRequiredValidationRule, taxAmountRequiredValidationRule, taxSituationRequiredValidationRule) {
16707
+ constructor(taxableBaseRequiredValidationRule, taxRateRequiredValidationRule, taxClassificationRequiredValidationRule, taxAmountRequiredValidationRule, taxSituationRequiredValidationRule, assessmentPeriodRequiredValidationRule) {
16267
16708
  this.taxableBaseRequiredValidationRule = taxableBaseRequiredValidationRule;
16268
16709
  this.taxRateRequiredValidationRule = taxRateRequiredValidationRule;
16269
16710
  this.taxClassificationRequiredValidationRule = taxClassificationRequiredValidationRule;
16270
16711
  this.taxAmountRequiredValidationRule = taxAmountRequiredValidationRule;
16271
16712
  this.taxSituationRequiredValidationRule = taxSituationRequiredValidationRule;
16713
+ this.assessmentPeriodRequiredValidationRule = assessmentPeriodRequiredValidationRule;
16272
16714
  this.strategies = {
16273
16715
  'Product And Service Sale': {
16274
16716
  [EnumTipoTributo.CBS]: [
@@ -19056,6 +19498,42 @@ let OutgoingInvoiceValidationRulesRegistry = class OutgoingInvoiceValidationRule
19056
19498
  field: EnumCampoTributo.Valor,
19057
19499
  rules: [this.taxAmountRequiredValidationRule]
19058
19500
  }
19501
+ ],
19502
+ [EnumTipoTributo.CBS_AJUSTE]: [
19503
+ {
19504
+ field: EnumCampoTributo.SituacaoTributaria,
19505
+ rules: [this.taxSituationRequiredValidationRule]
19506
+ },
19507
+ {
19508
+ field: EnumCampoTributo.ClassificacaoTributaria,
19509
+ rules: [this.taxClassificationRequiredValidationRule]
19510
+ },
19511
+ {
19512
+ field: EnumCampoTributo.PeriodoApuracao,
19513
+ rules: [this.assessmentPeriodRequiredValidationRule]
19514
+ },
19515
+ {
19516
+ field: EnumCampoTributo.Valor,
19517
+ rules: [this.taxAmountRequiredValidationRule]
19518
+ }
19519
+ ],
19520
+ [EnumTipoTributo.IBS_AJUSTE]: [
19521
+ {
19522
+ field: EnumCampoTributo.SituacaoTributaria,
19523
+ rules: [this.taxSituationRequiredValidationRule]
19524
+ },
19525
+ {
19526
+ field: EnumCampoTributo.ClassificacaoTributaria,
19527
+ rules: [this.taxClassificationRequiredValidationRule]
19528
+ },
19529
+ {
19530
+ field: EnumCampoTributo.PeriodoApuracao,
19531
+ rules: [this.assessmentPeriodRequiredValidationRule]
19532
+ },
19533
+ {
19534
+ field: EnumCampoTributo.Valor,
19535
+ rules: [this.taxAmountRequiredValidationRule]
19536
+ }
19059
19537
  ]
19060
19538
  },
19061
19539
  Delivery: {
@@ -21002,9 +21480,10 @@ OutgoingInvoiceValidationRulesRegistry.ctorParameters = () => [
21002
21480
  { type: TaxRateRequiredValidationRule },
21003
21481
  { type: TaxClassificationRequiredValidationRule },
21004
21482
  { type: TaxAmountRequiredValidationRule },
21005
- { type: TaxSituationRequiredValidationRule }
21483
+ { type: TaxSituationRequiredValidationRule },
21484
+ { type: AssessmentPeriodRequiredValidationRule }
21006
21485
  ];
21007
- OutgoingInvoiceValidationRulesRegistry.ɵprov = ɵɵdefineInjectable({ factory: function OutgoingInvoiceValidationRulesRegistry_Factory() { return new OutgoingInvoiceValidationRulesRegistry(ɵɵinject(TaxableBaseRequiredValidationRule), ɵɵinject(TaxRateRequiredValidationRule), ɵɵinject(TaxClassificationRequiredValidationRule), ɵɵinject(TaxAmountRequiredValidationRule), ɵɵinject(TaxSituationRequiredValidationRule)); }, token: OutgoingInvoiceValidationRulesRegistry, providedIn: "root" });
21486
+ OutgoingInvoiceValidationRulesRegistry.ɵprov = ɵɵdefineInjectable({ factory: function OutgoingInvoiceValidationRulesRegistry_Factory() { return new OutgoingInvoiceValidationRulesRegistry(ɵɵinject(TaxableBaseRequiredValidationRule), ɵɵinject(TaxRateRequiredValidationRule), ɵɵinject(TaxClassificationRequiredValidationRule), ɵɵinject(TaxAmountRequiredValidationRule), ɵɵinject(TaxSituationRequiredValidationRule), ɵɵinject(AssessmentPeriodRequiredValidationRule)); }, token: OutgoingInvoiceValidationRulesRegistry, providedIn: "root" });
21008
21487
  OutgoingInvoiceValidationRulesRegistry = __decorate([
21009
21488
  Injectable({ providedIn: 'root' })
21010
21489
  ], OutgoingInvoiceValidationRulesRegistry);
@@ -21222,7 +21701,7 @@ let SaleOrderValidationRulesRegistry = class SaleOrderValidationRulesRegistry {
21222
21701
  this.taxRateRequiredValidationRule = taxRateRequiredValidationRule;
21223
21702
  this.taxAmountRequiredValidationRule = taxAmountRequiredValidationRule;
21224
21703
  this.strategies = {
21225
- 'Producer Invoice': {
21704
+ 'Product Order': {
21226
21705
  [EnumTipoTributo.CBS]: [
21227
21706
  {
21228
21707
  field: EnumCampoTributo.BaseCalculo,
@@ -21406,7 +21885,7 @@ let SaleOrderValidationRulesRegistry = class SaleOrderValidationRulesRegistry {
21406
21885
  }
21407
21886
  ]
21408
21887
  },
21409
- 'Service Invoice': {
21888
+ 'Service Order': {
21410
21889
  [EnumTipoTributo.CBS]: [
21411
21890
  {
21412
21891
  field: EnumCampoTributo.BaseCalculo,
@@ -21590,7 +22069,7 @@ let SaleOrderValidationRulesRegistry = class SaleOrderValidationRulesRegistry {
21590
22069
  }
21591
22070
  ]
21592
22071
  },
21593
- 'Third Party Return': {
22072
+ 'Future Delivery Order': {
21594
22073
  [EnumTipoTributo.CBS]: [
21595
22074
  {
21596
22075
  field: EnumCampoTributo.BaseCalculo,
@@ -21774,7 +22253,7 @@ let SaleOrderValidationRulesRegistry = class SaleOrderValidationRulesRegistry {
21774
22253
  }
21775
22254
  ]
21776
22255
  },
21777
- Adjustment: {
22256
+ 'Product and Service Order': {
21778
22257
  [EnumTipoTributo.CBS]: [
21779
22258
  {
21780
22259
  field: EnumCampoTributo.BaseCalculo,
@@ -21958,7 +22437,7 @@ let SaleOrderValidationRulesRegistry = class SaleOrderValidationRulesRegistry {
21958
22437
  }
21959
22438
  ]
21960
22439
  },
21961
- Complement: {
22440
+ 'Product and Service Quote': {
21962
22441
  [EnumTipoTributo.CBS]: [
21963
22442
  {
21964
22443
  field: EnumCampoTributo.BaseCalculo,
@@ -22142,7 +22621,7 @@ let SaleOrderValidationRulesRegistry = class SaleOrderValidationRulesRegistry {
22142
22621
  }
22143
22622
  ]
22144
22623
  },
22145
- Credit: {
22624
+ 'Product Quote': {
22146
22625
  [EnumTipoTributo.CBS]: [
22147
22626
  {
22148
22627
  field: EnumCampoTributo.BaseCalculo,
@@ -22326,559 +22805,7 @@ let SaleOrderValidationRulesRegistry = class SaleOrderValidationRulesRegistry {
22326
22805
  }
22327
22806
  ]
22328
22807
  },
22329
- Freight: {
22330
- [EnumTipoTributo.CBS]: [
22331
- {
22332
- field: EnumCampoTributo.BaseCalculo,
22333
- rules: [this.taxableBaseRequiredValidationRule]
22334
- },
22335
- {
22336
- field: EnumCampoTributo.Aliquota,
22337
- rules: [this.taxRateRequiredValidationRule]
22338
- },
22339
- {
22340
- field: EnumCampoTributo.Valor,
22341
- rules: [this.taxAmountRequiredValidationRule]
22342
- }
22343
- ],
22344
- [EnumTipoTributo.CBS_DIFERIDO]: [
22345
- {
22346
- field: EnumCampoTributo.BaseCalculo,
22347
- rules: [this.taxableBaseRequiredValidationRule]
22348
- },
22349
- {
22350
- field: EnumCampoTributo.Aliquota,
22351
- rules: [this.taxRateRequiredValidationRule]
22352
- },
22353
- {
22354
- field: EnumCampoTributo.Valor,
22355
- rules: [this.taxAmountRequiredValidationRule]
22356
- }
22357
- ],
22358
- [EnumTipoTributo.CBS_CREDITO_PRESUMIDO]: [
22359
- {
22360
- field: EnumCampoTributo.BaseCalculo,
22361
- rules: [this.taxableBaseRequiredValidationRule]
22362
- },
22363
- {
22364
- field: EnumCampoTributo.Aliquota,
22365
- rules: [this.taxRateRequiredValidationRule]
22366
- }
22367
- ],
22368
- [EnumTipoTributo.CBS_TRIBUTACAO_REGULAR]: [
22369
- {
22370
- field: EnumCampoTributo.BaseCalculo,
22371
- rules: [this.taxableBaseRequiredValidationRule]
22372
- },
22373
- {
22374
- field: EnumCampoTributo.Aliquota,
22375
- rules: [this.taxRateRequiredValidationRule]
22376
- },
22377
- {
22378
- field: EnumCampoTributo.Valor,
22379
- rules: [this.taxAmountRequiredValidationRule]
22380
- }
22381
- ],
22382
- [EnumTipoTributo.CBS_GOVERNAMENTAL]: [
22383
- {
22384
- field: EnumCampoTributo.BaseCalculo,
22385
- rules: [this.taxableBaseRequiredValidationRule]
22386
- },
22387
- {
22388
- field: EnumCampoTributo.Aliquota,
22389
- rules: [this.taxRateRequiredValidationRule]
22390
- }
22391
- ],
22392
- [EnumTipoTributo.IBS_ESTADUAL]: [
22393
- {
22394
- field: EnumCampoTributo.BaseCalculo,
22395
- rules: [this.taxableBaseRequiredValidationRule]
22396
- },
22397
- {
22398
- field: EnumCampoTributo.Aliquota,
22399
- rules: [this.taxRateRequiredValidationRule]
22400
- },
22401
- {
22402
- field: EnumCampoTributo.Valor,
22403
- rules: [this.taxAmountRequiredValidationRule]
22404
- }
22405
- ],
22406
- [EnumTipoTributo.IBS_ESTADUAL_DIFERIDO]: [
22407
- {
22408
- field: EnumCampoTributo.BaseCalculo,
22409
- rules: [this.taxableBaseRequiredValidationRule]
22410
- },
22411
- {
22412
- field: EnumCampoTributo.Aliquota,
22413
- rules: [this.taxRateRequiredValidationRule]
22414
- },
22415
- {
22416
- field: EnumCampoTributo.Valor,
22417
- rules: [this.taxAmountRequiredValidationRule]
22418
- }
22419
- ],
22420
- [EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR]: [
22421
- {
22422
- field: EnumCampoTributo.BaseCalculo,
22423
- rules: [this.taxableBaseRequiredValidationRule]
22424
- },
22425
- {
22426
- field: EnumCampoTributo.Aliquota,
22427
- rules: [this.taxRateRequiredValidationRule]
22428
- }
22429
- ],
22430
- [EnumTipoTributo.IBS_ESTADUAL_GOVERNAMENTAL]: [
22431
- {
22432
- field: EnumCampoTributo.BaseCalculo,
22433
- rules: [this.taxableBaseRequiredValidationRule]
22434
- },
22435
- {
22436
- field: EnumCampoTributo.Aliquota,
22437
- rules: [this.taxRateRequiredValidationRule]
22438
- }
22439
- ],
22440
- [EnumTipoTributo.IBS_MUNICIPAL]: [
22441
- {
22442
- field: EnumCampoTributo.BaseCalculo,
22443
- rules: [this.taxableBaseRequiredValidationRule]
22444
- },
22445
- {
22446
- field: EnumCampoTributo.Aliquota,
22447
- rules: [this.taxRateRequiredValidationRule]
22448
- },
22449
- {
22450
- field: EnumCampoTributo.Valor,
22451
- rules: [this.taxAmountRequiredValidationRule]
22452
- }
22453
- ],
22454
- [EnumTipoTributo.IBS_MUNICIPAL_DIFERIDO]: [
22455
- {
22456
- field: EnumCampoTributo.BaseCalculo,
22457
- rules: [this.taxableBaseRequiredValidationRule]
22458
- },
22459
- {
22460
- field: EnumCampoTributo.Aliquota,
22461
- rules: [this.taxRateRequiredValidationRule]
22462
- },
22463
- {
22464
- field: EnumCampoTributo.Valor,
22465
- rules: [this.taxAmountRequiredValidationRule]
22466
- }
22467
- ],
22468
- [EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR]: [
22469
- {
22470
- field: EnumCampoTributo.BaseCalculo,
22471
- rules: [this.taxableBaseRequiredValidationRule]
22472
- },
22473
- {
22474
- field: EnumCampoTributo.Aliquota,
22475
- rules: [this.taxRateRequiredValidationRule]
22476
- }
22477
- ],
22478
- [EnumTipoTributo.IBS_MUNICIPAL_GOVERNAMENTAL]: [
22479
- {
22480
- field: EnumCampoTributo.BaseCalculo,
22481
- rules: [this.taxableBaseRequiredValidationRule]
22482
- },
22483
- {
22484
- field: EnumCampoTributo.Aliquota,
22485
- rules: [this.taxRateRequiredValidationRule]
22486
- }
22487
- ],
22488
- [EnumTipoTributo.IBS_CREDITO_PRESUMIDO]: [
22489
- {
22490
- field: EnumCampoTributo.BaseCalculo,
22491
- rules: [this.taxableBaseRequiredValidationRule]
22492
- },
22493
- {
22494
- field: EnumCampoTributo.Aliquota,
22495
- rules: [this.taxRateRequiredValidationRule]
22496
- }
22497
- ],
22498
- [EnumTipoTributo.IS]: [
22499
- {
22500
- field: EnumCampoTributo.BaseCalculo,
22501
- rules: [this.taxableBaseRequiredValidationRule]
22502
- },
22503
- {
22504
- field: EnumCampoTributo.Aliquota,
22505
- rules: [this.taxRateRequiredValidationRule]
22506
- },
22507
- {
22508
- field: EnumCampoTributo.Valor,
22509
- rules: [this.taxAmountRequiredValidationRule]
22510
- }
22511
- ]
22512
- },
22513
- Return: {
22514
- [EnumTipoTributo.CBS]: [
22515
- {
22516
- field: EnumCampoTributo.BaseCalculo,
22517
- rules: [this.taxableBaseRequiredValidationRule]
22518
- },
22519
- {
22520
- field: EnumCampoTributo.Aliquota,
22521
- rules: [this.taxRateRequiredValidationRule]
22522
- },
22523
- {
22524
- field: EnumCampoTributo.Valor,
22525
- rules: [this.taxAmountRequiredValidationRule]
22526
- }
22527
- ],
22528
- [EnumTipoTributo.CBS_DIFERIDO]: [
22529
- {
22530
- field: EnumCampoTributo.BaseCalculo,
22531
- rules: [this.taxableBaseRequiredValidationRule]
22532
- },
22533
- {
22534
- field: EnumCampoTributo.Aliquota,
22535
- rules: [this.taxRateRequiredValidationRule]
22536
- },
22537
- {
22538
- field: EnumCampoTributo.Valor,
22539
- rules: [this.taxAmountRequiredValidationRule]
22540
- }
22541
- ],
22542
- [EnumTipoTributo.CBS_CREDITO_PRESUMIDO]: [
22543
- {
22544
- field: EnumCampoTributo.BaseCalculo,
22545
- rules: [this.taxableBaseRequiredValidationRule]
22546
- },
22547
- {
22548
- field: EnumCampoTributo.Aliquota,
22549
- rules: [this.taxRateRequiredValidationRule]
22550
- }
22551
- ],
22552
- [EnumTipoTributo.CBS_TRIBUTACAO_REGULAR]: [
22553
- {
22554
- field: EnumCampoTributo.BaseCalculo,
22555
- rules: [this.taxableBaseRequiredValidationRule]
22556
- },
22557
- {
22558
- field: EnumCampoTributo.Aliquota,
22559
- rules: [this.taxRateRequiredValidationRule]
22560
- },
22561
- {
22562
- field: EnumCampoTributo.Valor,
22563
- rules: [this.taxAmountRequiredValidationRule]
22564
- }
22565
- ],
22566
- [EnumTipoTributo.CBS_GOVERNAMENTAL]: [
22567
- {
22568
- field: EnumCampoTributo.BaseCalculo,
22569
- rules: [this.taxableBaseRequiredValidationRule]
22570
- },
22571
- {
22572
- field: EnumCampoTributo.Aliquota,
22573
- rules: [this.taxRateRequiredValidationRule]
22574
- }
22575
- ],
22576
- [EnumTipoTributo.IBS_ESTADUAL]: [
22577
- {
22578
- field: EnumCampoTributo.BaseCalculo,
22579
- rules: [this.taxableBaseRequiredValidationRule]
22580
- },
22581
- {
22582
- field: EnumCampoTributo.Aliquota,
22583
- rules: [this.taxRateRequiredValidationRule]
22584
- },
22585
- {
22586
- field: EnumCampoTributo.Valor,
22587
- rules: [this.taxAmountRequiredValidationRule]
22588
- }
22589
- ],
22590
- [EnumTipoTributo.IBS_ESTADUAL_DIFERIDO]: [
22591
- {
22592
- field: EnumCampoTributo.BaseCalculo,
22593
- rules: [this.taxableBaseRequiredValidationRule]
22594
- },
22595
- {
22596
- field: EnumCampoTributo.Aliquota,
22597
- rules: [this.taxRateRequiredValidationRule]
22598
- },
22599
- {
22600
- field: EnumCampoTributo.Valor,
22601
- rules: [this.taxAmountRequiredValidationRule]
22602
- }
22603
- ],
22604
- [EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR]: [
22605
- {
22606
- field: EnumCampoTributo.BaseCalculo,
22607
- rules: [this.taxableBaseRequiredValidationRule]
22608
- },
22609
- {
22610
- field: EnumCampoTributo.Aliquota,
22611
- rules: [this.taxRateRequiredValidationRule]
22612
- }
22613
- ],
22614
- [EnumTipoTributo.IBS_ESTADUAL_GOVERNAMENTAL]: [
22615
- {
22616
- field: EnumCampoTributo.BaseCalculo,
22617
- rules: [this.taxableBaseRequiredValidationRule]
22618
- },
22619
- {
22620
- field: EnumCampoTributo.Aliquota,
22621
- rules: [this.taxRateRequiredValidationRule]
22622
- }
22623
- ],
22624
- [EnumTipoTributo.IBS_MUNICIPAL]: [
22625
- {
22626
- field: EnumCampoTributo.BaseCalculo,
22627
- rules: [this.taxableBaseRequiredValidationRule]
22628
- },
22629
- {
22630
- field: EnumCampoTributo.Aliquota,
22631
- rules: [this.taxRateRequiredValidationRule]
22632
- },
22633
- {
22634
- field: EnumCampoTributo.Valor,
22635
- rules: [this.taxAmountRequiredValidationRule]
22636
- }
22637
- ],
22638
- [EnumTipoTributo.IBS_MUNICIPAL_DIFERIDO]: [
22639
- {
22640
- field: EnumCampoTributo.BaseCalculo,
22641
- rules: [this.taxableBaseRequiredValidationRule]
22642
- },
22643
- {
22644
- field: EnumCampoTributo.Aliquota,
22645
- rules: [this.taxRateRequiredValidationRule]
22646
- },
22647
- {
22648
- field: EnumCampoTributo.Valor,
22649
- rules: [this.taxAmountRequiredValidationRule]
22650
- }
22651
- ],
22652
- [EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR]: [
22653
- {
22654
- field: EnumCampoTributo.BaseCalculo,
22655
- rules: [this.taxableBaseRequiredValidationRule]
22656
- },
22657
- {
22658
- field: EnumCampoTributo.Aliquota,
22659
- rules: [this.taxRateRequiredValidationRule]
22660
- }
22661
- ],
22662
- [EnumTipoTributo.IBS_MUNICIPAL_GOVERNAMENTAL]: [
22663
- {
22664
- field: EnumCampoTributo.BaseCalculo,
22665
- rules: [this.taxableBaseRequiredValidationRule]
22666
- },
22667
- {
22668
- field: EnumCampoTributo.Aliquota,
22669
- rules: [this.taxRateRequiredValidationRule]
22670
- }
22671
- ],
22672
- [EnumTipoTributo.IBS_CREDITO_PRESUMIDO]: [
22673
- {
22674
- field: EnumCampoTributo.BaseCalculo,
22675
- rules: [this.taxableBaseRequiredValidationRule]
22676
- },
22677
- {
22678
- field: EnumCampoTributo.Aliquota,
22679
- rules: [this.taxRateRequiredValidationRule]
22680
- }
22681
- ],
22682
- [EnumTipoTributo.IS]: [
22683
- {
22684
- field: EnumCampoTributo.BaseCalculo,
22685
- rules: [this.taxableBaseRequiredValidationRule]
22686
- },
22687
- {
22688
- field: EnumCampoTributo.Aliquota,
22689
- rules: [this.taxRateRequiredValidationRule]
22690
- },
22691
- {
22692
- field: EnumCampoTributo.Valor,
22693
- rules: [this.taxAmountRequiredValidationRule]
22694
- }
22695
- ]
22696
- },
22697
- Reversal: {
22698
- [EnumTipoTributo.CBS]: [
22699
- {
22700
- field: EnumCampoTributo.BaseCalculo,
22701
- rules: [this.taxableBaseRequiredValidationRule]
22702
- },
22703
- {
22704
- field: EnumCampoTributo.Aliquota,
22705
- rules: [this.taxRateRequiredValidationRule]
22706
- },
22707
- {
22708
- field: EnumCampoTributo.Valor,
22709
- rules: [this.taxAmountRequiredValidationRule]
22710
- }
22711
- ],
22712
- [EnumTipoTributo.CBS_DIFERIDO]: [
22713
- {
22714
- field: EnumCampoTributo.BaseCalculo,
22715
- rules: [this.taxableBaseRequiredValidationRule]
22716
- },
22717
- {
22718
- field: EnumCampoTributo.Aliquota,
22719
- rules: [this.taxRateRequiredValidationRule]
22720
- },
22721
- {
22722
- field: EnumCampoTributo.Valor,
22723
- rules: [this.taxAmountRequiredValidationRule]
22724
- }
22725
- ],
22726
- [EnumTipoTributo.CBS_CREDITO_PRESUMIDO]: [
22727
- {
22728
- field: EnumCampoTributo.BaseCalculo,
22729
- rules: [this.taxableBaseRequiredValidationRule]
22730
- },
22731
- {
22732
- field: EnumCampoTributo.Aliquota,
22733
- rules: [this.taxRateRequiredValidationRule]
22734
- }
22735
- ],
22736
- [EnumTipoTributo.CBS_TRIBUTACAO_REGULAR]: [
22737
- {
22738
- field: EnumCampoTributo.BaseCalculo,
22739
- rules: [this.taxableBaseRequiredValidationRule]
22740
- },
22741
- {
22742
- field: EnumCampoTributo.Aliquota,
22743
- rules: [this.taxRateRequiredValidationRule]
22744
- },
22745
- {
22746
- field: EnumCampoTributo.Valor,
22747
- rules: [this.taxAmountRequiredValidationRule]
22748
- }
22749
- ],
22750
- [EnumTipoTributo.CBS_GOVERNAMENTAL]: [
22751
- {
22752
- field: EnumCampoTributo.BaseCalculo,
22753
- rules: [this.taxableBaseRequiredValidationRule]
22754
- },
22755
- {
22756
- field: EnumCampoTributo.Aliquota,
22757
- rules: [this.taxRateRequiredValidationRule]
22758
- }
22759
- ],
22760
- [EnumTipoTributo.IBS_ESTADUAL]: [
22761
- {
22762
- field: EnumCampoTributo.BaseCalculo,
22763
- rules: [this.taxableBaseRequiredValidationRule]
22764
- },
22765
- {
22766
- field: EnumCampoTributo.Aliquota,
22767
- rules: [this.taxRateRequiredValidationRule]
22768
- },
22769
- {
22770
- field: EnumCampoTributo.Valor,
22771
- rules: [this.taxAmountRequiredValidationRule]
22772
- }
22773
- ],
22774
- [EnumTipoTributo.IBS_ESTADUAL_DIFERIDO]: [
22775
- {
22776
- field: EnumCampoTributo.BaseCalculo,
22777
- rules: [this.taxableBaseRequiredValidationRule]
22778
- },
22779
- {
22780
- field: EnumCampoTributo.Aliquota,
22781
- rules: [this.taxRateRequiredValidationRule]
22782
- },
22783
- {
22784
- field: EnumCampoTributo.Valor,
22785
- rules: [this.taxAmountRequiredValidationRule]
22786
- }
22787
- ],
22788
- [EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR]: [
22789
- {
22790
- field: EnumCampoTributo.BaseCalculo,
22791
- rules: [this.taxableBaseRequiredValidationRule]
22792
- },
22793
- {
22794
- field: EnumCampoTributo.Aliquota,
22795
- rules: [this.taxRateRequiredValidationRule]
22796
- }
22797
- ],
22798
- [EnumTipoTributo.IBS_ESTADUAL_GOVERNAMENTAL]: [
22799
- {
22800
- field: EnumCampoTributo.BaseCalculo,
22801
- rules: [this.taxableBaseRequiredValidationRule]
22802
- },
22803
- {
22804
- field: EnumCampoTributo.Aliquota,
22805
- rules: [this.taxRateRequiredValidationRule]
22806
- }
22807
- ],
22808
- [EnumTipoTributo.IBS_MUNICIPAL]: [
22809
- {
22810
- field: EnumCampoTributo.BaseCalculo,
22811
- rules: [this.taxableBaseRequiredValidationRule]
22812
- },
22813
- {
22814
- field: EnumCampoTributo.Aliquota,
22815
- rules: [this.taxRateRequiredValidationRule]
22816
- },
22817
- {
22818
- field: EnumCampoTributo.Valor,
22819
- rules: [this.taxAmountRequiredValidationRule]
22820
- }
22821
- ],
22822
- [EnumTipoTributo.IBS_MUNICIPAL_DIFERIDO]: [
22823
- {
22824
- field: EnumCampoTributo.BaseCalculo,
22825
- rules: [this.taxableBaseRequiredValidationRule]
22826
- },
22827
- {
22828
- field: EnumCampoTributo.Aliquota,
22829
- rules: [this.taxRateRequiredValidationRule]
22830
- },
22831
- {
22832
- field: EnumCampoTributo.Valor,
22833
- rules: [this.taxAmountRequiredValidationRule]
22834
- }
22835
- ],
22836
- [EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR]: [
22837
- {
22838
- field: EnumCampoTributo.BaseCalculo,
22839
- rules: [this.taxableBaseRequiredValidationRule]
22840
- },
22841
- {
22842
- field: EnumCampoTributo.Aliquota,
22843
- rules: [this.taxRateRequiredValidationRule]
22844
- }
22845
- ],
22846
- [EnumTipoTributo.IBS_MUNICIPAL_GOVERNAMENTAL]: [
22847
- {
22848
- field: EnumCampoTributo.BaseCalculo,
22849
- rules: [this.taxableBaseRequiredValidationRule]
22850
- },
22851
- {
22852
- field: EnumCampoTributo.Aliquota,
22853
- rules: [this.taxRateRequiredValidationRule]
22854
- }
22855
- ],
22856
- [EnumTipoTributo.IBS_CREDITO_PRESUMIDO]: [
22857
- {
22858
- field: EnumCampoTributo.BaseCalculo,
22859
- rules: [this.taxableBaseRequiredValidationRule]
22860
- },
22861
- {
22862
- field: EnumCampoTributo.Aliquota,
22863
- rules: [this.taxRateRequiredValidationRule]
22864
- }
22865
- ],
22866
- [EnumTipoTributo.IS]: [
22867
- {
22868
- field: EnumCampoTributo.BaseCalculo,
22869
- rules: [this.taxableBaseRequiredValidationRule]
22870
- },
22871
- {
22872
- field: EnumCampoTributo.Aliquota,
22873
- rules: [this.taxRateRequiredValidationRule]
22874
- },
22875
- {
22876
- field: EnumCampoTributo.Valor,
22877
- rules: [this.taxAmountRequiredValidationRule]
22878
- }
22879
- ]
22880
- },
22881
- Standard: {
22808
+ 'Service Quote': {
22882
22809
  [EnumTipoTributo.CBS]: [
22883
22810
  {
22884
22811
  field: EnumCampoTributo.BaseCalculo,
@@ -23163,7 +23090,7 @@ RulesService = __decorate([
23163
23090
  ], RulesService);
23164
23091
 
23165
23092
  let ErpTributosComponent = class ErpTributosComponent {
23166
- constructor(messageService, formBuilder, changeDetector, translate, e027StrLookup, beneficioFiscalLookup, e027eqiLookup, naturezaReceitaLookup, classificacaoTributariaLookup, lookupUtils, erpTributosService, gtag, rulesService) {
23093
+ constructor(messageService, formBuilder, changeDetector, translate, e027StrLookup, beneficioFiscalLookup, e027eqiLookup, naturezaReceitaLookup, classificacaoTributariaLookup, lookupUtils, erpTributosService, gtag, rulesService, localeService) {
23167
23094
  this.messageService = messageService;
23168
23095
  this.formBuilder = formBuilder;
23169
23096
  this.changeDetector = changeDetector;
@@ -23177,6 +23104,7 @@ let ErpTributosComponent = class ErpTributosComponent {
23177
23104
  this.erpTributosService = erpTributosService;
23178
23105
  this.gtag = gtag;
23179
23106
  this.rulesService = rulesService;
23107
+ this.localeService = localeService;
23180
23108
  this.camposBloqueados = false;
23181
23109
  this.currencyLocaleOptions = {
23182
23110
  currencySymbol: '',
@@ -23208,6 +23136,7 @@ let ErpTributosComponent = class ErpTributosComponent {
23208
23136
  this.menuItemIBSCreditoPresumido = false;
23209
23137
  this.menuItemIS = false;
23210
23138
  this.menuItemCBS_IBS_ESTORNO_CREDITO = false;
23139
+ this.menuItemCBS_IBS_Ajuste = false;
23211
23140
  this.menuItemIcmsCreditoPresumido = false;
23212
23141
  this.requiredItemCideTecnologia = false;
23213
23142
  this.requiredItemPisRecuperar = false;
@@ -23241,7 +23170,7 @@ let ErpTributosComponent = class ErpTributosComponent {
23241
23170
  this.requiredItemIcmsDesonerado = false;
23242
23171
  this.requiredItemDiferencialAlicota = false;
23243
23172
  this.requiredItemPisFaturemento = false;
23244
- this.requiredItemCofinsFaturemento = false;
23173
+ this.requiredItemCofins = false;
23245
23174
  this.requiredItemFcpUfDestino = false;
23246
23175
  this.requiredItemIcmsUfDestino = false;
23247
23176
  this.requiredSituacaoTributaria = false;
@@ -23258,7 +23187,7 @@ let ErpTributosComponent = class ErpTributosComponent {
23258
23187
  this.requiredIcmsStSolidario = false;
23259
23188
  this.requiredIcmsStRetidoAnt = false;
23260
23189
  this.requiredFcpStReditoAnt = false;
23261
- this.ngUnsubscribe = new Subject();
23190
+ this.unsubscribe$ = new Subject();
23262
23191
  }
23263
23192
  get tributos() {
23264
23193
  return this.tributosValue;
@@ -23267,14 +23196,6 @@ let ErpTributosComponent = class ErpTributosComponent {
23267
23196
  this.tributosValue = val;
23268
23197
  }
23269
23198
  ngOnInit() {
23270
- this.menuItemPis = false;
23271
- this.menuItemCofins = false;
23272
- this.menuItemIpi = false;
23273
- this.menuItemIss = false;
23274
- this.menuItemImportacoes = false;
23275
- this.menuItemRetencoes = false;
23276
- this.menuItemIcms = false;
23277
- this.menuItemCideTecnologia = false;
23278
23199
  this.dominio = this.dominio ? this.dominio : 'erpx_cpl_imp';
23279
23200
  this.servico = this.servico ? this.servico : 'cadastros';
23280
23201
  this.prefixLabel = `${this.dominio}.${this.servico}`;
@@ -23314,8 +23235,8 @@ let ErpTributosComponent = class ErpTributosComponent {
23314
23235
  }
23315
23236
  }
23316
23237
  ngOnDestroy() {
23317
- this.ngUnsubscribe.next();
23318
- this.ngUnsubscribe.complete();
23238
+ this.unsubscribe$.next();
23239
+ this.unsubscribe$.complete();
23319
23240
  this.lookupUtils.resetStoredKeys();
23320
23241
  }
23321
23242
  memoriaCalculo(imposto) {
@@ -23525,7 +23446,7 @@ let ErpTributosComponent = class ErpTributosComponent {
23525
23446
  this.requiredItemIcmsDesonerado = false;
23526
23447
  this.requiredItemDiferencialAlicota = false;
23527
23448
  this.requiredItemPisFaturemento = false;
23528
- this.requiredItemCofinsFaturemento = false;
23449
+ this.requiredItemCofins = false;
23529
23450
  this.requiredItemIcmsUfDestino = false;
23530
23451
  this.requiredItemFcpUfDestino = false;
23531
23452
  this.requiredSituacaoTributaria = false;
@@ -23566,6 +23487,10 @@ let ErpTributosComponent = class ErpTributosComponent {
23566
23487
  case EnumTipoTributo.IBS_ESTORNO_CREDITO:
23567
23488
  this.montaCBSIBSEstornoCredito();
23568
23489
  break;
23490
+ case EnumTipoTributo.CBS_AJUSTE:
23491
+ case EnumTipoTributo.IBS_AJUSTE:
23492
+ this.montaCBS_IBS_Ajuste();
23493
+ break;
23569
23494
  case EnumTipoTributo.PIS_RECUPERAR:
23570
23495
  case EnumTipoTributo.PIS_DEVOLVIDO:
23571
23496
  case EnumTipoTributo.PIS:
@@ -23647,10 +23572,10 @@ let ErpTributosComponent = class ErpTributosComponent {
23647
23572
  this.grupos.map((grupo) => grupo.item.map((item) => {
23648
23573
  this.tributosValue.map((it) => {
23649
23574
  if (item.name === it.tipoImposto) {
23575
+ item.formGroup.patchValue(it, { emitEvent: false });
23650
23576
  if (!isTaxFromTaxReform(it.tipoImposto)) {
23651
23577
  this.setValidators(it.tipoImposto);
23652
23578
  }
23653
- item.formGroup.patchValue(it, { emitEvent: false });
23654
23579
  }
23655
23580
  });
23656
23581
  }));
@@ -23676,24 +23601,16 @@ let ErpTributosComponent = class ErpTributosComponent {
23676
23601
  grupo.item
23677
23602
  .filter((it) => it.name == tributo)
23678
23603
  .map((it) => {
23679
- let hasValue = false;
23680
- Object.keys(it.formGroup.value).forEach((item) => {
23681
- if (item !== 'impostoManual' &&
23682
- item !== EnumCampoTributo.TipoCalculoImposto) {
23683
- if (it.formGroup.get(item).touched &&
23684
- it.formGroup.value[item] != undefined &&
23685
- it.formGroup.value[item] !== '') {
23686
- hasValue = true;
23687
- return;
23688
- }
23689
- }
23690
- });
23604
+ const hasValue = Object.keys(it.formGroup.value)
23605
+ .filter((key) => key !== 'impostoManual' &&
23606
+ key !== EnumCampoTributo.TipoCalculoImposto)
23607
+ .some((key) => it.formGroup.get(key).value !== null &&
23608
+ it.formGroup.get(key).value !== undefined);
23691
23609
  if (hasValue)
23692
23610
  Object.keys(it.formGroup.value).forEach((item) => {
23693
23611
  if (item == 'percentualReducao' ||
23694
23612
  item == 'percentualDiferimento' ||
23695
- item ==
23696
- 'percentualMargemValorAdicionado' ||
23613
+ item == 'percentualMargemValorAdicionado' ||
23697
23614
  item === 'percentualSuspensaoParcial') {
23698
23615
  it.formGroup.controls[item].setValidators(Validators.compose([
23699
23616
  Validators.required,
@@ -23714,6 +23631,15 @@ let ErpTributosComponent = class ErpTributosComponent {
23714
23631
  });
23715
23632
  this.setRequired(tributo, true);
23716
23633
  }
23634
+ else if (item === 'situacaoTributaria') {
23635
+ it.formGroup.controls[item].setValidators(Validators.compose([
23636
+ Validators.required
23637
+ ]));
23638
+ it.formGroup.controls[item].updateValueAndValidity({
23639
+ emitEvent: false
23640
+ });
23641
+ this.setRequired(tributo, true);
23642
+ }
23717
23643
  else if (item === 'observacao') {
23718
23644
  it.formGroup.controls[item].setValidators(Validators.compose([
23719
23645
  Validators.maxLength(120)
@@ -23791,8 +23717,7 @@ let ErpTributosComponent = class ErpTributosComponent {
23791
23717
  Object.keys(it.formGroup.value).forEach((item) => {
23792
23718
  if (item == 'percentualReducao' ||
23793
23719
  item == 'percentualDiferimento' ||
23794
- item ==
23795
- 'percentualMargemValorAdicionado' ||
23720
+ item == 'percentualMargemValorAdicionado' ||
23796
23721
  item === 'percentualSuspensaoParcial') {
23797
23722
  it.formGroup.controls[item].setValidators(Validators.compose([
23798
23723
  Validators.max(1000)
@@ -24065,6 +23990,30 @@ let ErpTributosComponent = class ErpTributosComponent {
24065
23990
  visible: this.context.document === 'Outgoing Invoice' &&
24066
23991
  this.context.invoice.type === 'Debit' &&
24067
23992
  this.context.invoice.debitInvoiceType === 'Inventory Loss'
23993
+ }, {
23994
+ label: this.translate.instant('erpx.tributos.actions_cbs_ibs_ajuste_label'),
23995
+ disabled: this.menuItemCBS_IBS_Ajuste,
23996
+ command: () => {
23997
+ (this.montaCBS_IBS_Ajuste().forEach((value) => {
23998
+ this.novoImpostoManual(value);
23999
+ }),
24000
+ (this.indexAccordion = [0]));
24001
+ this.rulesService.apply({
24002
+ groups: this.grupos,
24003
+ group: this.grupos.find((group) => group.grupoTributo ===
24004
+ EnumGrupoTributo.CBS_IBS_AJUSTE),
24005
+ context: this.context
24006
+ });
24007
+ this.changeDetector.detectChanges();
24008
+ },
24009
+ visible: this.context.document === 'Outgoing Invoice' &&
24010
+ this.context.invoice.type === 'Debit' &&
24011
+ (this.context.invoice.debitInvoiceType ===
24012
+ 'Credit Cancellation Exempt Outputs' ||
24013
+ this.context.invoice.debitInvoiceType ===
24014
+ 'Debits Unprocessed Invoices Assessment' ||
24015
+ this.context.invoice.debitInvoiceType ===
24016
+ 'Disqualification from Simples Nacional')
24068
24017
  }, {
24069
24018
  id: 'retencaoFunrural',
24070
24019
  label: this.translate.instant('erpx.tributos.actions_retencao_funrural_label'),
@@ -25569,6 +25518,47 @@ let ErpTributosComponent = class ErpTributosComponent {
25569
25518
  });
25570
25519
  return item;
25571
25520
  }
25521
+ montaCBS_IBS_Ajuste() {
25522
+ if (this.menuItemCBS_IBS_Ajuste)
25523
+ return;
25524
+ this.menuItemCBS_IBS_Ajuste = true;
25525
+ const item = [
25526
+ Object.assign({ name: EnumTipoTributo.CBS_AJUSTE, label: 'erpx.tributos.enum_tipo_tributo_cbs_ajuste' }, this.montaCampos([
25527
+ {
25528
+ campo: EnumCampoTributo.SituacaoTributaria
25529
+ },
25530
+ {
25531
+ campo: EnumCampoTributo.ClassificacaoTributaria
25532
+ },
25533
+ {
25534
+ campo: EnumCampoTributo.PeriodoApuracao
25535
+ },
25536
+ {
25537
+ campo: EnumCampoTributo.Valor
25538
+ }
25539
+ ], EnumTipoTributo.CBS_AJUSTE)),
25540
+ Object.assign({ name: EnumTipoTributo.IBS_AJUSTE, label: 'erpx.tributos.enum_tipo_tributo_ibs_ajuste' }, this.montaCampos([
25541
+ {
25542
+ campo: EnumCampoTributo.SituacaoTributaria
25543
+ },
25544
+ {
25545
+ campo: EnumCampoTributo.ClassificacaoTributaria
25546
+ },
25547
+ {
25548
+ campo: EnumCampoTributo.PeriodoApuracao
25549
+ },
25550
+ {
25551
+ campo: EnumCampoTributo.Valor
25552
+ }
25553
+ ], EnumTipoTributo.IBS_AJUSTE))
25554
+ ];
25555
+ this.grupos.unshift({
25556
+ grupo: `${'erpx.tributos.enum_grupo_tributo_' + EnumGrupoTributo.CBS_IBS_AJUSTE + '_label'}`,
25557
+ grupoTributo: EnumGrupoTributo.CBS_IBS_AJUSTE,
25558
+ item
25559
+ });
25560
+ return item;
25561
+ }
25572
25562
  montaPis() {
25573
25563
  if (this.menuItemPis == false) {
25574
25564
  this.menuItemPis = true;
@@ -26006,7 +25996,7 @@ let ErpTributosComponent = class ErpTributosComponent {
26006
25996
  case EnumTipoTributo.PIS:
26007
25997
  return this.requiredItemPisFaturemento;
26008
25998
  case EnumTipoTributo.COFINS:
26009
- return this.requiredItemCofinsFaturemento;
25999
+ return this.requiredItemCofins;
26010
26000
  case EnumTipoTributo.ICMS_UF_DESTINO:
26011
26001
  return this.requiredItemIcmsUfDestino;
26012
26002
  case EnumTipoTributo.FCP_UF_DESTINO:
@@ -26174,7 +26164,7 @@ let ErpTributosComponent = class ErpTributosComponent {
26174
26164
  break;
26175
26165
  }
26176
26166
  case EnumTipoTributo.COFINS: {
26177
- this.requiredItemCofinsFaturemento = value;
26167
+ this.requiredItemCofins = value;
26178
26168
  break;
26179
26169
  }
26180
26170
  case EnumTipoTributo.FCP_UF_DESTINO: {
@@ -26464,6 +26454,26 @@ let ErpTributosComponent = class ErpTributosComponent {
26464
26454
  }
26465
26455
  }));
26466
26456
  }
26457
+ else if (it.campo === EnumCampoTributo.PeriodoApuracao) {
26458
+ formGroup = Object.assign(Object.assign({}, formGroup), { [EnumCampoTributo.PeriodoApuracao]: [
26459
+ {
26460
+ value: null,
26461
+ disabled: false
26462
+ },
26463
+ Validators.compose([])
26464
+ ] });
26465
+ formField.push(new FormField({
26466
+ type: FieldType.Date,
26467
+ name: EnumCampoTributo.PeriodoApuracao,
26468
+ label: this.translate.instant('erpx.tributos.fields_periodo_apuracao_label'),
26469
+ view: 'month',
26470
+ appendTo: 'body',
26471
+ calendarLocaleOptions: new CalendarLocaleOptions(Object.assign(Object.assign({}, this.localeService.getLocaleOptions().calendar), { dateFormat: 'mm/yy' })),
26472
+ onBlur: () => this.updateTwoWayDataBinding(),
26473
+ required: () => this.isFieldRequired(EnumCampoTributo.PeriodoApuracao, tributo),
26474
+ size: { sm: 12, md: 4, lg: 4, xl: 3 }
26475
+ }));
26476
+ }
26467
26477
  else if (it.campo === EnumCampoTributo.ReducaoAliquotaGovernamental) {
26468
26478
  formGroup = Object.assign(Object.assign({}, formGroup), { reducaoAliquotaGovernamental: [
26469
26479
  {
@@ -26799,7 +26809,9 @@ let ErpTributosComponent = class ErpTributosComponent {
26799
26809
  tributo === EnumTipoTributo.IBS_ESTADUAL ||
26800
26810
  tributo === EnumTipoTributo.IBS_MUNICIPAL ||
26801
26811
  tributo === EnumTipoTributo.CBS_ESTORNO_CREDITO ||
26802
- tributo === EnumTipoTributo.IBS_ESTORNO_CREDITO)
26812
+ tributo === EnumTipoTributo.IBS_ESTORNO_CREDITO ||
26813
+ tributo === EnumTipoTributo.CBS_AJUSTE ||
26814
+ tributo === EnumTipoTributo.IBS_AJUSTE)
26803
26815
  defaultFilter = [
26804
26816
  ...defaultFilter,
26805
26817
  {
@@ -26810,6 +26822,14 @@ let ErpTributosComponent = class ErpTributosComponent {
26810
26822
  ? EnumLogicalOperator.Eq
26811
26823
  : EnumLogicalOperator.Ne,
26812
26824
  values: ['EXIGE']
26825
+ },
26826
+ {
26827
+ field: 'classificacaoTributaria.indGAjusteCompet',
26828
+ operator: tributo === EnumTipoTributo.CBS_AJUSTE ||
26829
+ tributo === EnumTipoTributo.IBS_AJUSTE
26830
+ ? EnumLogicalOperator.Eq
26831
+ : EnumLogicalOperator.Ne,
26832
+ values: ['EXIGE']
26813
26833
  }
26814
26834
  ];
26815
26835
  formField.push(new FormField(Object.assign(Object.assign({}, this.e027StrLookup.mountOptions({
@@ -27244,7 +27264,7 @@ let ErpTributosComponent = class ErpTributosComponent {
27244
27264
  showClear: true,
27245
27265
  multiple: false,
27246
27266
  label: this.translate.instant('erpx.tributos.fields_modalidade_bc_label'),
27247
- size: { sm: 12, md: 6, lg: 6, xl: 3 },
27267
+ size: { sm: 12, md: 4, lg: 4, xl: 3 },
27248
27268
  onChange: (event) => {
27249
27269
  if (!event)
27250
27270
  return;
@@ -27272,7 +27292,7 @@ let ErpTributosComponent = class ErpTributosComponent {
27272
27292
  })), { onBlur: () => {
27273
27293
  this.updateTwoWayDataBinding();
27274
27294
  this.setValidators(tributo);
27275
- }, id: tributo + 'NaturezaReceita', label: this.translate.instant('erpx.tributos.fields_natureza_receita_label'), size: { sm: 12, md: 6, lg: 6, xl: 3 }, required: () => false })));
27295
+ }, id: tributo + 'NaturezaReceita', label: this.translate.instant('erpx.tributos.fields_natureza_receita_label'), size: { sm: 12, md: 4, lg: 4, xl: 3 }, required: () => false })));
27276
27296
  }
27277
27297
  else if (it.campo === EnumCampoTributo.Observacao) {
27278
27298
  formGroup = Object.assign(Object.assign({}, formGroup), { observacao: [
@@ -27546,7 +27566,7 @@ let ErpTributosComponent = class ErpTributosComponent {
27546
27566
  showClear: true,
27547
27567
  multiple: false,
27548
27568
  label: this.translate.instant('erpx.tributos.fields_regime_tributario_pis_cofins_label'),
27549
- size: { sm: 12, md: 6, lg: 6, xl: 3 },
27569
+ size: { sm: 12, md: 4, lg: 4, xl: 3 },
27550
27570
  onChange: (event) => {
27551
27571
  if (!event)
27552
27572
  return;
@@ -27961,7 +27981,8 @@ ErpTributosComponent.ctorParameters = () => [
27961
27981
  { type: LookupValidationUtils },
27962
27982
  { type: ErpTributosService },
27963
27983
  { type: GTagService },
27964
- { type: RulesService }
27984
+ { type: RulesService },
27985
+ { type: LocaleService }
27965
27986
  ];
27966
27987
  __decorate([
27967
27988
  Input()
@@ -30041,5 +30062,5 @@ const fallback = {
30041
30062
  * Generated bundle index. Do not edit.
30042
30063
  */
30043
30064
 
30044
- export { BreadcrumbComponent, BreadcrumbModule, Breakpoints, EnumAplicarValorLiquidoDocumento, EnumCampoTributo, EnumEscriturarAliquotaISS, EnumFunruralIndicativoAquisicao, EnumGrupoTributo, EnumInvoiceOrigin, EnumModBc, EnumMotDes, EnumOriMer, EnumRegimeTributarioPisCofins, EnumSituacao, EnumTipImpCst, EnumTipOpe, EnumTipoControleProduto, EnumTipoItem, EnumTipoMovimentacao, EnumTipoTributo, ErpLoteSerieComponent, ErpLoteSerieModule, ErpResumoModule, ErpTributosComponent, ErpTributosModule, ExportUtils, enumTipCredRecup, fallback, isEmpty, isNotEmpty, isNullOrUndefined, nonNullish, ErpResumoComponent as ɵa, ErpResumoService as ɵb, GrossAmountCalculationRule as ɵba, GrossAmountCalculator as ɵbb, TaxClassificationCalculationRule as ɵbc, TaxCalculationTypeCalculationRule as ɵbd, ManualTaxCalculationRule as ɵbe, OutgoingInvoiceCalculationRulesRegistry as ɵbf, TaxSituationCalculationRule as ɵbg, SaleOrderCalculationRulesRegistry as ɵbh, PurchaseOrderCalculationRulesRegistry as ɵbi, FocusService as ɵbj, ErpLoteSeriesService as ɵbk, QuantidadeDisponivelDemandaService as ɵbl, EntityService as ɵbm, QuantidadeDisponivelDemandaModule as ɵbn, ErpTributosService as ɵc, RulesService as ɵd, StatusRulesRegistry as ɵe, IncomingInvoiceStatusRulesRegistry as ɵf, TaxClassificationStatusRule as ɵg, OutgoingInvoiceStatusRulesRegistry as ɵh, ValidationRulesRegistry as ɵi, IncomingInvoiceValidationRulesRegistry as ɵj, TaxableBaseRequiredValidationRule as ɵk, TaxRateRequiredValidationRule as ɵl, TaxClassificationRequiredValidationRule as ɵm, TaxAmountRequiredValidationRule as ɵn, TaxSituationRequiredValidationRule as ɵo, OutgoingInvoiceValidationRulesRegistry as ɵp, SaleOrderValidationRulesRegistry as ɵq, PurchaseOrderValidationRulesRegistry as ɵr, CalculationRulesRegistry as ɵs, IncomingInvoiceCalculationRulesRegistry as ɵt, TaxableBaseCalculationRule as ɵu, TaxAmountCalculator as ɵv, EffectiveTaxRateCalculator as ɵw, TaxRateCalculationRule as ɵx, EffectiveTaxRateCalculationRule as ɵy, TaxAmountCalculationRule as ɵz };
30065
+ export { BreadcrumbComponent, BreadcrumbModule, Breakpoints, EnumAplicarValorLiquidoDocumento, EnumCampoTributo, EnumEscriturarAliquotaISS, EnumFunruralIndicativoAquisicao, EnumGrupoTributo, EnumInvoiceOrigin, EnumModBc, EnumMotDes, EnumOriMer, EnumRegimeTributarioPisCofins, EnumSituacao, EnumTipImpCst, EnumTipOpe, EnumTipoControleProduto, EnumTipoItem, EnumTipoMovimentacao, EnumTipoTributo, ErpLoteSerieComponent, ErpLoteSerieModule, ErpResumoModule, ErpTributosComponent, ErpTributosModule, ExportUtils, enumTipCredRecup, fallback, isEmpty, isNotEmpty, isNullOrUndefined, nonNullish, ErpResumoComponent as ɵa, ErpResumoService as ɵb, TaxRateCalculationRule as ɵba, EffectiveTaxRateCalculationRule as ɵbb, TaxAmountCalculationRule as ɵbc, GrossAmountCalculationRule as ɵbd, GrossAmountCalculator as ɵbe, TaxClassificationCalculationRule as ɵbf, TaxCalculationTypeCalculationRule as ɵbg, ManualTaxCalculationRule as ɵbh, OutgoingInvoiceCalculationRulesRegistry as ɵbi, TaxSituationCalculationRule as ɵbj, AssessmentPeriodCalculationRule as ɵbk, SaleOrderCalculationRulesRegistry as ɵbl, PurchaseOrderCalculationRulesRegistry as ɵbm, FocusService as ɵbn, ErpLoteSeriesService as ɵbo, QuantidadeDisponivelDemandaService as ɵbp, EntityService as ɵbq, QuantidadeDisponivelDemandaModule as ɵbr, ErpTributosService as ɵc, RulesService as ɵd, StatusRulesRegistry as ɵe, IncomingInvoiceStatusRulesRegistry as ɵf, TaxClassificationStatusRule as ɵg, OutgoingInvoiceStatusRulesRegistry as ɵh, SaleOrderStatusRulesRegistry as ɵi, PurchaseOrderStatusRulesRegistry as ɵj, ValidationRulesRegistry as ɵk, IncomingInvoiceValidationRulesRegistry as ɵl, TaxableBaseRequiredValidationRule as ɵm, TaxRateRequiredValidationRule as ɵn, TaxClassificationRequiredValidationRule as ɵo, TaxAmountRequiredValidationRule as ɵp, TaxSituationRequiredValidationRule as ɵq, OutgoingInvoiceValidationRulesRegistry as ɵr, AssessmentPeriodRequiredValidationRule as ɵs, SaleOrderValidationRulesRegistry as ɵt, PurchaseOrderValidationRulesRegistry as ɵu, CalculationRulesRegistry as ɵv, IncomingInvoiceCalculationRulesRegistry as ɵw, TaxableBaseCalculationRule as ɵx, TaxAmountCalculator as ɵy, EffectiveTaxRateCalculator as ɵz };
30045
30066
  //# sourceMappingURL=senior-gestao-empresarial-erpx-components.js.map