b2m-utils 0.0.302 → 0.0.304
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 -36
- package/build/index.esm.js.gz +0 -0
- package/build/index.esm.js.map +1 -1
- package/build/index.js +19 -36
- 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
|
@@ -1443,7 +1443,7 @@ var getLaneFromRatecard = function (cte) {
|
|
|
1443
1443
|
};
|
|
1444
1444
|
|
|
1445
1445
|
var getCtesFeesResult = function (feesToCalc, cte, allFeesForCalc) {
|
|
1446
|
-
var _a, _b, _c, _d
|
|
1446
|
+
var _a, _b, _c, _d;
|
|
1447
1447
|
var results = [];
|
|
1448
1448
|
// Separar fees por tipo: normais, TOTAL_PERCENTAGE e ICMS
|
|
1449
1449
|
var icmsFee = feesToCalc.find(function (f) { var _a; return ((_a = f.fee) === null || _a === void 0 ? void 0 : _a.id) === FeeEnum.ICMS || f.feeId === FeeEnum.ICMS; });
|
|
@@ -1454,8 +1454,6 @@ var getCtesFeesResult = function (feesToCalc, cte, allFeesForCalc) {
|
|
|
1454
1454
|
f.feeId !== FeeEnum.ICMS &&
|
|
1455
1455
|
((_b = f.fee) === null || _b === void 0 ? void 0 : _b.feeCalculationTypeId) !== FeeCalculationTypeEnum.TOTAL_PERCENTAGE;
|
|
1456
1456
|
});
|
|
1457
|
-
// PASSADA 1: Calcular fees normais (não TOTAL_PERCENTAGE, não ICMS)
|
|
1458
|
-
console.log("\n\uD83D\uDCE6 [getCtesFeesResult] Calculando ".concat(normalFees.length, " fees normais"));
|
|
1459
1457
|
var _loop_1 = function (item) {
|
|
1460
1458
|
var feeTotal = calculateFee(item, cte, feesToCalc, false, allFeesForCalc);
|
|
1461
1459
|
if (feeTotal === null || feeTotal === void 0 ? void 0 : feeTotal.totalFee) {
|
|
@@ -1472,8 +1470,8 @@ var getCtesFeesResult = function (feesToCalc, cte, allFeesForCalc) {
|
|
|
1472
1470
|
});
|
|
1473
1471
|
if (siblingFees && (siblingFees === null || siblingFees === void 0 ? void 0 : siblingFees.length) > 0) {
|
|
1474
1472
|
var siblingFeesResults = [];
|
|
1475
|
-
for (var
|
|
1476
|
-
var item_1 = siblingFees_1[
|
|
1473
|
+
for (var _f = 0, siblingFees_1 = siblingFees; _f < siblingFees_1.length; _f++) {
|
|
1474
|
+
var item_1 = siblingFees_1[_f];
|
|
1477
1475
|
var result = calculateFee(item_1, cte, feesToCalc, false, allFeesForCalc);
|
|
1478
1476
|
siblingFeesResults.push(result);
|
|
1479
1477
|
}
|
|
@@ -1485,14 +1483,12 @@ var getCtesFeesResult = function (feesToCalc, cte, allFeesForCalc) {
|
|
|
1485
1483
|
});
|
|
1486
1484
|
if ((siblingFeesResults === null || siblingFeesResults === void 0 ? void 0 : siblingFeesResults.length) > 0) {
|
|
1487
1485
|
if (((_b = siblingFeesResults[0]) === null || _b === void 0 ? void 0 : _b.totalFee) && ((_c = siblingFeesResults[0]) === null || _c === void 0 ? void 0 : _c.totalFee) > totalFee) {
|
|
1488
|
-
console.log(" \u26A0\uFE0F ".concat((_d = item.fee) === null || _d === void 0 ? void 0 : _d.name, ": R$ ").concat(totalFee.toFixed(2), " \u2192 R$ 0.00 (sibling maior)"));
|
|
1489
1486
|
totalToPush = 0;
|
|
1490
1487
|
}
|
|
1491
1488
|
}
|
|
1492
1489
|
}
|
|
1493
1490
|
}
|
|
1494
1491
|
if (!isNaN(+totalToPush) && totalToPush > 0) {
|
|
1495
|
-
console.log(" \u2705 ".concat((_e = item.fee) === null || _e === void 0 ? void 0 : _e.name, ": R$ ").concat(totalToPush.toFixed(2)));
|
|
1496
1492
|
results.push({
|
|
1497
1493
|
total: +(totalToPush).toFixed(2),
|
|
1498
1494
|
resultFee: resultFee,
|
|
@@ -1502,15 +1498,13 @@ var getCtesFeesResult = function (feesToCalc, cte, allFeesForCalc) {
|
|
|
1502
1498
|
}
|
|
1503
1499
|
}
|
|
1504
1500
|
};
|
|
1501
|
+
// PASSADA 1: Calcular fees normais (não TOTAL_PERCENTAGE, não ICMS)
|
|
1505
1502
|
for (var _i = 0, normalFees_1 = normalFees; _i < normalFees_1.length; _i++) {
|
|
1506
1503
|
var item = normalFees_1[_i];
|
|
1507
1504
|
_loop_1(item);
|
|
1508
1505
|
}
|
|
1509
|
-
console.log("\uD83D\uDCCA Total parcial (fees normais): R$ ".concat(results.reduce(function (sum, r) { return sum + r.total; }, 0).toFixed(2)));
|
|
1510
1506
|
// PASSADA 2: Calcular fees TOTAL_PERCENTAGE de forma iterativa
|
|
1511
1507
|
if (totalPercentageFees.length > 0) {
|
|
1512
|
-
console.log("\n\uD83D\uDD04 [getCtesFeesResult] Calculando ".concat(totalPercentageFees.length, " fees TOTAL_PERCENTAGE"));
|
|
1513
|
-
console.log("\uD83D\uDCCB Fees: ".concat(totalPercentageFees.map(function (f) { var _a; return "".concat((_a = f.fee) === null || _a === void 0 ? void 0 : _a.name, " (").concat(f.value, "%)"); }).join(', ')));
|
|
1514
1508
|
// Criar Map com valores já calculados das fees normais (respeitando lógica de siblings)
|
|
1515
1509
|
var preCalculatedValues_1 = new Map();
|
|
1516
1510
|
results.forEach(function (r) {
|
|
@@ -1520,15 +1514,12 @@ var getCtesFeesResult = function (feesToCalc, cte, allFeesForCalc) {
|
|
|
1520
1514
|
preCalculatedValues_1.set(fee.fee.id, r.total);
|
|
1521
1515
|
}
|
|
1522
1516
|
});
|
|
1523
|
-
console.log("\uD83D\uDCCA Usando ".concat(preCalculatedValues_1.size, " valores pr\u00E9-calculados"));
|
|
1524
1517
|
var percentageFeesCache = calculateTotalPercentageFees(feesToCalc, cte, allFeesForCalc, preCalculatedValues_1);
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
if ((_f = item.fee) === null || _f === void 0 ? void 0 : _f.id) {
|
|
1518
|
+
for (var _e = 0, totalPercentageFees_1 = totalPercentageFees; _e < totalPercentageFees_1.length; _e++) {
|
|
1519
|
+
var item = totalPercentageFees_1[_e];
|
|
1520
|
+
if ((_d = item.fee) === null || _d === void 0 ? void 0 : _d.id) {
|
|
1529
1521
|
var cachedResult = percentageFeesCache.get(item.fee.id);
|
|
1530
1522
|
if (cachedResult && cachedResult.totalFee && cachedResult.totalFee > 0) {
|
|
1531
|
-
console.log(" ".concat(item.fee.name, ": R$ ").concat(cachedResult.totalFee.toFixed(2)));
|
|
1532
1523
|
results.push({
|
|
1533
1524
|
total: Number(cachedResult.totalFee.toFixed(2)),
|
|
1534
1525
|
resultFee: cachedResult.resultFee || '',
|
|
@@ -1541,20 +1532,15 @@ var getCtesFeesResult = function (feesToCalc, cte, allFeesForCalc) {
|
|
|
1541
1532
|
}
|
|
1542
1533
|
// PASSADA 3: Calcular ICMS com base em todas as fees anteriores (normais + TOTAL_PERCENTAGE)
|
|
1543
1534
|
if (icmsFee) {
|
|
1544
|
-
console.log("\n\uD83D\uDCB0 [getCtesFeesResult] Calculando ICMS");
|
|
1545
1535
|
// Coletar apenas os valores das fees que realmente contam (total > 0)
|
|
1546
1536
|
var valuesForIcms = results
|
|
1547
1537
|
.filter(function (r) { return r.total > 0; })
|
|
1548
1538
|
.map(function (r) { return r.total; });
|
|
1549
|
-
console.log("\uD83D\uDCCA Valores para ICMS: ".concat(valuesForIcms.map(function (v) { return "R$ ".concat(v.toFixed(2)); }).join(' + '), " = R$ ").concat(valuesForIcms.reduce(function (a, b) { return a + b; }, 0).toFixed(2)));
|
|
1550
1539
|
var icmsRate = (cte.icmsIncidence !== undefined && cte.icmsIncidence !== null && !isNaN(+cte.icmsIncidence))
|
|
1551
1540
|
? +(cte.icmsIncidence) / 100
|
|
1552
1541
|
: icmsFee.value || 0;
|
|
1553
|
-
console.log("\uD83D\uDCC8 Al\u00EDquota ICMS: ".concat((icmsRate * 100).toFixed(2), "%"));
|
|
1554
1542
|
// Usar calculateIcms diretamente
|
|
1555
1543
|
var icmsCalculation = calculateIcms(valuesForIcms, icmsRate);
|
|
1556
|
-
console.log("\u2705 ICMS calculado: R$ ".concat(icmsCalculation.total.toFixed(2)));
|
|
1557
|
-
console.log("\uD83D\uDCCB Total de fees no results antes do ICMS: ".concat(results.length));
|
|
1558
1544
|
if (icmsCalculation.isValid && !isNaN(+icmsCalculation.total)) {
|
|
1559
1545
|
results.push({
|
|
1560
1546
|
total: +(icmsCalculation.total).toFixed(2),
|
|
@@ -1562,11 +1548,8 @@ var getCtesFeesResult = function (feesToCalc, cte, allFeesForCalc) {
|
|
|
1562
1548
|
feeValue: icmsRate,
|
|
1563
1549
|
feeId: icmsFee.feeId,
|
|
1564
1550
|
});
|
|
1565
|
-
console.log("\uD83D\uDCCB Total de fees no results depois do ICMS: ".concat(results.length));
|
|
1566
1551
|
}
|
|
1567
1552
|
}
|
|
1568
|
-
console.log("\n\uD83C\uDFAF [getCtesFeesResult] Total final: R$ ".concat(results.reduce(function (sum, r) { return sum + r.total; }, 0).toFixed(2)));
|
|
1569
|
-
console.log("\uD83D\uDCCB Breakdown: ".concat(results.map(function (r) { return "R$ ".concat(r.total.toFixed(2)); }).join(' + '), "\n"));
|
|
1570
1553
|
return results;
|
|
1571
1554
|
};
|
|
1572
1555
|
|
|
@@ -8023,20 +8006,20 @@ var renderChargedValue = function (value, cte, feeName) {
|
|
|
8023
8006
|
console.log('🔍 ICMS rateio habilitado:', isIcmsApportionmentEnabled);
|
|
8024
8007
|
console.log('🔍 feeName contém ICMS:', feeName === null || feeName === void 0 ? void 0 : feeName.toUpperCase().includes('ICMS'));
|
|
8025
8008
|
// Se for ICMS e o rateio estiver habilitado, calcular e mostrar o rateio
|
|
8026
|
-
if (isIcmsApportionmentEnabled
|
|
8009
|
+
if (isIcmsApportionmentEnabled) {
|
|
8027
8010
|
console.log('✅ Aplicando rateio de ICMS');
|
|
8028
|
-
// Obter a alíquota de ICMS do CTE (icmsIncidence
|
|
8029
|
-
var
|
|
8030
|
-
console.log(' -
|
|
8031
|
-
// Calcular
|
|
8032
|
-
//
|
|
8033
|
-
var
|
|
8034
|
-
|
|
8035
|
-
|
|
8036
|
-
|
|
8011
|
+
// Obter a alíquota de ICMS do CTE (icmsIncidence vem como número, ex: 7 para 7%)
|
|
8012
|
+
var icmsIncidence = cte.icmsIncidence ? Number(cte.icmsIncidence) : 12; // Default 12%
|
|
8013
|
+
console.log(' - icmsIncidence:', icmsIncidence);
|
|
8014
|
+
// Calcular: valor * (100 - icmsIncidence) / 100
|
|
8015
|
+
// Exemplo: 5,42 * (100 - 7) / 100 = 5,42 * 0,93 = 5,04
|
|
8016
|
+
var multiplier = (100 - icmsIncidence) / 100;
|
|
8017
|
+
var valueAfterIcms = numericValue * multiplier;
|
|
8018
|
+
console.log(' - multiplier:', multiplier);
|
|
8019
|
+
console.log(' - valueAfterIcms:', valueAfterIcms);
|
|
8037
8020
|
var formattedValueAfterIcms = convertNumberToCurrency(valueAfterIcms, 'pt-br');
|
|
8038
|
-
var
|
|
8039
|
-
var result = "".concat(formattedValue, "
|
|
8021
|
+
var percentageToShow = (100 - icmsIncidence);
|
|
8022
|
+
var result = "".concat(formattedValue, " x ").concat(percentageToShow, "% = ").concat(formattedValueAfterIcms);
|
|
8040
8023
|
console.log(' - resultado:', result);
|
|
8041
8024
|
return result;
|
|
8042
8025
|
}
|
package/build/index.esm.js.gz
CHANGED
|
Binary file
|