Запросы по сети
Запросы по сети: объём, длина, диаметры, теплопотребление — как запросы Zap десктопа.
Возможности
- «Объём (Zap1)» — объём воды в трубопроводах, м³.
- «Длина (Zap2)» — длина теплопроводов: всего, по подаче и по обратке, м.
- «По диаметрам (Zap7)» — длина по условным диаметрам и итог.
- «Диаметры и прокладка (Zap7_1)» — та же длина, разложенная по способам прокладки: канальная, бесканальная, надземная и другие из справочника.
- «Теплопотребление (Zap3)», «Закрытые системы (Zap4)», «Открытые системы (Zap5)» — суммы полученных нагрузок (Гкал/ч) и расходов сетевой воды (т/ч) потребителей по результатам расчёта.
- «Закрытые потребители (Zap6)» — список отключённых потребителей; щелчок по строке показывает узел на карте.
- Запрос по одному фрагменту, по нескольким или по всей сети.
Как это работает
Окно открывается с фрагментами карты: выбранный фрагмент, а если его нет — все видимые. Фрагменты можно добавить или убрать в поле «Фрагмент». Поле пустое — запрос идёт по всей сети города (подсказка «Фрагмент не выбран — вся сеть (может быть медленно)»).
Участки отбираются как в десктопе: по фрагменту начального узла участка. Участок, который начинается в другом фрагменте, в итог не войдёт. Удалённые участки и участки внутренних схем узлов не считаются.
Признак линии решает, сколько труб у участка: 1 — подача и обратка в одной линии, 2 и 4 — подача, 3 и 5 — обратка.
- Объём: V = π/4 · (Dвн/1000)² · L, для линий с признаком 1 — вдвое. Dвн — внутренний диаметр из паспорта, мм; L — длина, м.
- Длина подачи — сумма длин линий с признаком 1, 2, 4; обратки — 1, 3, 5. Всего — подача + обратка.
- По диаметрам: длина × 2 для признака 1, группировка по условному диаметру паспорта. Итог совпадает с «Всего» из Zap2.
Теплопотребление — суммы по pt_out последнего расчёта каждого фрагмента (с наибольшим номером): нагрузки на отопление (зависимое и независимое присоединение), вентиляцию, ГВ в открытых системах из подающего и обратного, рециркуляцию, ГВ в закрытых системах — и расходы по тем же статьям. Потребитель относится к открытой системе, если у него есть водоразбор из подачи или обратки (сумма расходов a12 + a13 больше 0), иначе — к закрытой. Фрагмент без расчёта даёт нули.
Закрытые потребители — обобщённые и отдельные потребители, у которых состояние не «включён» (пустое состояние тоже считается закрытым). Здесь фрагмент — у узла потребителя.
Запросы только читают данные и ничего не сохраняют.
Что нужно для работы
- Паспорта участков с длиной, внутренним и условным диаметром, способом прокладки.
- Для Zap3–Zap5 — гидравлический расчёт фрагментов.
- Окно доступно всем, кто вошёл.
Шаги
Откройте «Инструменты» и наберите в поиске «Запросы по сети» — пункт выделен рамкой.

Нажмите пункт — откроется окно.

Проверьте фрагмент и нажмите кнопку запроса, например «По диаметрам (Zap7)»: ниже появится таблица с итогом — здесь длина теплопроводов по условным диаметрам.

Примеры
Фрагмент 74 «Маг. сети для расчёта НС» (копия базы Алматы):
- Zap1: 121 906,4 м³.
- Zap2: всего 394 839,6 м, подача 197 263,2 м, обратка 197 576,4 м.
- Zap7: 18 диаметров от 40 до 1400 мм. Больше всего Ду 500 — 67 819,7 м, Ду 1000 — 58 474,2 м, Ду 800 — 50 800,9 м. Итого 394 839,6 м.
- Zap7_1: у Ду 300 канальная прокладка — 36 423,8 м, бесканальная — 3131 м, надземная — 1745,6 м.
- Zap3 по расчёту −25 °C: 958 потребителей; нагрузка на отопление при зависимом присоединении — 2007,8 Гкал/ч, на ГВ в открытых системах из подающего — 569,7 Гкал/ч. Zap4 — 44 потребителя, Zap5 — 914.
- Zap6: закрытых потребителей нет («Нет закрытых потребителей»).
Если не получается
- Таблица пустая — в выбранных фрагментах нет таких объектов. Очистите поле «Фрагмент», чтобы считать по всей сети.
- В Zap3–Zap5 одни нули, «потребителей: 0» — у фрагмента нет расчёта; выполните расчёт.
- Цифры меньше ожидаемых — часть участков начинается в соседнем фрагменте; добавьте его в поле «Фрагмент».
- Запрос по всей сети идёт долго — выберите фрагменты.
- В строке Zap6 щелчок не переводит карту — у узла нет координат.
- Красное сообщение под кнопками — ошибка API с причиной; повторите запрос.
Для администратора
- Данные:
linesobj,heatpipesections,nodes,tubingtypes,calculation,pt_out,realconsumers,generalizedconsumers. - Маршруты не проверяют роль сами: при выключенном
AUTH_REQUIRED_GETзапросы доступны без входа.
Для разработчика
- API:
GET /api/network-queries/volume,/length,/length-by-diameter(limitдо 1000),/length-by-diameter-laying,/heat-consumption(system=closed|open),/closed-consumers; фрагменты —fragments=74,75илиfragment_id. Код —routers/analysis.py,database/network_queries.py. - Веб:
components/NetworkQueriesDialog.vue, строки теплопотребления —utils/heatConsumption.ts, список фрагментов —utils/fragmentScope.ts. - MCP: инструмент
network_statistics(без разделения Zap4/Zap5). - Тесты:
tests/utils/heatConsumption.spec.ts,tests/utils/fragmentScope.spec.ts; API —test_zap6_closed.py,test_backend_contracts.py.
