@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
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('primeng/breadcrumb'), require('@angular/router'), require('rxjs'), require('rxjs/operators'), require('@ngx-translate/core'), require('@senior-gestao-empresarial/angular-components'), require('@seniorsistemas/angular-components'), require('primeng/accordion'), require('@angular/forms'), require('@seniorsistemas/platform-utils'), require('bignumber.js'), require('primeng/api'), require('@angular/common/http'), require('primeng'), require('primeng/confirmdialog'), require('primeng/messages'), require('primeng/panel'), require('primeng/table'), require('primeng/tabview'), require('@seniorsistemas/platform-components'), require('moment')) :
3
- typeof define === 'function' && define.amd ? define('@senior-gestao-empresarial/erpx-components', ['exports', '@angular/core', '@angular/common', 'primeng/breadcrumb', '@angular/router', 'rxjs', 'rxjs/operators', '@ngx-translate/core', '@senior-gestao-empresarial/angular-components', '@seniorsistemas/angular-components', 'primeng/accordion', '@angular/forms', '@seniorsistemas/platform-utils', 'bignumber.js', 'primeng/api', '@angular/common/http', 'primeng', 'primeng/confirmdialog', 'primeng/messages', 'primeng/panel', 'primeng/table', 'primeng/tabview', '@seniorsistemas/platform-components', 'moment'], factory) :
4
- (global = global || self, factory((global['senior-gestao-empresarial'] = global['senior-gestao-empresarial'] || {}, global['senior-gestao-empresarial']['erpx-components'] = {}), global.ng.core, global.ng.common, global.breadcrumb, global.ng.router, global.rxjs, global.rxjs.operators, global.core$1, global.angularComponents, global.angularComponents$1, global.accordion, global.ng.forms, global.platformUtils, global.BigNumber, global.api, global.ng.common.http, global.primeng, global.confirmdialog, global.messages, global.panel, global.table, global.tabview, global.platformComponents, global.moment));
5
- }(this, (function (exports, core, common, breadcrumb, router, rxjs, operators, core$1, angularComponents, angularComponents$1, accordion, forms, platformUtils, BigNumber, api, http, primeng, confirmdialog, messages, panel, table, tabview, platformComponents, moment) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('primeng/breadcrumb'), require('@angular/router'), require('rxjs'), require('rxjs/operators'), require('@ngx-translate/core'), require('@senior-gestao-empresarial/angular-components'), require('@seniorsistemas/angular-components'), require('primeng/accordion'), require('@angular/forms'), require('@seniorsistemas/platform-utils'), require('bignumber.js'), require('primeng/api'), require('@angular/common/http'), require('primeng'), require('moment'), require('primeng/confirmdialog'), require('primeng/messages'), require('primeng/panel'), require('primeng/table'), require('primeng/tabview'), require('@seniorsistemas/platform-components')) :
3
+ typeof define === 'function' && define.amd ? define('@senior-gestao-empresarial/erpx-components', ['exports', '@angular/core', '@angular/common', 'primeng/breadcrumb', '@angular/router', 'rxjs', 'rxjs/operators', '@ngx-translate/core', '@senior-gestao-empresarial/angular-components', '@seniorsistemas/angular-components', 'primeng/accordion', '@angular/forms', '@seniorsistemas/platform-utils', 'bignumber.js', 'primeng/api', '@angular/common/http', 'primeng', 'moment', 'primeng/confirmdialog', 'primeng/messages', 'primeng/panel', 'primeng/table', 'primeng/tabview', '@seniorsistemas/platform-components'], factory) :
4
+ (global = global || self, factory((global['senior-gestao-empresarial'] = global['senior-gestao-empresarial'] || {}, global['senior-gestao-empresarial']['erpx-components'] = {}), global.ng.core, global.ng.common, global.breadcrumb, global.ng.router, global.rxjs, global.rxjs.operators, global.core$1, global.angularComponents, global.angularComponents$1, global.accordion, global.ng.forms, global.platformUtils, global.BigNumber, global.api, global.ng.common.http, global.primeng, global.moment, global.confirmdialog, global.messages, global.panel, global.table, global.tabview, global.platformComponents));
5
+ }(this, (function (exports, core, common, breadcrumb, router, rxjs, operators, core$1, angularComponents, angularComponents$1, accordion, forms, platformUtils, BigNumber, api, http, primeng, moment, confirmdialog, messages, panel, table, tabview, platformComponents) { 'use strict';
6
6
 
7
7
  BigNumber = BigNumber && Object.prototype.hasOwnProperty.call(BigNumber, 'default') ? BigNumber['default'] : BigNumber;
8
8
 
@@ -591,6 +591,7 @@
591
591
  EnumCampoTributo["TipoCalculoImposto"] = "TipoCalculoImposto";
592
592
  EnumCampoTributo["ImpostoManual"] = "impostoManual";
593
593
  EnumCampoTributo["EscriturarAliquotaISS"] = "escriturarAliquotaISS";
594
+ EnumCampoTributo["PeriodoApuracao"] = "periodoApuracao";
594
595
  })(exports.EnumCampoTributo || (exports.EnumCampoTributo = {}));
595
596
 
596
597
  (function (EnumGrupoTributo) {
@@ -601,6 +602,7 @@
601
602
  EnumGrupoTributo["IBS_CREDITO_PRESUMIDO"] = "ibs_credito_presumido";
602
603
  EnumGrupoTributo["IS"] = "is";
603
604
  EnumGrupoTributo["CBS_IBS_ESTORNO_CREDITO"] = "cbs_ibs_estorno_credito";
605
+ EnumGrupoTributo["CBS_IBS_AJUSTE"] = "cbs_ibs_ajuste";
604
606
  EnumGrupoTributo["ICMS"] = "icms";
605
607
  EnumGrupoTributo["ICMS_ST"] = "icms_st";
606
608
  EnumGrupoTributo["IPI"] = "ipi";
@@ -621,6 +623,7 @@
621
623
  EnumTipoTributo["CBS_TRIBUTACAO_REGULAR"] = "CBS_TRIBUTACAO_REGULAR";
622
624
  EnumTipoTributo["CBS_GOVERNAMENTAL"] = "CBS_GOVERNAMENTAL";
623
625
  EnumTipoTributo["CBS_ESTORNO_CREDITO"] = "CBS_ESTORNO_CREDITO";
626
+ EnumTipoTributo["CBS_AJUSTE"] = "CBS_AJUSTE";
624
627
  EnumTipoTributo["IBS_ESTADUAL"] = "IBS_ESTADUAL";
625
628
  EnumTipoTributo["IBS_ESTADUAL_DIFERIDO"] = "IBS_ESTADUAL_DIFERIDO";
626
629
  EnumTipoTributo["IBS_ESTADUAL_TRIBUTACAO_REGULAR"] = "IBS_ESTADUAL_TRIBUTACAO_REGULAR";
@@ -631,6 +634,7 @@
631
634
  EnumTipoTributo["IBS_MUNICIPAL_GOVERNAMENTAL"] = "IBS_MUNICIPAL_GOVERNAMENTAL";
632
635
  EnumTipoTributo["IBS_CREDITO_PRESUMIDO"] = "IBS_CREDITO_PRESUMIDO";
633
636
  EnumTipoTributo["IBS_ESTORNO_CREDITO"] = "IBS_ESTORNO_CREDITO";
637
+ EnumTipoTributo["IBS_AJUSTE"] = "IBS_AJUSTE";
634
638
  EnumTipoTributo["IS"] = "IS";
635
639
  EnumTipoTributo["PIS_FATURAMENTO"] = "PIS_FATURAMENTO";
636
640
  EnumTipoTributo["PIS_RECUPERAR"] = "PIS_RECUPERAR";
@@ -820,11 +824,13 @@
820
824
  case exports.EnumTipoTributo.CBS:
821
825
  case exports.EnumTipoTributo.CBS_TRIBUTACAO_REGULAR:
822
826
  case exports.EnumTipoTributo.CBS_ESTORNO_CREDITO:
827
+ case exports.EnumTipoTributo.CBS_AJUSTE:
823
828
  case exports.EnumTipoTributo.IBS_ESTADUAL:
824
829
  case exports.EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR:
825
830
  case exports.EnumTipoTributo.IBS_MUNICIPAL:
826
831
  case exports.EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR:
827
832
  case exports.EnumTipoTributo.IBS_ESTORNO_CREDITO:
833
+ case exports.EnumTipoTributo.IBS_AJUSTE:
828
834
  return exports.EnumTipImpCst.CBS_IBS;
829
835
  case exports.EnumTipoTributo.IS:
830
836
  return exports.EnumTipImpCst.IS;
@@ -850,7 +856,9 @@
850
856
  tax === exports.EnumTipoTributo.IBS_MUNICIPAL_GOVERNAMENTAL ||
851
857
  tax === exports.EnumTipoTributo.IBS_CREDITO_PRESUMIDO ||
852
858
  tax === exports.EnumTipoTributo.CBS_ESTORNO_CREDITO ||
853
- tax === exports.EnumTipoTributo.IBS_ESTORNO_CREDITO);
859
+ tax === exports.EnumTipoTributo.IBS_ESTORNO_CREDITO ||
860
+ tax === exports.EnumTipoTributo.CBS_AJUSTE ||
861
+ tax === exports.EnumTipoTributo.IBS_AJUSTE);
854
862
  };
855
863
  var getBaseTaxByGroupTax = function (groupTax) {
856
864
  switch (groupTax) {
@@ -866,6 +874,8 @@
866
874
  return exports.EnumTipoTributo.IS;
867
875
  case exports.EnumGrupoTributo.CBS_IBS_ESTORNO_CREDITO:
868
876
  return exports.EnumTipoTributo.CBS_ESTORNO_CREDITO;
877
+ case exports.EnumGrupoTributo.CBS_IBS_AJUSTE:
878
+ return exports.EnumTipoTributo.CBS_AJUSTE;
869
879
  default:
870
880
  return null;
871
881
  }
@@ -1655,6 +1665,29 @@
1655
1665
  });
1656
1666
  }
1657
1667
  break;
1668
+ case exports.EnumTipoTributo.CBS_AJUSTE:
1669
+ case exports.EnumTipoTributo.IBS_AJUSTE:
1670
+ {
1671
+ var dataKey_2 = formField.find(function (_a) {
1672
+ var name = _a.name;
1673
+ return name === 'classificacaoTributaria';
1674
+ }).dataKey;
1675
+ rxjs.combineLatest([
1676
+ formGroup
1677
+ .get('classificacaoTributaria')
1678
+ .valueChanges.pipe(operators.startWith(formGroup.get('classificacaoTributaria')
1679
+ .value), operators.distinctUntilChanged(function (old, current) {
1680
+ return (old === null || old === void 0 ? void 0 : old[dataKey_2]) === (current === null || current === void 0 ? void 0 : current[dataKey_2]);
1681
+ }))
1682
+ ])
1683
+ .pipe(operators.skip(1), operators.map(function () {
1684
+ return new BigNumber(formGroup.get('valor').value);
1685
+ }), operators.filter(function (taxAmount) { return taxAmount.isNaN(); }))
1686
+ .subscribe(function () {
1687
+ formGroup.get('valor').setValue(0);
1688
+ });
1689
+ }
1690
+ break;
1658
1691
  default:
1659
1692
  throw new Error("Regra TaxAmountCalculationRule n\u00E3o implementada para o imposto " + taxType + ", documento " + document + ".");
1660
1693
  }
@@ -1851,6 +1884,64 @@
1851
1884
  });
1852
1885
  }
1853
1886
  break;
1887
+ case exports.EnumTipoTributo.CBS_AJUSTE:
1888
+ {
1889
+ var _e = group.item.find(function (_a) {
1890
+ var name = _a.name;
1891
+ return name === exports.EnumTipoTributo.IBS_AJUSTE;
1892
+ }), ibsAjusteFormGroup = _e.formGroup, ibsAjusteFormField = _e.formField;
1893
+ var dataKey_4 = ibsAjusteFormField.find(function (_a) {
1894
+ var name = _a.name;
1895
+ return name === 'classificacaoTributaria';
1896
+ }).dataKey;
1897
+ rxjs.combineLatest([
1898
+ ibsAjusteFormGroup
1899
+ .get('classificacaoTributaria')
1900
+ .valueChanges.pipe(operators.startWith(ibsAjusteFormGroup.get('classificacaoTributaria').value), operators.distinctUntilChanged(function (old, current) {
1901
+ return (old === null || old === void 0 ? void 0 : old[dataKey_4]) === (current === null || current === void 0 ? void 0 : current[dataKey_4]);
1902
+ }))
1903
+ ])
1904
+ .pipe(operators.skip(1), operators.map(function (_a) {
1905
+ var _b = __read(_a, 1), taxClassification = _b[0];
1906
+ return [taxClassification];
1907
+ }))
1908
+ .subscribe(function (_a) {
1909
+ var _b = __read(_a, 1), taxClassification = _b[0];
1910
+ formGroup
1911
+ .get('classificacaoTributaria')
1912
+ .setValue(taxClassification);
1913
+ });
1914
+ }
1915
+ break;
1916
+ case exports.EnumTipoTributo.IBS_AJUSTE:
1917
+ {
1918
+ var _f = group.item.find(function (_a) {
1919
+ var name = _a.name;
1920
+ return name === exports.EnumTipoTributo.CBS_AJUSTE;
1921
+ }), cbsAjusteFormGroup = _f.formGroup, cbsAjusteFormField = _f.formField;
1922
+ var dataKey_5 = cbsAjusteFormField.find(function (_a) {
1923
+ var name = _a.name;
1924
+ return name === 'classificacaoTributaria';
1925
+ }).dataKey;
1926
+ rxjs.combineLatest([
1927
+ cbsAjusteFormGroup
1928
+ .get('classificacaoTributaria')
1929
+ .valueChanges.pipe(operators.startWith(cbsAjusteFormGroup.get('classificacaoTributaria').value), operators.distinctUntilChanged(function (old, current) {
1930
+ return (old === null || old === void 0 ? void 0 : old[dataKey_5]) === (current === null || current === void 0 ? void 0 : current[dataKey_5]);
1931
+ }))
1932
+ ])
1933
+ .pipe(operators.skip(1), operators.map(function (_a) {
1934
+ var _b = __read(_a, 1), taxClassification = _b[0];
1935
+ return [taxClassification];
1936
+ }))
1937
+ .subscribe(function (_a) {
1938
+ var _b = __read(_a, 1), taxClassification = _b[0];
1939
+ formGroup
1940
+ .get('classificacaoTributaria')
1941
+ .setValue(taxClassification);
1942
+ });
1943
+ }
1944
+ break;
1854
1945
  default:
