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