Files
tnsu-approval-route/frontend/src/webparts/approvalAdmin/models/resolve.ts
T
gorbenko.pavel ca8de91742 Резолв маршрута: поле PositionCode (HeadType) в ответе шага
Раньше по ответу резолва нельзя было отличить «руководителя направления» от
«директора Tansu» иначе как парсингом Position (реальной должности из
справочника api.tnsu.kz, свободный текст). PositionCode — это HeadType
самого шага (Chief/DirectionHead/DirectorTansu/ManagingDirectorTansu/
DepartmentHead), null для шагов с исполнителем по email/должности/роли.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-25 10:15:11 +05:00

44 lines
1.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// DTO эндпоинта api/template-routes/resolve
// (Application/TemplateRoutes/ResolveTemplateRouteDto.cs).
/* eslint-disable @rushstack/no-new-null -- поля 1:1 зеркалят nullable JSON-контракт бэкенда */
import { HeadType, RouteStepStatus } from './enums';
/** Значение поля списка SharePoint (field_name шага) для проверки условий шагов. */
export interface ResolveFieldValue {
fieldName: string;
value: string;
}
export interface ResolveTemplateRouteQuery {
requestTypeId: number;
userEmail?: string;
projectId?: string;
status: RouteStepStatus;
fieldValues?: ResolveFieldValue[];
/** Для шагов с HeadType.DepartmentHead — отдел не выводится из инициатора, задаётся явно. */
departmentId?: string;
}
export interface ResolvedRouteStep {
id: number;
orderNo: number;
executorEmail: string | null;
position: string | null;
allowReassignToOtherApprovers: boolean;
/** Причина, по которой исполнитель шага не определился (текст с бэкенда). */
warning: string | null;
/**
* HeadType шага (Chief/DirectionHead/...), если исполнитель задан типом
* руководителя, иначе null. В отличие от position (реальная должность
* резолвнутого сотрудника из справочника) — это код роли из самого шага.
*/
positionCode: HeadType | null;
}
export interface ResolveTemplateRouteResult {
routeId: number;
requiresControl: boolean;
steps: ResolvedRouteStep[];
}