@senior-gestao-empresarial/erpx-components 4.20.4 → 4.21.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/senior-gestao-empresarial-erpx-components.umd.js +86 -0
- package/bundles/senior-gestao-empresarial-erpx-components.umd.js.map +1 -1
- package/bundles/senior-gestao-empresarial-erpx-components.umd.min.js +1 -1
- package/bundles/senior-gestao-empresarial-erpx-components.umd.min.js.map +1 -1
- package/components/rateio-editor/erp-rateio-editor.types.d.ts +27 -0
- package/components/rateio-editor/erp-rateio-editor.utils.d.ts +7 -0
- package/components/rateio-editor/index.d.ts +2 -1
- package/esm2015/components/rateio-editor/erp-rateio-editor.types.js +1 -1
- package/esm2015/components/rateio-editor/erp-rateio-editor.utils.js +83 -0
- package/esm2015/components/rateio-editor/index.js +2 -1
- package/esm2015/components/tributos/erp-tributos.component.js +2 -1
- package/esm5/components/rateio-editor/erp-rateio-editor.types.js +1 -1
- package/esm5/components/rateio-editor/erp-rateio-editor.utils.js +85 -0
- package/esm5/components/rateio-editor/index.js +2 -1
- package/esm5/components/tributos/erp-tributos.component.js +2 -1
- package/fesm2015/senior-gestao-empresarial-erpx-components.js +85 -1
- package/fesm2015/senior-gestao-empresarial-erpx-components.js.map +1 -1
- package/fesm5/senior-gestao-empresarial-erpx-components.js +86 -1
- package/fesm5/senior-gestao-empresarial-erpx-components.js.map +1 -1
- package/package.json +14 -14
- package/senior-gestao-empresarial-erpx-components.metadata.json +1 -1
|
@@ -29530,6 +29530,7 @@
|
|
|
29530
29530
|
return 'cide';
|
|
29531
29531
|
case exports.EnumTipoTributo.CBS:
|
|
29532
29532
|
case exports.EnumTipoTributo.CBS_A_APROPRIAR:
|
|
29533
|
+
case exports.EnumTipoTributo.CBS_ALC_ZFM:
|
|
29533
29534
|
case exports.EnumTipoTributo.CBS_DIFERIDO:
|
|
29534
29535
|
case exports.EnumTipoTributo.CBS_CREDITO_PRESUMIDO:
|
|
29535
29536
|
case exports.EnumTipoTributo.CBS_TRIBUTACAO_REGULAR:
|
|
@@ -37611,6 +37612,90 @@
|
|
|
37611
37612
|
return ErpRateioEditorConverter;
|
|
37612
37613
|
}());
|
|
37613
37614
|
|
|
37615
|
+
var CASAS_DECIMAIS_VALOR = 2;
|
|
37616
|
+
/**
|
|
37617
|
+
* Arredonda um valor para o número de casas decimais informado (default: 2).
|
|
37618
|
+
*/
|
|
37619
|
+
function arredondar(valor, casas) {
|
|
37620
|
+
if (casas === void 0) { casas = CASAS_DECIMAIS_VALOR; }
|
|
37621
|
+
return +(valor || 0).toFixed(casas);
|
|
37622
|
+
}
|
|
37623
|
+
/**
|
|
37624
|
+
* Proporcionaliza um valor de acordo com o percentual informado, arredondando para
|
|
37625
|
+
* 2 casas decimais (percentual nulo é tratado como zero).
|
|
37626
|
+
*/
|
|
37627
|
+
function proporcionaliza(valorTotal, percentual) {
|
|
37628
|
+
var percentualSeguro = percentual || 0;
|
|
37629
|
+
return arredondar(valorTotal * (percentualSeguro / 100));
|
|
37630
|
+
}
|
|
37631
|
+
/**
|
|
37632
|
+
* Recalcula o valor de cada centro de custo com base no valor da conta financeira.
|
|
37633
|
+
*/
|
|
37634
|
+
function atualizaValorCentrosCusto(centrosCusto, valorConta) {
|
|
37635
|
+
if (!centrosCusto) {
|
|
37636
|
+
return;
|
|
37637
|
+
}
|
|
37638
|
+
centrosCusto.forEach(function (centroCusto) {
|
|
37639
|
+
centroCusto.valor = proporcionaliza(valorConta, centroCusto.percentual);
|
|
37640
|
+
});
|
|
37641
|
+
}
|
|
37642
|
+
/**
|
|
37643
|
+
* Distribui o valor total entre os centros de custo de acordo com os percentuais,
|
|
37644
|
+
* corrigindo diferenças de arredondamento no último centro.
|
|
37645
|
+
*/
|
|
37646
|
+
function distribuirCentrosCusto(valorTotal, centrosCusto) {
|
|
37647
|
+
if (!centrosCusto || centrosCusto.length === 0) {
|
|
37648
|
+
return centrosCusto;
|
|
37649
|
+
}
|
|
37650
|
+
var valorTotalCentros = 0;
|
|
37651
|
+
var ultimo;
|
|
37652
|
+
var distribuicao = centrosCusto.map(function (centroCusto) {
|
|
37653
|
+
var distribuido = __assign(__assign({}, centroCusto), { valor: proporcionaliza(valorTotal, centroCusto.percentual) });
|
|
37654
|
+
valorTotalCentros += distribuido.valor;
|
|
37655
|
+
ultimo = distribuido;
|
|
37656
|
+
return distribuido;
|
|
37657
|
+
});
|
|
37658
|
+
var diferenca = arredondar(valorTotal - valorTotalCentros);
|
|
37659
|
+
if (ultimo && diferenca !== 0) {
|
|
37660
|
+
ultimo.valor = arredondar(ultimo.valor + diferenca);
|
|
37661
|
+
}
|
|
37662
|
+
return distribuicao;
|
|
37663
|
+
}
|
|
37664
|
+
/**
|
|
37665
|
+
* Constrói uma conta financeira já com o valor proporcionalizado e com os centros de
|
|
37666
|
+
* custo distribuídos.
|
|
37667
|
+
*/
|
|
37668
|
+
function distribuirConta(valorTotal, conta) {
|
|
37669
|
+
var distribuida = __assign(__assign({}, conta), { valor: proporcionaliza(valorTotal, conta.percentual) });
|
|
37670
|
+
distribuida.centrosCusto = distribuirCentrosCusto(distribuida.valor, conta.centrosCusto);
|
|
37671
|
+
return distribuida;
|
|
37672
|
+
}
|
|
37673
|
+
/**
|
|
37674
|
+
* Distribui o valor total entre as contas financeiras de acordo com os percentuais,
|
|
37675
|
+
* corrigindo diferenças de arredondamento na última conta e cascateando o recálculo
|
|
37676
|
+
* para os centros de custo.
|
|
37677
|
+
*/
|
|
37678
|
+
function atualizaValoresRateioManual(rateiosContasFinanceiras, valorTotal) {
|
|
37679
|
+
if (!rateiosContasFinanceiras || rateiosContasFinanceiras.length === 0) {
|
|
37680
|
+
return rateiosContasFinanceiras;
|
|
37681
|
+
}
|
|
37682
|
+
var valorTotalContasFinanceiras = 0;
|
|
37683
|
+
var ultima;
|
|
37684
|
+
var distribuicaoRateioFinal = rateiosContasFinanceiras.map(function (rateioContaFinanceira) {
|
|
37685
|
+
var distribuicao = distribuirConta(valorTotal, rateioContaFinanceira);
|
|
37686
|
+
valorTotalContasFinanceiras += distribuicao.valor;
|
|
37687
|
+
ultima = distribuicao;
|
|
37688
|
+
return distribuicao;
|
|
37689
|
+
});
|
|
37690
|
+
var diferencaValores = arredondar(valorTotal - valorTotalContasFinanceiras);
|
|
37691
|
+
// Corrige diferença de percentual e arredondamentos para a última conta financeira
|
|
37692
|
+
if (ultima && diferencaValores !== 0) {
|
|
37693
|
+
ultima.valor = arredondar(ultima.valor + diferencaValores);
|
|
37694
|
+
atualizaValorCentrosCusto(ultima.centrosCusto, ultima.valor);
|
|
37695
|
+
}
|
|
37696
|
+
return distribuicaoRateioFinal;
|
|
37697
|
+
}
|
|
37698
|
+
|
|
37614
37699
|
var fallback = {
|
|
37615
37700
|
"erpx.tributos.badge_tipo_calculo_imposto_info_sign_text_calculado": "Valor calculado pelo sistema conforme regras fiscais",
|
|
37616
37701
|
"erpx.tributos.badge_tipo_calculo_imposto_info_sign_text_herdado": "Valor gerado por um processo de origem",
|
|
@@ -37679,6 +37764,7 @@
|
|
|
37679
37764
|
exports.ErpTributosComponent = ErpTributosComponent;
|
|
37680
37765
|
exports.ErpTributosModule = ErpTributosModule;
|
|
37681
37766
|
exports.ExportUtils = ExportUtils;
|
|
37767
|
+
exports.atualizaValoresRateioManual = atualizaValoresRateioManual;
|
|
37682
37768
|
exports.fallback = fallback;
|
|
37683
37769
|
exports.isEmpty = isEmpty;
|
|
37684
37770
|
exports.isNotEmpty = isNotEmpty;
|