b2m-utils 0.0.224 → 0.0.226

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.
@@ -231,6 +231,19 @@ var getRatecardFromCte = function (cte) {
231
231
  if (ratecardForRoadFTL) {
232
232
  ratecard = ratecardForRoadFTL;
233
233
  }
234
+ else {
235
+ // Rota inversa: Verificar se cidade de destino está em ratecard_origin_cities
236
+ var reverseRatecardForRoadFTL = cte.carrier.Ratecard.find(function (ratecard) {
237
+ var _a;
238
+ 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);
239
+ var isValidModal = (ratecard === null || ratecard === void 0 ? void 0 : ratecard.modalId) === cte.ratecardModalId;
240
+ var hasDestinationCity = (_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.cityDestinationId; });
241
+ return isValidDate && isValidModal && hasDestinationCity;
242
+ });
243
+ if (reverseRatecardForRoadFTL) {
244
+ ratecard = reverseRatecardForRoadFTL;
245
+ }
246
+ }
234
247
  break;
235
248
  default:
236
249
  var ratecardFromThisYear = cte.carrier.Ratecard.find(function (ratecard) {
@@ -7180,58 +7193,94 @@ var getFilteredFeesToAudit = function (_a) {
7180
7193
  };
7181
7194
 
7182
7195
  var getLaneFromRatecard = function (cte) {
7183
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
7196
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
7184
7197
  var ratecard = getRatecardFromCte(cte);
7198
+ console.log('🔍 Ratecard encontrado:', {
7199
+ id: ratecard === null || ratecard === void 0 ? void 0 : ratecard.id,
7200
+ name: ratecard === null || ratecard === void 0 ? void 0 : ratecard.name,
7201
+ modalId: ratecard === null || ratecard === void 0 ? void 0 : ratecard.modalId,
7202
+ modalName: (_a = ratecard === null || ratecard === void 0 ? void 0 : ratecard.modal) === null || _a === void 0 ? void 0 : _a.name,
7203
+ originCities: ratecard === null || ratecard === void 0 ? void 0 : ratecard.ratecard_origin_cities,
7204
+ lanesCount: (_b = ratecard === null || ratecard === void 0 ? void 0 : ratecard.RatecardLane) === null || _b === void 0 ? void 0 : _b.length
7205
+ });
7185
7206
  var cityOriginId = cte.cityOriginId, cityDestination = cte.cityDestination;
7186
- var destinationUf = (_a = cityDestination === null || cityDestination === void 0 ? void 0 : cityDestination.state) === null || _a === void 0 ? void 0 : _a.uf;
7207
+ var destinationUf = (_c = cityDestination === null || cityDestination === void 0 ? void 0 : cityDestination.state) === null || _c === void 0 ? void 0 : _c.uf;
7187
7208
  // Encontrar a ratecardRegion da cidade de destino
7188
- 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;
7189
- 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) {
7209
+ var destinationRatecardRegionId = (_e = (_d = ratecard === null || ratecard === void 0 ? void 0 : ratecard.RatecardRegionCity) === null || _d === void 0 ? void 0 : _d.find(function (regionCity) { return regionCity.cityId === (cityDestination === null || cityDestination === void 0 ? void 0 : cityDestination.id); })) === null || _e === void 0 ? void 0 : _e.ratecardRegionId;
7210
+ if (!(ratecard === null || ratecard === void 0 ? void 0 : ratecard.RatecardLane) || ((_f = ratecard === null || ratecard === void 0 ? void 0 : ratecard.RatecardLane) === null || _f === void 0 ? void 0 : _f.length) === 0) {
7211
+ console.log('❌ Nenhuma lane encontrada no ratecard');
7190
7212
  return undefined;
7191
7213
  }
7214
+ console.log('📍 Dados do CTE:', {
7215
+ cityOriginId: cityOriginId,
7216
+ cityOriginName: (_g = cte.cityOrigin) === null || _g === void 0 ? void 0 : _g.name,
7217
+ cityOriginUf: (_j = (_h = cte.cityOrigin) === null || _h === void 0 ? void 0 : _h.state) === null || _j === void 0 ? void 0 : _j.uf,
7218
+ cityDestinationId: cityDestination === null || cityDestination === void 0 ? void 0 : cityDestination.id,
7219
+ cityDestinationName: cityDestination === null || cityDestination === void 0 ? void 0 : cityDestination.name,
7220
+ destinationUf: destinationUf
7221
+ });
7192
7222
  // Lógica diferenciada por modal
7193
7223
  switch (ratecard.modalId) {
7194
7224
  case RatecardModalEnum.ROAD_DOMESTIC_FTL:
7225
+ console.log('🚛 Modal FTL detectado - iniciando busca de lane');
7195
7226
  // FTL: Verificar rota por UF de destino
7196
7227
  if (destinationUf) {
7228
+ console.log('1️⃣ Tentando rota direta por UF de destino:', destinationUf);
7197
7229
  var directLane = ratecard.RatecardLane.find(function (i) {
7198
7230
  return i.ufDestination === destinationUf && i.ratecardRegionId === destinationRatecardRegionId;
7199
7231
  });
7200
7232
  if (directLane) {
7233
+ console.log('✅ Rota direta encontrada!', directLane.id);
7201
7234
  return directLane;
7202
7235
  }
7236
+ console.log('⚠️ Rota direta não encontrada');
7203
7237
  // Fallback: Verificar se existe lane única com fees de KM e cidade origem no ratecard_origin_cities
7204
7238
  var uniqueLane = ratecard.RatecardLane[0];
7205
7239
  // Verificar se a lane tem fees com intervalo de KM
7206
- 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; });
7240
+ var hasKmFees = (_k = uniqueLane === null || uniqueLane === void 0 ? void 0 : uniqueLane.RatecardLaneFee) === null || _k === void 0 ? void 0 : _k.some(function (fee) { return fee.minKm !== null; });
7241
+ console.log('2️⃣ Verificando fallback com KM - hasKmFees:', hasKmFees);
7207
7242
  // Verificar se a cidade de origem está no ratecard_origin_cities
7208
- var hasOriginCity = (_f = ratecard.ratecard_origin_cities) === null || _f === void 0 ? void 0 : _f.some(function (originCity) { return originCity.cityId === cityOriginId; });
7243
+ var hasOriginCity = (_l = ratecard.ratecard_origin_cities) === null || _l === void 0 ? void 0 : _l.some(function (originCity) { return originCity.cityId === cityOriginId; });
7244
+ console.log(' Cidade origem em ratecard_origin_cities:', hasOriginCity);
7209
7245
  if (hasKmFees && hasOriginCity) {
7246
+ console.log('✅ Fallback com KM encontrado!');
7210
7247
  // Mockar informações para exibição no frontend
7211
7248
  return __assign(__assign({}, uniqueLane), { city: cte.cityOrigin, ufDestination: destinationUf, ratecardRegion: uniqueLane.ratecardRegion || { name: destinationUf } });
7212
7249
  }
7250
+ console.log('⚠️ Fallback com KM não aplicável');
7213
7251
  // Rota inversa FTL: Verificar se cidade de destino está em ratecard_origin_cities
7214
- var originUf_1 = (_h = (_g = cte.cityOrigin) === null || _g === void 0 ? void 0 : _g.state) === null || _h === void 0 ? void 0 : _h.uf;
7252
+ var originUf_1 = (_o = (_m = cte.cityOrigin) === null || _m === void 0 ? void 0 : _m.state) === null || _o === void 0 ? void 0 : _o.uf;
7253
+ console.log('3️⃣ Tentando rota inversa - originUf:', originUf_1);
7215
7254
  if (originUf_1) {
7216
7255
  // Verificar se existe lane com ufDestination = originUf
7217
7256
  var reverseLane = ratecard.RatecardLane.find(function (i) {
7218
7257
  return i.ufDestination === originUf_1;
7219
7258
  });
7259
+ console.log(' Lane com ufDestination =', originUf_1, ':', reverseLane ? 'encontrada' : 'não encontrada');
7220
7260
  if (reverseLane) {
7221
7261
  // Verificar se a cidade de destino está no ratecard_origin_cities
7222
- 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); });
7262
+ var hasDestinationCity = (_p = ratecard.ratecard_origin_cities) === null || _p === void 0 ? void 0 : _p.some(function (originCity) { return originCity.cityId === (cityDestination === null || cityDestination === void 0 ? void 0 : cityDestination.id); });
7263
+ console.log(' Cidade destino em ratecard_origin_cities:', hasDestinationCity);
7223
7264
  if (hasDestinationCity) {
7265
+ console.log('✅ Rota inversa encontrada!', reverseLane.id);
7224
7266
  return reverseLane;
7225
7267
  }
7226
7268
  }
7269
+ console.log('⚠️ Rota inversa não encontrada');
7227
7270
  // Fallback inverso: Lane única com cidade de destino em ratecard_origin_cities
7228
- 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); });
7271
+ console.log('4️⃣ Tentando fallback inverso com KM');
7272
+ var hasDestinationCityInOrigins = (_q = ratecard.ratecard_origin_cities) === null || _q === void 0 ? void 0 : _q.some(function (originCity) { return originCity.cityId === (cityDestination === null || cityDestination === void 0 ? void 0 : cityDestination.id); });
7273
+ console.log(' Cidade destino em ratecard_origin_cities:', hasDestinationCityInOrigins);
7274
+ console.log(' hasKmFees:', hasKmFees);
7229
7275
  if (hasKmFees && hasDestinationCityInOrigins) {
7276
+ console.log('✅ Fallback inverso com KM encontrado!');
7230
7277
  // Mockar informações para exibição no frontend (rota inversa)
7231
7278
  return __assign(__assign({}, uniqueLane), { city: cityDestination, ufDestination: originUf_1, ratecardRegion: uniqueLane.ratecardRegion || { name: originUf_1 } });
7232
7279
  }
