feat: создана структура проекта, core, domain, infrastructure. Перенесены enum и task согласно архитектуры

This commit is contained in:
Mikhail Trubnikov
2026-04-13 16:58:30 +10:00
parent 0bbbac09fe
commit da83aff19c
160 changed files with 482 additions and 267 deletions

View File

@@ -0,0 +1,21 @@
namespace PARR.Domain.Enums
{
/// <summary>
/// Уровень истории работы агента
/// </summary>
public enum AgentHistoryLevelEnum
{
// При добавлении новых значений, добавить в валидатор AgentHistoryRequestValidator
/// <summary>
/// Агент начал выполнять задание
/// </summary>
Start = 1,
/// <summary>
/// Агент завершил выполнение задания
/// </summary>
End = 5
}
}

View File

@@ -0,0 +1,13 @@
namespace PARR.Domain.Enums
{
public enum ApplicationTypesEnum
{
APP,
OS,
DB,
CKBS,
IB,
SI,
SM
}
}

View File

@@ -0,0 +1,53 @@
namespace PARR.Domain.Enums
{
/// <summary>
/// Статусы ЭК
/// </summary>
public enum EkStatusEnum
{
/// <summary>
/// Все записи, используется только внутри проекта
/// </summary>
All = 0,
/// <summary>
/// 1-Новый
/// </summary>
New = 1,
/// <summary>
/// 2-Подготовка к эксплуатации
/// </summary>
Preapre = 2,
/// <summary>
/// 3-В эксплуатации
/// </summary>
Exploitation = 3,
/// <summary>
/// 4-В ремонте
/// </summary>
Repair = 4,
/// <summary>
/// 5-В резерве
/// </summary>
Reserve = 5,
/// <summary>
/// 6-Выведен из эксплуатации
/// </summary>
OutOfService = 6,
/// <summary>
/// 7-Тестовый
/// </summary>
Test = 7,
/// <summary>
/// 9-В разработке
/// </summary>
Development = 9
}
}

View File

@@ -0,0 +1,43 @@
namespace PARR.Domain.Enums
{
/// <summary>
/// Расписание ЕСПП: типы повторений
/// </summary>
public enum EsppSchTypeEnum
{
///// <summary>
///// Повторять задачу: Регулярно, Еженедельно, Ежемесячно...
///// </summary>
//Root = 0,
/// <summary>
/// Через интервал
/// </summary>
Interval = 1,
/// <summary>
/// День недели: пнд, вт...
/// </summary>
DayOfWeek = 2,
/// <summary>
/// Число месяца: 1,2,3,4
/// </summary>
DayOfMonth = 3,
/// <summary>
/// Каждый: первый, второй, третий, четвертый, последний
/// </summary>
Order = 4,
/// <summary>
/// Месяц: январь, февраль...
/// </summary>
Month = 5,
/// <summary>
/// Месяц (родительный падеж): января, февраля,
/// </summary>
MonthGenitive = 6
}
}

View File

@@ -0,0 +1,39 @@
namespace PARR.Domain.Enums
{
/// <summary>
/// Расписание ЕСПП: Повторять задачу
/// </summary>
public enum EsppSchTypeScheduleEnum
{
/// <summary>
/// Регулярно
/// </summary>
Regularly = 1,
/// <summary>
/// Еженежельно
/// </summary>
Weekly = 2,
/// <summary>
/// Ежемесячно
/// </summary>
Monthly = 3,
/// <summary>
/// Ежемесячно-2
/// </summary>
Monthly2 = 4,
/// <summary>
/// Ежегодно
/// </summary>
Annually = 5,
/// <summary>
/// Ежегодно-2
/// </summary>
Annually2 = 6
}
}

View File

@@ -0,0 +1,20 @@
namespace PARR.Domain.Enums
{
public enum JobGroupTypesEnum
{
/// <summary>
/// Обычный тип без особенностей
/// </summary>
Simple = 0,
/// <summary>
/// Тип зонтик, когда отслеживается количество дочерних или родительских связей
/// </summary>
Umbrella = 1,
/// <summary>
/// Тип группа, когда шаблоны группируются по полю Field
/// </summary>
Group = 2
}
}

View File

@@ -0,0 +1,84 @@
using System.Text.Json.Serialization;
namespace PARR.Domain.Enums
{
/// <summary>
/// Компоненты ПАРР
/// </summary>
[JsonConverter(typeof(JsonStringEnumConverter))]
public enum ParrComponentsEnum
{
// Тут указываем только Worker`ы
// !!! При добавлении новых, добавлять в DataContext !!!
/// <summary>
/// API
/// </summary>
Api = 0,
/// <summary>
/// Загрузчик из АИХИТ
/// </summary>
AihitLoader = 1,
/// <summary>
/// Синхронизатор АИХИТ
/// </summary>
AihitSyncer = 2,
/// <summary>
/// Загрузчик нарядов из ЕСПП
/// </summary>
EsppOrderLoader = 3,
/// <summary>
/// Управление нарядами ЕСПП
/// </summary>
EsppOrderManager = 4,
/// <summary>
/// Синхронизатор расписаний
/// </summary>
EsppScheduleSync = 5,
/// <summary>
/// Синхронизатор шаблонов
/// </summary>
EsppTemplateSync = 6,
/// <summary>
/// Генератор шаблонов
/// </summary>
GeneratorTemplates = 7,
/// <summary>
/// Авто-контроль РР
/// </summary>
JobAutoControl = 8,
/// <summary>
/// Связывание нарядов ЕСПП с ПАРР (шаблонами, агентами)
/// </summary>
Master = 9,
/// <summary>
/// Рассчет даты следующего срабатывания
/// </summary>
NextRun = 10,
/// <summary>
/// Активатор шаблонов / расписаний
/// </summary>
TemplateActivator = 11,
/// <summary>
/// Автораспределение РР
/// </summary>
TemplateDistributor = 12,
/// <summary>
/// Генератор Template
/// </summary>
TemplateTaskGenerator = 13
}
}