1855
1946
  throw new Error("Regra TaxClassificationCalculationRule n\u00E3o implementada para o imposto " + taxType + ", documento " + document + ".");
1856
1947
  }
@@ -4402,6 +4493,75 @@
4402
4493
  return IncomingInvoiceCalculationRulesRegistry;
4403
4494
  }());
4404
4495
 
4496
+ var AssessmentPeriodCalculationRule = /** @class */ (function () {
4497
+ function AssessmentPeriodCalculationRule() {
4498
+ }
4499
+ AssessmentPeriodCalculationRule.prototype.apply = function (_a) {
4500
+ var document = _a.context.document, group = _a.group, _b = _a.item, taxType = _b.name, formGroup = _b.formGroup;
4501
+ switch (taxType) {
4502
+ case exports.EnumTipoTributo.CBS_AJUSTE:
4503
+ {
4504
+ var ibsAjusteFormGroup = group.item.find(function (_a) {
4505
+ var name = _a.name;
4506
+ return name === exports.EnumTipoTributo.IBS_AJUSTE;
4507
+ }).formGroup;
4508
+ rxjs.combineLatest([
4509
+ ibsAjusteFormGroup
4510
+ .get(exports.EnumCampoTributo.PeriodoApuracao)
4511
+ .valueChanges.pipe(operators.startWith(ibsAjusteFormGroup.get(exports.EnumCampoTributo.PeriodoApuracao).value), operators.distinctUntilChanged(function (old, current) {
4512
+ return old === current ||
4513
+ moment(old).isSame(current, 'day');
4514
+ }), operators.debounceTime(100))
4515
+ ])
4516
+ .pipe(operators.skip(1), operators.map(function (_a) {
4517
+ var _b = __read(_a, 1), taxSituation = _b[0];
4518
+ return [taxSituation];
4519
+ }))
4520
+ .subscribe(function (_a) {
4521
+ var _b = __read(_a, 1), taxSituation = _b[0];
4522
+ formGroup
4523
+ .get(exports.EnumCampoTributo.PeriodoApuracao)
4524
+ .setValue(taxSituation);
4525
+ });
4526
+ }
4527
+ break;
4528
+ case exports.EnumTipoTributo.IBS_AJUSTE:
4529
+ {
4530
+ var cbsAjusteFormGroup = group.item.find(function (_a) {
4531
+ var name = _a.name;
4532
+ return name === exports.EnumTipoTributo.CBS_AJUSTE;
4533
+ }).formGroup;
4534
+ rxjs.combineLatest([
4535
+ cbsAjusteFormGroup
4536
+ .get(exports.EnumCampoTributo.PeriodoApuracao)
4537
+ .valueChanges.pipe(operators.startWith(cbsAjusteFormGroup.get(exports.EnumCampoTributo.PeriodoApuracao).value), operators.distinctUntilChanged(function (old, current) {
4538
+ return old === current ||
4539
+ moment(old).isSame(current, 'day');
4540
+ }), operators.debounceTime(100))
4541
+ ])
4542
+ .pipe(operators.skip(1), operators.map(function (_a) {
4543
+ var _b = __read(_a, 1), taxSituation = _b[0];
4544
+ return [taxSituation];
4545
+ }))
4546
+ .subscribe(function (_a) {
4547
+ var _b = __read(_a, 1), taxSituation = _b[0];
4548
+ formGroup
4549
+ .get(exports.EnumCampoTributo.PeriodoApuracao)
4550
+ .setValue(taxSituation);
4551
+ });
4552
+ }
4553
+ break;
4554
+ default:
4555
+ throw new Error("Regra AssessmentPeriodCalculationRule n\u00E3o implementada para o imposto " + taxType + ", documento " + document + ".");
4556
+ }
4557
+ };
4558
+ AssessmentPeriodCalculationRule.ɵprov = core.ɵɵdefineInjectable({ factory: function AssessmentPeriodCalculationRule_Factory() { return new AssessmentPeriodCalculationRule(); }, token: AssessmentPeriodCalculationRule, providedIn: "root" });
4559
+ AssessmentPeriodCalculationRule = __decorate([
4560
+ core.Injectable({ providedIn: 'root' })
4561
+ ], AssessmentPeriodCalculationRule);
4562
+ return AssessmentPeriodCalculationRule;
4563
+ }());
4564
+
4405
4565
  var TaxSituationCalculationRule = /** @class */ (function () {
4406
4566
  function TaxSituationCalculationRule() {
4407
4567
  }
@@ -4466,6 +4626,66 @@
4466
4626
  });
4467
4627
  }
4468
4628
  break;
4629
+ case exports.EnumTipoTributo.CBS_AJUSTE:
4630
+ {
4631
+ var _e = group.item.find(function (_a) {
4632
+ var name = _a.name;
4633
+ return name === exports.EnumTipoTributo.IBS_AJUSTE;
4634
+ }), ibsAjusteFormGroup = _e.formGroup, ibsAjusteFormField = _e.formField;
4635
+ var dataKey_3 = ibsAjusteFormField.find(function (_a) {
4636
+ var name = _a.name;
4637
+ return name === 'situacaoTributaria';
4638
+ }).dataKey;
4639
+ rxjs.combineLatest([
4640
+ ibsAjusteFormGroup
4641
+ .get('situacaoTributaria')
4642
+ .valueChanges.pipe(operators.startWith(ibsAjusteFormGroup.get('situacaoTributaria')
4643
+ .value), operators.distinctUntilChanged(function (old, current) {
4644
+ return (old === null || old === void 0 ? void 0 : old[dataKey_3]) === (current === null || current === void 0 ? void 0 : current[dataKey_3]);
4645
+ }))
4646
+ ])
4647
+ .pipe(operators.skip(1), operators.map(function (_a) {
4648
+ var _b = __read(_a, 1), taxSituation = _b[0];
4649
+ return [taxSituation];
4650
+ }))
4651
+ .subscribe(function (_a) {
4652
+ var _b = __read(_a, 1), taxSituation = _b[0];
4653
+ formGroup
4654
+ .get('situacaoTributaria')
4655
+ .setValue(taxSituation);
4656
+ });
4657
+ }
4658
+ break;
4659
+ case exports.EnumTipoTributo.IBS_AJUSTE:
4660
+ {
4661
+ var _f = group.item.find(function (_a) {
4662
+ var name = _a.name;
4663
+ return name === exports.EnumTipoTributo.CBS_AJUSTE;
4664
+ }), cbsAjusteFormGroup = _f.formGroup, cbsAjusteFormField = _f.formField;
4665
+ var dataKey_4 = cbsAjusteFormField.find(function (_a) {
4666
+ var name = _a.name;
4667
+ return name === 'situacaoTributaria';
4668
+ }).dataKey;
4669
+ rxjs.combineLatest([
4670
+ cbsAjusteFormGroup
4671
+ .get('situacaoTributaria')
4672
+ .valueChanges.pipe(operators.startWith(cbsAjusteFormGroup.get('situacaoTributaria')
4673
+ .value), operators.distinctUntilChanged(function (old, current) {
4674
+ return (old === null || old === void 0 ? void 0 : old[dataKey_4]) === (current === null || current === void 0 ? void 0 : current[dataKey_4]);
4675
+ }))
4676
+ ])
4677
+ .pipe(operators.skip(1), operators.map(function (_a) {
4678
+ var _b = __read(_a, 1), taxSituation = _b[0];
4679
+ return [taxSituation];
4680
+ }))
4681
+ .subscribe(function (_a) {
4682
+ var _b = __read(_a, 1), taxSituation = _b[0];
4683
+ formGroup
4684
+ .get('situacaoTributaria')
4685
+ .setValue(taxSituation);
4686
+ });
4687
+ }
4688
+ break;
4469
4689
  default:
4470
4690
  throw new Error("Regra TaxSituationCalculationRule n\u00E3o implementada para o imposto " + taxType + ", documento " + document + ".");
4471
4691
  }
@@ -4478,7 +4698,7 @@
4478
4698
  }());
4479
4699
 
