fix: в приёме можно выбрать подбор в статусе «Выполнение» и «Закрыта»
После согласования подбор сразу уходит в «Выполнение», поэтому фильтр только по «Согласовано» почти всегда давал пустой список. Теперь берутся все утверждённые статусы, как в isApprovedStatus. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -28,7 +28,7 @@
|
||||
заявки кнопка «Организация рабочего места на основе этой» открывает форму
|
||||
it-workplace-setup с префиллом (rpsource = id этой заявки).
|
||||
- **Связь с «Заявкой на подбор» (SelectionRequest\*)** — необязательное поле в
|
||||
секции «Заявка»: поиск-выбор согласованной заявки на подбор (`SelectionRequestField`
|
||||
секции «Заявка»: поиск-выбор утверждённой (Согласовано / Выполнение / Закрыта) заявки на подбор (`SelectionRequestField`
|
||||
+ `selectionLookup.ts`, только статус «Согласовано», ищет по всем партициям серии).
|
||||
Связь хранится тройкой полей `SelectionRequestId` / `SelectionRequestListId` /
|
||||
`SelectionRequestCode`, а НЕ нативным Lookup — списки партиционированы. В форме
|
||||
|
||||
@@ -210,7 +210,7 @@ export const SelectionRequestField: React.FC<ISelectionRequestFieldProps> = ({ d
|
||||
))
|
||||
) : (
|
||||
<div className={styles.note}>
|
||||
{loaded ? 'Нет согласованных заявок на подбор.' : 'Загрузка…'}
|
||||
{loaded ? 'Нет утверждённых заявок на подбор.' : 'Загрузка…'}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
@@ -28,8 +28,11 @@ export interface ISelectionRequestOption {
|
||||
title: string;
|
||||
}
|
||||
|
||||
// Только согласованные заявки на подбор: приём оформляют по уже утверждённому подбору.
|
||||
const APPROVED_FILTER = `RequestStatus eq '${REQUEST_STATUS.approved}'`;
|
||||
// Только утверждённые заявки на подбор: приём оформляют по уже утверждённому подбору.
|
||||
// После согласования подбор уходит исполнителю («Выполнение»), затем «Закрыта» —
|
||||
// это тот же утверждённый подбор, поэтому берём все три статуса (как isApprovedStatus).
|
||||
const APPROVED_STATUSES: string[] = [REQUEST_STATUS.approved, REQUEST_STATUS.execution, REQUEST_STATUS.closed];
|
||||
const APPROVED_FILTER = APPROVED_STATUSES.map((s) => `RequestStatus eq '${s}'`).join(' or ');
|
||||
|
||||
// Предохранитель: партиция всё равно ограничена порогом элементов, но берём
|
||||
// разумный потолок, чтобы одиночный запрос не тянул весь список целиком.
|
||||
@@ -64,7 +67,7 @@ async function queryPartition(list: IListLike, listId: string): Promise<ISelecti
|
||||
}
|
||||
|
||||
/**
|
||||
* Все согласованные заявки на подбор из всех партиций серии (архив + текущая).
|
||||
* Все утверждённые (Согласовано / Выполнение / Закрыта) заявки на подбор из всех партиций серии (архив + текущая).
|
||||
*
|
||||
* Реестр партиций знает серию → читаем каждую партицию по её listId (url),
|
||||
* заодно получая правильный rplist для ссылки. Реестр недоступен (approval-route
|
||||
|
||||
Reference in New Issue
Block a user