hotfix
This commit is contained in:
parent
5ef2e2b69f
commit
f725f3ca00
@ -86,7 +86,8 @@ README унаследован от Bambolo и местами устарел: в
|
||||
- `sync_doctors_and_zones.php` — потенциально разрушительная операция: она создаёт временные таблицы, очищает основные `pnd_zones`/`pnd_doctors`, переносит данные и удаляет временные таблицы.
|
||||
- Не запускать этот скрипт автоматически для проверки. Сначала использовать режим dry-run или отдельную тестовую БД и явно проверить подключения.
|
||||
- После миграции МИС рабочие слоты врачей находятся в `SimpleSchedule`; старую цепочку `Event`/`Action`/`ActionProperty_Time` для расписания не использовать.
|
||||
- Рабочее время дня вычислять по всем действующим амбулаторным слотам `SimpleSchedule`, независимо от `ticket`. Исключать удалённые, отключённые, сверхурочные и нулевые слоты, а также строки с `absence_reason`.
|
||||
- Рабочее время дня вычислять по всем действующим слотам присутствия врача в учреждении (`amb`, `external`, `internal`) независимо от `ticket`; заполненные номерки тоже расширяют диапазон активности. Исключать удалённые, отключённые и нулевые слоты, а также строки с `absence_reason`.
|
||||
- Интервалы `SimpleSchedule.schedule_type = 'home'` относятся к работе на дому и не должны входить в отображаемый диапазон присутствия врача.
|
||||
- `SimpleSchedule.ticket` ссылается на `TicketInfo.id`; `NULL` означает свободный слот. Для синхронизации только рабочих часов `TicketInfo` не читать и пациентские данные не переносить.
|
||||
- ID врачей и участков сейчас совпадают с внешними ID старой МИС. Не менять эту семантику без миграционного плана.
|
||||
- Поле `pnd_doctors.schedule` содержит JSON вида `YYYY-MM-DD => {start, end}` либо `null`; при изменениях сохранять обратную совместимость формата.
|
||||
|
||||
@ -169,9 +169,8 @@ function getDoctorSchedule($src, $doctorId)
|
||||
WHERE ss.person = {$doctorId}
|
||||
AND ss.deleted = 0
|
||||
AND COALESCE(ss.disabled, 0) = 0
|
||||
AND COALESCE(ss.overtime, 0) = 0
|
||||
AND ss.absence_reason IS NULL
|
||||
AND ss.schedule_type = 'amb'
|
||||
AND ss.schedule_type IN ('amb', 'external', 'internal')
|
||||
AND ss.start_time IS NOT NULL
|
||||
AND ss.end_time IS NOT NULL
|
||||
AND ss.end_time > ss.start_time
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user