b2m-utils 0.0.216 → 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 +77 -25
- package/build/index.esm.js.gz +0 -0
- package/build/index.esm.js.map +1 -1
- package/build/index.js +77 -25
- package/build/index.js.gz +0 -0
- package/build/index.js.map +1 -1
- package/build/types/Cte/index.d.ts +3 -0
- package/package.json +1 -1
|
@@ -1,2 +1,23 @@
|
|
|
1
1
|
import { Cte } from '../../types';
|
|
2
|
-
export declare const getLaneFromRatecard: (cte: Cte) => import("../../types").RatecardLane |
|
|
2
|
+
export declare const getLaneFromRatecard: (cte: Cte) => import("../../types").RatecardLane | {
|
|
3
|
+
city: import("../../types").City | undefined;
|
|
4
|
+
ufDestination: string;
|
|
5
|
+
ratecardRegion: import("../../types").RatecardRegion | {
|
|
6
|
+
name: string;
|
|
7
|
+
};
|
|
8
|
+
id: number;
|
|
9
|
+
ratecardId: number;
|
|
10
|
+
originLocation?: string | undefined;
|
|
11
|
+
cityOriginId?: number | undefined;
|
|
12
|
+
cityOriginName?: string | undefined;
|
|
13
|
+
ufOriginName?: string | undefined;
|
|
14
|
+
ratecardRegionId?: number | undefined;
|
|
15
|
+
regionId?: number | undefined;
|
|
16
|
+
regionName?: string | undefined;
|
|
17
|
+
RatecardLaneFee?: import("../../types").RatecardLaneFee[] | undefined;
|
|
18
|
+
ratecard?: import("../../types").Ratecard | undefined;
|
|
19
|
+
freightRegion?: import("../../types").FreightRegion | undefined;
|
|
20
|
+
createdAt?: string | undefined;
|
|
21
|
+
updatedAt?: string | undefined;
|
|
22
|
+
deletedAt?: string | undefined;
|
|
23
|
+
} | undefined;
|
package/build/index.esm.js
CHANGED
|
@@ -218,12 +218,12 @@ var getRatecardFromCte = function (cte) {
|
|
|
218
218
|
var ratecard = null;
|
|
219
219
|
if (((_a = cte.carrier) === null || _a === void 0 ? void 0 : _a.Ratecard) && ((_c = (_b = cte.carrier) === null || _b === void 0 ? void 0 : _b.Ratecard) === null || _c === void 0 ? void 0 : _c.length) > 0) {
|
|
220
220
|
var today_1 = new Date();
|
|
221
|
-
switch (cte.
|
|
222
|
-
case
|
|
221
|
+
switch (cte.ratecardModalId) {
|
|
222
|
+
case RatecardModalEnum.ROAD_DOMESTIC_FTL:
|
|
223
223
|
var ratecardForRoadFTL = cte.carrier.Ratecard.find(function (ratecard) {
|
|
224
224
|
var _a;
|
|
225
225
|
var isValidDate = (ratecard === null || ratecard === void 0 ? void 0 : ratecard.startsAt) && (ratecard === null || ratecard === void 0 ? void 0 : ratecard.endsAt) && today_1 >= new Date(ratecard.startsAt) && today_1 <= new Date(ratecard.endsAt);
|
|
226
|
-
var isValidModal = (ratecard === null || ratecard === void 0 ? void 0 : ratecard.modalId) === cte.
|
|
226
|
+
var isValidModal = (ratecard === null || ratecard === void 0 ? void 0 : ratecard.modalId) === cte.ratecardModalId;
|
|
227
227
|
var hasOriginCity = (_a = ratecard === null || ratecard === void 0 ? void 0 : ratecard.ratecard_origin_cities) === null || _a === void 0 ? void 0 : _a.some(function (city) { return city.cityId === cte.cityOriginId; });
|
|
228
228
|
return isValidDate && isValidModal && hasOriginCity;
|
|
229
229
|
});
|
|
@@ -233,7 +233,7 @@ var getRatecardFromCte = function (cte) {
|
|
|
233
233
|
break;
|
|
234
234
|
default:
|
|
235
235
|
var ratecardFromThisYear = cte.carrier.Ratecard.find(function (ratecard) {
|
|
236
|
-
return (ratecard === null || ratecard === void 0 ? void 0 : ratecard.startsAt) && (ratecard === null || ratecard === void 0 ? void 0 : ratecard.endsAt) && today_1 >= new Date(ratecard.startsAt) && today_1 <= new Date(ratecard.endsAt) && (ratecard === null || ratecard === void 0 ? void 0 : ratecard.modalId) === cte.
|
|
236
|
+
return (ratecard === null || ratecard === void 0 ? void 0 : ratecard.startsAt) && (ratecard === null || ratecard === void 0 ? void 0 : ratecard.endsAt) && today_1 >= new Date(ratecard.startsAt) && today_1 <= new Date(ratecard.endsAt) && (ratecard === null || ratecard === void 0 ? void 0 : ratecard.modalId) === cte.ratecardModalId;
|
|
237
237
|
});
|
|
238
238
|
if (ratecardFromThisYear) {
|
|
239
239
|
ratecard = ratecardFromThisYear;
|
|
@@ -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
|