Sla (#11)
Tests / backend-test (push) Successful in 1m50s
Tests / frontend-test (push) Successful in 49s

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:
2026-08-13 04:44:08 +00:00
parent 7f2aabbf29
commit d076f4e98d
103 changed files with 2606 additions and 1265 deletions
@@ -97,10 +97,28 @@ export interface ManagedApprovalRow {
position: string;
status: string;
date: string;
/**
* Та же дата, что в `date`, но необработанная ISO-строка (или '', если решения
* ещё не было) — нужна для расчёта просрочки (см. utils/sla.ts/isRowOverdue):
* `date` отформатирована в «дд.мм.гггг» и назад в Date уже не превращается
* надёжно (зависит от локали при парсинге).
*/
dateIso: string;
comment: string;
order: number;
allowReassign: boolean;
phase: string;
/**
* SLA именно ЭТОЙ строки в часах. Значение проставляется при создании
* маршрута (портал берёт его из resolve, где наследование «шаг перекрывает
* тип» уже применено), и здесь его можно поправить для конкретной заявки.
* null — в строке не задано, работает SLA типа заявки.
*/
// eslint-disable-next-line @rushstack/no-new-null -- пусто в SharePoint приходит как null и значит «не задано», это не 0
slaHours: number | null;
/** Спрашивать ли причину просрочки по этой строке. null — берётся от типа заявки. */
// eslint-disable-next-line @rushstack/no-new-null -- см. slaHours
askOverdueReason: boolean | null;
}
export interface ManagedRequestMatrix {