b2m-utils 0.0.228 → 0.0.229

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.
@@ -215,7 +215,7 @@ var TrackProcessProviderTypeEnum;
215
215
  })(TrackProcessProviderTypeEnum || (TrackProcessProviderTypeEnum = {}));
216
216
 
217
217
  var getRatecardFromCte = function (cte) {
218
- var _a, _b, _c;
218
+ var _a, _b, _c, _d, _e, _f, _g;
219
219
  var ratecard = null;
220
220
  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) {
221
221
  var today_1 = new Date();
@@ -246,12 +246,38 @@ var getRatecardFromCte = function (cte) {
246
246
  }
247
247
  break;
248
248
  default:
249
+ // LTL: Busca principal validando rota através de RatecardLane
250
+ var destinationUf_1 = (_e = (_d = cte.cityDestination) === null || _d === void 0 ? void 0 : _d.state) === null || _e === void 0 ? void 0 : _e.uf;
251
+ var originUf_1 = (_g = (_f = cte.cityOrigin) === null || _f === void 0 ? void 0 : _f.state) === null || _g === void 0 ? void 0 : _g.uf;
249
252
  var ratecardFromThisYear = cte.carrier.Ratecard.find(function (ratecard) {
250
- 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;
253
+ var _a;
254
+ 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);
255
+ var isValidModal = (ratecard === null || ratecard === void 0 ? void 0 : ratecard.modalId) === cte.ratecardModalId;
256
+ // Verificar se existe lane com a rota (cityOriginId -> ufDestination)
257
+ var hasDirectLane = (_a = ratecard === null || ratecard === void 0 ? void 0 : ratecard.RatecardLane) === null || _a === void 0 ? void 0 : _a.some(function (lane) {
258
+ return lane.cityOriginId === cte.cityOriginId && lane.ufDestination === destinationUf_1;
259
+ });
260
+ return isValidDate && isValidModal && hasDirectLane;
251
261
  });
252
262
  if (ratecardFromThisYear) {
253
263
  ratecard = ratecardFromThisYear;
254
264
  }
265
+ else {
266
+ // Rota reversa: Verificar se existe lane com rota inversa (cityDestinationId -> originUf)
267
+ var reverseRatecardFromThisYear = cte.carrier.Ratecard.find(function (ratecard) {
268
+ var _a;
269
+ 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);
270
+ var isValidModal = (ratecard === null || ratecard === void 0 ? void 0 : ratecard.modalId) === cte.ratecardModalId;
271
+ // Verificar se existe lane com a rota inversa (cityDestinationId -> originUf)
272
+ var hasReverseLane = (_a = ratecard === null || ratecard === void 0 ? void 0 : ratecard.RatecardLane) === null || _a === void 0 ? void 0 : _a.some(function (lane) {
273
+ return lane.cityOriginId === cte.cityDestinationId && lane.ufDestination === originUf_1;
274
+ });
275
+ return isValidDate && isValidModal && hasReverseLane;
276
+ });
277
+ if (reverseRatecardFromThisYear) {
278
+ ratecard = reverseRatecardFromThisYear;
279
+ }
280
+ }
255
281
  break;
256
282
  }
257
283
  }
Binary file