Sla (#11)
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz> Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/11
This commit was merged in pull request #11.
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
using Tnsu.ApprovalRoute.Domain.Enums;
|
||||
|
||||
namespace Tnsu.ApprovalRoute.Application.TemplateRoutes;
|
||||
|
||||
/// <param name="SlaHours">
|
||||
/// ДЕЙСТВУЮЩИЙ SLA шага в часах — наследование уже применено: значение шага, а
|
||||
/// если на шаге не задано, то значение типа заявки. null означает, что SLA не
|
||||
/// настроен нигде, то есть напоминаний по этому шагу не будет.
|
||||
/// Резолв отдаёт именно итоговое значение, чтобы вызывающая сторона
|
||||
/// (request-portal) просто записала его в строку списка согласования и не
|
||||
/// повторяла у себя правило наследования.
|
||||
/// </param>
|
||||
/// <param name="AskOverdueReason">
|
||||
/// Спрашивать ли причину просрочки — так же с уже применённым наследованием.
|
||||
/// </param>
|
||||
public sealed record ResolvedRouteStepDto(
|
||||
int Id,
|
||||
int OrderNo,
|
||||
string? ExecutorEmail,
|
||||
string? Position,
|
||||
bool AllowReassignToOtherApprovers,
|
||||
string? Warning = null,
|
||||
int? SlaHours = null,
|
||||
bool? AskOverdueReason = null);
|
||||
|
||||
public sealed record ResolveTemplateRouteResultDto(
|
||||
int RouteId,
|
||||
bool RequiresControl,
|
||||
IReadOnlyList<ResolvedRouteStepDto> Steps);
|
||||
|
||||
/// <summary>Значение поля списка SharePoint (field_name шага) для проверки условий шагов при resolve.</summary>
|
||||
public sealed record ResolveFieldValueDto(string FieldName, string Value);
|
||||
|
||||
/// <param name="DepartmentId">
|
||||
/// Отдел для шагов с HeadType.DepartmentHead ("руководитель указанного отдела") —
|
||||
/// не выводится из инициатора, поэтому должен быть передан явно. Необязателен:
|
||||
/// если в маршруте нет такого шага, поле не нужно; если есть, а поле не
|
||||
/// передано — шаг не резолвится и получает предупреждение (см.
|
||||
/// TemplateRouteService.ResolveStepAsync), весь запрос при этом не падает.
|
||||
/// </param>
|
||||
public sealed record ResolveTemplateRouteRequest(
|
||||
int RequestTypeId,
|
||||
string? UserEmail,
|
||||
Guid? ProjectId,
|
||||
RouteStepStatus Status,
|
||||
IReadOnlyList<ResolveFieldValueDto>? FieldValues = null,
|
||||
Guid? DepartmentId = null);
|
||||
Reference in New Issue
Block a user