4480
4700
  var OutgoingInvoiceCalculationRulesRegistry = /** @class */ (function () {
4481
- function OutgoingInvoiceCalculationRulesRegistry(taxableBaseCalculationRule, taxRateCalculationRule, effectiveTaxRateCalculationRule, taxAmountCalculationRule, grossAmountCalculationRule, taxSituationCalculationRule, taxClassificationCalculationRule, taxCalculationTypeCalculationRule, manualTaxCalculationRule) {
4701
+ function OutgoingInvoiceCalculationRulesRegistry(taxableBaseCalculationRule, taxRateCalculationRule, effectiveTaxRateCalculationRule, taxAmountCalculationRule, grossAmountCalculationRule, taxSituationCalculationRule, taxClassificationCalculationRule, taxCalculationTypeCalculationRule, assessmentPeriodCalculationRule, manualTaxCalculationRule) {
4482
4702
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
4483
4703
  this.taxableBaseCalculationRule = taxableBaseCalculationRule;
4484
4704
  this.taxRateCalculationRule = taxRateCalculationRule;
@@ -4488,6 +4708,7 @@
4488
4708
  this.taxSituationCalculationRule = taxSituationCalculationRule;
4489
4709
  this.taxClassificationCalculationRule = taxClassificationCalculationRule;
4490
4710
  this.taxCalculationTypeCalculationRule = taxCalculationTypeCalculationRule;
4711
+ this.assessmentPeriodCalculationRule = assessmentPeriodCalculationRule;
4491
4712
  this.manualTaxCalculationRule = manualTaxCalculationRule;
4492
4713
  this.strategies = {
4493
4714
  'Product And Service Sale': (_a = {},
@@ -6677,6 +6898,42 @@
6677
6898
  rule: this.taxAmountCalculationRule
6678
6899
  }
6679
6900
  ],
6901
+ _k[exports.EnumTipoTributo.CBS_AJUSTE] = [
6902
+ {
6903
+ field: exports.EnumCampoTributo.SituacaoTributaria,
6904
+ rule: this.taxSituationCalculationRule
6905
+ },
6906
+ {
6907
+ field: exports.EnumCampoTributo.ClassificacaoTributaria,
6908
+ rule: this.taxClassificationCalculationRule
6909
+ },
6910
+ {
6911
+ field: exports.EnumCampoTributo.PeriodoApuracao,
6912
+ rule: this.assessmentPeriodCalculationRule
6913
+ },
6914
+ {
6915
+ field: exports.EnumCampoTributo.Valor,
6916
+ rule: this.taxAmountCalculationRule
6917
+ }
6918
+ ],
6919
+ _k[exports.EnumTipoTributo.IBS_AJUSTE] = [
6920
+ {
6921
+ field: exports.EnumCampoTributo.SituacaoTributaria,
6922
+ rule: this.taxSituationCalculationRule
6923
+ },
6924
+ {
6925
+ field: exports.EnumCampoTributo.ClassificacaoTributaria,
6926
+ rule: this.taxClassificationCalculationRule
6927
+ },
6928
+ {
6929
+ field: exports.EnumCampoTributo.PeriodoApuracao,
6930
+ rule: this.assessmentPeriodCalculationRule
6931
+ },
6932
+ {
6933
+ field: exports.EnumCampoTributo.Valor,
6934
+ rule: this.taxAmountCalculationRule
6935
+ }
6936
+ ],
6680
6937
  _k),
6681
6938
  Delivery: (_l = {},
6682
6939
  _l[exports.EnumTipoTributo.CBS] = [
@@ -8205,9 +8462,10 @@
8205
8462
  { type: TaxSituationCalculationRule },
8206
8463
  { type: TaxClassificationCalculationRule },
8207
8464
  { type: TaxCalculationTypeCalculationRule },
8465
+ { type: AssessmentPeriodCalculationRule },
8208
8466
  { type: ManualTaxCalculationRule }
8209
8467
  ]; };
8210
- OutgoingInvoiceCalculationRulesRegistry.ɵprov = core.ɵɵdefineInjectable({ factory: function OutgoingInvoiceCalculationRulesRegistry_Factory() { return new OutgoingInvoiceCalculationRulesRegistry(core.ɵɵinject(TaxableBaseCalculationRule), core.ɵɵinject(TaxRateCalculationRule), core.ɵɵinject(EffectiveTaxRateCalculationRule), core.ɵɵinject(TaxAmountCalculationRule), core.ɵɵinject(GrossAmountCalculationRule), core.ɵɵinject(TaxSituationCalculationRule), core.ɵɵinject(TaxClassificationCalculationRule), core.ɵɵinject(TaxCalculationTypeCalculationRule), core.ɵɵinject(ManualTaxCalculationRule)); }, token: OutgoingInvoiceCalculationRulesRegistry, providedIn: "root" });
8468
+ OutgoingInvoiceCalculationRulesRegistry.ɵprov = core.ɵɵdefineInjectable({ factory: function OutgoingInvoiceCalculationRulesRegistry_Factory() { return new OutgoingInvoiceCalculationRulesRegistry(core.ɵɵinject(TaxableBaseCalculationRule), core.ɵɵinject(TaxRateCalculationRule), core.ɵɵinject(EffectiveTaxRateCalculationRule), core.ɵɵinject(TaxAmountCalculationRule), core.ɵɵinject(GrossAmountCalculationRule), core.ɵɵinject(TaxSituationCalculationRule), core.ɵɵinject(TaxClassificationCalculationRule), core.ɵɵinject(TaxCalculationTypeCalculationRule), core.ɵɵinject(AssessmentPeriodCalculationRule), core.ɵɵinject(ManualTaxCalculationRule)); }, token: OutgoingInvoiceCalculationRulesRegistry, providedIn: "root" });
8211
8469
  OutgoingInvoiceCalculationRulesRegistry = __decorate([
8212
8470
  core.Injectable({ providedIn: 'root' })
8213
8471
  ], OutgoingInvoiceCalculationRulesRegistry);
@@ -9905,6 +10163,8 @@
9905
10163
  break;
9906
10164
  case exports.EnumTipoTributo.CBS_ESTORNO_CREDITO:
9907
10165
  case exports.EnumTipoTributo.IBS_ESTORNO_CREDITO:
10166
+ case exports.EnumTipoTributo.CBS_AJUSTE:
10167
+ case exports.EnumTipoTributo.IBS_AJUSTE:
9908
10168
  {
9909
10169
  rxjs.combineLatest([
9910
10170
  formGroup
@@ -10884,6 +11144,18 @@
10884
11144
  rule: this.taxClassificationStatusRule
10885
11145
  }
10886
11146
  ],
11147
+ _k[exports.EnumTipoTributo.CBS_AJUSTE] = [
11148
+ {
11149
+ field: exports.EnumCampoTributo.ClassificacaoTributaria,
11150
+ rule: this.taxClassificationStatusRule
11151
+ }
11152
+ ],
11153
+ _k[exports.EnumTipoTributo.IBS_AJUSTE] = [
11154
+ {
11155
+ field: exports.EnumCampoTributo.ClassificacaoTributaria,
11156
+ rule: this.taxClassificationStatusRule
11157
+ }
11158
+ ],
10887
11159
  _k),
10888
11160
  Delivery: (_l = {},
10889
11161
  _l[exports.EnumTipoTributo.CBS] = [
@@ -11216,10 +11488,42 @@
11216
11488
  return OutgoingInvoiceStatusRulesRegistry;
11217
11489
  }());
11218
11490
 
11491
+ var PurchaseOrderStatusRulesRegistry = /** @class */ (function () {
11492
+ function PurchaseOrderStatusRulesRegistry() {
11493
+ this.strategies = {};
11494
+ }
11495
+ PurchaseOrderStatusRulesRegistry.prototype.get = function (type, taxType) {
11496
+ var _a, _b;
11497
+ return ((_b = (_a = this.strategies[type]) === null || _a === void 0 ? void 0 : _a[taxType]) !== null && _b !== void 0 ? _b : []);
11498
+ };
11499
+ PurchaseOrderStatusRulesRegistry.ɵprov = core.ɵɵdefineInjectable({ factory: function PurchaseOrderStatusRulesRegistry_Factory() { return new PurchaseOrderStatusRulesRegistry(); }, token: PurchaseOrderStatusRulesRegistry, providedIn: "root" });
11500
+ PurchaseOrderStatusRulesRegistry = __decorate([
11501
+ core.Injectable({ providedIn: 'root' })
11502
+ ], PurchaseOrderStatusRulesRegistry);
11503
+ return PurchaseOrderStatusRulesRegistry;
11504
+ }());
11505
+
11506
+ var SaleOrderStatusRulesRegistry = /** @class */ (function () {
11507
+ function SaleOrderStatusRulesRegistry() {
11508
+ this.strategies = {};
11509
+ }
11510
+ SaleOrderStatusRulesRegistry.prototype.get = function (type, taxType) {
11511
+ var _a, _b;
11512
+ return ((_b = (_a = this.strategies[type]) === null || _a === void 0 ? void 0 : _a[taxType]) !== null && _b !== void 0 ? _b : []);
11513
+ };
11514
+ SaleOrderStatusRulesRegistry.ɵprov = core.ɵɵdefineInjectable({ factory: function SaleOrderStatusRulesRegistry_Factory() { return new SaleOrderStatusRulesRegistry(); }, token: SaleOrderStatusRulesRegistry, providedIn: "root" });
11515
+ SaleOrderStatusRulesRegistry = __decorate([
11516
+ core.Injectable({ providedIn: 'root' })
11517
+ ], SaleOrderStatusRulesRegistry);
11518
+ return SaleOrderStatusRulesRegistry;
11519
+ }());
11520
+
11219
11521
  var StatusRulesRegistry = /** @class */ (function () {
11220
- function StatusRulesRegistry(incomingInvoiceStatusRulesRegistry, outgoingInvoiceStatusRulesRegistry) {
11522
+ function StatusRulesRegistry(incomingInvoiceStatusRulesRegistry, outgoingInvoiceStatusRulesRegistry, saleOrderStatusRulesRegistry, purchaseOrderStatusRulesRegistry) {
11221
11523
  this.incomingInvoiceStatusRulesRegistry = incomingInvoiceStatusRulesRegistry;
11222
11524
  this.outgoingInvoiceStatusRulesRegistry = outgoingInvoiceStatusRulesRegistry;
11525
+ this.saleOrderStatusRulesRegistry = saleOrderStatusRulesRegistry;
11526
+ this.purchaseOrderStatusRulesRegistry = purchaseOrderStatusRulesRegistry;
11223
11527
  }
11224
11528
  StatusRulesRegistry.prototype.get = function (context, taxType) {
11225
11529
  switch (context.document) {
@@ -11227,15 +11531,21 @@
11227
11531
  return this.incomingInvoiceStatusRulesRegistry.get(context.invoice.type, taxType);
11228
11532
  case 'Outgoing Invoice':
11229
11533
  return this.outgoingInvoiceStatusRulesRegistry.get(context.invoice.type, taxType);
11534
+ case 'Sale Order':
11535
+ return this.saleOrderStatusRulesRegistry.get(context.order.type, taxType);
11536
+ case 'Purchase Order':
11537
+ return this.purchaseOrderStatusRulesRegistry.get(context.order.type, taxType);
11230
11538
  default:
11231
11539
  throw new Error("StatusRulesRegistry not implemented for " + context.document);
11232
11540
  }
11233
11541
  };
11234
11542
  StatusRulesRegistry.ctorParameters = function () { return [
11235
11543
  { type: IncomingInvoiceStatusRulesRegistry },
11236
- { type: OutgoingInvoiceStatusRulesRegistry }
11544
+ { type: OutgoingInvoiceStatusRulesRegistry },
11545
+ { type: SaleOrderStatusRulesRegistry },
11546
+ { type: PurchaseOrderStatusRulesRegistry }
11237
11547
  ]; };
11238
- StatusRulesRegistry.ɵprov = core.ɵɵdefineInjectable({ factory: function StatusRulesRegistry_Factory() { return new StatusRulesRegistry(core.ɵɵinject(IncomingInvoiceStatusRulesRegistry), core.ɵɵinject(OutgoingInvoiceStatusRulesRegistry)); }, token: StatusRulesRegistry, providedIn: "root" });
11548
+ StatusRulesRegistry.ɵprov = core.ɵɵdefineInjectable({ factory: function StatusRulesRegistry_Factory() { return new StatusRulesRegistry(core.ɵɵinject(IncomingInvoiceStatusRulesRegistry), core.ɵɵinject(OutgoingInvoiceStatusRulesRegistry), core.ɵɵinject(SaleOrderStatusRulesRegistry), core.ɵɵinject(PurchaseOrderStatusRulesRegistry)); }, token: StatusRulesRegistry, providedIn: "root" });
11239
11549
  StatusRulesRegistry = __decorate([
11240
11550
  core.Injectable({ providedIn: 'root' })
11241
11551
  ], StatusRulesRegistry);
@@ -12080,6 +12390,59 @@
12080
12390
  });
12081
12391
  }
12082
12392
  break;
12393
+ case exports.EnumTipoTributo.CBS_AJUSTE:
12394
+ case exports.EnumTipoTributo.IBS_AJUSTE:
12395
+ {
12396
+ rxjs.combineLatest([
12397
+ formGroup
12398
+ .get('situacaoTributaria')
12399
+ .valueChanges.pipe(operators.startWith(formGroup.get('situacaoTributaria').value), operators.distinctUntilChanged()),
12400
+ formGroup
12401
+ .get('classificacaoTributaria')
12402
+ .valueChanges.pipe(operators.startWith(formGroup.get('classificacaoTributaria')
12403
+ .value), operators.distinctUntilChanged()),
12404
+ formGroup
12405
+ .get(exports.EnumCampoTributo.PeriodoApuracao)
12406
+ .valueChanges.pipe(operators.startWith(formGroup.get(exports.EnumCampoTributo.PeriodoApuracao).value), operators.distinctUntilChanged()),
12407
+ formGroup
12408
+ .get('valor')
12409
+ .valueChanges.pipe(operators.startWith(formGroup.get('valor').value), operators.distinctUntilChanged())
12410
+ ])
12411
+ .pipe(operators.map(function (_a) {
12412
+ var _b = __read(_a, 4), taxSituation = _b[0], taxClassification = _b[1], assessmentPeriod = _b[2], taxAmount = _b[3];
12413
+ return [
12414
+ taxSituation,
12415
+ taxClassification,
12416
+ assessmentPeriod,
12417
+ new BigNumber(taxAmount)
12418
+ ];
12419
+ }))
12420
+ .subscribe(function (_a) {
12421
+ var _b = __read(_a, 4), taxSituation = _b[0], taxClassification = _b[1], assessmentPeriod = _b[2], taxAmount = _b[3];
12422
+ var validators = [];
12423
+ if (taxSituation ||
12424
+ taxClassification ||
12425
+ assessmentPeriod ||
12426
+ taxAmount.isFinite()) {
12427
+ validators = [
12428
+ forms.Validators.max(9999999999999.99),
12429
+ forms.Validators.required
12430
+ ];
12431
+ }
12432
+ else {
12433
+ validators = [
12434
+ forms.Validators.max(9999999999999.99)
12435
+ ];
12436
+ }
12437
+ formGroup
12438
+ .get('valor')
12439
+ .setValidators(validators);
12440
+ formGroup.get('valor').updateValueAndValidity({
12441
+ emitEvent: false
12442
+ });
12443
+ });
12444
+ }
12445
+ break;
12083
12446
  default:
12084
12447
  throw new Error("Regra TaxAmountRequiredValidationRule n\u00E3o implementada para o imposto " + taxType + ", documento " + document + ".");
12085
12448
  }
@@ -12452,15 +12815,65 @@
12452
12815
  });
12453
12816
  }
12454
12817
  break;
12455
- default:
12456
- throw new Error("Regra TaxClassificationRequiredValidationRule n\u00E3o implementada para o imposto " + taxType + ", documento " + document + ".");
12457
- }
12458
- };
12459
- TaxClassificationRequiredValidationRule.ɵprov = core.ɵɵdefineInjectable({ factory: function TaxClassificationRequiredValidationRule_Factory() { return new TaxClassificationRequiredValidationRule(); }, token: TaxClassificationRequiredValidationRule, providedIn: "root" });
12460
- TaxClassificationRequiredValidationRule = __decorate([
12461
- core.Injectable({ providedIn: 'root' })
12462
- ], TaxClassificationRequiredValidationRule);
12463
- return TaxClassificationRequiredValidationRule;
12818
+ case exports.EnumTipoTributo.CBS_AJUSTE:
12819
+ case exports.EnumTipoTributo.IBS_AJUSTE:
12820
+ {
12821
+ rxjs.combineLatest([
12822
+ formGroup
12823
+ .get('situacaoTributaria')
12824
+ .valueChanges.pipe(operators.startWith(formGroup.get('situacaoTributaria').value), operators.distinctUntilChanged()),
12825
+ formGroup
12826
+ .get('classificacaoTributaria')
12827
+ .valueChanges.pipe(operators.startWith(formGroup.get('classificacaoTributaria')
12828
+ .value), operators.distinctUntilChanged()),
12829
+ formGroup
12830
+ .get(exports.EnumCampoTributo.PeriodoApuracao)
12831
+ .valueChanges.pipe(operators.startWith(formGroup.get(exports.EnumCampoTributo.PeriodoApuracao).value), operators.distinctUntilChanged()),
12832
+ formGroup
12833
+ .get('valor')
12834
+ .valueChanges.pipe(operators.startWith(formGroup.get('valor').value), operators.distinctUntilChanged())
12835
+ ])
12836
+ .pipe(operators.map(function (_a) {
12837
+ var _b = __read(_a, 4), taxSituation = _b[0], taxClassication = _b[1], assessmentPeriod = _b[2], taxAmount = _b[3];
12838
+ return [
12839
+ taxSituation,
12840
+ taxClassication,
12841
+ assessmentPeriod,
12842
+ new BigNumber(taxAmount)
12843
+ ];
12844
+ }))
12845
+ .subscribe(function (_a) {
12846
+ var _b = __read(_a, 4), taxSituation = _b[0], taxClassication = _b[1], assessmentPeriod = _b[2], taxAmount = _b[3];
12847
+ var validators = [];
12848
+ if (taxSituation ||
12849
+ taxClassication ||
12850
+ assessmentPeriod ||
12851
+ taxAmount.isFinite()) {
12852
+ validators = [forms.Validators.required];
12853
+ }
12854
+ else {
12855
+ validators = [];
12856
+ }
12857
+ formGroup
12858
+ .get('classificacaoTributaria')
12859
+ .setValidators(validators);
12860
+ formGroup
12861
+ .get('classificacaoTributaria')
12862
+ .updateValueAndValidity({
12863
+ emitEvent: false
12864
+ });
12865
+ });
12866
+ }
12867
+ break;
12868
+ default:
12869
+ throw new Error("Regra TaxClassificationRequiredValidationRule n\u00E3o implementada para o imposto " + taxType + ", documento " + document + ".");
12870
+ }
12871
+ };
12872
+ TaxClassificationRequiredValidationRule.ɵprov = core.ɵɵdefineInjectable({ factory: function TaxClassificationRequiredValidationRule_Factory() { return new TaxClassificationRequiredValidationRule(); }, token: TaxClassificationRequiredValidationRule, providedIn: "root" });
12873
+ TaxClassificationRequiredValidationRule = __decorate([
12874
+ core.Injectable({ providedIn: 'root' })
12875
+ ], TaxClassificationRequiredValidationRule);
12876
+ return TaxClassificationRequiredValidationRule;
12464
12877
  }());