7280
+ console.log('⚠️ Fallback inverso não aplicável');
7233
7281
  }
7234
7282
  }
7283
+ console.log('❌ Nenhuma lane FTL encontrada');
7235
7284
  break;
7236
7285
  case RatecardModalEnum.ROAD_DOMESTIC_LTL:
7237
7286
  default:
@@ -7246,9 +7295,9 @@ var getLaneFromRatecard = function (cte) {
7246
7295
  }
7247
7296
  // Se não encontrar rota direta, buscar rota inversa (Destino -> Origem)
7248
7297
  // Para isso, precisamos encontrar a UF da origem e sua ratecardRegion
7249
- var originUf_2 = (_m = (_l = cte.cityOrigin) === null || _l === void 0 ? void 0 : _l.state) === null || _m === void 0 ? void 0 : _m.uf;
7298
+ var originUf_2 = (_s = (_r = cte.cityOrigin) === null || _r === void 0 ? void 0 : _r.state) === null || _s === void 0 ? void 0 : _s.uf;
7250
7299
  // Encontrar a ratecardRegion da cidade de origem
7251
- 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;
7300
+ var originRatecardRegionId_1 = (_u = (_t = ratecard === null || ratecard === void 0 ? void 0 : ratecard.RatecardRegionCity) === null || _t === void 0 ? void 0 : _t.find(function (regionCity) { return regionCity.cityId === cityOriginId; })) === null || _u === void 0 ? void 0 : _u.ratecardRegionId;
7252
7301
  if (originUf_2) {
7253
7302
  var reverseLane = ratecard.RatecardLane.find(function (i) {
7254
7303
  return i.cityOriginId === (cityDestination === null || cityDestination === void 0 ? void 0 : cityDestination.id) && i.ufDestination === originUf_2 && i.ratecardRegionId === originRatecardRegionId_1;
Binary file