Это первая версия бота. В дальнейшем будет развитие и добавление нового функционала. Интересует разработчик, которому будет интересно выполнить работу, возможно, предложит какие-то корректировки и самое главное, которому в дальнейшем будет интересно его дорабатывать по новым заказам.
Компания занимается продажей труб.
В компании 5 менеджеров. Каждый из них занимается закупкой трубы. Бот необходим с момента, когда один из менеджеров подает данные о закупленном товара и скором получении партии товара на склад.
Для этого он нажимает в боте кнопку новая партия. После этого бот предлагает кнопки с диаметрами труб (этих диаметров штук 15-20), на следующем шаге количество товара в штуках, а так же номер транспорта, на котором будет доставлен товар. Бот сразу резервирует количество строк в таблице, равное количеству единиц товара и присваивает им порядковый номер.
Пример. Менеджер сделал закупку трубы диаметром 325, в количестве 20 штук. Он нажимает кнопку новая партия, выбирает нужный диаметр, указывает количество штук, указывает номер транспорта. Бот хранит в себе эту информацию, до момента приемки.
В момент прихода транспорта кладовщик выбирает кнопку приемка товара в боте. Бот предоставляет ряд кнопок с номерами транспорта. Из этого списка кладовщик выбирает нужный (одномоментно в работе не больше 10-15 штук транспорта), видит диаметр и количество товара. Нажимает на кнопку запуска оприходования товара. Бот сразу резервирует следующие 20 строк в таблице. Последний порядковый номер был 343, значит он зарезервирует номера 344-363. После этого бот достает первый номер из числа зарезервированных строк (номер 344), показывает кладовщику в следующем формате:
Труба №344:
Длина ... м.
Стенка ... мм.
Комментарий ....
Введите длину:
Кладовщик делает замер длины. Бот должен удалить сообщение кладовщика и поменять свое старое сообщение на:
Труба №344:
Длина 11,44 м.
Стенка ... мм.
Комментарий ....
Введите толщину стенки:
Кладовщик измеряет стенку трубы, вносит число и как на прошлом шаге, сообщение меняется:
Труба №344:
Длина 11,44 м.
Стенка 7,5 мм.
Комментарий ....
Введите комментарий:
По аналогии кладовщик вводит некоторый текст и получает итоговое сообщение с двумя кнопками:
Труба №344:
Длина 11,44 м.
Стенка 7,5 мм.
Комментарий текст.
|Корректировать данные| |Следующая труба|
Во время ввода данных, будут использоваться целые или дробные числа, чаще дробные. Кладовщик, непременно, будет тупить и использовать поочередно и точку и запятую. Нужно что бы до таблицы всегда доходила запятая, для дальнейшей работы формул.
Если данные нужно корректировать, то кладовщика отбрасывает к первому шагу и она заново вводит все данные.
Дальше сценарий повторяется для каждой последующей трубы из этой партии по количеству зарезервированных номеров.
После того как введена информация по всем трубам, бот снова должен спросит правильно ли введена информация. Для этого он выкатывает список всех введенных данных:
Труба №344:
Длина 11,44 м.
Стенка 7,5 мм.
Комментарий текст.
...
Труба №363:
Длина 11,17 м.
Стенка 7,7 мм.
Комментарий текст.
|Корректировать данные| |Принять товар|
При нажатии корректировать данные кладовщик получает кнопки с номерами труб, он нажимает на нужный номер и получает сообщение из прошлого шага:
Труба №352:
Длина ... м.
Стенка ... мм.
Комментарий ....
Введите длину:
После того как он ввел и сохранил данные, бот вновь показывает список труб и спрашивает все ли верно.
При нажатии на принять товар бот рассчитывает вес каждой трубы по формуле = (диаметр стенка) * стенка * 0,02466 * длину / 1000, после этого суммирует длину и вес всех труб. Менеджер оформивший закупку получает в телеграмме сообщение от бота в котором указаны: номер транспорта, диаметр трубы, количество трубы и рассчитанные суммы длины и веса, а ниже 4 кнопки:
|Закупочный вес| |Закупочная длина| |Цена закупки| |Стоимость доставки|
После нажатия на каждую, он должен будет ввести нужное число.
После этого менеджер сверяет данные закупочных длинны и веса с фактическими при приемке и нажимает одну имеющуюся кнопку.
|Принять товар на склад|
А) Бот вносит в резервированные строки таблицы всю информацию. Получаются следующей столбцы:
1. Номер трубы.
2. Диаметр трубы.
3. Стенка трубы.
4. Длина трубы.
5. Вес трубы.
6. Закупочный вес трубы. Данный вес вычисляется по формуле Общий закупочный вес / Общий принятый вес * принятый вес трубы (5 пункт выше)
7. Стоимость трубы. Число вычисляется по формуле (Цена закупки * Общий закупочный вес + Стоимость доставки) / Общий принятый вес * принятый вес трубы
8. Комментарий.
9. Порядковый номер партии.
10. Номер транспорта.
11. Дата оприходования.
12. Закупочный вес.
13. Закупочная длина.
14. Цена закупки.
15. Стоимость доставки.
Б) Уходит сообщение на почту о принятии на складе партии товара.
Сценарий завершен.
Опубликован 30.10.2023 в 13:31 Последнее изменение: 14.11.2023 в 13:16