b2m-utils 0.0.217 → 0.0.218
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/getLaneFromRatecard/index.d.ts +22 -1
- package/build/index.esm.js +73 -21
- package/build/index.esm.js.gz +0 -0
- package/build/index.esm.js.map +1 -1
- package/build/index.js +73 -21
- package/build/index.js.gz +0 -0
- package/build/index.js.map +1 -1
- package/package.json +1 -1
package/build/index.js
CHANGED
|
@@ -7159,33 +7159,85 @@ var getFilteredFeesToAudit = function (_a) {
|
|
|
7159
7159
|
};
|
|
7160
7160
|
|
|
7161
7161
|
var getLaneFromRatecard = function (cte) {
|
|
7162
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
7162
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
7163
7163
|
var ratecard = getRatecardFromCte(cte);
|
|
7164
7164
|
var cityOriginId = cte.cityOriginId, cityDestination = cte.cityDestination;
|
|
7165
7165
|
var destinationUf = (_a = cityDestination === null || cityDestination === void 0 ? void 0 : cityDestination.state) === null || _a === void 0 ? void 0 : _a.uf;
|
|
7166
7166
|
// Encontrar a ratecardRegion da cidade de destino
|
|
7167
7167
|
var destinationRatecardRegionId = (_c = (_b = ratecard === null || ratecard === void 0 ? void 0 : ratecard.RatecardRegionCity) === null || _b === void 0 ? void 0 : _b.find(function (regionCity) { return regionCity.cityId === (cityDestination === null || cityDestination === void 0 ? void 0 : cityDestination.id); })) === null || _c === void 0 ? void 0 : _c.ratecardRegionId;
|
|
7168
|
-
if ((ratecard === null || ratecard === void 0 ? void 0 : ratecard.RatecardLane)
|
|
7169
|
-
|
|
7170
|
-
|
|
7171
|
-
|
|
7172
|
-
|
|
7173
|
-
|
|
7174
|
-
|
|
7175
|
-
|
|
7176
|
-
|
|
7177
|
-
|
|
7178
|
-
|
|
7179
|
-
|
|
7180
|
-
|
|
7181
|
-
|
|
7182
|
-
|
|
7183
|
-
|
|
7184
|
-
|
|
7185
|
-
|
|
7186
|
-
|
|
7168
|
+
if (!(ratecard === null || ratecard === void 0 ? void 0 : ratecard.RatecardLane) || ((_d = ratecard === null || ratecard === void 0 ? void 0 : ratecard.RatecardLane) === null || _d === void 0 ? void 0 : _d.length) === 0) {
|
|
7169
|
+
return undefined;
|
|
7170
|
+
}
|
|
7171
|
+
// Lógica diferenciada por modal
|
|
7172
|
+
switch (ratecard.modalId) {
|
|
7173
|
+
case exports.RatecardModalEnum.ROAD_DOMESTIC_FTL:
|
|
7174
|
+
// FTL: Verificar rota por UF de destino
|
|
7175
|
+
if (destinationUf) {
|
|
7176
|
+
var directLane = ratecard.RatecardLane.find(function (i) {
|
|
7177
|
+
return i.ufDestination === destinationUf && i.ratecardRegionId === destinationRatecardRegionId;
|
|
7178
|
+
});
|
|
7179
|
+
if (directLane) {
|
|
7180
|
+
return directLane;
|
|
7181
|
+
}
|
|
7182
|
+
// Fallback: Verificar se existe lane única com fees de KM e cidade origem no ratecard_origin_cities
|
|
7183
|
+
var uniqueLane = ratecard.RatecardLane[0];
|
|
7184
|
+
// Verificar se a lane tem fees com intervalo de KM
|
|
7185
|
+
var hasKmFees = (_e = uniqueLane === null || uniqueLane === void 0 ? void 0 : uniqueLane.RatecardLaneFee) === null || _e === void 0 ? void 0 : _e.some(function (fee) { return fee.minKm !== null; });
|
|
7186
|
+
// Verificar se a cidade de origem está no ratecard_origin_cities
|
|
7187
|
+
var hasOriginCity = (_f = ratecard.ratecard_origin_cities) === null || _f === void 0 ? void 0 : _f.some(function (originCity) { return originCity.cityId === cityOriginId; });
|
|
7188
|
+
if (hasKmFees && hasOriginCity) {
|
|
7189
|
+
// Mockar informações para exibição no frontend
|
|
7190
|
+
return __assign(__assign({}, uniqueLane), { city: cte.cityOrigin, ufDestination: destinationUf, ratecardRegion: uniqueLane.ratecardRegion || { name: destinationUf } });
|
|
7191
|
+
}
|
|
7192
|
+
// Rota inversa FTL: Verificar se cidade de destino está em ratecard_origin_cities
|
|
7193
|
+
var originUf_1 = (_h = (_g = cte.cityOrigin) === null || _g === void 0 ? void 0 : _g.state) === null || _h === void 0 ? void 0 : _h.uf;
|
|
7194
|
+
if (originUf_1) {
|
|
7195
|
+
// Verificar se existe lane com ufDestination = originUf
|
|
7196
|
+
var reverseLane = ratecard.RatecardLane.find(function (i) {
|
|
7197
|
+
return i.ufDestination === originUf_1;
|
|
7198
|
+
});
|
|
7199
|
+
if (reverseLane) {
|
|
7200
|
+
// Verificar se a cidade de destino está no ratecard_origin_cities
|
|
7201
|
+
var hasDestinationCity = (_j = ratecard.ratecard_origin_cities) === null || _j === void 0 ? void 0 : _j.some(function (originCity) { return originCity.cityId === (cityDestination === null || cityDestination === void 0 ? void 0 : cityDestination.id); });
|
|
7202
|
+
if (hasDestinationCity) {
|
|
7203
|
+
return reverseLane;
|
|
7204
|
+
}
|
|
7205
|
+
}
|
|
7206
|
+
// Fallback inverso: Lane única com cidade de destino em ratecard_origin_cities
|
|
7207
|
+
var hasDestinationCityInOrigins = (_k = ratecard.ratecard_origin_cities) === null || _k === void 0 ? void 0 : _k.some(function (originCity) { return originCity.cityId === (cityDestination === null || cityDestination === void 0 ? void 0 : cityDestination.id); });
|
|
7208
|
+
if (hasKmFees && hasDestinationCityInOrigins) {
|
|
7209
|
+
// Mockar informações para exibição no frontend (rota inversa)
|
|
7210
|
+
return __assign(__assign({}, uniqueLane), { city: cityDestination, ufDestination: originUf_1, ratecardRegion: uniqueLane.ratecardRegion || { name: originUf_1 } });
|
|
7211
|
+
}
|
|
7212
|
+
}
|
|
7187
7213
|
}
|
|
7188
|
-
|
|
7214
|
+
break;
|
|
7215
|
+
case exports.RatecardModalEnum.ROAD_DOMESTIC_LTL:
|
|
7216
|
+
default:
|
|
7217
|
+
// LTL: Lógica original (rota direta + inversa)
|
|
7218
|
+
if (cityOriginId && destinationUf) {
|
|
7219
|
+
// Primeiro, buscar rota direta (Origem -> Destino)
|
|
7220
|
+
var directLane = ratecard.RatecardLane.find(function (i) {
|
|
7221
|
+
return i.cityOriginId === cityOriginId && i.ufDestination === destinationUf && i.ratecardRegionId === destinationRatecardRegionId;
|
|
7222
|
+
});
|
|
7223
|
+
if (directLane) {
|
|
7224
|
+
return directLane;
|
|
7225
|
+
}
|
|
7226
|
+
// Se não encontrar rota direta, buscar rota inversa (Destino -> Origem)
|
|
7227
|
+
// Para isso, precisamos encontrar a UF da origem e sua ratecardRegion
|
|
7228
|
+
var originUf_2 = (_m = (_l = cte.cityOrigin) === null || _l === void 0 ? void 0 : _l.state) === null || _m === void 0 ? void 0 : _m.uf;
|
|
7229
|
+
// Encontrar a ratecardRegion da cidade de origem
|
|
7230
|
+
var originRatecardRegionId_1 = (_p = (_o = ratecard === null || ratecard === void 0 ? void 0 : ratecard.RatecardRegionCity) === null || _o === void 0 ? void 0 : _o.find(function (regionCity) { return regionCity.cityId === cityOriginId; })) === null || _p === void 0 ? void 0 : _p.ratecardRegionId;
|
|
7231
|
+
if (originUf_2) {
|
|
7232
|
+
var reverseLane = ratecard.RatecardLane.find(function (i) {
|
|
7233
|
+
return i.cityOriginId === (cityDestination === null || cityDestination === void 0 ? void 0 : cityDestination.id) && i.ufDestination === originUf_2 && i.ratecardRegionId === originRatecardRegionId_1;
|
|
7234
|
+
});
|
|
7235
|
+
if (reverseLane) {
|
|
7236
|
+
return reverseLane;
|
|
7237
|
+
}
|
|
7238
|
+
}
|
|
7239
|
+
}
|
|
7240
|
+
break;
|
|
7189
7241
|
}
|
|
7190
7242
|
return undefined;
|
|
7191
7243
|
};
|
package/build/index.js.gz
CHANGED
|
Binary file
|