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