# Техническое задание Редакция: 2023-11-28 ## Цель Требуется разработать программное обеспечение для осуществления набора автоматизаций в сети ресторанов `Ромашка`. Программное обеспечение должно осуществлять следующие операции: 1. Складской учет продукции; 2. Производственный учет; 3. Сопровождение курьерской службы; 4. Финансовый учет. Взаиморасчеты; 5. Учет персонала; 6. Оперативный контроль; ## Описание Компания `ООО Ромашка` насчитывает **10** ресторанов расположенных в разных частях города. Часть ресторанов работает только на доставку, часть - комбинировано, а часть: только с посетителями. В компании есть отдельный производственный цех для приготовления различных `заготовок` которые к началу рабочего дня привозят по всем рестораном в зависимости от заявок полученных ранее от администраторов ресторана. Все рестораны работаю в режиме с `10 утра - 10 вечера`. Производственный цех работает `круглосуточно`. Так же, часть продукции закупается организацией центролизовано: `мясные` и `молочные` продукты. Эти продукты храняться в специализированных холодильниках в производственном цеху и доставляются в каждый ресторан ежедневно. Сотрудники в компании разделены на три категории по направлениям: > - Производство > - Обслуживание > - Управление Сотрудники, работающие в категории `производство`, работают посменно. У каждого сотрудника может быть устанолен собственный график работы длительностью каждой смены не более **8-ми** часов. Сотрудниеи из других категорий работают ежеденевно по **8 часов в день**, кроме выходных и праздников. ## Общие требования 1. Программное обеспечение должно работать на следующем оборудовании: > - ОС Linux > - ОЗУ: 32 ГГб > - Процессор: 12 ядер > - Диск: SSD 2. Стек: `Python 3.x`, `SQLite`, `swagger`, `HTML`, `JavaScript` ### Требования к складскому учету * `1.1.` Учет ведется в разрезе номенклатуры. Каждый элемент номенклатуры включен в группу. * `1.2.` Учет остатков номенклатуры ведется в разрезе склада. Каждый склад связан с помещением. * `1.3.` Каждый месяц проводится плановая инвентаризация для всех номенклатуры для каждого склада. * `1.4.` Несколько раз в месяц, проводится частичная инвентаризация на определенную группу номенклатуры. ### Требования к производственному учету * `2.1.` В системе должен быть реализованы следующие операции: - `Технологическая карта` - `Приготовление полуфабриката` - `Приготовление блюда` - `Выпуск продукции` - `Утилизация продукции` * `2.2.` В системе необходимо предусмотреть два варианта списания номенклатуры: - `С блокировкой в случае недостатка остатков` - `Под сальдо` * `2.3.` Блокировка при списании осуществляется в случае, если остаток номенклатуры на складе отсутсвует. * `2.4.` Вариант `Под сальдо` - списание осуществляется без блокировки. Остаток на складе меняется. * `2.5.` `Технологическая карта` может быть составной. Допускается включение одной технологической карты в состав другой. ### Требования к курьерской службе * `3.1.` Доставка осуществляется в строго определенные районы. Доставка в каждый район имеет свою стоимость. * `3.2.` Заказ должен поступать к ближайшему ресторану который работает на доставку с тем, чтобы минимизировать расcтояние на доставку. * `3.3.` Для доставки используется отдельное меню. В каждое блюдо включается упаковка. ### Требование к финансовому учету * `4.1.` Учет денежных средств ведется в разрезе `Контрагентов`. Контрагентами могут выступать отдельные юридические лица. Каэжый контрагент включается в группу. * `4.2.` Денежные средства учитываются в разрезе типа оплаты: `наличные`, `банковский перевод` и прочее. * `4.3.` Денежные средства учитываются документов: `Поступление`, `Списание`. ### Требование к учету персонала * `5.1.` В системе необходимо обеспечить различные графики работ. * `5.2.` Каждый сотрудник работает в рамках графика работ. Система должна обеспечить начало и завершения работы по каждому сотруднику. В случае, если время работы превышает согласно графику, необходимо начислять денежное вознагрождение по `двойному тарифу`, согласно графика работы. * `5.3.` Все операции с данными по складскому, финансовому и оперативному учету должны фиксироваться с учетом ответственного сотрудника. ### Требования к оперативному учету * `6.1.` Необходимо вести учет по следующим направлениям: - `Заказ на доставку`; - `Заказ на пополнение склада в ресторане`; - `Заказ на производство` * `6.2.` Удаление номенклатуры, группы номенклатуры должно блокироваться если номенклатура включена в складской учет. * `6.3.` Удаление карточки сотрудника должно блокироваться если карточка сотрудника учавствовала в складской, оперативном или финансовом учете.