Перейти к содержанию

JournalRecordManager

Материал из Химсофт Вики
Версия от 01:23, 13 мая 2026; Sidminik (обсуждение | вклад) (Новая страница: «Назначение JournalRecordManager — класс для управления одной записью журнала (ЛЖ) и её атрибутами. Отвечает за логику получения, изменения, перемещения по этапам и удаления записи ЛЖ Интерфейс interface IJournalRecordManager { journalRecordId: number, data: JournalRecordResponse | null, recordAttributesFi...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Назначение JournalRecordManager — класс для управления одной записью журнала (ЛЖ) и её атрибутами. Отвечает за логику получения, изменения, перемещения по этапам и удаления записи ЛЖ

Интерфейс interface IJournalRecordManager {

   journalRecordId: number,
   data: JournalRecordResponse | null,
   recordAttributesFields: JournalRecordAttributeFieldWithEdit[] | null, // Атрибуты - поля конкретной записи ЛЖ
   setFieldValue(fieldName: string, value: any): Promise<void>,
   getFieldValue(fieldName: string): string | number | boolean | undefined, 
   moveRecord(stageName: string, direction: 'PREV' | 'NEXT'): Promise<void>,
   deleteRecord(): Promise<void>

} Инициализация Экземпляр класса инициализируется асинхронно (подгружаются данные о записи ЛЖ):

import { JournalRecordManager } from "../../src/servivces/worker/api/interactors"

const journalRecordManager = await JournalRecordManager(journalRecordId) Свойства journalRecordId: number ID управляемой записи лабораторного журнала.

data: JournalRecordResponse | null Данные о текущей записи лабораторного журнала (или null, если запись удалена).

recordAttributesFields: JournalRecordAttributeFieldWithEdit[] | null Атрибуты-поля текущей записи (или null, если запись удалена).

Методы setFieldValue(fieldName: string, value: any): Promise<void> Устанавливает значение поля (атрибута) по имени. Если поле отсутствует в текущем этапе, выбрасывает ошибку. Обновляет data.

getFieldValue(fieldName: string): string | number | boolean | undefined Возвращает значение поля (атрибута) по имени из текущей записи.

moveRecord(stageName: string, direction: 'PREV' | 'NEXT'): Promise<void> Перемещает запись на указанный этап маршрута (назад или вперёд). Обновляет data

deleteRecord(): Promise<void> Удаляет запись журнала, очищает связанные данные в менеджере.