b2m-utils 0.0.250 → 0.0.252
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/enums/RatecardFeeConfigKeyEnum.d.ts +1 -11
- package/build/index.esm.js +36 -39
- package/build/index.esm.js.gz +0 -0
- package/build/index.esm.js.map +1 -1
- package/build/index.js +36 -39
- package/build/index.js.gz +0 -0
- package/build/index.js.map +1 -1
- package/package.json +1 -1
package/build/index.js
CHANGED
|
@@ -187,21 +187,6 @@ exports.RatecardFeeConfigKeyEnum = void 0;
|
|
|
187
187
|
(function (RatecardFeeConfigKeyEnum) {
|
|
188
188
|
// Configurações de fração de peso
|
|
189
189
|
RatecardFeeConfigKeyEnum["MIN_WEIGHT_FOR_FRACTION"] = "min_weight_for_fraction";
|
|
190
|
-
RatecardFeeConfigKeyEnum["FRACTION_UNIT"] = "fraction_unit";
|
|
191
|
-
RatecardFeeConfigKeyEnum["MIN_VALUE"] = "min_value";
|
|
192
|
-
// Configurações de peso
|
|
193
|
-
RatecardFeeConfigKeyEnum["MIN_WEIGHT"] = "min_weight";
|
|
194
|
-
RatecardFeeConfigKeyEnum["MAX_WEIGHT"] = "max_weight";
|
|
195
|
-
// Configurações de arredondamento
|
|
196
|
-
RatecardFeeConfigKeyEnum["ROUNDING_TYPE"] = "rounding_type";
|
|
197
|
-
// Configurações de aplicação
|
|
198
|
-
RatecardFeeConfigKeyEnum["APPLY_ONLY_IF_GREATER_THAN"] = "apply_only_if_greater_than";
|
|
199
|
-
RatecardFeeConfigKeyEnum["MAX_APPLICATIONS"] = "max_applications";
|
|
200
|
-
// Configurações de percentual
|
|
201
|
-
RatecardFeeConfigKeyEnum["PERCENTAGE_VALUE"] = "percentage_value";
|
|
202
|
-
// Configurações condicionais
|
|
203
|
-
RatecardFeeConfigKeyEnum["APPLY_ONLY_WEEKENDS"] = "apply_only_weekends";
|
|
204
|
-
RatecardFeeConfigKeyEnum["APPLY_ONLY_WEEKDAYS"] = "apply_only_weekdays";
|
|
205
190
|
})(exports.RatecardFeeConfigKeyEnum || (exports.RatecardFeeConfigKeyEnum = {}));
|
|
206
191
|
|
|
207
192
|
exports.RatecardFeeConfigTypeEnum = void 0;
|
|
@@ -450,9 +435,11 @@ var filterSiblingFees = function (fees) {
|
|
|
450
435
|
};
|
|
451
436
|
|
|
452
437
|
var calculateFee = function (ratecardLaneFee, cte, allFees, debug, allFeesForCalc) {
|
|
453
|
-
var _a, _b, _c, _d, _e, _f;
|
|
438
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
454
439
|
if (debug === void 0) { debug = false; }
|
|
455
440
|
if (ratecardLaneFee.fee) {
|
|
441
|
+
// Buscar o ratecard correto do CTE usando getRatecardFromCte
|
|
442
|
+
var ratecard = getRatecardFromCte(cte);
|
|
456
443
|
var value = ratecardLaneFee.value, fee_1 = ratecardLaneFee.fee;
|
|
457
444
|
var totalFee = 0;
|
|
458
445
|
var resultFee = '';
|
|
@@ -522,7 +509,7 @@ var calculateFee = function (ratecardLaneFee, cte, allFees, debug, allFeesForCal
|
|
|
522
509
|
if (totalValueFromAllFees && !isNaN(+totalValueFromAllFees)) {
|
|
523
510
|
var valueToMultiply = (+value / 100);
|
|
524
511
|
var total_1 = +totalValueFromAllFees * valueToMultiply;
|
|
525
|
-
var
|
|
512
|
+
var _h = applyRedeliveryMultiplier(total_1, cte), adjustedTotal_1 = _h.adjustedTotal, redeliveryInfo_1 = _h.redeliveryInfo;
|
|
526
513
|
total_1 = adjustedTotal_1;
|
|
527
514
|
var totalValueFromAllFeesCurrency = convertNumberToCurrency(+totalValueFromAllFees, 'pt-br');
|
|
528
515
|
var resultCurrency_1 = (+total_1).toLocaleString('pt-BR', {
|
|
@@ -538,9 +525,14 @@ var calculateFee = function (ratecardLaneFee, cte, allFees, debug, allFeesForCal
|
|
|
538
525
|
break;
|
|
539
526
|
case exports.FeeCalculationTypeEnum.FRACTIONED:
|
|
540
527
|
if ((cte === null || cte === void 0 ? void 0 : cte.taxedWeight) && !isNaN(+(cte === null || cte === void 0 ? void 0 : cte.taxedWeight))) {
|
|
541
|
-
|
|
528
|
+
// Buscar configuração de peso mínimo para aplicar fração
|
|
529
|
+
var minWeightConfig = (_a = ratecard === null || ratecard === void 0 ? void 0 : ratecard.RatecardFeeConfig) === null || _a === void 0 ? void 0 : _a.find(function (config) { var _a; return config.feeId === fee_1.id && ((_a = config.feeConfig) === null || _a === void 0 ? void 0 : _a.configKey) === exports.RatecardFeeConfigKeyEnum.MIN_WEIGHT_FOR_FRACTION; });
|
|
530
|
+
var minWeightForFraction = (minWeightConfig === null || minWeightConfig === void 0 ? void 0 : minWeightConfig.configValue) ? Number(minWeightConfig.configValue) : 0;
|
|
531
|
+
// Só aplica fração se o peso for maior que o mínimo configurado
|
|
532
|
+
var shouldApplyFraction = +cte.taxedWeight > minWeightForFraction;
|
|
533
|
+
var fractions = shouldApplyFraction ? Math.ceil(+cte.taxedWeight / 100) : 1;
|
|
542
534
|
var total_2 = fractions * value;
|
|
543
|
-
var
|
|
535
|
+
var _j = applyRedeliveryMultiplier(total_2, cte), adjustedTotal_2 = _j.adjustedTotal, redeliveryInfo_2 = _j.redeliveryInfo;
|
|
544
536
|
total_2 = adjustedTotal_2;
|
|
545
537
|
var valueCurrency_1 = (+value).toLocaleString('pt-br', {
|
|
546
538
|
style: 'currency',
|
|
@@ -550,7 +542,9 @@ var calculateFee = function (ratecardLaneFee, cte, allFees, debug, allFeesForCal
|
|
|
550
542
|
style: 'currency',
|
|
551
543
|
currency: 'BRL',
|
|
552
544
|
});
|
|
553
|
-
var result_2 =
|
|
545
|
+
var result_2 = shouldApplyFraction
|
|
546
|
+
? "".concat(cte.taxedWeight, " kg = ").concat(fractions, " fra\u00E7\u00F5es x ").concat(valueCurrency_1).concat(redeliveryInfo_2, " = ").concat(resultCurrency_2)
|
|
547
|
+
: "".concat(cte.taxedWeight, " kg (abaixo do m\u00EDnimo ").concat(minWeightForFraction, " kg) = ").concat(valueCurrency_1).concat(redeliveryInfo_2, " = ").concat(resultCurrency_2);
|
|
554
548
|
totalFee = total_2;
|
|
555
549
|
resultFee = result_2;
|
|
556
550
|
}
|
|
@@ -559,7 +553,7 @@ var calculateFee = function (ratecardLaneFee, cte, allFees, debug, allFeesForCal
|
|
|
559
553
|
if (value && (cte === null || cte === void 0 ? void 0 : cte.freightValue)) {
|
|
560
554
|
if (!isNaN(+value) && !isNaN(+cte.freightValue)) {
|
|
561
555
|
var total_3 = +cte.freightValue * (+value / 100);
|
|
562
|
-
var
|
|
556
|
+
var _k = applyRedeliveryMultiplier(total_3, cte), adjustedTotal_3 = _k.adjustedTotal, redeliveryInfo_3 = _k.redeliveryInfo;
|
|
563
557
|
total_3 = adjustedTotal_3;
|
|
564
558
|
var freightValueCurrency = (+cte.freightValue).toLocaleString('pt-br', {
|
|
565
559
|
style: 'currency',
|
|
@@ -594,7 +588,7 @@ var calculateFee = function (ratecardLaneFee, cte, allFees, debug, allFeesForCal
|
|
|
594
588
|
case exports.FeeCalculationTypeEnum.MIN_VALUE:
|
|
595
589
|
case exports.FeeCalculationTypeEnum.FIXED:
|
|
596
590
|
var total = +value;
|
|
597
|
-
var
|
|
591
|
+
var _l = applyRedeliveryMultiplier(total, cte), adjustedTotal = _l.adjustedTotal, redeliveryInfo = _l.redeliveryInfo;
|
|
598
592
|
total = adjustedTotal;
|
|
599
593
|
var valueCurrency = (+value).toLocaleString('pt-br', {
|
|
600
594
|
style: 'currency',
|
|
@@ -646,7 +640,7 @@ var calculateFee = function (ratecardLaneFee, cte, allFees, debug, allFeesForCal
|
|
|
646
640
|
// Somar ao total
|
|
647
641
|
total_4 += additionalValue;
|
|
648
642
|
// Aplicar multiplicador de redelivery ao valor final
|
|
649
|
-
var
|
|
643
|
+
var _m = applyRedeliveryMultiplier(total_4, cte), adjustedTotal_4 = _m.adjustedTotal, redeliveryInfo_4 = _m.redeliveryInfo;
|
|
650
644
|
total_4 = adjustedTotal_4;
|
|
651
645
|
var valueCurrency_2 = (+highestIntervalFee.value).toLocaleString('pt-br', {
|
|
652
646
|
style: 'currency',
|
|
@@ -663,12 +657,10 @@ var calculateFee = function (ratecardLaneFee, cte, allFees, debug, allFeesForCal
|
|
|
663
657
|
}
|
|
664
658
|
// Lógica de intervalo de KM para FTL
|
|
665
659
|
else if ((cte === null || cte === void 0 ? void 0 : cte.ratecardModalId) === exports.RatecardModalEnum.ROAD_DOMESTIC_FTL && (cte === null || cte === void 0 ? void 0 : cte.distance) && !ratecardLaneFee.maxKm && ratecardLaneFee.minKm && +cte.distance >= +ratecardLaneFee.minKm) {
|
|
666
|
-
|
|
667
|
-
var ratecard = getRatecardFromCte(cte);
|
|
668
|
-
var lane = (_a = ratecard === null || ratecard === void 0 ? void 0 : ratecard.RatecardLane) === null || _a === void 0 ? void 0 : _a.find(function (l) { return l.id === ratecardLaneFee.laneId; });
|
|
660
|
+
var lane = (_b = ratecard === null || ratecard === void 0 ? void 0 : ratecard.RatecardLane) === null || _b === void 0 ? void 0 : _b.find(function (l) { return l.id === ratecardLaneFee.laneId; });
|
|
669
661
|
// Não tem maxKm - é o último intervalo
|
|
670
662
|
// Encontrar todas as taxas do mesmo tipo que têm maxKm no ratecard
|
|
671
|
-
var feesWithMaxKm = (
|
|
663
|
+
var feesWithMaxKm = (_c = lane === null || lane === void 0 ? void 0 : lane.RatecardLaneFee) === null || _c === void 0 ? void 0 : _c.filter(function (fee) {
|
|
672
664
|
var _a, _b;
|
|
673
665
|
return ((_a = fee.fee) === null || _a === void 0 ? void 0 : _a.id) === ((_b = ratecardLaneFee.fee) === null || _b === void 0 ? void 0 : _b.id) &&
|
|
674
666
|
(!fee.vehicleTypeId || fee.vehicleTypeId === cte.vehicleTypeId) &&
|
|
@@ -690,7 +682,7 @@ var calculateFee = function (ratecardLaneFee, cte, allFees, debug, allFeesForCal
|
|
|
690
682
|
// Somar ao total
|
|
691
683
|
total_5 += additionalValue;
|
|
692
684
|
// Aplicar multiplicador de redelivery ao valor final
|
|
693
|
-
var
|
|
685
|
+
var _o = applyRedeliveryMultiplier(total_5, cte), adjustedTotal_5 = _o.adjustedTotal, redeliveryInfo_5 = _o.redeliveryInfo;
|
|
694
686
|
total_5 = adjustedTotal_5;
|
|
695
687
|
var valueCurrency_3 = (+highestIntervalFee.value).toLocaleString('pt-br', {
|
|
696
688
|
style: 'currency',
|
|
@@ -708,9 +700,9 @@ var calculateFee = function (ratecardLaneFee, cte, allFees, debug, allFeesForCal
|
|
|
708
700
|
break;
|
|
709
701
|
case exports.FeeCalculationTypeEnum.COMMODITY_VALUE:
|
|
710
702
|
if (value) {
|
|
711
|
-
var commodityValue = (
|
|
703
|
+
var commodityValue = (_d = cte === null || cte === void 0 ? void 0 : cte.commodityValue) !== null && _d !== void 0 ? _d : 0;
|
|
712
704
|
var total_6 = +commodityValue * (+value / 100);
|
|
713
|
-
var
|
|
705
|
+
var _p = applyRedeliveryMultiplier(total_6, cte), adjustedTotal_6 = _p.adjustedTotal, redeliveryInfo_6 = _p.redeliveryInfo;
|
|
714
706
|
total_6 = adjustedTotal_6;
|
|
715
707
|
var resultCurrency_6 = (+total_6).toLocaleString('pt-br', {
|
|
716
708
|
style: 'currency',
|
|
@@ -723,9 +715,9 @@ var calculateFee = function (ratecardLaneFee, cte, allFees, debug, allFeesForCal
|
|
|
723
715
|
break;
|
|
724
716
|
case exports.FeeCalculationTypeEnum.TAXED_WEIGHT:
|
|
725
717
|
if (value) {
|
|
726
|
-
var taxedWeight = (
|
|
718
|
+
var taxedWeight = (_e = cte === null || cte === void 0 ? void 0 : cte.taxedWeight) !== null && _e !== void 0 ? _e : 0;
|
|
727
719
|
var total_7 = +taxedWeight * +value;
|
|
728
|
-
var
|
|
720
|
+
var _q = applyRedeliveryMultiplier(total_7, cte), adjustedTotal_7 = _q.adjustedTotal, redeliveryInfo_7 = _q.redeliveryInfo;
|
|
729
721
|
total_7 = adjustedTotal_7;
|
|
730
722
|
var resultCurrency_7 = (+total_7).toLocaleString('pt-br', {
|
|
731
723
|
style: 'currency',
|
|
@@ -841,7 +833,7 @@ var calculateFee = function (ratecardLaneFee, cte, allFees, debug, allFeesForCal
|
|
|
841
833
|
return 0;
|
|
842
834
|
});
|
|
843
835
|
if ((siblingFeesResults === null || siblingFeesResults === void 0 ? void 0 : siblingFeesResults.length) > 0) {
|
|
844
|
-
if (((
|
|
836
|
+
if (((_f = siblingFeesResults[0]) === null || _f === void 0 ? void 0 : _f.totalFee) && ((_g = siblingFeesResults[0]) === null || _g === void 0 ? void 0 : _g.totalFee) > totalFee) {
|
|
845
837
|
totalToCalc = 0;
|
|
846
838
|
}
|
|
847
839
|
}
|
|
@@ -893,17 +885,22 @@ var calculateIcms = function (totalFromAllFees, icmsRate) {
|
|
|
893
885
|
};
|
|
894
886
|
|
|
895
887
|
var verifyConditionalFee = function (conditionalFeeToVerify, cte) {
|
|
896
|
-
var _a;
|
|
888
|
+
var _a, _b;
|
|
897
889
|
if (conditionalFeeToVerify === null || conditionalFeeToVerify === void 0 ? void 0 : conditionalFeeToVerify.id) {
|
|
898
890
|
switch (conditionalFeeToVerify === null || conditionalFeeToVerify === void 0 ? void 0 : conditionalFeeToVerify.typeId) {
|
|
899
891
|
case exports.RatecardConditionalFeeTypeEnum.CITY:
|
|
900
|
-
|
|
892
|
+
var directLane = (conditionalFeeToVerify === null || conditionalFeeToVerify === void 0 ? void 0 : conditionalFeeToVerify.cityId) && cte.cityDestinationId === (conditionalFeeToVerify === null || conditionalFeeToVerify === void 0 ? void 0 : conditionalFeeToVerify.cityId);
|
|
893
|
+
if (!directLane) {
|
|
894
|
+
return (conditionalFeeToVerify === null || conditionalFeeToVerify === void 0 ? void 0 : conditionalFeeToVerify.cityId) && cte.cityOriginId === (conditionalFeeToVerify === null || conditionalFeeToVerify === void 0 ? void 0 : conditionalFeeToVerify.cityId);
|
|
895
|
+
}
|
|
896
|
+
return directLane;
|
|
901
897
|
case exports.RatecardConditionalFeeTypeEnum.STATE:
|
|
902
|
-
|
|
898
|
+
var directLaneState = (conditionalFeeToVerify === null || conditionalFeeToVerify === void 0 ? void 0 : conditionalFeeToVerify.stateId) && ((_a = cte.cityDestination) === null || _a === void 0 ? void 0 : _a.stateId) === (conditionalFeeToVerify === null || conditionalFeeToVerify === void 0 ? void 0 : conditionalFeeToVerify.stateId);
|
|
899
|
+
if (!directLaneState) {
|
|
900
|
+
return (conditionalFeeToVerify === null || conditionalFeeToVerify === void 0 ? void 0 : conditionalFeeToVerify.stateId) && ((_b = cte.cityOrigin) === null || _b === void 0 ? void 0 : _b.stateId) === (conditionalFeeToVerify === null || conditionalFeeToVerify === void 0 ? void 0 : conditionalFeeToVerify.stateId);
|
|
901
|
+
}
|
|
902
|
+
return directLaneState;
|
|
903
903
|
case exports.RatecardConditionalFeeTypeEnum.CNPJ:
|
|
904
|
-
console.log({
|
|
905
|
-
conditionalFeeToVerify: conditionalFeeToVerify,
|
|
906
|
-
});
|
|
907
904
|
return (conditionalFeeToVerify === null || conditionalFeeToVerify === void 0 ? void 0 : conditionalFeeToVerify.cnpj) && cte.recipientCNPJ === (conditionalFeeToVerify === null || conditionalFeeToVerify === void 0 ? void 0 : conditionalFeeToVerify.cnpj);
|
|
908
905
|
default:
|
|
909
906
|
return false;
|
package/build/index.js.gz
CHANGED
|
Binary file
|