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

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

Материал из Химсофт Вики
Строка 35: Строка 35:
ID управляемого результата лабораторного журнала:
ID управляемого результата лабораторного журнала:
*<code>journalResultId: number</code>
*<code>journalResultId: number</code>
 
*<code>data: JournalResultResponse | null</code> - данные о текущем результате лабораторного журнала (или null, если результат не найден);
Данные о текущем результате лабораторного журнала (или null, если результат не найден):
*<code>calculationResultCode: CalculationResultCode</code> - код результата после выполнения вычислений.
*<code>data: JournalResultResponse | null</code>
 
Код результата после выполнения вычислений:
*<code>calculationResultCode: CalculationResultCode</code>


==Методы==
==Методы==

Версия от 01:36, 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)

Свойства

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