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

JournalResultManager: различия между версиями

Материал из Химсофт Вики
Новая страница: «'''JournalResultManager''' - класс для управления результатами анализа в лабораторных журналах (ЛЖ). ==Назначение== Отвечает за логику получения, расчёта, обновления и управления результатом анализа и его параллельными измерениями. ==Интерфейс== interface IJournalResultManager {...»
 
Строка 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