zhurnal-vydachi-siz/brief.md

116 lines
7.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Журнал выдачи СИЗ
## Тип решения
Учёт и трекеры — приложение на Node без внешних зависимостей, данные в файле data.json на сервере. Для прототипа, который показывают в Telegram-группе, **в качестве предпочтения выбран постоянный вариант со статикой и демо-данными в коде**, но по типу задачи это всё равно решение класса учёта; если платформа не примет статический вариант для хранения журнала, нужен серверный вариант с временной ссылкой.
## Задача
Сделать журнал выдачи спецодежды и СИЗ на складе: фиксировать, **что выдали, кому, сколько, когда вернуть, кто выдал**.
## Кто пользуется
Складской сотрудник / кладовщик, который ведёт журнал выдачи СИЗ и спецодежды.
## Что делает прототип (по экранам и кнопкам)
### Экран 1. Журнал выдачи
На экране видна таблица всех записей журнала с колонками:
- дата выдачи;
- что выдали;
- кому выдали;
- количество;
- когда вернуть;
- кто выдал;
- статус.
Сверху размещены:
- строка поиска по всем полям;
- счётчики: всего, выдано, возвращено, просрочено;
- фильтр кнопками-чипсами по статусу: Все, Выдано, Возвращено, Просрочено;
- кнопка **Добавить запись**;
- кнопка **Выгрузить в Excel (CSV)**.
Действия на экране:
- поиск фильтрует таблицу по введённому тексту;
- нажатие на чип статуса показывает только записи выбранного статуса;
- нажатие **Добавить запись** открывает форму добавления;
- нажатие на строку записи открывает ту же форму в режиме редактирования;
- нажатие **Удалить** в строке открывает подтверждение удаления;
- при удалении запись исчезает из таблицы и добавляется в журнал изменений с полями «когда, что, кто».
### Экран 2. Форма добавления / редактирования записи
Открывается в модальном окне или отдельной панели.
Поля формы:
- дата выдачи;
- что выдали;
- кому выдали;
- количество;
- когда вернуть;
- кто выдал;
- статус.
Кнопки:
- **Сохранить**;
- **Отмена**.
Поведение:
- форма одинаковая для добавления и редактирования;
- обязательные поля проверяются перед сохранением;
- даты отображаются в формате ДД.ММ.ГГГГ;
- после сохранения таблица и счётчики обновляются сразу.
### Экран 3. Подтверждение удаления
Появляется диалог с текстом подтверждения удаления записи.
Кнопки:
- **Удалить**;
- **Отмена**.
После подтверждения:
- запись удаляется;
- событие попадает в журнал изменений: когда удалено, что удалено, кто удалил.
### Экран 4. Журнал изменений
Отдельный блок или вкладка внутри прототипа.
Показывает историю действий по записям:
- когда;
- что;
- кто;
- действие (добавление, изменение, удаление).
### Экран 5. Выгрузка
Кнопка **Выгрузить в Excel (CSV)** формирует файл со всеми текущими записями таблицы с учётом активного поиска и фильтра.
## Демо-данные
Заложить **12 записей** журнала.
Реалистичный казахстанский контекст:
- сотрудники: Айдос Нурланов, Гульмира Сейсембаева, Данияр Ермеков, Алина Касенова, Ерлан Тлеубаев;
- места/подразделения можно указывать кратко: склад Алматы, участок Астана, сервисная бригада Шымкент.
Статусы в демо:
- 6 записей — Выдано;
- 4 записи — Возвращено;
- 2 записи — Просрочено.
Даты выдачи и возврата:
- в диапазоне последних 2–3 месяцев;
- формат на экране строго ДД.ММ.ГГГГ.
Примеры наименований:
- куртка зимняя;
- костюм летний;
- ботинки защитные;
- перчатки диэлектрические;
- каска защитная;
- жилет сигнальный.
## Допущения
- Считаем, что журнал ведётся одним складским пользователем без авторизации и личного кабинета.
- Считаем, что статус записи определяется вручную или по дате возврата в прототипе.
- Считаем, что CSV-выгрузка достаточна как форма «Excel» для прототипа.
- Считаем, что журнал изменений хранится внутри прототипа и виден в отдельном блоке.
- Если платформа потребует серверный режим для сохранения данных, можно перевести прототип на Node-реализацию с временной ссылкой, но это уже будет не постоянная ссылка.
## Чего пока нет
- Авторизации и разграничения прав.
- Интеграции с 1С, CRM, корпоративными складами и внешними базами.
- Печати накладных, сканов, штрихкодов и QR-кодов.
- Автоматического расчёта норм выдачи и складских остатков.
- Уведомлений о приближении даты возврата.
- Мобильного приложения и офлайн-синхронизации.