@senior-gestao-empresarial/erpx-components 3.7.0 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3269,9 +3269,11 @@
3269
3269
  }
3270
3270
  _this.addMessageErrorBaseDiferente(impostos, grupo, "erpx.tributos.error_base_" + grupo.grupoTributo + "_diferente_summary", "erpx.tributos.error_base_" + grupo.grupoTributo + "_diferente_detail");
3271
3271
  if (imposto === tributo) {
3272
+ _this.calculaImpostoReformaAliquotaChange(impostos, grupo);
3272
3273
  _this.refreshValorImpostoEfetivoEBruto(grupo.grupoTributo, imposto, desonerado);
3273
3274
  }
3274
3275
  else if (diferido === tributo) {
3276
+ _this.calculaImpostoDiferidoReforma(impostos, grupo);
3275
3277
  _this.addPathCalculoValorRounded(it, 'baseCalculo', 'aliquota', 'valor');
3276
3278
  }
3277
3279
  else if (creditoPresumido === tributo) {
@@ -3337,13 +3339,13 @@
3337
3339
  };
3338
3340
  var _loop_1 = function (index) {
3339
3341
  var imposto = grupo.item.find(function (item) { return item.name === impostos[index]; });
3340
- if (imposto.formGroup.value.baseCalculo != undefined) {
3342
+ if ((imposto === null || imposto === void 0 ? void 0 : imposto.formGroup.value.baseCalculo) != undefined) {
3341
3343
  if (valores.funBase > 0 && valores.funBase != imposto.formGroup.value.baseCalculo) {
3342
3344
  valores.baseDiferente = true;
3343
3345
  }
3344
3346
  valores.funBase = imposto.formGroup.value.baseCalculo > valores.funBase ? imposto.formGroup.value.baseCalculo : valores.funBase;
3345
3347
  }
3346
- if (imposto.formGroup.value.valor != undefined) {
3348
+ if ((imposto === null || imposto === void 0 ? void 0 : imposto.formGroup.value.valor) != undefined) {
3347
3349
  valores.funValor = Number(this_1.roundImposto(Number(valores.funValor) + Number(imposto.formGroup.value.valor), 2));
3348
3350
  }
3349
3351
  };
@@ -3353,6 +3355,90 @@
3353
3355
  }
3354
3356
  return valores;
3355
3357
  };
