b2m-utils 0.0.300 → 0.0.302
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/functions/index.d.ts +1 -0
- package/build/functions/renderChargedValue/index.d.ts +20 -0
- package/build/index.esm.js +75 -1
- package/build/index.esm.js.gz +0 -0
- package/build/index.esm.js.map +1 -1
- package/build/index.js +75 -0
- package/build/index.js.gz +0 -0
- package/build/index.js.map +1 -1
- package/build/types/Ratecard/index.d.ts +2 -0
- package/package.json +1 -1
|
@@ -21,6 +21,7 @@ export * from './getRatecardFromCte';
|
|
|
21
21
|
export * from './getRouteDeliveryTimeFromFreight';
|
|
22
22
|
export * from './getRouteOnTimeFromFreight';
|
|
23
23
|
export * from './normalizeString';
|
|
24
|
+
export * from './renderChargedValue';
|
|
24
25
|
export * from './verifyConditionalFee';
|
|
25
26
|
export * from './verifyDefaultFees';
|
|
26
27
|
export * from './formatDateString';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Cte } from "../../types";
|
|
2
|
+
/**
|
|
3
|
+
* Renderiza o valor cobrado por uma transportadora considerando configurações do ratecard
|
|
4
|
+
*
|
|
5
|
+
* @param value - Valor numérico a ser renderizado
|
|
6
|
+
* @param cte - Objeto CTE contendo informações do ratecard e suas configurações
|
|
7
|
+
* @param feeName - Nome da fee/tarifa (opcional, para lógicas específicas por tipo)
|
|
8
|
+
* @returns String formatada em moeda ou com informações adicionais baseadas nas configs
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* // Valor simples sem configurações especiais
|
|
13
|
+
* renderChargedValue(150.50, cte) // "R$ 150,50"
|
|
14
|
+
*
|
|
15
|
+
* // Valor com rateio de ICMS habilitado
|
|
16
|
+
* renderChargedValue(150.50, cteWithIcmsApportionment, 'ICMS') // "R$ 150,50 (rateado)"
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare const renderChargedValue: (value: number | string, cte?: Cte, feeName?: string) => string;
|
|
20
|
+
export default renderChargedValue;
|
package/build/index.esm.js
CHANGED
|
@@ -7971,6 +7971,80 @@ var normalizeString = function (str) {
|
|
|
7971
7971
|
return String(str).normalize("NFD").replace(/[\u0300-\u036f]/g, "");
|
|
7972
7972
|
};
|
|
7973
7973
|
|
|
7974
|
+
/**
|
|
7975
|
+
* Renderiza o valor cobrado por uma transportadora considerando configurações do ratecard
|
|
7976
|
+
*
|
|
7977
|
+
* @param value - Valor numérico a ser renderizado
|
|
7978
|
+
* @param cte - Objeto CTE contendo informações do ratecard e suas configurações
|
|
7979
|
+
* @param feeName - Nome da fee/tarifa (opcional, para lógicas específicas por tipo)
|
|
7980
|
+
* @returns String formatada em moeda ou com informações adicionais baseadas nas configs
|
|
7981
|
+
*
|
|
7982
|
+
* @example
|
|
7983
|
+
* ```ts
|
|
7984
|
+
* // Valor simples sem configurações especiais
|
|
7985
|
+
* renderChargedValue(150.50, cte) // "R$ 150,50"
|
|
7986
|
+
*
|
|
7987
|
+
* // Valor com rateio de ICMS habilitado
|
|
7988
|
+
* renderChargedValue(150.50, cteWithIcmsApportionment, 'ICMS') // "R$ 150,50 (rateado)"
|
|
7989
|
+
* ```
|
|
7990
|
+
*/
|
|
7991
|
+
var renderChargedValue = function (value, cte, feeName) {
|
|
7992
|
+
var _a;
|
|
7993
|
+
var numericValue = typeof value === 'string' ? parseFloat(value) : value;
|
|
7994
|
+
console.log('🔍 renderChargedValue - feeName:', feeName, 'value:', numericValue);
|
|
7995
|
+
if (isNaN(numericValue)) {
|
|
7996
|
+
return 'R$ 0,00';
|
|
7997
|
+
}
|
|
7998
|
+
// Converter para moeda
|
|
7999
|
+
var formattedValue = convertNumberToCurrency(numericValue, 'pt-br');
|
|
8000
|
+
// Se não houver CTE ou ratecard, retornar apenas o valor formatado
|
|
8001
|
+
if (!cte) {
|
|
8002
|
+
console.log('⚠️ CTE não fornecido');
|
|
8003
|
+
return formattedValue;
|
|
8004
|
+
}
|
|
8005
|
+
// Buscar ratecard (pode estar em Ratecard ou ratecard)
|
|
8006
|
+
var ratecard = getRatecardFromCte(cte);
|
|
8007
|
+
console.log('🔍 Ratecard encontrado:', ratecard ? 'SIM' : 'NÃO');
|
|
8008
|
+
if (!ratecard || !ratecard.ratecard_config_values) {
|
|
8009
|
+
console.log('⚠️ Ratecard ou ratecard_config_values não encontrado');
|
|
8010
|
+
console.log(' - ratecard:', !!ratecard);
|
|
8011
|
+
console.log(' - ratecard_config_values:', ratecard === null || ratecard === void 0 ? void 0 : ratecard.ratecard_config_values);
|
|
8012
|
+
return formattedValue;
|
|
8013
|
+
}
|
|
8014
|
+
// Buscar configurações do ratecard
|
|
8015
|
+
var configs = ratecard.ratecard_config_values;
|
|
8016
|
+
console.log('✅ Configurações encontradas:', configs.length);
|
|
8017
|
+
// Verificar se o rateio de ICMS está habilitado
|
|
8018
|
+
var icmsApportionmentConfig = configs.find(function (config) { var _a; return ((_a = config.ratecard_configs) === null || _a === void 0 ? void 0 : _a.configKey) === RatecardConfigKeyEnum.ICMS_APPORTIONMENT_ENABLED; });
|
|
8019
|
+
console.log('🔍 Config ICMS encontrada:', icmsApportionmentConfig);
|
|
8020
|
+
console.log(' - configKey:', (_a = icmsApportionmentConfig === null || icmsApportionmentConfig === void 0 ? void 0 : icmsApportionmentConfig.ratecard_configs) === null || _a === void 0 ? void 0 : _a.configKey);
|
|
8021
|
+
console.log(' - configValue:', icmsApportionmentConfig === null || icmsApportionmentConfig === void 0 ? void 0 : icmsApportionmentConfig.configValue);
|
|
8022
|
+
var isIcmsApportionmentEnabled = (icmsApportionmentConfig === null || icmsApportionmentConfig === void 0 ? void 0 : icmsApportionmentConfig.configValue) === 'true';
|
|
8023
|
+
console.log('🔍 ICMS rateio habilitado:', isIcmsApportionmentEnabled);
|
|
8024
|
+
console.log('🔍 feeName contém ICMS:', feeName === null || feeName === void 0 ? void 0 : feeName.toUpperCase().includes('ICMS'));
|
|
8025
|
+
// Se for ICMS e o rateio estiver habilitado, calcular e mostrar o rateio
|
|
8026
|
+
if (isIcmsApportionmentEnabled && (feeName === null || feeName === void 0 ? void 0 : feeName.toUpperCase().includes('ICMS'))) {
|
|
8027
|
+
console.log('✅ Aplicando rateio de ICMS');
|
|
8028
|
+
// Obter a alíquota de ICMS do CTE (icmsIncidence já vem em decimal, ex: 0.12 para 12%)
|
|
8029
|
+
var icmsRate = cte.icmsIncidence ? Number(cte.icmsIncidence) : 0.12; // Default 12%
|
|
8030
|
+
console.log(' - icmsRate:', icmsRate);
|
|
8031
|
+
// Calcular o ICMS baseado no valor cobrado
|
|
8032
|
+
// A função calculateIcms espera um array de valores e a alíquota
|
|
8033
|
+
var icmsResult = calculateIcms([numericValue], icmsRate);
|
|
8034
|
+
console.log(' - icmsResult.total:', icmsResult.total);
|
|
8035
|
+
// Valor cobrado menos o ICMS calculado
|
|
8036
|
+
var valueAfterIcms = numericValue - icmsResult.total;
|
|
8037
|
+
var formattedValueAfterIcms = convertNumberToCurrency(valueAfterIcms, 'pt-br');
|
|
8038
|
+
var formattedIcms = convertNumberToCurrency(icmsResult.total, 'pt-br');
|
|
8039
|
+
var result = "".concat(formattedValue, " - ").concat(formattedIcms, " = ").concat(formattedValueAfterIcms, " (rateado)");
|
|
8040
|
+
console.log(' - resultado:', result);
|
|
8041
|
+
return result;
|
|
8042
|
+
}
|
|
8043
|
+
// Aqui você pode adicionar outras lógicas baseadas em outras configurações
|
|
8044
|
+
// Por exemplo, se houver configuração de arredondamento, aplicar aqui
|
|
8045
|
+
return formattedValue;
|
|
8046
|
+
};
|
|
8047
|
+
|
|
7974
8048
|
var verifyDefaultFees = function (laneFee, conditionalFee) {
|
|
7975
8049
|
var _a, _b;
|
|
7976
8050
|
var defaultConditionalFees = [
|
|
@@ -8200,5 +8274,5 @@ var isTariffMatch = function (chargedName, auditedTariffName) {
|
|
|
8200
8274
|
});
|
|
8201
8275
|
};
|
|
8202
8276
|
|
|
8203
|
-
export { ApplicationColumnNameEnum, ApplicationEnum, CarrierDocumentConfigTypeKeyEnum, CountryEnum, CteStatusEnum, CteVehicleTypeEnum, CurrencyEnum, DocumentTypeEnum, DomainConfigurationEnum, DomainTypeEnum, EXPORT_CTE_COLUMN_LABELS, EXPORT_CTE_TYPE_LABELS, ExportCteColumn, ExportCteTypeEnum, FeeCalculationTypeEnum, FeeCategoryEnum, FeeEnum, FreightRegionEnum, ImapHostsEnum, InputTypeEnum, ModalEnum, NotificationTypeEnum, PermissionEnum, RatecardConditionalFeeTypeEnum, RatecardConfigKeyEnum, RatecardFeeConfigKeyEnum, RatecardFeeConfigTypeEnum, RatecardModalEnum, SlaRegionEnum, SpotStatusEnum, TARIFF_MAPPING, TrackProcessProviderTypeEnum, addTariffMapping, applyRedeliveryMultiplier, buildDynamicMapping, calculateFee, calculateFeesTotal, calculateIcms, calculateTotalPercentageFees, convertNumberToCurrency, filterSiblingFees, findAuditedMatch, formatDateString, getAllFeesForCalculation, getAuditTotalFromCte, getConfigurationFromDomain, getContractFromFreight, getContractRouteFromFreight, getCookies, getCteDateRange, getCteLane, getCteLaneFeesTotal, getCtesFeesResult, getDataFromToken, getFilteredFeesToAudit, getFormattedFreightPlaceName, getLaneFeesToCalc, getLaneFromRatecard, getNormalizedCityName, getRatecardFromCte, getRouteDeliveryTimeFromFreight, getRouteOnTimeFromFreight, getTariffVariations, isTariffMatch, matchAllTariffs, normalizeString, parseAliases, setFormattedDatesInObjects, verifyConditionalFee, verifyDefaultFees };
|
|
8277
|
+
export { ApplicationColumnNameEnum, ApplicationEnum, CarrierDocumentConfigTypeKeyEnum, CountryEnum, CteStatusEnum, CteVehicleTypeEnum, CurrencyEnum, DocumentTypeEnum, DomainConfigurationEnum, DomainTypeEnum, EXPORT_CTE_COLUMN_LABELS, EXPORT_CTE_TYPE_LABELS, ExportCteColumn, ExportCteTypeEnum, FeeCalculationTypeEnum, FeeCategoryEnum, FeeEnum, FreightRegionEnum, ImapHostsEnum, InputTypeEnum, ModalEnum, NotificationTypeEnum, PermissionEnum, RatecardConditionalFeeTypeEnum, RatecardConfigKeyEnum, RatecardFeeConfigKeyEnum, RatecardFeeConfigTypeEnum, RatecardModalEnum, SlaRegionEnum, SpotStatusEnum, TARIFF_MAPPING, TrackProcessProviderTypeEnum, addTariffMapping, applyRedeliveryMultiplier, buildDynamicMapping, calculateFee, calculateFeesTotal, calculateIcms, calculateTotalPercentageFees, convertNumberToCurrency, filterSiblingFees, findAuditedMatch, formatDateString, getAllFeesForCalculation, getAuditTotalFromCte, getConfigurationFromDomain, getContractFromFreight, getContractRouteFromFreight, getCookies, getCteDateRange, getCteLane, getCteLaneFeesTotal, getCtesFeesResult, getDataFromToken, getFilteredFeesToAudit, getFormattedFreightPlaceName, getLaneFeesToCalc, getLaneFromRatecard, getNormalizedCityName, getRatecardFromCte, getRouteDeliveryTimeFromFreight, getRouteOnTimeFromFreight, getTariffVariations, isTariffMatch, matchAllTariffs, normalizeString, parseAliases, renderChargedValue, setFormattedDatesInObjects, verifyConditionalFee, verifyDefaultFees };
|
|
8204
8278
|
//# sourceMappingURL=index.esm.js.map
|
package/build/index.esm.js.gz
CHANGED
|
Binary file
|