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 этой заявки).
|
it-workplace-setup с префиллом (rpsource = id этой заявки).
|
||||||
- **Связь с «Заявкой на подбор» (SelectionRequest\*)** — необязательное поле в
|
- **Связь с «Заявкой на подбор» (SelectionRequest\*)** — необязательное поле в
|
||||||
секции «Заявка»: поиск-выбор согласованной заявки на подбор (`SelectionRequestField`
|
секции «Заявка»: поиск-выбор утверждённой (Согласовано / Выполнение / Закрыта) заявки на подбор (`SelectionRequestField`
|
||||||
+ `selectionLookup.ts`, только статус «Согласовано», ищет по всем партициям серии).
|
+ `selectionLookup.ts`, только статус «Согласовано», ищет по всем партициям серии).
|
||||||
Связь хранится тройкой полей `SelectionRequestId` / `SelectionRequestListId` /
|
Связь хранится тройкой полей `SelectionRequestId` / `SelectionRequestListId` /
|
||||||
`SelectionRequestCode`, а НЕ нативным Lookup — списки партиционированы. В форме
|
`SelectionRequestCode`, а НЕ нативным Lookup — списки партиционированы. В форме
|
||||||
|
|||||||
@@ -210,7 +210,7 @@ export const SelectionRequestField: React.FC<ISelectionRequestFieldProps> = ({ d
|
|||||||
))
|
))
|
||||||
) : (
|
) : (
|
||||||
<div className={styles.note}>
|
<div className={styles.note}>
|
||||||
{loaded ? 'Нет согласованных заявок на подбор.' : 'Загрузка…'}
|
{loaded ? 'Нет утверждённых заявок на подбор.' : 'Загрузка…'}
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -28,8 +28,11 @@ export interface ISelectionRequestOption {
|
|||||||
title: string;
|
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),
|
* Реестр партиций знает серию → читаем каждую партицию по её listId (url),
|
||||||
* заодно получая правильный rplist для ссылки. Реестр недоступен (approval-route
|
* заодно получая правильный rplist для ссылки. Реестр недоступен (approval-route
|
||||||
|
|||||||
Reference in New Issue
Block a user