Search requests (#2)
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz> Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/2 Co-authored-by: timur.gorodetskiy <timur.gorodetskiy@tnsu.kz> Co-committed-by: timur.gorodetskiy <timur.gorodetskiy@tnsu.kz>
This commit was merged in pull request #2.
This commit is contained in:
@@ -3,18 +3,28 @@
|
||||
// В слое формы кодом ставятся Draft (черновик) и OnApproval (отправка на согласование);
|
||||
// Approved/Rejected/Returned выставляются при решениях согласующих; Execution/Closed —
|
||||
// зарезервированы под будущие этапы.
|
||||
// Статусы СТРОК списка «— согласование» (не заявки в контентном списке):
|
||||
// draft/rejected/returned — общие с заявкой; остальные — только для строк
|
||||
// маршрута, по фазам:
|
||||
// Согласование: queued («Ждёт очереди») → onApproval («На согласовании») → approved/rejected/returned.
|
||||
// Исполнение: queued → onExecution («На исполнении») → executed («Выполнено»).
|
||||
// Активация — только через ApprovalListService.activateNextQueued (вызывается
|
||||
// при отправке заявки и после каждого положительного решения, см.
|
||||
// approvalSubmission.service.ts/writeRoute, approverDecision.service.ts/decide):
|
||||
// среди строк со статусом queued в текущей фазе находит наименьший StepOrder
|
||||
// и переводит её (или несколько, если делят один order — параллельный шаг) в
|
||||
// onApproval/onExecution. Так «чья сейчас очередь» — просто значение колонки
|
||||
// Status, без пересчёта порядка на клиенте.
|
||||
export const REQUEST_STATUS = {
|
||||
draft: 'Черновик',
|
||||
onApproval: 'На согласовании',
|
||||
queued: 'Ждёт очереди',
|
||||
onExecution: 'На исполнении',
|
||||
executed: 'Выполнено',
|
||||
approved: 'Согласовано',
|
||||
rejected: 'Отклонено',
|
||||
returned: 'Возвращена на доработку',
|
||||
// Статус СТРОКИ маршрута, до которой ещё не дошла очередь (активен только текущий шаг).
|
||||
queued: 'Ждёт очереди',
|
||||
// Статусы СТРОК фазы исполнения: активная очередь исполнителя и выполнено.
|
||||
onExecution: 'На исполнении',
|
||||
executed: 'Выполнено',
|
||||
// Статусы ЗАЯВКИ на этапе исполнения.
|
||||
// Статус ЗАЯВКИ (не строки) на этапе исполнения.
|
||||
execution: 'Выполнение',
|
||||
closed: 'Закрыта',
|
||||
} as const;
|
||||
@@ -33,20 +43,40 @@ export function isEditableStatus(status: string | undefined): boolean {
|
||||
return !status || EDITABLE_STATUSES.indexOf(status) !== -1;
|
||||
}
|
||||
|
||||
// Полный набор значений для Choice-колонки Status при провижининге.
|
||||
// Наборов значений ДВА, и они не совпадают — это разные сущности:
|
||||
//
|
||||
// 1) статус ЗАЯВКИ — колонка Status в списке «… — данные». Пишется формой
|
||||
// (Черновик/На согласовании) и computeRequestStatus после каждого решения.
|
||||
// «Ждёт очереди»/«На исполнении»/«Выполнено» здесь не бывают: это состояния
|
||||
// отдельного шага маршрута, а не заявки целиком.
|
||||
//
|
||||
// 2) статус СТРОКИ МАРШРУТА — колонка RequestStatus в списке «… — согласование».
|
||||
// Пишется createSteps/activateNextQueued/setDecision. «Выполнение»/«Закрыта»
|
||||
// здесь не бывают: это агрегатные состояния заявки, у отдельного шага
|
||||
// смысла не имеют.
|
||||
//
|
||||
// Держать их в синхроне с forms/*/provisioning.json и forms/*/approval/provisioning.json.
|
||||
export const REQUEST_STATUS_CHOICES: string[] = [
|
||||
REQUEST_STATUS.draft,
|
||||
REQUEST_STATUS.onApproval,
|
||||
REQUEST_STATUS.approved,
|
||||
REQUEST_STATUS.rejected,
|
||||
REQUEST_STATUS.returned,
|
||||
REQUEST_STATUS.queued,
|
||||
REQUEST_STATUS.onExecution,
|
||||
REQUEST_STATUS.executed,
|
||||
REQUEST_STATUS.execution,
|
||||
REQUEST_STATUS.closed,
|
||||
];
|
||||
|
||||
export const APPROVAL_ROW_STATUS_CHOICES: string[] = [
|
||||
REQUEST_STATUS.draft,
|
||||
REQUEST_STATUS.queued,
|
||||
REQUEST_STATUS.onApproval,
|
||||
REQUEST_STATUS.onExecution,
|
||||
REQUEST_STATUS.approved,
|
||||
REQUEST_STATUS.executed,
|
||||
REQUEST_STATUS.rejected,
|
||||
REQUEST_STATUS.returned,
|
||||
];
|
||||
|
||||
// Фаза строки в списке маршрута: согласование (кто одобряет) и исполнение
|
||||
// (кто выполняет после согласования). Обе фазы живут в одном списке «— согласование»,
|
||||
// строки различаются колонкой Phase. Значения приходят из внешнего API как
|
||||
|
||||
Reference in New Issue
Block a user