🍽️

Система учета питания

Авторизуйтесь для доступа к панели управления

👤 {{ sessionUsername }}
🍽️ План питания по дням (Кухня / Столовая)
Выбор отдела/подрядчика:
Отдел: {{ currentDept.name }}

Сводный отчет по питаниям

Общая статистика количества порций по всем отделам предприятия

Завтраки (З)
{{ globalTotals.breakfast }}
Обеды (О)
{{ globalTotals.lunch }}
Ужины (У)
{{ globalTotals.dinner }}
Поздние Ужины (ПУ)
{{ globalTotals.late_dinner }}
Всего порций
{{ globalTotals.total }}
Расчетная сумма по отметкам
{{ formatCurrency(globalTotals.calculated_sum) }} ₸
З: 862, О: 2100, У: 1790, ПУ: 1680
Фактическая сумма (РК7)
{{ formatCurrency(globalTotals.rk7_sum) }} ₸
Синхронизировано из R-Keeper RK7
Разница (План - Факт)
{{ formatCurrency(globalTotals.calculated_sum - globalTotals.rk7_sum) }} ₸ ({{ formatPercent(globalTotals.calculated_sum, globalTotals.rk7_sum) }})
{{ globalTotals.calculated_sum - globalTotals.rk7_sum >= 0 ? 'Экономия / неиспользованный лимит' : 'Перерасход по картам' }}
Название Отдела / Цеха Завтраки (З) Обеды (О) Ужины (У) Поздние (ПУ) Итого порций Расчетная сумма Фактическая (РК7)
{{ item.department_name }} {{ item.breakfast }} {{ item.lunch }} {{ item.dinner }} {{ item.late_dinner }} {{ item.total }} {{ formatCurrency(item.calculated_sum) }} ₸ {{ formatCurrency(item.rk7_sum) }} ₸
Нет данных для отображения.
ИТОГО К ВЫДАЧЕ: {{ globalTotals.breakfast }} {{ globalTotals.lunch }} {{ globalTotals.dinner }} {{ globalTotals.late_dinner }} {{ globalTotals.total }} {{ formatCurrency(globalTotals.calculated_sum) }} ₸ {{ formatCurrency(globalTotals.rk7_sum) }} ₸

Доступ ограничен

Используйте персональную ссылку отдела.

📥 Работа с файлами Excel (.xlsx)
📋 Перенос состава и отметок из прошлых вахт
ФИО Сотрудника {{ formatDate(date) }}
{{ user.fio }}
В этом отделе пока нет сотрудников на выбранную вахту. Добавьте персонал вручную через блок ниже.

ИТОГО ПО ОТДЕЛУ:

Завтраки (З): {{ totals.breakfast }}
Обеды (О): {{ totals.lunch }}
Ужины (У): {{ totals.dinner }}
Поздние (ПУ): {{ totals.late_dinner }}
Всего порций: {{ totals.all }}

👥 Быстрое добавление персонала

Все сотрудники этого отдела уже добавлены в текущую вахту.
Выберите сотрудников для добавления на вахту:
Выбрано: {{ selectedUnassignedUserIds.length }} из {{ unassignedUsers.length }} чел.

Импорт сотрудников цеха из файла PCards (CARDS.dbf):

⏳ Чтение файла экспорта CARDS.dbf и сопоставление...
Сотрудники вашего отдела не найдены в файле CARDS.dbf.
Выберите сотрудников из PCards для импорта:
{{ user.fio }}
Добавлен В базе Новый
Выбрано для импорта: {{ filterUnassignedPcardsCount }} чел.
🔐

Вход в панель администратора

Введите учетные данные для доступа к настройкам

Панель Администратора

План по дням (для столовой) {{ dailyPlanLink }}
Перейти ↗️
Принудительное обновление экспорта Вызов сервера для обновления файла с новыми картами.
Синхронизация отделов из PCards Импорт новых папок-отделов из CARDS.dbf в нашу базу данных.
🕒 Последняя синхронизация: {{ pcardsLastSync || 'Загрузка...' }}
📄 Изменение файла CARDS.dbf: {{ pcardsFileMtime || 'Загрузка...' }}

🏢 Создать Новый Отдел

📅 Создать Вахту

📋 Список существующих вахт в системе: {{ periods.length }}

{{ isPeriodsListCollapsed ? '➕ Развернуть' : '➖ Свернуть' }}
Название вахты Дата начала Дата окончания Действие
{{ p.name }} {{ p.start_date }} {{ p.end_date }}
Вахты еще не созданы.

🏢 Управление отделами и персональные ссылки: {{ departments.length }}

{{ isDeptsListCollapsed ? '➕ Развернуть' : '➖ Свернуть' }}
Название отдела Тип отдела Разрешить изменение прошлых дней Персональная ссылка руководителя Действие
{{ d.name }} Подрядчик
{{ generateDeptLink(d.id) }} ↗️
Отделы еще не созданы.

🔑 Учетные записи пользователей (Доступ к Панели Пользователя):

➕ Создать учетную запись пользователя:

Нет доступных цехов-подрядчиков. Сначала создайте цех с пометкой "Подрядчик".
Нет доступных отделов.
Логин пользователя Пароль Привязанный отдел Доступные вкладки (клик для изменения) Доступные подрядчики (клик для изменения) Доступные отделы (клик для изменения) Статус аккаунта Действие
{{ acc.username }} {{ acc.password }} {{ acc.department_name }}
Нет подрядчиков
Нет отделов
Учетные записи пользователей еще не созданы.

📈 Финансовый анализ и аудит (План vs Факт)

