JournalResultManager: различия между версиями
Sidminik (обсуждение | вклад) |
Sidminik (обсуждение | вклад) |
||
| Строка 33: | Строка 33: | ||
==Свойства== | ==Свойства== | ||
journalResultId: number | *<code>journalResultId: number</code> - ID управляемого результата лабораторного журнала; | ||
ID управляемого результата лабораторного журнала | *<code>data: JournalResultResponse | null</code> - данные о текущем результате лабораторного журнала (или null, если результат не найден); | ||
*<code>calculationResultCode: CalculationResultCode</code> - код результата после выполнения вычислений. | |||
data: JournalResultResponse | null | |||
calculationResultCode: CalculationResultCode | |||
==Методы== | ==Методы== | ||
Версия от 01:34, 13 мая 2026
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)
Свойства
journalResultId: number- ID управляемого результата лабораторного журнала;data: JournalResultResponse | null- данные о текущем результате лабораторного журнала (или 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