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:
@@ -15,5 +15,15 @@ public enum HeadType
|
||||
/// подчинённости самого инициатора. В маршруте не может быть больше одного
|
||||
/// шага с этим типом (см. TemplateRouteStepService).
|
||||
/// </summary>
|
||||
DepartmentHead
|
||||
DepartmentHead,
|
||||
|
||||
/// <summary>
|
||||
/// Директора ВСЕХ компаний, в которых числится инициатор (сотрудник может
|
||||
/// работать в нескольких компаниях — /Employee/ByEmail теперь возвращает
|
||||
/// массив). В отличие от остальных значений этого enum'а, один такой шаг
|
||||
/// резолвится в НЕСКОЛЬКО строк результата — по одной на каждую компанию
|
||||
/// инициатора, все с одним и тем же OrderNo (то есть параллельно, см.
|
||||
/// TemplateRouteService.ResolveStepAsync).
|
||||
/// </summary>
|
||||
CompanyDirectors
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user