Контракт в коде: КИО по нормативу, 43 события WS по шести союзам направлений, таймеры ГОСТ, таксономия E1–E6, шесть компетенций радара. make types гоняет их через JSON Schema в generated.ts, тест ловит забытую регенерацию. Стенд: docker compose postgres + backend, health отвечает, база досягаема из контейнера бэкенда. Makefile не врёт — нереализованные цели падают и называют карточку, которая их закроет. frontend/.npmrc: под WSL2 npm install зависает на дефолтных 15 сокетах.
64 lines
2 KiB
Python
64 lines
2 KiB
Python
"""Классификаторы ДДС, типы происшествий, уровни сложности.
|
||
|
||
Норматив: docs/spec/NORMATIVES.md#классификаторы-ддс
|
||
"""
|
||
|
||
from enum import StrEnum
|
||
|
||
|
||
class DDSCode(StrEnum):
|
||
"""Дежурно-диспетчерская служба, в которую уходит карточка."""
|
||
|
||
FIRE = "01"
|
||
POLICE = "02"
|
||
MEDICAL = "03"
|
||
OTHER = "04"
|
||
GKH = "gkh"
|
||
|
||
|
||
class IncidentType(StrEnum):
|
||
"""Тип происшествия. Совпадает с полем `type` сценария."""
|
||
|
||
FIRE = "fire"
|
||
MEDICAL = "medical"
|
||
POLICE = "police"
|
||
OTHER = "other"
|
||
GKH = "gkh"
|
||
ERA_GLONASS = "era_glonass"
|
||
|
||
|
||
class Level(StrEnum):
|
||
"""Уровень сложности сценария."""
|
||
|
||
L1 = "L1"
|
||
L2 = "L2"
|
||
L3 = "L3"
|
||
|
||
|
||
DDS_LABELS: dict[DDSCode, str] = {
|
||
DDSCode.FIRE: "01 — МЧС",
|
||
DDSCode.POLICE: "02 — полиция",
|
||
DDSCode.MEDICAL: "03 — скорая помощь",
|
||
DDSCode.OTHER: "04 — прочие службы",
|
||
DDSCode.GKH: "ЖКХ",
|
||
}
|
||
|
||
INCIDENT_LABELS: dict[IncidentType, str] = {
|
||
IncidentType.FIRE: "Пожар",
|
||
IncidentType.MEDICAL: "Медицинский вызов",
|
||
IncidentType.POLICE: "Правонарушение",
|
||
IncidentType.OTHER: "Прочее",
|
||
IncidentType.GKH: "Авария ЖКХ",
|
||
IncidentType.ERA_GLONASS: "ДТП, автовызов ЭРА-ГЛОНАСС",
|
||
}
|
||
|
||
#: Штатное соответствие типа происшествия и службы. Используется как значение
|
||
#: по умолчанию при выводе ground_truth сценария; сценарий вправе переопределить.
|
||
DDS_BY_INCIDENT: dict[IncidentType, DDSCode] = {
|
||
IncidentType.FIRE: DDSCode.FIRE,
|
||
IncidentType.MEDICAL: DDSCode.MEDICAL,
|
||
IncidentType.POLICE: DDSCode.POLICE,
|
||
IncidentType.OTHER: DDSCode.OTHER,
|
||
IncidentType.GKH: DDSCode.GKH,
|
||
IncidentType.ERA_GLONASS: DDSCode.MEDICAL,
|
||
}
|