View File

@@ -0,0 +1,109 @@
namespace PARR.Domain.Enums
{
/// <summary>
/// Коды дорог
/// </summary>
public enum ResponseAreaEnum
{
/// <summary>
/// ДВЖД
/// </summary>
dvgd = 96,
/// <summary>
/// ЗАБ
/// </summary>
zrw = 94,
/// <summary>
/// ВСИБ
/// </summary>
esrr = 92,
/// <summary>
/// КРАСН
/// </summary>
krw = 88,
/// <summary>
/// ЗСИБ
/// </summary>
wsr = 83,
/// <summary>
/// ЮУР
/// </summary>
surw = 80,
/// <summary>
/// СВРД
/// </summary>
svrw = 76,
/// <summary>
/// КБШ
/// </summary>
kbsh = 63,
/// <summary>
/// ПРИВ
/// </summary>
pvrr = 61,
/// <summary>
/// ЮВСТ
/// </summary>
serw = 58,
/// <summary>
/// СКВ
/// </summary>
skzd = 51,
/// <summary>
/// СЕВ
/// </summary>
nrr = 28,
/// <summary>
/// ГОР
/// </summary>
grw = 24,
/// <summary>
/// МСК
/// </summary>
msk = 17,
/// <summary>
/// КЛГ
/// </summary>
klgd = 10,
/// <summary>
/// ОКТ
/// </summary>
orw = 01,
/// <summary>
/// ГВЦ
/// </summary>
gvc = 99,
/// <summary>
/// ОБЩЕЕ
/// </summary>
general = 100,
/// <summary>
/// ВП
/// </summary>
vp = 110,
/// <summary>
/// ОСК
/// </summary>
osk = 111,
}
}

View File

@@ -0,0 +1,28 @@
namespace PARR.Domain.Enums
{
/// <summary>
/// Уровень логов работы робота
/// </summary>
public enum RobotHistoryLevelEnum
{
/// <summary>
/// Робот начал работу
/// </summary>
Start = 1,
/// <summary>
/// Информация
/// </summary>
Information = 5,
/// <summary>
/// Ошибка
/// </summary>
Error = 10,
/// <summary>
/// Успешно завершил работу
/// </summary>
Complete = 15
}
}

View File

@@ -0,0 +1,28 @@
namespace PARR.Domain.Enums
{
/// <summary>
/// Статусы работы робота PARR.DAL.Models.RobotStatus
/// </summary>
public enum RobotStatusEnum
{
/// <summary>
/// Ожидание, ждет пока робот возьмет в работу
/// </summary>
Wait = 11,
/// <summary>
/// Робот взял в работу
/// </summary>
InProgress = 22,
/// <summary>
/// Ошибка отработки роботом. Требует ручного вмешательства.
/// </summary>
Error = 33,
/// <summary>
/// Робот успешно отработал
/// </summary>
Complete = 44
}
}

View File

@@ -0,0 +1,23 @@
namespace PARR.Domain.Enums
{
/// <summary>
/// Расписание регламентной работы - Тип исключения
/// </summary>
public enum ScheduleExcludeTypeEnum
{
/// <summary>
/// Нет исключений
/// </summary>
None = 0,
/// <summary>
/// Выполнить ТОЛЬКО В указанном календаре
/// </summary>
Only = 1,
/// <summary>
/// Выполнить везде, КРОМЕ указанного календаря
/// </summary>
Except = 2
}
}

View File

@@ -0,0 +1,30 @@
namespace PARR.Domain.Enums
{
// TODO: Сначала надо переименовать TaskStatusEnum -> RobotTaskStatusEnum, а потом TaskTaskStatusEnum -> TaskStatusEnum
/// <summary>
/// Статус задач Task
/// </summary>
public enum TaskItemStatusEnum
{
/// <summary>
/// Ожидание
/// </summary>
Pending=0,
/// <summary>
/// В работе
/// </summary>
Processing = 1,
/// <summary>
/// Выполнено успешно
/// </summary>
Success = 2,
/// <summary>
/// Ошибка
/// </summary>
Failed = 3
}
}

View File

@@ -0,0 +1,23 @@
namespace PARR.Domain.Enums
{
//TODO: Надо это переименовать в RobotTaskStatusEnum
/// <summary>
/// Статус задания на синхронизацию
/// </summary>
public enum TaskStatusEnum
{
/// <summary>
/// Требуется создание объекта в ЕСПП
/// </summary>
Creating = 10,
/// <summary>
/// Требуется обновление объекта в ЕСПП
/// </summary>
Updating = 20,
/// <summary>
/// Нормальное состояние объекта в ЕСПП и ПАРР. Объект в ПАРР соответствует объекту в ЕСПП
/// </summary>
Ok = 30
}
}

View File

@@ -0,0 +1,13 @@
namespace PARR.Domain.Enums
{
/// <summary>
/// Типы заданий
/// </summary>
public enum TaskTypeEnum
{
/// <summary>
/// Загруженность
/// </summary>
Workload = 0,
}
}