Исправить имена колонок причины открытия вакансии в отчёте по вакансиям (#26)
Tests / backend-test (push) Successful in 1m50s
Tests / frontend-test (push) Successful in 1m25s

В списке «Заявка на подбор — данные» колонки называются VacancyOpenReason и
VacancyOpenReasonDetails; запрос с несуществующими OpenReason* падал, ошибка
партиции глушилась в лог, и отчёт возвращался пустым.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

---------

Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/26
This commit was merged in pull request #26.
This commit is contained in:
2026-10-06 10:05:29 +00:00
parent b959feedbf
commit 82c2dc36a6
3 changed files with 6 additions and 6 deletions
@@ -26,7 +26,7 @@ internal sealed record SelectionRow(
/// </summary>
public const string Select =
"$select=Id,RequestStatus,Position,DepartmentName,ObjectProject,OpenVacanciesCount," +
"SubmitDate,Created,OpenReason,OpenReasonDetails,Responsible/Title&$expand=Responsible&$top=5000";
"SubmitDate,Created,VacancyOpenReason,VacancyOpenReasonDetails,Responsible/Title&$expand=Responsible&$top=5000";
public static SelectionRow? TryParse(JsonElement item, string listId)
{
@@ -50,7 +50,7 @@ internal sealed record SelectionRow(
// иначе заявка попадала бы в отчёт, но с пустой колонкой H.
SharePointJson.Date(item, "SubmitDate") ?? SharePointJson.Date(item, "Created"),
SharePointJson.PersonTitle(item, "Responsible"),
SharePointJson.String(item, "OpenReason"),
SharePointJson.String(item, "OpenReasonDetails"));
SharePointJson.String(item, "VacancyOpenReason"),
SharePointJson.String(item, "VacancyOpenReasonDetails"));
}
}
@@ -24,7 +24,7 @@ namespace Tnsu.ApprovalRoute.Application.Reports;
/// индекса отчёту не критично. Но на этом тенанте ЧАСТЬ нужных полей индекс не
/// отдаёт вовсе, при том что в самих списках значения есть (проверено поштучно
/// через REST):
/// • «Заявка на подбор»: OpenReason, OpenReasonDetails;
/// • «Заявка на подбор»: VacancyOpenReason, VacancyOpenReasonDetails;
/// • «Прием на работу»: CandidateName, HireDate, ReplacedEmployee;
/// • «— согласование»: Ticket — Lookup, managed property не нашлась ни под
/// одним из разумных имён (TicketOWSTEXT/TicketOWSLKID/TicketId/…).
@@ -75,8 +75,8 @@ public sealed class VacancyReportServiceTests : IClassFixture<PostgresDatabaseFi
OpenVacanciesCount = vacancies,
SubmitDate = submitDate,
Created = created,
OpenReason = openReason,
OpenReasonDetails = openReasonDetails,
VacancyOpenReason = openReason,
VacancyOpenReasonDetails = openReasonDetails,
Responsible = new { Title = responsible }
};