3358
+ ErpTributosComponent.prototype.calculaImpostoReformaAliquotaChange = function (impostos, grupo) {
3359
+ var _a, _b, _c, _d;
3360
+ var baseCalculoImposto = null;
3361
+ var aliquotaImposto = null;
3362
+ var reducaoAliquotaImposto = null;
3363
+ var aliquotaImpostoDiferido = null;
3364
+ var valorImposto = null;
3365
+ var impostoReforma = ["CBS", "IBS_ESTADUAL", "IBS_MUNICIPAL"];
3366
+ var impostoReformaDiferido = ["CBS_DIFERIDO", "IBS_ESTADUAL_DIFERIDO", "IBS_MUNICIPAL_DIFERIDO"];
3367
+ var impostoSelecionadoReforma = impostos.find(function (imposto) { return imposto && impostoReforma.includes(imposto); });
3368
+ var itemReforma = grupo.item.find(function (item) { return item.name === impostoSelecionadoReforma; });
3369
+ var impostoSelecionadoDiferido = impostos.find(function (imposto) { return imposto && impostoReformaDiferido.includes(imposto); });
3370
+ var itemReformaDiferido = grupo.item.find(function (item) { return item.name === impostoSelecionadoDiferido; });
3371
+ if (impostoSelecionadoDiferido) {
3372
+ aliquotaImpostoDiferido = (_a = itemReformaDiferido.formGroup.get('aliquota').value) !== null && _a !== void 0 ? _a : null;
3373
+ }
3374
+ if (impostoSelecionadoReforma) {
3375
+ baseCalculoImposto = (_b = itemReforma.formGroup.get('baseCalculo').value) !== null && _b !== void 0 ? _b : null;
3376
+ aliquotaImposto = (_c = itemReforma.formGroup.get('aliquota').value) !== null && _c !== void 0 ? _c : null;
3377
+ reducaoAliquotaImposto = (_d = itemReforma.formGroup.get('reducaoAliquota').value) !== null && _d !== void 0 ? _d : null;
3378
+ if (aliquotaImposto) {
3379
+ valorImposto = Number(this.roundImposto((((Number(baseCalculoImposto) * Number(aliquotaImposto)) / 100) -
3380
+ (((Number(baseCalculoImposto) * Number(aliquotaImposto)) / 100) *
3381
+ Number(reducaoAliquotaImposto)) / 100) -
3382
+ (Number(baseCalculoImposto) * Number(aliquotaImpostoDiferido)) / 100, 2));
3383
+ }
3384
+ }
3385
+ this.atualizaValorReforma(itemReforma, valorImposto, itemReformaDiferido);
3386
+ };
3387
+ ErpTributosComponent.prototype.calculaImpostoDiferidoReforma = function (impostos, grupo) {
3388
+ var _a, _b, _c, _d;
3389
+ var baseCalculoImposto = null;
3390
+ var aliquotaImposto = null;
3391
+ var reducaoAliquotaImposto = null;
3392
+ var aliquotaImpostoDiferido = null;
3393
+ var valorImposto = null;
3394
+ var impostoReforma = ["CBS", "IBS_ESTADUAL", "IBS_MUNICIPAL"];
3395
+ var impostoReformaDiferido = ["CBS_DIFERIDO", "IBS_ESTADUAL_DIFERIDO", "IBS_MUNICIPAL_DIFERIDO"];
3396
+ var impostoSelecionadoReforma = impostos.find(function (imposto) { return imposto && impostoReforma.includes(imposto); });
3397
+ var itemReforma = grupo.item.find(function (item) { return item.name === impostoSelecionadoReforma; });
3398
+ var impostoSelecionadoDiferido = impostos.find(function (imposto) { return imposto && impostoReformaDiferido.includes(imposto); });
3399
+ var itemReformaDiferido = grupo.item.find(function (item) { return item.name === impostoSelecionadoDiferido; });
3400
+ if (impostoSelecionadoReforma) {
3401
+ baseCalculoImposto = (_a = itemReforma.formGroup.get('baseCalculo').value) !== null && _a !== void 0 ? _a : null;
3402
+ aliquotaImposto = (_b = itemReforma.formGroup.get('aliquota').value) !== null && _b !== void 0 ? _b : null;
3403
+ reducaoAliquotaImposto = (_c = itemReforma.formGroup.get('reducaoAliquota').value) !== null && _c !== void 0 ? _c : null;
3404
+ }
3405
+ if (impostoSelecionadoDiferido) {
3406
+ aliquotaImpostoDiferido = (_d = itemReformaDiferido.formGroup.get('aliquota').value) !== null && _d !== void 0 ? _d : null;
3407
+ if (aliquotaImpostoDiferido) {
3408
+ valorImposto = Number(this.roundImposto((((Number(baseCalculoImposto) * Number(aliquotaImposto)) / 100) -
3409
+ (((Number(baseCalculoImposto) * Number(aliquotaImposto)) / 100) *
3410
+ Number(reducaoAliquotaImposto)) / 100) -
3411
+ (Number(baseCalculoImposto) * Number(aliquotaImpostoDiferido)) / 100, 2));
3412
+ }
3413
+ }
3414
+ this.atualizaValorReforma(itemReforma, valorImposto, itemReformaDiferido);
3415
+ };
3416
+ ErpTributosComponent.prototype.atualizaValorReforma = function (itemReforma, valorImposto, itemReformaDiferido) {
3417
+ var _a, _b, _c, _d, _e, _f, _g, _h;
3418
+ if (itemReforma && (Number(valorImposto) != null)) {
3419
+ itemReforma.formGroup.get('valor').patchValue(valorImposto, { emitEvent: false });
3420
+ itemReforma.formGroup.get('valor')
3421
+ .valueChanges.subscribe(function (valor) {
3422
+ if (valor) {
3423
+ itemReforma.formGroup.get('valor').patchValue(valorImposto, { emitEvent: false });
3424
+ }
3425
+ });
3426
+ }
3427
+ if (itemReforma && (!((_a = itemReformaDiferido.formGroup.get('baseCalculo')) === null || _a === void 0 ? void 0 : _a.value) ||
3428
+ !((_b = itemReformaDiferido.formGroup.get('aliquota')) === null || _b === void 0 ? void 0 : _b.value) ||
3429
+ !((_c = itemReforma.formGroup.get('aliquotaEfetiva')) === null || _c === void 0 ? void 0 : _c.value))) {
3430
+ var valorImposto_1 = Number(this.roundImposto(((Number((_d = itemReforma.formGroup.get('baseCalculo')) === null || _d === void 0 ? void 0 : _d.value) * Number((_e = itemReforma.formGroup.get('aliquota')) === null || _e === void 0 ? void 0 : _e.value)) / 100) -
3431
+ (((Number((_f = itemReforma.formGroup.get('baseCalculo')) === null || _f === void 0 ? void 0 : _f.value) * Number((_g = itemReforma.formGroup.get('aliquota')) === null || _g === void 0 ? void 0 : _g.value)) / 100) *
3432
+ Number((_h = itemReforma.formGroup.get('reducaoAliquota')) === null || _h === void 0 ? void 0 : _h.value)) / 100, 2));
3433
+ itemReforma.formGroup.get('valor').patchValue(valorImposto_1, { emitEvent: false });
3434
+ itemReforma.formGroup.get('valor')
3435
+ .valueChanges.subscribe(function (valor) {
3436
+ if (valor) {
3437
+ itemReforma.formGroup.get('valor').patchValue(valorImposto_1, { emitEvent: false });
3438
+ }
3439
+ });
3440
+ }
3441
+ };
3356
3442
  ErpTributosComponent.prototype.montaCampos = function (campos, tributo) {
3357
3443
  var _this = this;
3358
3444
  var retorno = {};