Перейти к основному содержимому

index

@mineflow/client-react


@mineflow/client-react / Справочники

Справочники

Справочники (refs-kit, ADR-0014): кросс-областные lookups (core/refs, hr/refs, eam/refs), читаемые широким кругом ролей. Держим единым РУКОПИСНЫМ модулем, а не codegen (gen:hooks), потому что:

  1. генератор жёстко единообразный — queryKeys.<group>.list(query)/.detail(id) + вывод по area; у refs ключи bespoke (refs.positions массив, refs.productionObjects(activeOnly) функция), а useProductionObjects(activeOnly=true) — руками подобранная сигнатура+дефолт (его потребляют web/mobile); codegen дал бы (query={}) и перевернул дефолт active-only→all, сломав вызовы;
  2. cohesion — раздел «Справочники» живёт одним файлом, а codegen разнёс бы reads по core/hr/eam.generated.ts;
  3. большинство refs-хуков — writes (PATCH/POST), которые codegen не трогает в принципе.

Read'ы — для разрешённых GET-ролей; write'ы идемпотентны (@Idempotent, ADR-0012), на успехе инвалидируют свой справочник. writeRoles — по контракту API.

Type Aliases​

Type AliasDescription
CreatePositionBodyТело создания должности (generic record; обязателен code, валидирует createSchema).
CreateProductionObjectBodyТело создания производственного объекта (generic record; обязателен code).
ImportFuelNormsCommitBodyТело коммита импорта норм ГСМ.
ImportFuelNormsPreviewBodyТело предпросмотра импорта норм ГСМ.
ImportMaintenanceNormsCommitBodyТело коммита импорта норм ТО (batchId).
ImportMaintenanceNormsPreviewBodyТело предпросмотра импорта норм ТО (rows + опц. mode).
ImportPositionsCommitBodyТело коммита bulk-импорта должностей (batchId из предпросмотра).
ImportPositionsPreviewBodyТело предпросмотра bulk-импорта должностей (rows + опц. mode).
UpdateAssetClassBodyТело правки класса активов (generic record).
UpdateDowntimeCategoryBodyТело правки категории простоя (generic record; name/group).
UpdateHseIncidentClassifierBodyТело правки классификатора HSE (generic record; name/group/severity).
UpdatePositionBodyТело правки записи справочника (generic record; поля валидирует updateSchema модуля).
UpdateProductionObjectBodyТело правки производственного объекта (generic record; валидирует updateSchema модуля).
UpdateSystemRoleBodyТело правки системной роли (generic record; см. R11-DTO-F2).
UpdateTmcCategoryBodyТело правки категории ТМЦ (generic record; updateSchema = name).

Действия​

FunctionDescription
useImportFuelNormsPreviewПредпросмотр импорта норм ГСМ (dry-run): diff + batchId. НЕ мутирует.
useImportMaintenanceNormsPreviewПредпросмотр импорта норм ТО (dry-run): возвращает diff + batchId. НЕ мутирует.
useImportPositionsPreviewПредпросмотр bulk-импорта должностей (CSV-rows): dry-run, возвращает diff + batchId для последующего коммита. НЕ мутирует — useApiMutation без инвалидации и без Idempotency-Key (на бэке намеренно не @Idempotent).

Запись​

FunctionDescription
useCreatePositionСоздание должности (POST). На успехе инвалидирует справочник должностей. Дубликат code → 409 на бэке.
useCreateProductionObjectСоздание производственного объекта (POST). На успехе инвалидирует оба кэша участков. Дубликат code → 409 на бэке.
useImportFuelNormsCommitКоммит импорта норм ГСМ (по batchId). На успехе инвалидирует справочник.
useImportMaintenanceNormsCommitКоммит ранее предпросмотренного импорта норм ТО (по batchId). На успехе инвалидирует справочник норм ТО.
useImportPositionsCommitКоммит ранее предпросмотренного импорта должностей (по batchId). Применяет upsert/деактивацию. На успехе инвалидирует справочник должностей.
useUpdateAssetClassПравка класса активов (PATCH). На успехе инвалидирует справочник классов.
useUpdateDowntimeCategoryПравка категории простоя (PATCH). На успехе инвалидирует справочник.
useUpdateHseIncidentClassifierПравка классификатора инцидентов HSE (PATCH). На успехе инвалидирует справочник.
useUpdatePositionПравка должности (PATCH). Поля частичные (name/active/…), валидируются updateSchema модуля на бэке. На успехе инвалидирует справочник должностей.
useUpdateProductionObjectПравка производственного объекта (PATCH). На успехе инвалидирует оба кэша участков (active+all) через стабильный префикс.
useUpdateSystemRoleПравка системной роли (PATCH; напр. name/description/permissions/ scopeByObject). На успехе инвалидирует справочник ролей.
useUpdateTmcCategoryПравка категории ТМЦ (PATCH). На успехе инвалидирует справочник категорий.

Чтение​

FunctionDescription
useAssetClassesСправочник классов активов EAM (для resolve label'а техники в UI). Долгоживущий lookup, читаемый всеми ролями.
useDowntimeCategoriesСправочник категорий простоев (core, иерархия). Читают все 7 ролей.
useFuelConsumptionNormКарточка норматива расхода ГСМ EAM по id. Read-only (правка только через bulk-импорт). Роли: Engineer/Mechanic/Foreman/Admin/CEO/Supply.
useFuelConsumptionNormsСправочник нормативов расхода ГСМ EAM (temporal). Read-only (правка через импорт). Роли: Engineer/Mechanic/Foreman/Admin/CEO/Supply.
useHseIncidentClassifiersКлассификатор инцидентов HSE (core). Читают все 7 ролей.
useMaintenanceNormКарточка норматива ТО EAM по id. Read-only (правка только через bulk-импорт). Роли: Engineer/Mechanic/Foreman/Admin/CEO.
useMaintenanceNormsСправочник нормативов ТО EAM (temporal — по умолчанию активные «сейчас»). Read-only: правка только через bulk-импорт (PATCH нет). Роли: Engineer/ Mechanic/Foreman/Admin/CEO.
usePositionsСправочник должностей HR (для picker'а персонала смены). Долгоживущий lookup, читаемый всеми ролями.
useProductionObjectsСправочник участков (production objects) для picker'ов. Долгоживущий lookup, читаемый всеми ролями. activeOnly входит в ключ кэша (разные кэши).
useSystemRolesСправочник системных ролей HR (для picker'а ролей при заведении УЗ и resolve label'ов). Долгоживущий lookup, читаемый всеми ролями.
useTmcCategoriesСправочник категорий ТМЦ (core, иерархия parent-child). Читают все 7 ролей.