12465
12878
 
12466
12879
  var TaxRateRequiredValidationRule = /** @class */ (function () {
@@ -13417,6 +13830,56 @@
13417
13830
  });
13418
13831
  }
13419
13832
  break;
13833
+ case exports.EnumTipoTributo.CBS_AJUSTE:
13834
+ case exports.EnumTipoTributo.IBS_AJUSTE:
13835
+ {
13836
+ rxjs.combineLatest([
13837
+ formGroup
13838
+ .get('situacaoTributaria')
13839
+ .valueChanges.pipe(operators.startWith(formGroup.get('situacaoTributaria').value), operators.distinctUntilChanged()),
13840
+ formGroup
13841
+ .get('classificacaoTributaria')
13842
+ .valueChanges.pipe(operators.startWith(formGroup.get('classificacaoTributaria')
13843
+ .value), operators.distinctUntilChanged()),
13844
+ formGroup
13845
+ .get(exports.EnumCampoTributo.PeriodoApuracao)
13846
+ .valueChanges.pipe(operators.startWith(formGroup.get(exports.EnumCampoTributo.PeriodoApuracao).value), operators.distinctUntilChanged()),
13847
+ formGroup
13848
+ .get('valor')
13849
+ .valueChanges.pipe(operators.startWith(formGroup.get('valor').value), operators.distinctUntilChanged())
13850
+ ])
13851
+ .pipe(operators.map(function (_a) {
13852
+ var _b = __read(_a, 4), taxSituation = _b[0], taxClassification = _b[1], assessmentPeriod = _b[2], taxAmount = _b[3];
13853
+ return [
13854
+ taxSituation,
13855
+ taxClassification,
13856
+ assessmentPeriod,
13857
+ new BigNumber(taxAmount)
13858
+ ];
13859
+ }))
13860
+ .subscribe(function (_a) {
13861
+ var _b = __read(_a, 4), taxSituation = _b[0], taxClassification = _b[1], assessmentPeriod = _b[2], taxAmount = _b[3];
13862
+ var validators = [];
13863
+ if (taxSituation ||
13864
+ taxClassification ||
13865
+ assessmentPeriod ||
13866
+ taxAmount.isFinite()) {
13867
+ validators = [forms.Validators.required];
13868
+ }
13869
+ else {
13870
+ validators = [];
13871
+ }
13872
+ formGroup
13873
+ .get('situacaoTributaria')
13874
+ .setValidators(validators);
13875
+ formGroup
13876
+ .get('situacaoTributaria')
13877
+ .updateValueAndValidity({
13878
+ emitEvent: false
13879
+ });
13880
+ });
13881
+ }
13882
+ break;
13420
13883
  default:
13421
13884
  throw new Error("Regra TaxSituationRequiredValidationRule n\u00E3o implementada para o imposto " + taxType + ", documento " + document + ".");
13422
13885
  }
@@ -16920,14 +17383,92 @@
16920
17383
  return IncomingInvoiceValidationRulesRegistry;
16921
17384
  }());
16922
17385
 
