Дубликаты грузов

Проверка на дубликаты

Грузы считаются дубликатами в следующем случае:

  1. Имеют одинаковые параметры: Loading.CityId, Unloading.CityId
  2. Имеют одинаковые или отсутствующие параметры: Cargo.Weight, Cargo.Volume, Payment.MoneyType, Transport.CarType
  3. Параметры Loading.Street и Unloading.Street совпадают, если не учитывать пробелы справа и слева
  4. Параметры DateType равны между собой и не равны 0 или 1 у обоих грузов ИЛИ они имеют одинаковый параметр FirstDate и у load2 DateType = 1 или 0
  5. Имеют одинаковый параметр Cargo.CargoTypeId
  6. Имеют одинаковый параметр Note(возможен отсутствие Note у обоих грузов) или одно из примечаний является подстрокой второго ИЛИ имеют одинаковые параметры ставки Payment.RateSum, Payment.SumWithNDS, Payment.SumWithoutNDS и Payment.CurrencyID, при этом не выставлен параметр "Запрос ставки" ("Запрос ставки" приравнен к разным ставкам)
  7. Имеют одинаковый первый CityId из ExtraPoints, который имеет PointType = 3(таможня)
  8. Имеют одинаковые списки дополнительных пунктов маршрута ExtraPoints или одинаковые параметры ставки Payment.RateSum, Payment.SumWithNDS, Payment.SumWithoutNDS и Payment.CurrencyID, при этом не выставлен параметр "Запрос ставки" ("Запрос ставки" приравнен к разным ставкам)
  9. Грузы имеют одинаковые параметры оплаты: у них совпадают параметры Torg, PrepayPercentEnabled, DirectContract, OnUnloading, PayDaysEnabled.

Если груз оказался дубликатом, то новый груз добавлен не будет и будет отправлена ошибка 409 Conflict.