b2m-utils 0.0.288 → 0.0.289
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/build/index.esm.js +19 -3
- package/build/index.esm.js.gz +0 -0
- package/build/index.esm.js.map +1 -1
- package/build/index.js +19 -3
- package/build/index.js.gz +0 -0
- package/build/index.js.map +1 -1
- package/package.json +1 -1
package/build/index.esm.js
CHANGED
|
@@ -593,31 +593,42 @@ var calculateFee = function (ratecardLaneFee, cte, allFees, debug, allFeesForCal
|
|
|
593
593
|
// Inicializar com valores zerados
|
|
594
594
|
var previousValues_1 = new Map();
|
|
595
595
|
percentageFees_1.forEach(function (pf) { return previousValues_1.set(pf.fee.id, 0); });
|
|
596
|
+
console.log("\n\uD83D\uDD04 Iniciando c\u00E1lculo iterativo para fee ".concat(fee_1.id, " (").concat(fee_1.name, ")"));
|
|
597
|
+
console.log("\uD83D\uDCCA Base n\u00E3o-percentual: R$ ".concat(nonPercentageResults_1.reduce(function (sum, r) { return sum + (r.totalToCalc || 0); }, 0).toFixed(2)));
|
|
598
|
+
console.log("\uD83D\uDCCB Fees percentuais a calcular: ".concat(percentageFees_1.map(function (f) { var _a; return "".concat((_a = f.fee) === null || _a === void 0 ? void 0 : _a.name, " (").concat(f.value, "%)"); }).join(', ')));
|
|
596
599
|
var _loop_1 = function (iteration) {
|
|
600
|
+
console.log("\n--- Itera\u00E7\u00E3o ".concat(iteration + 1, " ---"));
|
|
597
601
|
// Calcular cada fee percentual com base nos valores atuais das outras
|
|
598
602
|
var currentResults = percentageFees_1.map(function (pf) {
|
|
603
|
+
var _a;
|
|
599
604
|
// Criar uma lista temporária com os valores já calculados das outras fees percentuais
|
|
600
605
|
var tempFees = percentageFees_1
|
|
601
606
|
.filter(function (f) { return f.fee.id !== pf.fee.id; })
|
|
602
607
|
.map(function (f) { return (__assign(__assign({}, f), { totalFee: previousValues_1.get(f.fee.id) || 0, totalToCalc: previousValues_1.get(f.fee.id) || 0 })); });
|
|
603
608
|
// Calcular base: fees não-percentuais + outras fees percentuais
|
|
604
|
-
var
|
|
605
|
-
|
|
609
|
+
var baseNonPercentage = nonPercentageResults_1.reduce(function (sum, r) { return sum + (r.totalToCalc || 0); }, 0);
|
|
610
|
+
var basePercentage = tempFees.reduce(function (sum, f) { return sum + (f.totalFee || 0); }, 0);
|
|
611
|
+
var baseValue = baseNonPercentage + basePercentage;
|
|
606
612
|
var percentValue = (+pf.value / 100);
|
|
607
613
|
var calculatedValue = baseValue * percentValue;
|
|
614
|
+
console.log(" ".concat((_a = pf.fee) === null || _a === void 0 ? void 0 : _a.name, ": base=").concat(baseValue.toFixed(2), " (").concat(baseNonPercentage.toFixed(2), " + ").concat(basePercentage.toFixed(2), ") \u00D7 ").concat(pf.value, "% = ").concat(calculatedValue.toFixed(2)));
|
|
608
615
|
return __assign(__assign({}, pf), { totalFee: calculatedValue, totalToCalc: calculatedValue, fee: pf.fee, feeValue: pf.value, resultFee: "".concat(convertNumberToCurrency(baseValue, 'pt-br'), " x ").concat(+pf.value, "% = ").concat(convertNumberToCurrency(calculatedValue, 'pt-br')) });
|
|
609
616
|
});
|
|
610
617
|
// Verificar convergência
|
|
611
618
|
var hasConverged = true;
|
|
612
619
|
currentResults.forEach(function (result) {
|
|
620
|
+
var _a;
|
|
613
621
|
var prevValue = previousValues_1.get(result.feeId) || 0;
|
|
614
|
-
|
|
622
|
+
var diff = Math.abs(result.totalFee - prevValue);
|
|
623
|
+
if (diff > tolerance_1) {
|
|
615
624
|
hasConverged = false;
|
|
616
625
|
}
|
|
626
|
+
console.log(" ".concat((_a = result.fee) === null || _a === void 0 ? void 0 : _a.name, ": anterior=").concat(prevValue.toFixed(2), ", atual=").concat(result.totalFee.toFixed(2), ", diff=").concat(diff.toFixed(4)));
|
|
617
627
|
previousValues_1.set(result.feeId, result.totalFee);
|
|
618
628
|
});
|
|
619
629
|
percentageResults = currentResults;
|
|
620
630
|
if (hasConverged) {
|
|
631
|
+
console.log("\u2705 Convergiu na itera\u00E7\u00E3o ".concat(iteration + 1, "!"));
|
|
621
632
|
return "break";
|
|
622
633
|
}
|
|
623
634
|
};
|
|
@@ -626,6 +637,11 @@ var calculateFee = function (ratecardLaneFee, cte, allFees, debug, allFeesForCal
|
|
|
626
637
|
if (state_1 === "break")
|
|
627
638
|
break;
|
|
628
639
|
}
|
|
640
|
+
console.log("\n\uD83D\uDCC8 Resultado final das fees percentuais:");
|
|
641
|
+
percentageResults.forEach(function (r) {
|
|
642
|
+
var _a;
|
|
643
|
+
console.log(" ".concat((_a = r.fee) === null || _a === void 0 ? void 0 : _a.name, ": R$ ").concat((r.totalFee || 0).toFixed(2)));
|
|
644
|
+
});
|
|
629
645
|
// Combinar resultados
|
|
630
646
|
var filteredFeesResults = __spreadArray(__spreadArray([], nonPercentageResults_1, true), percentageResults, true);
|
|
631
647
|
var totalFromAllFees = filteredFeesResults.map(function (result) {
|
package/build/index.esm.js.gz
CHANGED
|
Binary file
|