Сравнение плановой стоимости по отметкам и фактических транзакций по картам R-Keeper

Выполняется расчет плановых порций и опрос базы R-Keeper (это может занять до 5 секунд)...
Планируемый лимит (План)
{{ formatCurrency(analyticsSummary.calculated_sum) }} ₸
Стоимость по отмеченным галочкам
Фактический расход (Факт)
{{ formatCurrency(analyticsSummary.rk7_sum) }} ₸
Сумма чеков из R-Keeper за период
Итоговая разница (План - Факт)
{{ formatCurrency(analyticsSummary.difference) }} ₸ ({{ formatPercent(analyticsSummary.calculated_sum, analyticsSummary.rk7_sum) }})
{{ analyticsSummary.difference >= 0 ? 'Экономия выделенного лимита' : 'Перерасход средств по картам' }}

🏢 Расходы по отделам {{ analyticsDepts.length }}

Отдел План Факт Разница
{{ d.department_name }} {{ formatCurrency(d.calculated_sum) }} {{ formatCurrency(d.rk7_sum) }} {{ d.difference >= 0 ? '+' : '' }}{{ formatCurrency(d.difference) }}
({{ d.difference >= 0 ? '+' : '' }}{{ d.percent.toFixed(1) }}%)

👤 Детализация по сотрудникам {{ filteredAnalyticsEmployees.length }}

🔍
ФИО {{ getSortIcon('name') }} Отдел {{ getSortIcon('department_name') }} План {{ getSortIcon('calculated_sum') }} Факт {{ getSortIcon('rk7_sum') }} Разница {{ getSortIcon('difference') }}
{{ e.name }} {{ e.department_name }} {{ formatCurrency(e.calculated_sum) }} {{ formatCurrency(e.rk7_sum) }} {{ e.difference >= 0 ? '+' : '' }}{{ formatCurrency(e.difference) }}
({{ e.difference >= 0 ? '+' : '' }}{{ e.percent.toFixed(1) }}%)
Сотрудники не найдены.

🍽️ План питания по дням

Сводное количество запланированных порций З-О-У-ПУ на выбранную дату

⏳ Загрузка плана питания...
Нет запланированных порций на выбранную дату.
Завтраки (З)
{{ dailyPlanTotals.breakfast }}
Обеды (О)
{{ dailyPlanTotals.lunch }}
Ужины (У)
{{ dailyPlanTotals.dinner }}
Поздние Ужины (ПУ)
{{ dailyPlanTotals.late_dinner }}
Всего порций
{{ dailyPlanTotals.total }}

🏢 Сводная таблица по цехам / подразделениям

Название Отдела / Цеха Завтраки (З) Обеды (О) Ужины (У) Поздние (ПУ) Итого порций
{{ r.department_name }} {{ r.breakfast }} {{ r.lunch }} {{ r.dinner }} {{ r.late_dinner }} {{ r.total }}
ИТОГО ПОРЦИЙ {{ dailyPlanTotals.breakfast }} {{ dailyPlanTotals.lunch }} {{ dailyPlanTotals.dinner }} {{ dailyPlanTotals.late_dinner }} {{ dailyPlanTotals.total }}

🧾 Отчет по сотруднику (R-Keeper)

Фактический отчет по питанию (R-Keeper)

Официальные транзакции по картам сотрудника

Сотрудник:
{{ empReportFactData.user.fio }}
Цех / Отдел:
{{ empReportFactData.user.department_name }}
Вахта / Период:
{{ empReportFactData.period.name }}
Календарные даты вахты:
{{ formatDateRange(empReportFactData.period.start_date, empReportFactData.period.end_date) }}

📊 Сводка по блюдам

Наименование Кол-во
{{ item.dish }} {{ item.quantity }}

🕒 История пробитых чеков

Дата / Время Блюдо Кол-во
{{ formatReceiptDate(t.date) }} {{ t.time }} {{ t.dish }} {{ t.qty }}
Общая сумма по транзакциям R-Keeper: {{ empReportFactData.total_sum.toLocaleString() }} ₸
Загрузка данных R-Keeper...
Пожалуйста, выберите сотрудника для просмотра отчета.
Добавить в табель:
Загрузка данных табеля...

Табель для выбранного месяца и цеха ещё не создан.

Пожалуйста, выберите месяц, год и цех для начала работы с табелем.
Статус табеля: 🔒 Согласован и заблокирован ✍️ В редактировании (Черновик)
❓ Справка по кодам
* Редактирование заблокировано отделом кадров. Только администратор может разблокировать.
Ф.И.О. сотрудника Должность {{ getDayNumber(d) }} Дни Часы Ноч. Отп Б/Л Б/С
{{ idx + 1 }} {{ row.fio }}
{{ code }}
{{ calculateRowDays(row) }} {{ calculateRowHours(row) }} {{ calculateRowNightHours(row) }} {{ calculateRowVacations(row) }} {{ calculateRowSicks(row) }} {{ calculateRowUnpaid(row) }}
ИТОГО: {{ calculateTotalDays() }} {{ calculateTotalHours() }} {{ calculateTotalNightHours() }} {{ calculateTotalVacations() }} {{ calculateTotalSicks() }} {{ calculateTotalUnpaid() }}

Условные обозначения:

1111-часовая дневная смена
88-часовая смена
3/8Вахта: 3ч день, 8ч ночь (11ч всего)
ВВыходной день
ОТрудовой отпуск
ББольничный лист (б/л)
б/сОтпуск без сохранения з/п
ОЖОтпуск по уходу за ребенком
НННевыясненная неявка / Прогул
ККомандировка