feat: выбор БСУ и рецепта в заявке на бетон
Tests / frontend-test (push) Successful in 1m24s

Заявка заказывалась свободным текстом, без привязки к реальным рецептам
завода. Теперь БСУ выбирается из API bsu.tnsu.kz (BsuId/BsuName в шапке),
а класс смеси в позиции — из рецептов этого БСУ (formulaId + снимок
состава, т.к. на заводе рецепт могут поменять). Состав показывается
плашками. Если API не ответил, отправку не блокируем — ручной ввод.

Новые колонки BsuId/BsuName нужно провизионировать до деплоя.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Тимур Городецкий
2026-10-30 09:34:35 +05:00
parent 3495e681e7
commit 88ce1d498e
16 changed files with 460 additions and 22 deletions
@@ -52,6 +52,15 @@ export function getApprovalApiBaseUrl(): string {
return _approvalApiBaseUrl;
}
/**
* API БСУ (бетонно-смесительные узлы и их рецепты) — справочник для «Заявки на бетон».
* Токен — того же AAD-приложения, что у approval-route и ЭДО (проверено по aud рабочего
* токена). Если у БСУ появится своё приложение — поменять только эту константу и объявить
* доступ в package-solution.json (webApiPermissionRequests).
*/
export const BSU_API_CLIENT_ID = APPROVAL_API_CLIENT_ID;
export const BSU_API_BASE_URL = 'https://bsu.tnsu.kz/api/v1';
/**
* ЭДО (TANSU ЭДО) — подписание документов. Токен берётся для того же AAD-приложения, что и
* у approval-route и справочников: бэкенд ЭДО принимает токены сотрудников этого приложения