17386
+ var AssessmentPeriodRequiredValidationRule = /** @class */ (function () {
17387
+ function AssessmentPeriodRequiredValidationRule() {
17388
+ }
17389
+ AssessmentPeriodRequiredValidationRule.prototype.apply = function (_a) {
17390
+ var context = _a.context, _b = _a.item, taxType = _b.name, formGroup = _b.formGroup;
17391
+ var document = context.document;
17392
+ switch (taxType) {
17393
+ case exports.EnumTipoTributo.CBS_AJUSTE:
17394
+ case exports.EnumTipoTributo.IBS_AJUSTE:
17395
+ {
17396
+ switch (document) {
17397
+ case 'Outgoing Invoice':
17398
+ {
17399
+ rxjs.combineLatest([
17400
+ formGroup
17401
+ .get('situacaoTributaria')
17402
+ .valueChanges.pipe(operators.startWith(formGroup.get('situacaoTributaria').value), operators.distinctUntilChanged()),
17403
+ formGroup
17404
+ .get('classificacaoTributaria')
17405
+ .valueChanges.pipe(operators.startWith(formGroup.get('classificacaoTributaria').value), operators.distinctUntilChanged()),
17406
+ formGroup
17407
+ .get(exports.EnumCampoTributo.PeriodoApuracao)
17408
+ .valueChanges.pipe(operators.startWith(formGroup.get(exports.EnumCampoTributo.PeriodoApuracao).value), operators.distinctUntilChanged()),
17409
+ formGroup
17410
+ .get('valor')
17411
+ .valueChanges.pipe(operators.startWith(formGroup.get('valor').value), operators.distinctUntilChanged())
17412
+ ])
17413
+ .pipe(operators.map(function (_a) {
17414
+ var _b = __read(_a, 4), taxSituation = _b[0], taxClassication = _b[1], assessmentPeriod = _b[2], taxAmount = _b[3];
17415
+ return [
17416
+ taxSituation,
17417
+ taxClassication,
17418
+ assessmentPeriod,
17419
+ new BigNumber(taxAmount)
17420
+ ];
17421
+ }))
17422
+ .subscribe(function (_a) {
17423
+ var _b = __read(_a, 4), taxSituation = _b[0], taxClassication = _b[1], assessmentPeriod = _b[2], taxAmount = _b[3];
17424
+ var validators = [];
17425
+ if (taxSituation ||
17426
+ taxClassication ||
17427
+ assessmentPeriod ||
17428
+ taxAmount.isFinite()) {
17429
+ validators = [
17430
+ forms.Validators.required
17431
+ ];
17432
+ }
17433
+ else {
17434
+ validators = [];
17435
+ }
17436
+ formGroup
17437
+ .get(exports.EnumCampoTributo.PeriodoApuracao)
17438
+ .setValidators(validators);
17439
+ formGroup
17440
+ .get(exports.EnumCampoTributo.PeriodoApuracao)
17441
+ .updateValueAndValidity({
17442
+ emitEvent: false
17443
+ });
17444
+ });
17445
+ }
17446
+ break;
17447
+ default:
17448
+ throw new Error("Regra AssessmentPeriodRequiredValidationRule n\u00E3o implementada para o imposto " + taxType + ", documento " + document + ".");
17449
+ }
17450
+ }
17451
+ break;
17452
+ default:
17453
+ throw new Error("Regra AssessmentPeriodRequiredValidationRule n\u00E3o implementada para o imposto " + taxType + ", documento " + document + ".");
17454
+ }
17455
+ };
17456
+ AssessmentPeriodRequiredValidationRule.ɵprov = core.ɵɵdefineInjectable({ factory: function AssessmentPeriodRequiredValidationRule_Factory() { return new AssessmentPeriodRequiredValidationRule(); }, token: AssessmentPeriodRequiredValidationRule, providedIn: "root" });
17457
+ AssessmentPeriodRequiredValidationRule = __decorate([
17458
+ core.Injectable({ providedIn: 'root' })
17459
+ ], AssessmentPeriodRequiredValidationRule);
17460
+ return AssessmentPeriodRequiredValidationRule;
17461
+ }());
17462
+
16923
17463
  var OutgoingInvoiceValidationRulesRegistry = /** @class */ (function () {
16924
- function OutgoingInvoiceValidationRulesRegistry(taxableBaseRequiredValidationRule, taxRateRequiredValidationRule, taxClassificationRequiredValidationRule, taxAmountRequiredValidationRule, taxSituationRequiredValidationRule) {
17464
+ function OutgoingInvoiceValidationRulesRegistry(taxableBaseRequiredValidationRule, taxRateRequiredValidationRule, taxClassificationRequiredValidationRule, taxAmountRequiredValidationRule, taxSituationRequiredValidationRule, assessmentPeriodRequiredValidationRule) {
16925
17465
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
16926
17466
  this.taxableBaseRequiredValidationRule = taxableBaseRequiredValidationRule;
16927
17467
  this.taxRateRequiredValidationRule = taxRateRequiredValidationRule;
16928
17468
  this.taxClassificationRequiredValidationRule = taxClassificationRequiredValidationRule;
16929
17469
  this.taxAmountRequiredValidationRule = taxAmountRequiredValidationRule;
16930
17470
  this.taxSituationRequiredValidationRule = taxSituationRequiredValidationRule;
17471
+ this.assessmentPeriodRequiredValidationRule = assessmentPeriodRequiredValidationRule;
16931
17472
  this.strategies = {
16932
17473
  'Product And Service Sale': (_a = {},
16933
17474
  _a[exports.EnumTipoTributo.CBS] = [
@@ -19716,6 +20257,42 @@
19716
20257
  rules: [this.taxAmountRequiredValidationRule]
19717
20258
  }
19718
20259
  ],
20260
+ _k[exports.EnumTipoTributo.CBS_AJUSTE] = [
20261
+ {
20262
+ field: exports.EnumCampoTributo.SituacaoTributaria,
20263
+ rules: [this.taxSituationRequiredValidationRule]
20264
+ },
20265
+ {
20266
+ field: exports.EnumCampoTributo.ClassificacaoTributaria,
20267
+ rules: [this.taxClassificationRequiredValidationRule]
20268
+ },
20269
+ {
20270
+ field: exports.EnumCampoTributo.PeriodoApuracao,
20271
+ rules: [this.assessmentPeriodRequiredValidationRule]
20272
+ },
20273
+ {
20274
+ field: exports.EnumCampoTributo.Valor,
20275
+ rules: [this.taxAmountRequiredValidationRule]
20276
+ }
20277
+ ],
20278
+ _k[exports.EnumTipoTributo.IBS_AJUSTE] = [
20279
+ {
20280
+ field: exports.EnumCampoTributo.SituacaoTributaria,
20281
+ rules: [this.taxSituationRequiredValidationRule]
20282
+ },
20283
+ {
20284
+ field: exports.EnumCampoTributo.ClassificacaoTributaria,
20285
+ rules: [this.taxClassificationRequiredValidationRule]
20286
+ },
20287
+ {
20288
+ field: exports.EnumCampoTributo.PeriodoApuracao,
20289
+ rules: [this.assessmentPeriodRequiredValidationRule]
20290
+ },
20291
+ {
20292
+ field: exports.EnumCampoTributo.Valor,
20293
+ rules: [this.taxAmountRequiredValidationRule]
20294
+ }
20295
+ ],
19719
20296
  _k),
19720
20297
  Delivery: (_l = {},
19721
20298
  _l[exports.EnumTipoTributo.CBS] = [
@@ -21660,9 +22237,10 @@
21660
22237
  { type: TaxRateRequiredValidationRule },
21661
22238
  { type: TaxClassificationRequiredValidationRule },
21662
22239
  { type: TaxAmountRequiredValidationRule },
21663
- { type: TaxSituationRequiredValidationRule }
22240
+ { type: TaxSituationRequiredValidationRule },
22241
+ { type: AssessmentPeriodRequiredValidationRule }
21664
22242
  ]; };
21665
- OutgoingInvoiceValidationRulesRegistry.ɵprov = core.ɵɵdefineInjectable({ factory: function OutgoingInvoiceValidationRulesRegistry_Factory() { return new OutgoingInvoiceValidationRulesRegistry(core.ɵɵinject(TaxableBaseRequiredValidationRule), core.ɵɵinject(TaxRateRequiredValidationRule), core.ɵɵinject(TaxClassificationRequiredValidationRule), core.ɵɵinject(TaxAmountRequiredValidationRule), core.ɵɵinject(TaxSituationRequiredValidationRule)); }, token: OutgoingInvoiceValidationRulesRegistry, providedIn: "root" });
22243
+ OutgoingInvoiceValidationRulesRegistry.ɵprov = core.ɵɵdefineInjectable({ factory: function OutgoingInvoiceValidationRulesRegistry_Factory() { return new OutgoingInvoiceValidationRulesRegistry(core.ɵɵinject(TaxableBaseRequiredValidationRule), core.ɵɵinject(TaxRateRequiredValidationRule), core.ɵɵinject(TaxClassificationRequiredValidationRule), core.ɵɵinject(TaxAmountRequiredValidationRule), core.ɵɵinject(TaxSituationRequiredValidationRule), core.ɵɵinject(AssessmentPeriodRequiredValidationRule)); }, token: OutgoingInvoiceValidationRulesRegistry, providedIn: "root" });
21666
22244
  OutgoingInvoiceValidationRulesRegistry = __decorate([
21667
22245
  core.Injectable({ providedIn: 'root' })
21668
22246
  ], OutgoingInvoiceValidationRulesRegistry);
@@ -21880,12 +22458,12 @@
21880
22458
 
21881
22459
  var SaleOrderValidationRulesRegistry = /** @class */ (function () {
21882
22460
  function SaleOrderValidationRulesRegistry(taxableBaseRequiredValidationRule, taxRateRequiredValidationRule, taxAmountRequiredValidationRule) {
21883
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
22461
+ var _a, _b, _c, _d, _e, _f, _g;
21884
22462
  this.taxableBaseRequiredValidationRule = taxableBaseRequiredValidationRule;
21885
22463
  this.taxRateRequiredValidationRule = taxRateRequiredValidationRule;
21886
22464
  this.taxAmountRequiredValidationRule = taxAmountRequiredValidationRule;
21887
22465
  this.strategies = {
21888
- 'Producer Invoice': (_a = {},
22466
+ 'Product Order': (_a = {},
21889
22467
  _a[exports.EnumTipoTributo.CBS] = [
21890
22468
  {
21891
22469
  field: exports.EnumCampoTributo.BaseCalculo,
@@ -22069,7 +22647,7 @@
22069
22647
  }
22070
22648
  ],
22071
22649
  _a),
22072
- 'Service Invoice': (_b = {},
22650
+ 'Service Order': (_b = {},
22073
22651
  _b[exports.EnumTipoTributo.CBS] = [
22074
22652
  {
22075
22653
  field: exports.EnumCampoTributo.BaseCalculo,
@@ -22253,7 +22831,7 @@
22253
22831
  }
22254
22832
  ],
22255
22833
  _b),
22256
- 'Third Party Return': (_c = {},
22834
+ 'Future Delivery Order': (_c = {},
22257
22835
  _c[exports.EnumTipoTributo.CBS] = [
22258
22836
  {
22259
22837
  field: exports.EnumCampoTributo.BaseCalculo,
@@ -22437,7 +23015,7 @@
22437
23015
  }
22438
23016
  ],
22439
23017
  _c),
22440
- Adjustment: (_d = {},
23018
+ 'Product and Service Order': (_d = {},
22441
23019
  _d[exports.EnumTipoTributo.CBS] = [
22442
23020
  {
22443
23021
  field: exports.EnumCampoTributo.BaseCalculo,
@@ -22621,7 +23199,7 @@
22621
23199
  }
22622
23200
  ],
22623
23201
  _d),
22624
- Complement: (_e = {},
23202
+ 'Product and Service Quote': (_e = {},
22625
23203
  _e[exports.EnumTipoTributo.CBS] = [
22626
23204
  {
22627
23205
  field: exports.EnumCampoTributo.BaseCalculo,
@@ -22805,7 +23383,7 @@
22805
23383
  }
22806
23384
  ],
22807
23385
  _e),
22808
- Credit: (_f = {},
23386
+ 'Product Quote': (_f = {},
22809
23387
  _f[exports.EnumTipoTributo.CBS] = [
22810
23388
  {
22811
23389
  field: exports.EnumCampoTributo.BaseCalculo,
@@ -22989,7 +23567,7 @@
22989
23567
  }
22990
23568
  ],
22991
23569
  _f),
22992
- Freight: (_g = {},
23570
+ 'Service Quote': (_g = {},
22993
23571
  _g[exports.EnumTipoTributo.CBS] = [
22994
23572
  {
22995
23573
  field: exports.EnumCampoTributo.BaseCalculo,
@@ -23172,559 +23750,7 @@
23172
23750
  rules: [this.taxAmountRequiredValidationRule]
23173
23751
  }
23174
23752
  ],
23175
- _g),
23176
- Return: (_h = {},
23177
- _h[exports.EnumTipoTributo.CBS] = [
23178
- {
23179
- field: exports.EnumCampoTributo.BaseCalculo,
23180
- rules: [this.taxableBaseRequiredValidationRule]
23181
- },
23182
- {
23183
- field: exports.EnumCampoTributo.Aliquota,
23184
- rules: [this.taxRateRequiredValidationRule]
23185
- },
23186
- {
23187
- field: exports.EnumCampoTributo.Valor,
23188
- rules: [this.taxAmountRequiredValidationRule]
23189
- }
23190
- ],
23191
- _h[exports.EnumTipoTributo.CBS_DIFERIDO] = [
23192
- {
23193
- field: exports.EnumCampoTributo.BaseCalculo,
23194
- rules: [this.taxableBaseRequiredValidationRule]
23195
- },
23196
- {
23197
- field: exports.EnumCampoTributo.Aliquota,
23198
- rules: [this.taxRateRequiredValidationRule]
23199
- },
23200
- {
23201
- field: exports.EnumCampoTributo.Valor,
23202
- rules: [this.taxAmountRequiredValidationRule]
23203
- }
23204
- ],
23205
- _h[exports.EnumTipoTributo.CBS_CREDITO_PRESUMIDO] = [
23206
- {
23207
- field: exports.EnumCampoTributo.BaseCalculo,
23208
- rules: [this.taxableBaseRequiredValidationRule]
23209
- },
23210
- {
23211
- field: exports.EnumCampoTributo.Aliquota,
23212
- rules: [this.taxRateRequiredValidationRule]
23213
- }
23214
- ],
23215
- _h[exports.EnumTipoTributo.CBS_TRIBUTACAO_REGULAR] = [
23216
- {
23217
- field: exports.EnumCampoTributo.BaseCalculo,
23218
- rules: [this.taxableBaseRequiredValidationRule]
23219
- },
23220
- {
23221
- field: exports.EnumCampoTributo.Aliquota,
23222
- rules: [this.taxRateRequiredValidationRule]
23223
- },
23224
- {
23225
- field: exports.EnumCampoTributo.Valor,
23226
- rules: [this.taxAmountRequiredValidationRule]
23227
- }
23228
- ],
23229
- _h[exports.EnumTipoTributo.CBS_GOVERNAMENTAL] = [
23230
- {
23231
- field: exports.EnumCampoTributo.BaseCalculo,
23232
- rules: [this.taxableBaseRequiredValidationRule]
23233
- },
23234
- {
23235
- field: exports.EnumCampoTributo.Aliquota,
23236
- rules: [this.taxRateRequiredValidationRule]
23237
- }
23238
- ],
23239
- _h[exports.EnumTipoTributo.IBS_ESTADUAL] = [
23240
- {
23241
- field: exports.EnumCampoTributo.BaseCalculo,
23242
- rules: [this.taxableBaseRequiredValidationRule]
23243
- },
23244
- {
23245
- field: exports.EnumCampoTributo.Aliquota,
23246
- rules: [this.taxRateRequiredValidationRule]
23247
- },
23248
- {
23249
- field: exports.EnumCampoTributo.Valor,
23250
- rules: [this.taxAmountRequiredValidationRule]
23251
- }
23252
- ],
23253
- _h[exports.EnumTipoTributo.IBS_ESTADUAL_DIFERIDO] = [
23254
- {
23255
- field: exports.EnumCampoTributo.BaseCalculo,
23256
- rules: [this.taxableBaseRequiredValidationRule]
23257
- },
23258
- {
23259
- field: exports.EnumCampoTributo.Aliquota,
23260
- rules: [this.taxRateRequiredValidationRule]
23261
- },
23262
- {
23263
- field: exports.EnumCampoTributo.Valor,
23264
- rules: [this.taxAmountRequiredValidationRule]
23265
- }
23266
- ],
23267
- _h[exports.EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR] = [
23268
- {
23269
- field: exports.EnumCampoTributo.BaseCalculo,
23270
- rules: [this.taxableBaseRequiredValidationRule]
23271
- },
23272
- {
23273
- field: exports.EnumCampoTributo.Aliquota,
23274
- rules: [this.taxRateRequiredValidationRule]
23275
- }
23276
- ],
23277
- _h[exports.EnumTipoTributo.IBS_ESTADUAL_GOVERNAMENTAL] = [
23278
- {
23279
- field: exports.EnumCampoTributo.BaseCalculo,
23280
- rules: [this.taxableBaseRequiredValidationRule]
23281
- },
23282
- {
23283
- field: exports.EnumCampoTributo.Aliquota,
23284
- rules: [this.taxRateRequiredValidationRule]
23285
- }
23286
- ],
23287
- _h[exports.EnumTipoTributo.IBS_MUNICIPAL] = [
23288
- {
23289
- field: exports.EnumCampoTributo.BaseCalculo,
23290
- rules: [this.taxableBaseRequiredValidationRule]
23291
- },
23292
- {
23293
- field: exports.EnumCampoTributo.Aliquota,
23294
- rules: [this.taxRateRequiredValidationRule]
23295
- },
23296
- {
23297
- field: exports.EnumCampoTributo.Valor,
23298
- rules: [this.taxAmountRequiredValidationRule]
23299
- }
23300
- ],
23301
- _h[exports.EnumTipoTributo.IBS_MUNICIPAL_DIFERIDO] = [
23302
- {
23303
- field: exports.EnumCampoTributo.BaseCalculo,
23304
- rules: [this.taxableBaseRequiredValidationRule]
23305
- },
23306
- {
23307
- field: exports.EnumCampoTributo.Aliquota,
23308
- rules: [this.taxRateRequiredValidationRule]
23309
- },
23310
- {
23311
- field: exports.EnumCampoTributo.Valor,
23312
- rules: [this.taxAmountRequiredValidationRule]
23313
- }
23314
- ],
23315
- _h[exports.EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR] = [
23316
- {
23317
- field: exports.EnumCampoTributo.BaseCalculo,
23318
- rules: [this.taxableBaseRequiredValidationRule]
23319
- },
23320
- {
23321
- field: exports.EnumCampoTributo.Aliquota,
23322
- rules: [this.taxRateRequiredValidationRule]
23323
- }
23324
- ],
23325
- _h[exports.EnumTipoTributo.IBS_MUNICIPAL_GOVERNAMENTAL] = [
23326
- {
23327
- field: exports.EnumCampoTributo.BaseCalculo,
23328
- rules: [this.taxableBaseRequiredValidationRule]
23329
- },
23330
- {
23331
- field: exports.EnumCampoTributo.Aliquota,
23332
- rules: [this.taxRateRequiredValidationRule]
23333
- }
23334
- ],
23335
- _h[exports.EnumTipoTributo.IBS_CREDITO_PRESUMIDO] = [
23336
- {
23337
- field: exports.EnumCampoTributo.BaseCalculo,
23338
- rules: [this.taxableBaseRequiredValidationRule]
23339
- },
23340
- {
23341
- field: exports.EnumCampoTributo.Aliquota,
23342
- rules: [this.taxRateRequiredValidationRule]
23343
- }
23344
- ],
23345
- _h[exports.EnumTipoTributo.IS] = [
23346
- {
23347
- field: exports.EnumCampoTributo.BaseCalculo,
23348
- rules: [this.taxableBaseRequiredValidationRule]
23349
- },
23350
- {
23351
- field: exports.EnumCampoTributo.Aliquota,
23352
- rules: [this.taxRateRequiredValidationRule]
23353
- },
23354
- {
23355
- field: exports.EnumCampoTributo.Valor,
23356
- rules: [this.taxAmountRequiredValidationRule]
23357
- }
23358
- ],
23359
- _h),
23360
- Reversal: (_j = {},
23361
- _j[exports.EnumTipoTributo.CBS] = [
23362
- {
23363
- field: exports.EnumCampoTributo.BaseCalculo,
23364
- rules: [this.taxableBaseRequiredValidationRule]
23365
- },
23366
- {
23367
- field: exports.EnumCampoTributo.Aliquota,
23368
- rules: [this.taxRateRequiredValidationRule]
23369
- },
23370
- {
23371
- field: exports.EnumCampoTributo.Valor,
23372
- rules: [this.taxAmountRequiredValidationRule]
23373
- }
23374
- ],
23375
- _j[exports.EnumTipoTributo.CBS_DIFERIDO] = [
23376
- {
23377
- field: exports.EnumCampoTributo.BaseCalculo,
23378
- rules: [this.taxableBaseRequiredValidationRule]
23379
- },
23380
- {
23381
- field: exports.EnumCampoTributo.Aliquota,
23382
- rules: [this.taxRateRequiredValidationRule]
23383
- },
23384
- {
23385
- field: exports.EnumCampoTributo.Valor,
23386
- rules: [this.taxAmountRequiredValidationRule]
23387
- }
23388
- ],
23389
- _j[exports.EnumTipoTributo.CBS_CREDITO_PRESUMIDO] = [
23390
- {
23391
- field: exports.EnumCampoTributo.BaseCalculo,
23392
- rules: [this.taxableBaseRequiredValidationRule]
23393
- },
23394
- {
23395
- field: exports.EnumCampoTributo.Aliquota,
23396
- rules: [this.taxRateRequiredValidationRule]
23397
- }
23398
- ],
23399
- _j[exports.EnumTipoTributo.CBS_TRIBUTACAO_REGULAR] = [
23400
- {
23401
- field: exports.EnumCampoTributo.BaseCalculo,
23402
- rules: [this.taxableBaseRequiredValidationRule]
23403
- },
23404
- {
23405
- field: exports.EnumCampoTributo.Aliquota,
23406
- rules: [this.taxRateRequiredValidationRule]
23407
- },
23408
- {
23409
- field: exports.EnumCampoTributo.Valor,
23410
- rules: [this.taxAmountRequiredValidationRule]
23411
- }
23412
- ],
23413
- _j[exports.EnumTipoTributo.CBS_GOVERNAMENTAL] = [
23414
- {
23415
- field: exports.EnumCampoTributo.BaseCalculo,
23416
- rules: [this.taxableBaseRequiredValidationRule]
23417
- },
23418
- {
23419
- field: exports.EnumCampoTributo.Aliquota,
23420
- rules: [this.taxRateRequiredValidationRule]
23421
- }
23422
- ],
23423
- _j[exports.EnumTipoTributo.IBS_ESTADUAL] = [
23424
- {
23425
- field: exports.EnumCampoTributo.BaseCalculo,
23426
- rules: [this.taxableBaseRequiredValidationRule]
23427
- },
23428
- {
23429
- field: exports.EnumCampoTributo.Aliquota,
23430
- rules: [this.taxRateRequiredValidationRule]
23431
- },
23432
- {
23433
- field: exports.EnumCampoTributo.Valor,
23434
- rules: [this.taxAmountRequiredValidationRule]
23435
- }
23436
- ],
23437
- _j[exports.EnumTipoTributo.IBS_ESTADUAL_DIFERIDO] = [
23438
- {
23439
- field: exports.EnumCampoTributo.BaseCalculo,
23440
- rules: [this.taxableBaseRequiredValidationRule]
23441
- },
23442
- {
23443
- field: exports.EnumCampoTributo.Aliquota,
23444
- rules: [this.taxRateRequiredValidationRule]
23445
- },
23446
- {
23447
- field: exports.EnumCampoTributo.Valor,
23448
- rules: [this.taxAmountRequiredValidationRule]
23449
- }
23450
- ],
23451
- _j[exports.EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR] = [
23452
- {
23453
- field: exports.EnumCampoTributo.BaseCalculo,
23454
- rules: [this.taxableBaseRequiredValidationRule]
23455
- },
23456
- {
23457
- field: exports.EnumCampoTributo.Aliquota,
23458
- rules: [this.taxRateRequiredValidationRule]
23459
- }
23460
- ],
23461
- _j[exports.EnumTipoTributo.IBS_ESTADUAL_GOVERNAMENTAL] = [
23462
- {
23463
- field: exports.EnumCampoTributo.BaseCalculo,
23464
- rules: [this.taxableBaseRequiredValidationRule]
23465
- },
23466
- {
23467
- field: exports.EnumCampoTributo.Aliquota,
23468
- rules: [this.taxRateRequiredValidationRule]
23469
- }
23470
- ],
23471
- _j[exports.EnumTipoTributo.IBS_MUNICIPAL] = [
23472
- {
23473
- field: exports.EnumCampoTributo.BaseCalculo,
23474
- rules: [this.taxableBaseRequiredValidationRule]
23475
- },
23476
- {
23477
- field: exports.EnumCampoTributo.Aliquota,
23478
- rules: [this.taxRateRequiredValidationRule]
23479
- },
23480
- {
23481
- field: exports.EnumCampoTributo.Valor,
23482
- rules: [this.taxAmountRequiredValidationRule]
23483
- }
23484
- ],
23485
- _j[exports.EnumTipoTributo.IBS_MUNICIPAL_DIFERIDO] = [
23486
- {
23487
- field: exports.EnumCampoTributo.BaseCalculo,
23488
- rules: [this.taxableBaseRequiredValidationRule]
23489
- },
23490
- {
23491
- field: exports.EnumCampoTributo.Aliquota,
23492
- rules: [this.taxRateRequiredValidationRule]
23493
- },
23494
- {
23495
- field: exports.EnumCampoTributo.Valor,
23496
- rules: [this.taxAmountRequiredValidationRule]
23497
- }
23498
- ],
23499
- _j[exports.EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR] = [
23500
- {
23501
- field: exports.EnumCampoTributo.BaseCalculo,
23502
- rules: [this.taxableBaseRequiredValidationRule]
23503
- },
23504
- {
23505
- field: exports.EnumCampoTributo.Aliquota,
23506
- rules: [this.taxRateRequiredValidationRule]
23507
- }
23508
- ],
23509
- _j[exports.EnumTipoTributo.IBS_MUNICIPAL_GOVERNAMENTAL] = [
23510
- {
23511
- field: exports.EnumCampoTributo.BaseCalculo,
23512
- rules: [this.taxableBaseRequiredValidationRule]
23513
- },
23514
- {
23515
- field: exports.EnumCampoTributo.Aliquota,
23516
- rules: [this.taxRateRequiredValidationRule]
23517
- }
23518
- ],
23519
- _j[exports.EnumTipoTributo.IBS_CREDITO_PRESUMIDO] = [
23520
- {
23521
- field: exports.EnumCampoTributo.BaseCalculo,
23522
- rules: [this.taxableBaseRequiredValidationRule]
23523
- },
23524
- {
23525
- field: exports.EnumCampoTributo.Aliquota,
23526
- rules: [this.taxRateRequiredValidationRule]
23527
- }
23528
- ],
23529
- _j[exports.EnumTipoTributo.IS] = [
23530
- {
23531
- field: exports.EnumCampoTributo.BaseCalculo,
23532
- rules: [this.taxableBaseRequiredValidationRule]
23533
- },
23534
- {
23535
- field: exports.EnumCampoTributo.Aliquota,
23536
- rules: [this.taxRateRequiredValidationRule]
23537
- },
23538
- {
23539
- field: exports.EnumCampoTributo.Valor,
23540
- rules: [this.taxAmountRequiredValidationRule]
23541
- }
23542
- ],
23543
- _j),
23544
- Standard: (_k = {},
23545
- _k[exports.EnumTipoTributo.CBS] = [
23546
- {
23547
- field: exports.EnumCampoTributo.BaseCalculo,
23548
- rules: [this.taxableBaseRequiredValidationRule]
23549
- },
23550
- {
23551
- field: exports.EnumCampoTributo.Aliquota,
23552
- rules: [this.taxRateRequiredValidationRule]
23553
- },
23554
- {
23555
- field: exports.EnumCampoTributo.Valor,
23556
- rules: [this.taxAmountRequiredValidationRule]
23557
- }
23558
- ],
23559
- _k[exports.EnumTipoTributo.CBS_DIFERIDO] = [
23560
- {
23561
- field: exports.EnumCampoTributo.BaseCalculo,
23562
- rules: [this.taxableBaseRequiredValidationRule]
23563
- },
23564
- {
23565
- field: exports.EnumCampoTributo.Aliquota,
23566
- rules: [this.taxRateRequiredValidationRule]
23567
- },
23568
- {
23569
- field: exports.EnumCampoTributo.Valor,
23570
- rules: [this.taxAmountRequiredValidationRule]
23571
- }
23572
- ],
23573
- _k[exports.EnumTipoTributo.CBS_CREDITO_PRESUMIDO] = [
23574
- {
23575
- field: exports.EnumCampoTributo.BaseCalculo,
23576
- rules: [this.taxableBaseRequiredValidationRule]
23577
- },
23578
- {
23579
- field: exports.EnumCampoTributo.Aliquota,
23580
- rules: [this.taxRateRequiredValidationRule]
23581
- }
23582
- ],
23583
- _k[exports.EnumTipoTributo.CBS_TRIBUTACAO_REGULAR] = [
23584
- {
23585
- field: exports.EnumCampoTributo.BaseCalculo,
23586
- rules: [this.taxableBaseRequiredValidationRule]
23587
- },
23588
- {
23589
- field: exports.EnumCampoTributo.Aliquota,
23590
- rules: [this.taxRateRequiredValidationRule]
23591
- },
23592
- {
23593
- field: exports.EnumCampoTributo.Valor,
23594
- rules: [this.taxAmountRequiredValidationRule]
23595
- }
23596
- ],
23597
- _k[exports.EnumTipoTributo.CBS_GOVERNAMENTAL] = [
23598
- {
23599
- field: exports.EnumCampoTributo.BaseCalculo,
23600
- rules: [this.taxableBaseRequiredValidationRule]
23601
- },
23602
- {
23603
- field: exports.EnumCampoTributo.Aliquota,
23604
- rules: [this.taxRateRequiredValidationRule]
23605
- }
23606
- ],
23607
- _k[exports.EnumTipoTributo.IBS_ESTADUAL] = [
23608
- {
23609
- field: exports.EnumCampoTributo.BaseCalculo,
23610
- rules: [this.taxableBaseRequiredValidationRule]
23611
- },
23612
- {
23613
- field: exports.EnumCampoTributo.Aliquota,
23614
- rules: [this.taxRateRequiredValidationRule]
23615
- },
23616
- {
23617
- field: exports.EnumCampoTributo.Valor,
23618
- rules: [this.taxAmountRequiredValidationRule]
23619
- }
23620
- ],
23621
- _k[exports.EnumTipoTributo.IBS_ESTADUAL_DIFERIDO] = [
23622
- {
23623
- field: exports.EnumCampoTributo.BaseCalculo,
23624
- rules: [this.taxableBaseRequiredValidationRule]
23625
- },
23626
- {
23627
- field: exports.EnumCampoTributo.Aliquota,
23628
- rules: [this.taxRateRequiredValidationRule]
23629
- },
23630
- {
23631
- field: exports.EnumCampoTributo.Valor,
23632
- rules: [this.taxAmountRequiredValidationRule]
23633
- }
23634
- ],
23635
- _k[exports.EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR] = [
23636
- {
23637
- field: exports.EnumCampoTributo.BaseCalculo,
23638
- rules: [this.taxableBaseRequiredValidationRule]
23639
- },
23640
- {
23641
- field: exports.EnumCampoTributo.Aliquota,
23642
- rules: [this.taxRateRequiredValidationRule]
23643
- }
23644
- ],
23645
- _k[exports.EnumTipoTributo.IBS_ESTADUAL_GOVERNAMENTAL] = [
23646
- {
23647
- field: exports.EnumCampoTributo.BaseCalculo,
23648
- rules: [this.taxableBaseRequiredValidationRule]
23649
- },
23650
- {
23651
- field: exports.EnumCampoTributo.Aliquota,
23652
- rules: [this.taxRateRequiredValidationRule]
23653
- }
23654
- ],
23655
- _k[exports.EnumTipoTributo.IBS_MUNICIPAL] = [
23656
- {
23657
- field: exports.EnumCampoTributo.BaseCalculo,
23658
- rules: [this.taxableBaseRequiredValidationRule]
23659
- },
23660
- {
23661
- field: exports.EnumCampoTributo.Aliquota,
23662
- rules: [this.taxRateRequiredValidationRule]
23663
- },
23664
- {
23665
- field: exports.EnumCampoTributo.Valor,
23666
- rules: [this.taxAmountRequiredValidationRule]
23667
- }
23668
- ],
23669
- _k[exports.EnumTipoTributo.IBS_MUNICIPAL_DIFERIDO] = [
23670
- {
23671
- field: exports.EnumCampoTributo.BaseCalculo,
23672
- rules: [this.taxableBaseRequiredValidationRule]
23673
- },
23674
- {
23675
- field: exports.EnumCampoTributo.Aliquota,
23676
- rules: [this.taxRateRequiredValidationRule]
23677
- },
23678
- {
23679
- field: exports.EnumCampoTributo.Valor,
23680
- rules: [this.taxAmountRequiredValidationRule]
23681
- }
23682
- ],
23683
- _k[exports.EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR] = [
23684
- {
23685
- field: exports.EnumCampoTributo.BaseCalculo,
23686
- rules: [this.taxableBaseRequiredValidationRule]
23687
- },
23688
- {
23689
- field: exports.EnumCampoTributo.Aliquota,
23690
- rules: [this.taxRateRequiredValidationRule]
23691
- }
23692
- ],
23693
- _k[exports.EnumTipoTributo.IBS_MUNICIPAL_GOVERNAMENTAL] = [
23694
- {
23695
- field: exports.EnumCampoTributo.BaseCalculo,
23696
- rules: [this.taxableBaseRequiredValidationRule]
23697
- },
23698
- {
23699
- field: exports.EnumCampoTributo.Aliquota,
23700
- rules: [this.taxRateRequiredValidationRule]
23701
- }
23702
- ],
23703
- _k[exports.EnumTipoTributo.IBS_CREDITO_PRESUMIDO] = [
23704
- {
23705
- field: exports.EnumCampoTributo.BaseCalculo,
23706
- rules: [this.taxableBaseRequiredValidationRule]
23707
- },
23708
- {
23709
- field: exports.EnumCampoTributo.Aliquota,
23710
- rules: [this.taxRateRequiredValidationRule]
23711
- }
23712
- ],
23713
- _k[exports.EnumTipoTributo.IS] = [
23714
- {
23715
- field: exports.EnumCampoTributo.BaseCalculo,
23716
- rules: [this.taxableBaseRequiredValidationRule]
23717
- },
23718
- {
23719
- field: exports.EnumCampoTributo.Aliquota,
23720
- rules: [this.taxRateRequiredValidationRule]
23721
- },
23722
- {
23723
- field: exports.EnumCampoTributo.Valor,
23724
- rules: [this.taxAmountRequiredValidationRule]
23725
- }
23726
- ],
23727
- _k)
23753
+ _g)
23728
23754
  };
23729
23755
  }
23730
23756
  SaleOrderValidationRulesRegistry.prototype.get = function (type, taxType) {
@@ -23906,7 +23932,7 @@
23906
23932
  }());
23907
23933
 
23908
23934
  var ErpTributosComponent = /** @class */ (function () {
23909
- function ErpTributosComponent(messageService, formBuilder, changeDetector, translate, e027StrLookup, beneficioFiscalLookup, e027eqiLookup, naturezaReceitaLookup, classificacaoTributariaLookup, lookupUtils, erpTributosService, gtag, rulesService) {
23935
+ function ErpTributosComponent(messageService, formBuilder, changeDetector, translate, e027StrLookup, beneficioFiscalLookup, e027eqiLookup, naturezaReceitaLookup, classificacaoTributariaLookup, lookupUtils, erpTributosService, gtag, rulesService, localeService) {
23910
23936
  this.messageService = messageService;
23911
23937
  this.formBuilder = formBuilder;
23912
23938
  this.changeDetector = changeDetector;
@@ -23920,6 +23946,7 @@
23920
23946
  this.erpTributosService = erpTributosService;
23921
23947
  this.gtag = gtag;
23922
23948
  this.rulesService = rulesService;
23949
+ this.localeService = localeService;
23923
23950
  this.camposBloqueados = false;
23924
23951
  this.currencyLocaleOptions = {
23925
23952
  currencySymbol: '',
@@ -23951,6 +23978,7 @@
23951
23978
  this.menuItemIBSCreditoPresumido = false;
23952
23979
  this.menuItemIS = false;
23953
23980
  this.menuItemCBS_IBS_ESTORNO_CREDITO = false;
23981
+ this.menuItemCBS_IBS_Ajuste = false;
23954
23982
  this.menuItemIcmsCreditoPresumido = false;
23955
23983
  this.requiredItemCideTecnologia = false;
23956
23984
  this.requiredItemPisRecuperar = false;
@@ -23984,7 +24012,7 @@
23984
24012
  this.requiredItemIcmsDesonerado = false;
23985
24013
  this.requiredItemDiferencialAlicota = false;
23986
24014
  this.requiredItemPisFaturemento = false;
23987
- this.requiredItemCofinsFaturemento = false;
24015
+ this.requiredItemCofins = false;
23988
24016
  this.requiredItemFcpUfDestino = false;
23989
24017
  this.requiredItemIcmsUfDestino = false;
23990
24018
  this.requiredSituacaoTributaria = false;
@@ -24001,7 +24029,7 @@
24001
24029
  this.requiredIcmsStSolidario = false;
24002
24030
  this.requiredIcmsStRetidoAnt = false;
24003
24031
  this.requiredFcpStReditoAnt = false;
24004
- this.ngUnsubscribe = new rxjs.Subject();
24032
+ this.unsubscribe$ = new rxjs.Subject();
24005
24033
  }
24006
24034
  Object.defineProperty(ErpTributosComponent.prototype, "tributos", {
24007
24035
  get: function () {
@@ -24014,14 +24042,6 @@
24014
24042
  configurable: true
24015
24043
  });
24016
24044
  ErpTributosComponent.prototype.ngOnInit = function () {
24017
- this.menuItemPis = false;
24018
- this.menuItemCofins = false;
24019
- this.menuItemIpi = false;
24020
- this.menuItemIss = false;
24021
- this.menuItemImportacoes = false;
24022
- this.menuItemRetencoes = false;
24023
- this.menuItemIcms = false;
24024
- this.menuItemCideTecnologia = false;
24025
24045
  this.dominio = this.dominio ? this.dominio : 'erpx_cpl_imp';
24026
24046
  this.servico = this.servico ? this.servico : 'cadastros';
24027
24047
  this.prefixLabel = this.dominio + "." + this.servico;
@@ -24061,8 +24081,8 @@
24061
24081
  }
24062
24082
  };
24063
24083
  ErpTributosComponent.prototype.ngOnDestroy = function () {
24064
- this.ngUnsubscribe.next();
24065
- this.ngUnsubscribe.complete();
24084
+ this.unsubscribe$.next();
24085
+ this.unsubscribe$.complete();
24066
24086
  this.lookupUtils.resetStoredKeys();
24067
24087
  };
24068
24088
  ErpTributosComponent.prototype.memoriaCalculo = function (imposto) {
@@ -24272,7 +24292,7 @@
24272
24292
  this.requiredItemIcmsDesonerado = false;
24273
24293
  this.requiredItemDiferencialAlicota = false;
24274
24294
  this.requiredItemPisFaturemento = false;
24275
- this.requiredItemCofinsFaturemento = false;
24295
+ this.requiredItemCofins = false;
24276
24296
  this.requiredItemIcmsUfDestino = false;
24277
24297
  this.requiredItemFcpUfDestino = false;
24278
24298
  this.requiredSituacaoTributaria = false;
@@ -24314,6 +24334,10 @@
24314
24334
  case exports.EnumTipoTributo.IBS_ESTORNO_CREDITO:
24315
24335
  _this.montaCBSIBSEstornoCredito();
24316
24336
  break;
24337
+ case exports.EnumTipoTributo.CBS_AJUSTE:
24338
+ case exports.EnumTipoTributo.IBS_AJUSTE:
24339
+ _this.montaCBS_IBS_Ajuste();
24340
+ break;
24317
24341
  case exports.EnumTipoTributo.PIS_RECUPERAR:
24318
24342
  case exports.EnumTipoTributo.PIS_DEVOLVIDO:
24319
24343
  case exports.EnumTipoTributo.PIS:
@@ -24419,10 +24443,10 @@
24419
24443
  return grupo.item.map(function (item) {
24420
24444
  _this.tributosValue.map(function (it) {
24421
24445
  if (item.name === it.tipoImposto) {
24446
+ item.formGroup.patchValue(it, { emitEvent: false });
24422
24447
  if (!isTaxFromTaxReform(it.tipoImposto)) {
24423
24448
  _this.setValidators(it.tipoImposto);
24424
24449
  }
24425
- item.formGroup.patchValue(it, { emitEvent: false });
24426
24450
  }
24427
24451
  });
24428
24452
  });
@@ -24470,24 +24494,20 @@
24470
24494
  grupo.item
24471
24495
  .filter(function (it) { return it.name == tributo; })
24472
24496
  .map(function (it) {
24473
- var hasValue = false;
24474
- Object.keys(it.formGroup.value).forEach(function (item) {
24475
- if (item !== 'impostoManual' &&
24476
- item !== exports.EnumCampoTributo.TipoCalculoImposto) {
24477
- if (it.formGroup.get(item).touched &&
24478
- it.formGroup.value[item] != undefined &&
24479
- it.formGroup.value[item] !== '') {
24480
- hasValue = true;
24481
- return;
24482
- }
24483
- }
24497
+ var hasValue = Object.keys(it.formGroup.value)
24498
+ .filter(function (key) {
24499
+ return key !== 'impostoManual' &&
24500
+ key !== exports.EnumCampoTributo.TipoCalculoImposto;
24501
+ })
24502
+ .some(function (key) {
24503
+ return it.formGroup.get(key).value !== null &&
24504
+ it.formGroup.get(key).value !== undefined;
24484
24505
  });
24485
24506
  if (hasValue)
24486
24507
  Object.keys(it.formGroup.value).forEach(function (item) {
24487
24508
  if (item == 'percentualReducao' ||
24488
24509
  item == 'percentualDiferimento' ||
24489
- item ==
24490
- 'percentualMargemValorAdicionado' ||
24510
+ item == 'percentualMargemValorAdicionado' ||
24491
24511
  item === 'percentualSuspensaoParcial') {
24492
24512
  it.formGroup.controls[item].setValidators(forms.Validators.compose([
24493
24513
  forms.Validators.required,
@@ -24508,6 +24528,15 @@
24508
24528
  });
24509
24529
  _this.setRequired(tributo, true);
24510
24530
  }
24531
+ else if (item === 'situacaoTributaria') {
24532
+ it.formGroup.controls[item].setValidators(forms.Validators.compose([
24533
+ forms.Validators.required
24534
+ ]));
24535
+ it.formGroup.controls[item].updateValueAndValidity({
24536
+ emitEvent: false
24537
+ });
24538
+ _this.setRequired(tributo, true);
24539
+ }
24511
24540
  else if (item === 'observacao') {
24512
24541
  it.formGroup.controls[item].setValidators(forms.Validators.compose([
24513
24542
  forms.Validators.maxLength(120)
@@ -24585,8 +24614,7 @@
24585
24614
  Object.keys(it.formGroup.value).forEach(function (item) {
24586
24615
  if (item == 'percentualReducao' ||
24587
24616
  item == 'percentualDiferimento' ||
24588
- item ==
24589
- 'percentualMargemValorAdicionado' ||
24617
+ item == 'percentualMargemValorAdicionado' ||
24590
24618
  item === 'percentualSuspensaoParcial') {
24591
24619
  it.formGroup.controls[item].setValidators(forms.Validators.compose([
24592
24620
  forms.Validators.max(1000)
@@ -24896,6 +24924,32 @@
24896
24924
  visible: this.context.document === 'Outgoing Invoice' &&
24897
24925
  this.context.invoice.type === 'Debit' &&
24898
24926
  this.context.invoice.debitInvoiceType === 'Inventory Loss'
24927
+ }, {
24928
+ label: this.translate.instant('erpx.tributos.actions_cbs_ibs_ajuste_label'),
24929
+ disabled: this.menuItemCBS_IBS_Ajuste,
24930
+ command: function () {
24931
+ (_this.montaCBS_IBS_Ajuste().forEach(function (value) {
24932
+ _this.novoImpostoManual(value);
24933
+ }),
24934
+ (_this.indexAccordion = [0]));
24935
+ _this.rulesService.apply({
24936
+ groups: _this.grupos,
24937
+ group: _this.grupos.find(function (group) {
24938
+ return group.grupoTributo ===
24939
+ exports.EnumGrupoTributo.CBS_IBS_AJUSTE;
24940
+ }),
24941
+ context: _this.context
24942
+ });
24943
+ _this.changeDetector.detectChanges();
24944
+ },
24945
+ visible: this.context.document === 'Outgoing Invoice' &&
24946
+ this.context.invoice.type === 'Debit' &&
24947
+ (this.context.invoice.debitInvoiceType ===
24948
+ 'Credit Cancellation Exempt Outputs' ||
24949
+ this.context.invoice.debitInvoiceType ===
24950
+ 'Debits Unprocessed Invoices Assessment' ||
24951
+ this.context.invoice.debitInvoiceType ===
24952
+ 'Disqualification from Simples Nacional')
24899
24953
  }, {
24900
24954
  id: 'retencaoFunrural',
24901
24955
  label: this.translate.instant('erpx.tributos.actions_retencao_funrural_label'),
@@ -26400,6 +26454,47 @@
26400
26454
  });
26401
26455
  return item;
26402
26456
  };
26457
+ ErpTributosComponent.prototype.montaCBS_IBS_Ajuste = function () {
26458
+ if (this.menuItemCBS_IBS_Ajuste)
26459
+ return;
26460
+ this.menuItemCBS_IBS_Ajuste = true;
26461
+ var item = [
26462
+ __assign({ name: exports.EnumTipoTributo.CBS_AJUSTE, label: 'erpx.tributos.enum_tipo_tributo_cbs_ajuste' }, this.montaCampos([
26463
+ {
26464
+ campo: exports.EnumCampoTributo.SituacaoTributaria
26465
+ },
26466
+ {
26467
+ campo: exports.EnumCampoTributo.ClassificacaoTributaria
26468
+ },
26469
+ {
26470
+ campo: exports.EnumCampoTributo.PeriodoApuracao
26471
+ },
26472
+ {
26473
+ campo: exports.EnumCampoTributo.Valor
26474
+ }
26475
+ ], exports.EnumTipoTributo.CBS_AJUSTE)),
26476
+ __assign({ name: exports.EnumTipoTributo.IBS_AJUSTE, label: 'erpx.tributos.enum_tipo_tributo_ibs_ajuste' }, this.montaCampos([
26477
+ {
26478
+ campo: exports.EnumCampoTributo.SituacaoTributaria
26479
+ },
26480
+ {
26481
+ campo: exports.EnumCampoTributo.ClassificacaoTributaria
26482
+ },
26483
+ {
26484
+ campo: exports.EnumCampoTributo.PeriodoApuracao
26485
+ },
26486
+ {
26487
+ campo: exports.EnumCampoTributo.Valor
26488
+ }
26489
+ ], exports.EnumTipoTributo.IBS_AJUSTE))
26490
+ ];
26491
+ this.grupos.unshift({
26492
+ grupo: "" + ('erpx.tributos.enum_grupo_tributo_' + exports.EnumGrupoTributo.CBS_IBS_AJUSTE + '_label'),
26493
+ grupoTributo: exports.EnumGrupoTributo.CBS_IBS_AJUSTE,
26494
+ item: item
26495
+ });
26496
+ return item;
26497
+ };
26403
26498
  ErpTributosComponent.prototype.montaPis = function () {
26404
26499
  if (this.menuItemPis == false) {
26405
26500
  this.menuItemPis = true;
@@ -26837,7 +26932,7 @@
26837
26932
  case exports.EnumTipoTributo.PIS:
26838
26933
  return this.requiredItemPisFaturemento;
26839
26934
  case exports.EnumTipoTributo.COFINS:
26840
- return this.requiredItemCofinsFaturemento;
26935
+ return this.requiredItemCofins;
26841
26936
  case exports.EnumTipoTributo.ICMS_UF_DESTINO:
26842
26937
  return this.requiredItemIcmsUfDestino;
26843
26938
  case exports.EnumTipoTributo.FCP_UF_DESTINO:
@@ -27005,7 +27100,7 @@
27005
27100
  break;
27006
27101
  }
27007
27102
  case exports.EnumTipoTributo.COFINS: {
27008
- this.requiredItemCofinsFaturemento = value;
27103
+ this.requiredItemCofins = value;
27009
27104
  break;
27010
27105
  }
27011
27106
  case exports.EnumTipoTributo.FCP_UF_DESTINO: {
@@ -27237,13 +27332,13 @@
27237
27332
  var formField = [];
27238
27333
  var formGroup = {};
27239
27334
  campos.map(function (it) {
27240
- var _a, _b;
27241
- var _c, _d;
27335
+ var _a, _b, _c;
27336
+ var _d, _e;
27242
27337
  if (it.campo == exports.EnumCampoTributo.BaseCalculo) {
27243
27338
  formGroup = __assign(__assign({}, formGroup), { baseCalculo: [
27244
27339
  {
27245
27340
  value: null,
27246
- disabled: (_c = it.disabled) !== null && _c !== void 0 ? _c : false
27341
+ disabled: (_d = it.disabled) !== null && _d !== void 0 ? _d : false
27247
27342
  },
27248
27343
  forms.Validators.compose([forms.Validators.max(9999999999999.99)])
27249
27344
  ] });
@@ -27277,7 +27372,7 @@
27277
27372
  formGroup = __assign(__assign({}, formGroup), { aliquota: [
27278
27373
  {
27279
27374
  value: null,
27280
- disabled: (_d = it.disabled) !== null && _d !== void 0 ? _d : false
27375
+ disabled: (_e = it.disabled) !== null && _e !== void 0 ? _e : false
27281
27376
  },
27282
27377
  forms.Validators.compose([forms.Validators.max(999.9999)])
27283
27378
  ] });
@@ -27307,6 +27402,28 @@
27307
27402
  }
27308
27403
  }));
27309
27404
  }
27405
+ else if (it.campo === exports.EnumCampoTributo.PeriodoApuracao) {
27406
+ formGroup = __assign(__assign({}, formGroup), (_a = {}, _a[exports.EnumCampoTributo.PeriodoApuracao] = [
27407
+ {
27408
+ value: null,
27409
+ disabled: false
27410
+ },
27411
+ forms.Validators.compose([])
27412
+ ], _a));
27413
+ formField.push(new angularComponents$1.FormField({
27414
+ type: angularComponents$1.FieldType.Date,
27415
+ name: exports.EnumCampoTributo.PeriodoApuracao,
27416
+ label: _this.translate.instant('erpx.tributos.fields_periodo_apuracao_label'),
27417
+ view: 'month',
27418
+ appendTo: 'body',
27419
+ calendarLocaleOptions: new angularComponents$1.CalendarLocaleOptions(__assign(__assign({}, _this.localeService.getLocaleOptions().calendar), { dateFormat: 'mm/yy' })),
27420
+ onBlur: function () { return _this.updateTwoWayDataBinding(); },
27421
+ required: function () {
27422
+ return _this.isFieldRequired(exports.EnumCampoTributo.PeriodoApuracao, tributo);
27423
+ },
27424
+ size: { sm: 12, md: 4, lg: 4, xl: 3 }
27425
+ }));
27426
+ }
27310
27427
  else if (it.campo === exports.EnumCampoTributo.ReducaoAliquotaGovernamental) {
27311
27428
  formGroup = __assign(__assign({}, formGroup), { reducaoAliquotaGovernamental: [
27312
27429
  {
@@ -27642,7 +27759,9 @@
27642
27759
  tributo === exports.EnumTipoTributo.IBS_ESTADUAL ||
27643
27760
  tributo === exports.EnumTipoTributo.IBS_MUNICIPAL ||
27644
27761
  tributo === exports.EnumTipoTributo.CBS_ESTORNO_CREDITO ||
27645
- tributo === exports.EnumTipoTributo.IBS_ESTORNO_CREDITO)
27762
+ tributo === exports.EnumTipoTributo.IBS_ESTORNO_CREDITO ||
27763
+ tributo === exports.EnumTipoTributo.CBS_AJUSTE ||
27764
+ tributo === exports.EnumTipoTributo.IBS_AJUSTE)
27646
27765
  defaultFilter = __spread(defaultFilter, [
27647
27766
  {
27648
27767
  field: 'classificacaoTributaria.indGEstornoCred',
@@ -27652,6 +27771,14 @@
27652
27771
  ? angularComponents.EnumLogicalOperator.Eq
27653
27772
  : angularComponents.EnumLogicalOperator.Ne,
27654
27773
  values: ['EXIGE']
27774
+ },
27775
+ {
27776
+ field: 'classificacaoTributaria.indGAjusteCompet',
27777
+ operator: tributo === exports.EnumTipoTributo.CBS_AJUSTE ||
27778
+ tributo === exports.EnumTipoTributo.IBS_AJUSTE
27779
+ ? angularComponents.EnumLogicalOperator.Eq
27780
+ : angularComponents.EnumLogicalOperator.Ne,
27781
+ values: ['EXIGE']
27655
27782
  }
27656
27783
  ]);
27657
27784
  formField.push(new angularComponents$1.FormField(__assign(__assign({}, _this.e027StrLookup.mountOptions({
@@ -28086,7 +28213,7 @@
28086
28213
  showClear: true,
28087
28214
  multiple: false,
28088
28215
  label: _this.translate.instant('erpx.tributos.fields_modalidade_bc_label'),
28089
- size: { sm: 12, md: 6, lg: 6, xl: 3 },
28216
+ size: { sm: 12, md: 4, lg: 4, xl: 3 },
28090
28217
  onChange: function (event) {
28091
28218
  if (!event)
28092
28219
  return;
@@ -28114,7 +28241,7 @@
28114
28241
  })), { onBlur: function () {
28115
28242
  _this.updateTwoWayDataBinding();
28116
28243
  _this.setValidators(tributo);
28117
- }, id: tributo + 'NaturezaReceita', label: _this.translate.instant('erpx.tributos.fields_natureza_receita_label'), size: { sm: 12, md: 6, lg: 6, xl: 3 }, required: function () { return false; } })));
28244
+ }, id: tributo + 'NaturezaReceita', label: _this.translate.instant('erpx.tributos.fields_natureza_receita_label'), size: { sm: 12, md: 4, lg: 4, xl: 3 }, required: function () { return false; } })));
28118
28245
  }
28119
28246
  else if (it.campo === exports.EnumCampoTributo.Observacao) {
28120
28247
  formGroup = __assign(__assign({}, formGroup), { observacao: [
@@ -28388,7 +28515,7 @@
28388
28515
  showClear: true,
28389
28516
  multiple: false,
28390
28517
  label: _this.translate.instant('erpx.tributos.fields_regime_tributario_pis_cofins_label'),
28391
- size: { sm: 12, md: 6, lg: 6, xl: 3 },
28518
+ size: { sm: 12, md: 4, lg: 4, xl: 3 },
28392
28519
  onChange: function (event) {
28393
28520
  if (!event)
28394
28521
  return;
@@ -28523,13 +28650,13 @@
28523
28650
  }, id: tributo + 'ClassificacaoTributaria', name: 'classificacaoTributaria', formGroup: 'classificacaoTributaria', infoSign: _this.translate.instant('erpx_cpl_imp.impostos.classificacao_tributaria_desoneracao_info_sign'), label: _this.translate.instant('erpx_cpl_imp.impostos.classificacao_tributaria_desoneracao'), required: function () { return false; }, multiple: false, size: { sm: 12, md: 4, lg: 4, xl: 3 } })));
28524
28651
  }
28525
28652
  else if (it.campo === exports.EnumCampoTributo.AplicarValorLiquidoDocumento) {
28526
- formGroup = __assign(__assign({}, formGroup), (_a = {}, _a[exports.EnumCampoTributo.AplicarValorLiquidoDocumento] = [
28653
+ formGroup = __assign(__assign({}, formGroup), (_b = {}, _b[exports.EnumCampoTributo.AplicarValorLiquidoDocumento] = [
28527
28654
  {
28528
28655
  value: exports.EnumAplicarValorLiquidoDocumento.NENHUM,
28529
28656
  disabled: true
28530
28657
  },
28531
28658
  forms.Validators.compose([])
28532
- ], _a));
28659
+ ], _b));
28533
28660
  formField.push(new angularComponents$1.FormField({
28534
28661
  name: exports.EnumCampoTributo.AplicarValorLiquidoDocumento,
28535
28662
  label: _this.translate.instant('erpx.tributos.aplicar_valor_liquido_documento'),
@@ -28558,13 +28685,13 @@
28558
28685
  }));
28559
28686
  }
28560
28687
  else if (it.campo === exports.EnumCampoTributo.EscriturarAliquotaISS) {
28561
- formGroup = __assign(__assign({}, formGroup), (_b = {}, _b[exports.EnumCampoTributo.EscriturarAliquotaISS] = [
28688
+ formGroup = __assign(__assign({}, formGroup), (_c = {}, _c[exports.EnumCampoTributo.EscriturarAliquotaISS] = [
28562
28689
  {
28563
28690
  value: exports.EnumEscriturarAliquotaISS.SIM,
28564
28691
  disabled: false
28565
28692
  },
28566
28693
  forms.Validators.compose([])
28567
- ], _b));
28694
+ ], _c));
28568
28695
  formField.push(new angularComponents$1.FormField({
28569
28696
  name: exports.EnumCampoTributo.EscriturarAliquotaISS,
28570
28697
  label: _this.translate.instant('erpx.tributos.escriturar_aliquota_iss'),
@@ -28813,7 +28940,8 @@
28813
28940
  { type: angularComponents.LookupValidationUtils },
28814
28941
  { type: ErpTributosService },
28815
28942
  { type: platformUtils.GTagService },
28816
- { type: RulesService }
28943
+ { type: RulesService },
28944
+ { type: angularComponents$1.LocaleService }
28817
28945
  ]; };
28818
28946
  __decorate([
28819
28947
  core.Input()
@@ -30984,44 +31112,48 @@
30984
31112
  exports.nonNullish = nonNullish;
30985
31113
  exports.ɵa = ErpResumoComponent;
30986
31114
  exports.ɵb = ErpResumoService;
30987
- exports.ɵba = GrossAmountCalculationRule;
30988
- exports.ɵbb = GrossAmountCalculator;
30989
- exports.ɵbc = TaxClassificationCalculationRule;
30990
- exports.ɵbd = TaxCalculationTypeCalculationRule;
30991
- exports.ɵbe = ManualTaxCalculationRule;
30992
- exports.ɵbf = OutgoingInvoiceCalculationRulesRegistry;
30993
- exports.ɵbg = TaxSituationCalculationRule;
30994
- exports.ɵbh = SaleOrderCalculationRulesRegistry;
30995
- exports.ɵbi = PurchaseOrderCalculationRulesRegistry;
30996
- exports.ɵbj = FocusService;
30997
- exports.ɵbk = ErpLoteSeriesService;
30998
- exports.ɵbl = QuantidadeDisponivelDemandaService;
30999
- exports.ɵbm = EntityService;
31000
- exports.ɵbn = QuantidadeDisponivelDemandaModule;
31115
+ exports.ɵba = TaxRateCalculationRule;
31116
+ exports.ɵbb = EffectiveTaxRateCalculationRule;
31117
+ exports.ɵbc = TaxAmountCalculationRule;
31118
+ exports.ɵbd = GrossAmountCalculationRule;
31119
+ exports.ɵbe = GrossAmountCalculator;
31120
+ exports.ɵbf = TaxClassificationCalculationRule;
31121
+ exports.ɵbg = TaxCalculationTypeCalculationRule;
31122
+ exports.ɵbh = ManualTaxCalculationRule;
31123
+ exports.ɵbi = OutgoingInvoiceCalculationRulesRegistry;
31124
+ exports.ɵbj = TaxSituationCalculationRule;
31125
+ exports.ɵbk = AssessmentPeriodCalculationRule;
31126
+ exports.ɵbl = SaleOrderCalculationRulesRegistry;
31127
+ exports.ɵbm = PurchaseOrderCalculationRulesRegistry;
31128
+ exports.ɵbn = FocusService;
31129
+ exports.ɵbo = ErpLoteSeriesService;
31130
+ exports.ɵbp = QuantidadeDisponivelDemandaService;
31131
+ exports.ɵbq = EntityService;
31132
+ exports.ɵbr = QuantidadeDisponivelDemandaModule;
31001
31133
  exports.ɵc = ErpTributosService;
31002
31134
  exports.ɵd = RulesService;
31003
31135
  exports.ɵe = StatusRulesRegistry;
31004
31136
  exports.ɵf = IncomingInvoiceStatusRulesRegistry;
31005
31137
  exports.ɵg = TaxClassificationStatusRule;
31006
31138
  exports.ɵh = OutgoingInvoiceStatusRulesRegistry;
31007
- exports.ɵi = ValidationRulesRegistry;
31008
- exports.ɵj = IncomingInvoiceValidationRulesRegistry;
31009
- exports.ɵk = TaxableBaseRequiredValidationRule;
31010
- exports.ɵl = TaxRateRequiredValidationRule;
31011
- exports.ɵm = TaxClassificationRequiredValidationRule;
31012
- exports.ɵn = TaxAmountRequiredValidationRule;
31013
- exports.ɵo = TaxSituationRequiredValidationRule;
31014
- exports.ɵp = OutgoingInvoiceValidationRulesRegistry;
31015
- exports.ɵq = SaleOrderValidationRulesRegistry;
31016
- exports.ɵr = PurchaseOrderValidationRulesRegistry;
31017
- exports.ɵs = CalculationRulesRegistry;
31018
- exports.ɵt = IncomingInvoiceCalculationRulesRegistry;
31019
- exports.ɵu = TaxableBaseCalculationRule;
31020
- exports.ɵv = TaxAmountCalculator;
31021
- exports.ɵw = EffectiveTaxRateCalculator;
31022
- exports.ɵx = TaxRateCalculationRule;
31023
- exports.ɵy = EffectiveTaxRateCalculationRule;
31024
- exports.ɵz = TaxAmountCalculationRule;
31139
+ exports.ɵi = SaleOrderStatusRulesRegistry;
31140
+ exports.ɵj = PurchaseOrderStatusRulesRegistry;
31141
+ exports.ɵk = ValidationRulesRegistry;
31142
+ exports.ɵl = IncomingInvoiceValidationRulesRegistry;
31143
+ exports.ɵm = TaxableBaseRequiredValidationRule;
31144
+ exports.ɵn = TaxRateRequiredValidationRule;
31145
+ exports.ɵo = TaxClassificationRequiredValidationRule;
31146
+ exports.ɵp = TaxAmountRequiredValidationRule;
31147
+ exports.ɵq = TaxSituationRequiredValidationRule;
31148
+ exports.ɵr = OutgoingInvoiceValidationRulesRegistry;
31149
+ exports.ɵs = AssessmentPeriodRequiredValidationRule;
31150
+ exports.ɵt = SaleOrderValidationRulesRegistry;
31151
+ exports.ɵu = PurchaseOrderValidationRulesRegistry;
31152
+ exports.ɵv = CalculationRulesRegistry;
31153
+ exports.ɵw = IncomingInvoiceCalculationRulesRegistry;
31154
+ exports.ɵx = TaxableBaseCalculationRule;
31155
+ exports.ɵy = TaxAmountCalculator;
31156
+ exports.ɵz = EffectiveTaxRateCalculator;
31025
31157
 
31026
31158
  Object.defineProperty(exports, '__esModule', { value: true });
31027
31159