b2m-utils 0.0.293 → 0.0.294
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.js
CHANGED
|
@@ -1004,8 +1004,9 @@ var calculateIcms = function (totalFromAllFees, icmsRate) {
|
|
|
1004
1004
|
/**
|
|
1005
1005
|
* Calcula todas as fees do tipo TOTAL_PERCENTAGE de forma iterativa
|
|
1006
1006
|
* para resolver a interdependência entre elas (ex: TRT e GAC)
|
|
1007
|
+
* @param preCalculatedValues - Opcional: Map de feeId -> valor já calculado (para valores alterados manualmente)
|
|
1007
1008
|
*/
|
|
1008
|
-
var calculateTotalPercentageFees = function (allFees, cte, allFeesForCalc) {
|
|
1009
|
+
var calculateTotalPercentageFees = function (allFees, cte, allFeesForCalc, preCalculatedValues) {
|
|
1009
1010
|
var results = new Map();
|
|
1010
1011
|
// Separar fees em dois grupos
|
|
1011
1012
|
// IMPORTANTE: ICMS não deve ser calculado aqui, ele tem tratamento especial no calculateFee
|
|
@@ -1027,12 +1028,26 @@ var calculateTotalPercentageFees = function (allFees, cte, allFeesForCalc) {
|
|
|
1027
1028
|
console.log("\uD83D\uDCCB Fees: ".concat(percentageFees.map(function (f) { var _a; return "".concat((_a = f.fee) === null || _a === void 0 ? void 0 : _a.name, " (").concat(f.value, "%)"); }).join(', ')));
|
|
1028
1029
|
// Calcular fees não-percentuais (base fixa)
|
|
1029
1030
|
console.log("\uD83D\uDCCB Fees n\u00E3o-percentuais: ".concat(nonPercentageFees.map(function (f) { var _a; return "".concat((_a = f.fee) === null || _a === void 0 ? void 0 : _a.name); }).join(', ')));
|
|
1030
|
-
var
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1031
|
+
var baseNonPercentage = 0;
|
|
1032
|
+
// Se temos valores pré-calculados, usar eles ao invés de recalcular
|
|
1033
|
+
if (preCalculatedValues) {
|
|
1034
|
+
baseNonPercentage = nonPercentageFees.reduce(function (sum, fee) {
|
|
1035
|
+
var _a;
|
|
1036
|
+
var value = ((_a = fee.fee) === null || _a === void 0 ? void 0 : _a.id) ? preCalculatedValues.get(fee.fee.id) : undefined;
|
|
1037
|
+
return sum + (value !== undefined ? value : 0);
|
|
1038
|
+
}, 0);
|
|
1039
|
+
}
|
|
1040
|
+
else {
|
|
1041
|
+
// Calcular normalmente
|
|
1042
|
+
var nonPercentageResults = filterSiblingFees(nonPercentageFees.map(function (it) {
|
|
1043
|
+
return calculateFee(it, cte, allFees, false, allFeesForCalc);
|
|
1044
|
+
}));
|
|
1045
|
+
baseNonPercentage = nonPercentageResults.reduce(function (sum, r) { return sum + (r.totalToCalc || 0); }, 0);
|
|
1046
|
+
}
|
|
1034
1047
|
console.log("\uD83D\uDCCA Base n\u00E3o-percentual: R$ ".concat(baseNonPercentage.toFixed(2)));
|
|
1035
|
-
|
|
1048
|
+
if (!preCalculatedValues) {
|
|
1049
|
+
console.log("\uD83D\uDCCA Detalhamento calculado automaticamente");
|
|
1050
|
+
}
|
|
1036
1051
|
// Calcular fees percentuais iterativamente até convergir
|
|
1037
1052
|
var maxIterations = 10;
|
|
1038
1053
|
var tolerance = 0.01; // Tolerância de 1 centavo
|
package/build/index.js.gz
CHANGED
|
Binary file
|