JournalResultManager: различия между версиями
Sidminik (обсуждение | вклад) Новая страница: «'''JournalResultManager''' - класс для управления результатами анализа в лабораторных журналах (ЛЖ). ==Назначение== Отвечает за логику получения, расчёта, обновления и управления результатом анализа и его параллельными измерениями. ==Интерфейс== interface IJournalResultManager {...» |
Sidminik (обсуждение | вклад) |
||
| Строка 6: | Строка 6: | ||
==Интерфейс== | ==Интерфейс== | ||
<syntaxhighlight lang="typescript"> | |||
interface IJournalResultManager { | interface IJournalResultManager { | ||
journalResultId: number, | journalResultId: number, | ||
| Строка 19: | Строка 20: | ||
calculate(unacceptableResultAction?: UnacceptableResultAction): Promise<QuantitativeCalculationsResult> | calculate(unacceptableResultAction?: UnacceptableResultAction): Promise<QuantitativeCalculationsResult> | ||
} | } | ||
<syntaxhighlight> | |||
==Инициализация== | ==Инициализация== | ||
Версия от 01:33, 13 мая 2026
JournalResultManager - класс для управления результатами анализа в лабораторных журналах (ЛЖ).
Назначение
Отвечает за логику получения, расчёта, обновления и управления результатом анализа и его параллельными измерениями.
Интерфейс
<syntaxhighlight lang="typescript"> 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>
} <syntaxhighlight>
Инициализация
Экземпляр класса инициализируется асинхронно (подгружаются данные о результате ЛЖ):
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