mirror of
https://github.com/Horizontal42/warehouse-master.git
synced 2026-11-10 16:02:07 +03:00
PyQt5 desktop app: PDF label generator (single/2×2/4×4 grids) and Google Sheets reassembly tracker for laptop inventory management.
59 lines
2.8 KiB
Markdown
59 lines
2.8 KiB
Markdown
[English](README.md)
|
||
|
||
# Warehouse Master
|
||
|
||
Десктопная утилита для печати нумерованных этикеток в PDF и обновления инвентаря Google Sheets при пересборке ноутбуков.
|
||
|
||
```
|
||
python main.py
|
||
```
|
||
|
||
## Установка
|
||
|
||
Требования: Python 3.10+, Windows/macOS/Linux.
|
||
|
||
```
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
## Что умеет
|
||
|
||
**Вкладка «Labels»** — генерировать PDF с последовательно пронумерованными этикетками в трёх форматах:
|
||
|
||
| Формат | Размер страницы | Этикеток на страницу |
|
||
|--------|-----------------|----------------------|
|
||
| Single | 58×40 мм альбом | 1 |
|
||
| Grid 2×2 | 58×40 мм | 4 |
|
||
| Grid 4×4 | 120×75 мм | 16 |
|
||
|
||
Задайте один или несколько диапазонов номеров, выберите размер шрифта, нажмите Generate PDF. Включите Auto-print для прямой отправки на принтер. Режим Temporary удаляет файл при закрытии программы.
|
||
|
||
**Вкладка «Reassembly»** — фиксировать, какие запчасти установлены в ноутбук. По ID ищет каждую запчасть в Google Sheets, отмечает её как отгруженную, записывает грейд в строку ноутбука и пересчитывает категорию ноутбука (NEW/A/B/C/D). Выводит текст для вставки в комментарий и техоперацию.
|
||
|
||
## Настройка Google Sheets
|
||
|
||
1. Создайте проект в Google Cloud и включите Sheets API.
|
||
2. Создайте OAuth 2.0 Desktop-клиент и скачайте `credentials.json`.
|
||
3. Положите `credentials.json` рядом с `main.py` (или в `%APPDATA%/WarehouseMaster/`).
|
||
4. Скопируйте `sheet_config.example.json` в `sheet_config.json` и отредактируйте под свою таблицу (имена листов, индексы колонок, значения статусов).
|
||
5. Откройте Settings и вставьте URL таблицы.
|
||
|
||
При первом запуске откроется браузер для подтверждения OAuth; токен сохранится в `%APPDATA%/WarehouseMaster/token.json`.
|
||
|
||
## Для разработчиков
|
||
|
||
Стек: Python 3.10, PyQt5, reportlab, gspread, google-auth.
|
||
|
||
```
|
||
# запуск из исходников
|
||
python main.py
|
||
|
||
# сборка exe (Windows)
|
||
pyinstaller WarehouseMaster.spec
|
||
```
|
||
|
||
`Inter.ttf` распространяется под лицензией SIL Open Font License 1.1.
|
||
|
||
## Лицензия
|
||
|
||
MIT
|