В массив записей надо добавить признак "metodCalc", который заполняется следующим образом:
если в Контрагенте поле "ID ELT ОСАГО" evo_id_elt_osago содержит данные, то указывается "ELT"
если в Контрагенте поле "ID Наш расчет ОСАГО" evo_osago_id содержит данные, то указывается "CRM"
иначе указывается null
"osago": {
"id": "YUGORIA",
"key": "a48b3d07-7b40-eb11-bae6-00155d088a12",
"message": "",
"name": "ГСК ЮГОРИЯ",
"numCalc": 3890624,
"requestId": "",
"skCalcId": "0",
"status": null,
"sum": 28243.98,
"totalFranchise": 0
"methodCalc": CRM
В момент нажатия кнопки "Расчет ОСАГО по ELT" (отдельную кнопку не делаем, т.к. проверки на расчет ЕЛТ должны и тут действовать) необходимо добавить развилку:
если у записи "metodCalc": ELT, то отправляется запрос в ELT по текущей логике
если у записи "metodCalc": CRM, то ищется запись Типа дополнительных продуктов evo_addproduct_type, у которой:
"Статус" statecode = активная
И "Тип продукта" evo_product_type = ОСАГО 100 000 008
И "Отображать для расчета в ЛК" evo_visible_calc = Да
И "Провайдер услуг" evo_accountid = "key" данной записи
И "Начало действия" evo_datefrom меньше или равно текущей даты
И "Окончание действия" evo_dateto больше или равно текущей даты
И "Категория ТС" evo_category = значению из поля Категория ТС на форме (значение "Не выбрано" на форме должно быть равно "пусто" в поле карточки)
И "Min мощность, л.с." evo_min_power меньше или равна значению из поля Мощность на форме
И "Max мощность, л.с." evo_max_power больше или равна значению из поля Мощность на форме
И "Min количество мест" evo_min_seats_count меньше или равна значению из поля Количество мест на форме
И "Max количество мест" evo_max_seats_count если больше или равна значению из поля Количество мест на форме
И "Min Разрешенная макс.масса, кг" evo_min_mass меньше или равна значению из поля Разрешенная макс.масса на форме
И "Max Разрешенная макс.масса, кг" evo_max_mass больше или равна значению из поля Разрешенная макс.масса на форме
Если найдена одна запись,то в массиве записываются значения:
"numCalc" = значение поля evo_addproduct_type.evo_id ID,
"sum"= evo_addproduct_type.evo_graph_price_withoutnds Стоимость (закладываем в график), без НДС, руб.,
"totalFranchise" = 0
Если не найдена такая запись, то в массиве записываются значения:
"numCalc" = null,
"sum"= 0.00,
"totalFranchise" = 0
Если найдено несколько записей, то берем последнюю по дате создания и по ней записываем в массив значения:
"numCalc" = значение поля evo_addproduct_type.evo_id ID,
"sum"= evo_addproduct_type.evo_graph_price_withoutnds Стоимость (закладываем в график), без НДС, руб.,
"totalFranchise" = 0
This is a Next.js project bootstrapped with create-next-app.
Getting Started
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Inter, a custom Google Font.
Learn More
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
Deploy on Vercel
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.