JournalResultManager
JournalResultManager - класс для управления результатами анализа в лабораторных журналах (ЛЖ).
Назначение
Отвечает за логику получения, расчёта, обновления и управления результатом анализа и его параллельными измерениями.
Интерфейс
interface IJournalResultManager {
journalResultId: number,
data: JournalResultResponse | null,
calculationResultCode: CalculationResultCode
setParallels(parallels: ParallelRequest[]): Promise<void>,
addParallel(parallel: ParallelRequest): Promise<void>,
excludeParallelFromCalculation(parallelIndex: number): Promise<void>,
deleteParallelById(id: number): Promise<void>,
deleteParallelByIndex(parallelIndex: number): Promise<void>,
setExecutorsByIds(executorsIds: number[]): Promise<void>,
setExecutorsByNames(executorsNames: string[]): Promise<void>,
calculate(unacceptableResultAction?: UnacceptableResultAction): Promise<QuantitativeCalculationsResult>
}
Инициализация
Экземпляр класса инициализируется асинхронно (подгружаются данные о результате ЛЖ):
import { JournalResultManager } from "../../src/servivces/worker/api/interactors"
const journalResultManager = await JournalResultManager(journalResultId)
Свойства
ID управляемого результата лабораторного журнала:
journalResultId: number
Данные о текущем результате лабораторного журнала (или null, если результат не найден):
data: JournalResultResponse | null
Код результата после выполнения вычислений:
calculationResultCode: CalculationResultCode
Методы
setParallels(parallels: ParallelRequest[]): Promise<void> Устанавливает список параллелей для результата анализа показателя. Обновляет data
addParallel(parallel: ParallelRequest): Promise<void> Добавляет новое параллельное измерение к результату. Обновляет data
excludeParallelFromCalculation(parallelIndex: number): Promise<void> Исключает параллельное измерение из расчёта среднего значения по его порядковому номеру. Обновляет data
deleteParallelById(id: number): Promise<void> Удаляет параллельное измерение по его порядковому ID. Обновляет data
deleteParallelByIndex(parallelIndex: number): Promise<void> Удаляет параллельное измерение по его порядковому номеру. Обновляет data
setExecutorsByIds(executorsIds: number[]): Promise<void> Устанавливает исполнителей по их ID. Обновляет data
setExecutorsByNames(executorsNames: string[]): Promise<void> Устанавливает исполнителей по их полным именам. Обновляет data
calculate(unacceptableResultAction?: UnacceptableResultAction): Promise<QuantitativeCalculationsResult> Выполняет расчёт результата для текущего показателя. Устанавливает код результата. Обновляет data