using System;
using Ban.Sdaid.Notation.Documents;
namespace Ban.Sdaid.Icd.Arch.Adr
{
/// <summary>Решение: автор ввода и исполнитель проверки — разные поля пакета.</summary>
public class ADR_004_CreatorVsAssignee : IAdrDocument
{
public static string _refName = "ADR-004 «Кто ввёл и кто взял в работу»";
public string Name => "ADR-004. Разделение «кто ввёл» и «кто взял в работу»";
public string Description =>
@"Почему принадлежность пакета описывается двумя разными фактами, а не одним полем «оператор».";
public string Version => "0.1";
public string Status => "proposed";
public string[] Comments => new string[0];
public Type? Supersedes => null;
public static string S1_Problem = """
## Проблема
Одно поле «оператор» смешивает два независимых факта. Пакет, введённый оператором и ещё никем не открытый,
при таком моделировании выглядит взятым в работу — хотя проверку никто не начинал.
""";
public static string S2_Decision = """
## Решение
У пакета два разных атрибута:
| Атрибут | Смысл | Изменяемость |
|---|---|---|
| Кто ввёл | оператор, сформировавший пакет на вводе | факт истории, неизменен |
| Кто взял в работу | исполнитель проверки; пусто — пакет свободен | назначается и снимается |
Фильтр «только мои» отбирает по **исполнителю**: он отвечает на вопрос «что я сейчас разбираю», а не «что
я когда-то отснял».
Подтверждать этапы вправе только держатель пакета.
""";
public static string S3_Consequences = """
## Следствия
- Появляются действия «Взять в работу» и «Вернуть в очередь».
- Возврат в очередь не сбрасывает подтверждённые этапы: другой оператор продолжает с места остановки.
- Открытым остаётся вопрос, назначается ли пакет автоматически (OQ-V-6).
""";
}
}