GetEmployeeByEmailAsync возвращает массив; новый HeadType.CompanyDirectors
/Employee/ByEmail на портале обновился: сотрудник может числиться в нескольких компаниях, теперь отдаётся массив записей (одна на компанию). ITnsuPortalClient.GetEmployeeByEmailAsync возвращает IReadOnlyList вместо одного объекта; вызывающие места используют первую запись (как и раньше при одиночном ответе), кроме нового HeadType.CompanyDirectors — там нужны все компании. HeadType.CompanyDirectors резолвится в директора КАЖДОЙ компании инициатора — по одной строке результата на компанию, все с одним и тем же OrderNo шага (они и так один шаг, то есть параллельны по построению). Директор ищется через GetEmployeeByPositionAsync(position, company) с захардкоженной должностью «Директор» по умолчанию и явными исключениями для компаний, где директора называют иначе (ТОО KazPromService — «Главный механик», ТОО СТ Global — «Генеральный директор»). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -26,7 +26,11 @@ export enum HeadType {
|
||||
// Резолвится по departmentId из запроса на resolve (см. ResolveTemplateRouteQuery),
|
||||
// а не по цепочке подчинённости инициатора, как остальные типы, — поэтому на
|
||||
// экране «Проверка маршрута» появляется отдельное поле выбора отдела.
|
||||
DepartmentHead = 'DepartmentHead'
|
||||
DepartmentHead = 'DepartmentHead',
|
||||
// Единственное значение, которое резолвится в НЕСКОЛЬКО строк результата — по
|
||||
// директору на каждую компанию инициатора (сотрудник может числиться в
|
||||
// нескольких), все с одним и тем же orderNo (см. TemplateRouteService.ResolveStepAsync).
|
||||
CompanyDirectors = 'CompanyDirectors'
|
||||
}
|
||||
|
||||
export enum ComparisonOperator {
|
||||
|
||||
@@ -32,7 +32,8 @@ export const headTypeLabels: Record<HeadType, string> = {
|
||||
[HeadType.DirectionHead]: 'Руководитель направления',
|
||||
[HeadType.DirectorTansu]: 'Директор Tansu',
|
||||
[HeadType.ManagingDirectorTansu]: 'Управляющий директор Tansu',
|
||||
[HeadType.DepartmentHead]: 'Руководитель указанного отдела'
|
||||
[HeadType.DepartmentHead]: 'Руководитель указанного отдела',
|
||||
[HeadType.CompanyDirectors]: 'Директора компаний инициатора'
|
||||
};
|
||||
|
||||
export const comparisonOperatorLabels: Record<ComparisonOperator, string> = {
|
||||
|
||||
Reference in New Issue
Block a user