Данный алгоритм будет реализован в задаче API-833 - Получение подробных данных проблемы... СТАТУС
Удаление записи на прием, привязанной к направлению на исследование, выполняется по следующему алгоритму:
Выполняется проверка наличия заключения по исследованию по следующему запросу:
select case when (Select COUNT(*) from lbr_Research WHERE rf_LaboratoryResearchGUID=@0 and isComplete=1) > 0 --если есть записи со статусом завершенная then 1 else 0 end
- Если было найдено заключение, то отмена записи прерывается. Если нет, переход к шагу 3;
- Удаляется связанная с текущей записью на прием (hlt_DoctorVisitTable) запись в таблице hlt_ActionSchedule;
В таблице lbr_LaboratoryResearch обновляется поле Flag: проставляется флаг 256 (отмена посещения) и убирается флаг 32 (признак отправки в ЕРИС):
UPDATE hlt_LaboratoryResearch SET Flag=(Flag | 256) &~ 32 WHERE GUID=@0
- Удаляется запись в таблице hlt_DoctorVisitTable