예제 #1
0
def delete_eat_fast(name, new_qnt, lock, table, oficc, bot, time):
    with lock:
        if os.path.exists(f'temp_eat/{table}_fast.txt'):
            file = open(f'temp_eat/{table}_fast.txt', 'r', encoding='UTF-8')
            is_find = False
            old_data = file.read()
            file.seek(0)
            datas = file.readlines()
            file.close()
            for data in datas:
                want_name = data.split('%%')[0]
                old_qnt = data.split('%%')[1]
                if want_name == name:
                    if float(old_qnt) > float(new_qnt):
                        message = str(
                            f'  ВНИМАНИЕ УДАЛЕНИЕ НЕСОХРАНЁННОГО БЛЮДА\n'
                            f'-----------------------------------\n'
                            f'Официант {oficc}\n'
                            f'Стол {table}\n'
                            f'Дата {time}\n'
                            f'Удалено {name}\n'
                            f'Было {old_qnt}'
                            f'Cтало {new_qnt}')

                        message1 = str(f'Официант {oficc}\n'
                                       f'Стол {table}\n'
                                       f'Дата {time}\n'
                                       f'Удалено {name}\n'
                                       f'Было {old_qnt}'
                                       f'Cтало {new_qnt}\n\n\n')
                        open('temp_reports/fast_sell.txt',
                             'a',
                             encoding='UTF-8').write(message1)

                        addons.send_new_alarm(message,
                                              'subscrubers/non_save_eat.txt',
                                              bot, lock)
                    new_data = old_data.replace(data,
                                                f'{name}%%{new_qnt}' + '\n')
                    is_find = True
                    file = open(f'temp_eat/{table}_fast.txt',
                                'w',
                                encoding='UTF-8')
                    file.write(new_data)
                    file.close()
                    break
            if not is_find:
                file.close()
                file = open(f'temp_eat/{table}_fast.txt',
                            'a',
                            encoding='UTF-8')
                file.write(f'{name}%%{new_qnt}\n')
                file.close()

        else:
            file = open(f'temp_eat/{table}_fast.txt', 'x', encoding='UTF-8')
            file.write(f'{name}%%{new_qnt}\n')
            file.close()
예제 #2
0
def delcheck(text, bot, lock):
    soup = BeautifulSoup(text, 'lxml')
    delpre = soup.find('deletecheck')
    logper = soup.find('loginperson')
    time = delpre.get('time')
    table = delpre.get('table')
    name = logper.get('name')
    check = delpre.get('checknumber')
    # if len(open('temp_reports/deleted_check.txt', 'r', encoding='UTF-8').read()) == 0:
    #     format_text_delchek(time[0:10])
    strs = str(f'       Удаление чека\n' f'------------------------------\n')
    stre = str(f'{time} \n'
               f'официант {name}\n'
               f'Чек #{check}\n'
               f'Стол #{table}\n\n\n')
    # file = open('temp_reports/deleted_check.txt', 'a', encoding='UTF-8')
    # file.write(stre)
    # file.close()
    addons.send_new_alarm(strs + stre, 'subscrubers/Alarm_subs.txt', bot, lock)
예제 #3
0
def delprech(text, bot, lock):
    soup = BeautifulSoup(text, 'lxml')
    delpre = soup.find('deleteprecheck')
    logper = soup.find('loginperson')
    time = delpre.get('time')
    table = delpre.get('table')
    name = logper.get('name')
    if len(
            open('temp_reports/deleted_prech.txt', 'r',
                 encoding='UTF-8').read()) == 0:
        format_text_delprech(time[0:10])
    strs = str(f'       Удаление пречека\n'
               f'-----------------------------------------\n')
    stre = str(f'{time} \n' f'официант {name}\n' f'Стол #{table}\n')
    file = open('temp_reports/deleted_prech.txt', 'a', encoding='UTF-8')
    file.write(stre)
    file.close()
    with open(f'temp_table/{table}.txt', 'r', encoding='UTF-8') as file:
        tenp_text = file.read()
        send_message = strs + stre + '\n\n' + tenp_text
    addons.send_new_alarm(send_message, 'subscrubers/Alarm_subs.txt', bot,
                          lock)
예제 #4
0
def check_hitruga(text, bot, lock):
    sleep(3)
    soup = BeautifulSoup(text, 'lxml')
    table = soup.find('quitorder').get('table')
    open(f'temp_reports/12{table}', 'w')
    if os.path.exists(f'temp_reports/12{table}') and not os.path.exists(
            f'temp_reports/13{table}') and not os.path.exists(
                f'temp_reports/5{table}'):
        if os.path.exists(f'temp_reports/3{table}.txt'):
            file = open(f'temp_reports/3{table}.txt', 'r',
                        encoding='UTF-8').readlines()
            message = str()
            for fil in file:

                message += fil
            addons.send_new_alarm(message, 'subscrubers/Alarm_subs.txt', bot,
                                  lock)
            if os.path.exists(f'temp_table/{table}.txt'):
                os.remove(f'temp_table/{table}.txt')
            if os.path.exists(f'temp_eat/{table}.txt'):
                os.remove(f'temp_eat/{table}.txt')
            if os.path.exists(f'temp_discount/{table}.txt'):
                os.remove(f'temp_discount/{table}.txt')
            if os.path.exists(f'temp_reports/3{table}.txt'):
                os.remove(f'temp_reports/3{table}.txt')

    with lock:
        if os.path.exists(f'temp_reports/12{table}'):
            os.remove(f'temp_reports/12{table}')
            print('удаляем 12 файл')
        if os.path.exists(f'temp_reports/5{table}'):
            os.remove(f'temp_reports/5{table}')
            print('удаляем 5 файл')
        if os.path.exists(f'temp_reports/13{table}'):
            os.remove(f'temp_reports/13{table}')
            print('удаляем 13 файл')
예제 #5
0
def send_text(message):
    global markup_start, menu_markup, markup_sql, rest_codeddd, fisterly, markup_sql_img, n1, lic_ex

    print(message.from_user.username, 'в чате', message.chat.title,
          message.chat.id, 'написал', message.text)

    print(dict_sql)
    if lic_ex:
        if request_worker.chekc_lic() != "Лицензия кончилась":
            bot.send_message(message.chat.id, 'Ваша лицензия продлена')
            lic_ex = False
        else:
            bot.send_message(message.chat.id,
                             'Ваша лицензия истекла, обратитесь к диллеру')

    n2 = dt.datetime.now()

    if fisterly or int((n2 - n1).total_seconds()) > 10800:
        fisterly = False
        getsss()
        if request_worker.check_lic_day(
        ) == 'Лизцензия заканчивается через 5 дней':
            if not os.path.exists('asdf.txt'):

                with lock:
                    open('asdf.txt', 'w+')
                    addons.send_new_alarm(request_worker.check_lic_day(),
                                          'subscrubers/Alarm_subs.txt', bot,
                                          lock)

        else:
            if os.path.exists('asdf.txt'):
                os.remove('asdf.txt')
        if request_worker.chekc_lic() == "Лицензия кончилась":
            bot.send_message(message.chat.id,
                             'Ваша лицензия истекла, обратитесь к диллеру')
            lic_ex = True

    if not lic_ex:
        if server_addoned.check_in(rest_codeddd,
                                   message.from_user.username) == '200':

            if clena(message.text.lower()) != '200' or message.text.lower(
            ) == '->назад':

                if message.text.lower() == 'инфо':
                    messagec = f'Список пользователей:\n{server_addoned.get_list(rest_codeddd)}\n' \
                               f'Код ресторана: {rest_codeddd}\n' \
                               f'{request_worker.chekc_lic()}'
                    bot.send_message(message.chat.id, messagec)

                elif message.text.lower() == 'лог':
                    doc = open('log.txt', 'rb')
                    bot.send_document(message.chat.id, doc)

                elif message.text.lower() == 'отчёты sql':
                    bot.send_message(message.chat.id,
                                     'Выберите отчёт',
                                     reply_markup=markup_sql)
                    menu_markup = 'markup_send_al'

                elif message.text.lower() == 'sql-> балансовый отчет':
                    markup_sql1 = types.ReplyKeyboardMarkup(row_width=2)
                    markup_sql1.add('SQL-> Балансовый отчет за вчера')
                    markup_sql1.add('->Назад')
                    dict_sql[message.chat.id] = '1'
                    bot.send_message(
                        message.chat.id,
                        'Введите даты в формате "ГГГГ-ДД-ММ ГГГГ-ДД-ММ" или выберите отчёт '
                        'за '
                        'вчерашний день (внимание, отчёт строится в пределах 1-2 минут)   ',
                        reply_markup=markup_sql1)
                    menu_markup = 'markup_sql'

                elif message.text.lower() == 'sql-> список отказов':
                    markup_sql1 = types.ReplyKeyboardMarkup(row_width=2)
                    markup_sql1.add('SQL-> Список отказов за вчера')
                    markup_sql1.add('->Назад')
                    dict_sql[message.chat.id] = '2'
                    bot.send_message(
                        message.chat.id,
                        'Введите даты в формате "ГГГГ-ДД-ММ ГГГГ-ДД-ММ" или выберите отчёт '
                        'за '
                        'вчерашний день',
                        reply_markup=markup_sql1)
                    menu_markup = 'markup_sql1'

                elif message.text.lower() == 'sql-> расход блюд по категориям':
                    markup_sql1 = types.ReplyKeyboardMarkup(row_width=2)
                    markup_sql1.add('SQL-> Расход блюд по категориям за вчера')
                    markup_sql1.add('->Назад')
                    dict_sql[message.chat.id] = '3'
                    bot.send_message(
                        message.chat.id,
                        'Введите даты в формате "ГГГГ-ДД-ММ ГГГГ-ДД-ММ" или выберите отчёт за '
                        'вчерашний день',
                        reply_markup=markup_sql1)
                    menu_markup = 'markup_sql1'

                elif message.text.lower() == 'sql-> карты скидок':
                    markup_sql1 = types.ReplyKeyboardMarkup(row_width=2)
                    markup_sql1.add('SQL-> карты скидок за вчера')
                    markup_sql1.add('->Назад')
                    dict_sql[message.chat.id] = '4'
                    bot.send_message(
                        message.chat.id,
                        'Введите даты в формате "ГГГГ-ММ-ДД ГГГГ-ММ-ДД" или выберите отчёт за '
                        'вчерашний день',
                        reply_markup=markup_sql1)
                    menu_markup = 'markup_sql'

                elif message.text.lower() == 'sql-> платежные карты':
                    markup_sql1 = types.ReplyKeyboardMarkup(row_width=2)
                    markup_sql1.add('SQL-> платежные карты за вчера')
                    markup_sql1.add('->Назад')
                    dict_sql[message.chat.id] = '5'
                    bot.send_message(
                        message.chat.id,
                        'Введите даты в формате "ГГГГ-ММ-ДД ГГГГ-ММ-ДД" или выберите отчёт за '
                        'вчерашний день',
                        reply_markup=markup_sql1)
                    menu_markup = 'markup_sql'

                elif message.text.lower() == 'sql-> балансовый отчет за вчера':
                    sql_works.make_bal(message.chat.id)
                    addons.image_send(bot,
                                      message.chat.id,
                                      filed=f'{message.chat.id}.txt')
                    menu_markup = 'markup_sql1'
                    dict_sql[message.chat.id] = '0'

                elif message.text.lower() == 'sql-> список отказов за вчера':
                    sql_works.list_den(message.chat.id)
                    addons.image_send(bot,
                                      message.chat.id,
                                      filed=f'{message.chat.id}.txt')
                    menu_markup = 'markup_sql1'
                    dict_sql[message.chat.id] = '0'

                elif message.text.lower(
                ) == 'sql-> расход блюд по категориям за вчера':
                    sql_works.eat_cat(message.chat.id)
                    addons.image_send(bot,
                                      message.chat.id,
                                      filed=f'{message.chat.id}.txt')
                    menu_markup = 'markup_sql1'
                    dict_sql[message.chat.id] = '0'

                elif message.text.lower() == 'sql-> карты скидок за вчера':
                    sql_works.card_dis(message.chat.id)
                    addons.image_send(bot,
                                      message.chat.id,
                                      filed=f'{message.chat.id}.txt')
                    menu_markup = 'markup_sql1'
                    dict_sql[message.chat.id] = '0'

                elif message.text.lower() == 'sql-> платежные карты за вчера':
                    sql_works.card_pay(message.chat.id)
                    addons.image_send(bot,
                                      message.chat.id,
                                      filed=f'{message.chat.id}.txt')
                    menu_markup = 'markup_sql1'
                    dict_sql[message.chat.id] = '0'

                elif message.text.lower() == 'отчёты sql в виде картинки':
                    bot.send_message(message.chat.id,
                                     'Выберите отчёт',
                                     reply_markup=markup_sql_img)
                    menu_markup = 'markup_send_al'

                elif message.text.lower() == 'sqlm-> балансовый отчет':
                    markup_sql1 = types.ReplyKeyboardMarkup(row_width=2)
                    markup_sql1.add('SQLm-> Балансовый отчет за вчера')
                    markup_sql1.add('->Назад')
                    dict_sql[message.chat.id] = '1m'
                    bot.send_message(
                        message.chat.id,
                        'Введите даты в формате "ГГГГ-ДД-ММ ГГГГ-ДД-ММ" или выберите отчёт '
                        'за '
                        'вчерашний день (внимание, отчёт строится в пределах 1-2 минут)   ',
                        reply_markup=markup_sql1)
                    menu_markup = 'markup_sql1m'

                elif message.text.lower() == 'sqlm-> список отказов':
                    markup_sql1m = types.ReplyKeyboardMarkup(row_width=2)
                    markup_sql1m.add('SQLm-> Список отказов за вчера')
                    markup_sql1m.add('->Назад')
                    dict_sql[message.chat.id] = '2m'
                    bot.send_message(
                        message.chat.id,
                        'Введите даты в формате "ГГГГ-ДД-ММ ГГГГ-ДД-ММ" или выберите отчёт '
                        'за '
                        'вчерашний день',
                        reply_markup=markup_sql1m)
                    menu_markup = 'markup_sql1m'

                elif message.text.lower(
                ) == 'sqlm-> расход блюд по категориям':
                    markup_sql1m = types.ReplyKeyboardMarkup(row_width=2)
                    markup_sql1m.add(
                        'SQLm-> Расход блюд по категориям за вчера')
                    markup_sql1m.add('->Назад')
                    dict_sql[message.chat.id] = '3m'
                    bot.send_message(
                        message.chat.id,
                        'Введите даты в формате "ГГГГ-ДД-ММ ГГГГ-ДД-ММ" или выберите отчёт за '
                        'вчерашний день',
                        reply_markup=markup_sql1m)
                    menu_markup = 'markup_sql1m'

                elif message.text.lower() == 'sqlm-> карты скидок':
                    markup_sql1m = types.ReplyKeyboardMarkup(row_width=2)
                    markup_sql1m.add('SQLm-> карты скидок за вчера')
                    markup_sql1m.add('->Назад')
                    dict_sql[message.chat.id] = '4m'
                    bot.send_message(
                        message.chat.id,
                        'Введите даты в формате "ГГГГ-ММ-ДД ГГГГ-ММ-ДД" или выберите отчёт за '
                        'вчерашний день',
                        reply_markup=markup_sql1m)
                    menu_markup = 'markup_sql1m'

                elif message.text.lower() == 'sqlm-> платежные карты':
                    markup_sql1m = types.ReplyKeyboardMarkup(row_width=2)
                    markup_sql1m.add('SQLm-> платежные карты за вчера')
                    markup_sql1m.add('->Назад')
                    dict_sql[message.chat.id] = '5m'
                    bot.send_message(
                        message.chat.id,
                        'Введите даты в формате "ГГГГ-ММ-ДД ГГГГ-ММ-ДД" или выберите отчёт за '
                        'вчерашний день',
                        reply_markup=markup_sql1m)
                    menu_markup = 'markup_sql1m'

                elif message.text.lower(
                ) == 'sqlm-> балансовый отчет за вчера':
                    sql_works.make_bal(message.chat.id)
                    addons.send_picture(bot, message.chat.id)
                    menu_markup = 'markup_sql1m'
                    dict_sql[message.chat.id] = '0'

                elif message.text.lower() == 'sqlm-> список отказов за вчера':
                    sql_works.list_den(message.chat.id)
                    addons.send_picture(bot, message.chat.id)
                    menu_markup = 'markup_sql1m'
                    dict_sql[message.chat.id] = '0'

                elif message.text.lower(
                ) == 'sqlm-> расход блюд по категориям за вчера':
                    sql_works.eat_cat(message.chat.id)
                    addons.send_picture(bot, message.chat.id)
                    menu_markup = 'markup_sql1m'
                    dict_sql[message.chat.id] = '0'

                elif message.text.lower() == 'sqlm-> карты скидок за вчера':
                    sql_works.card_dis(message.chat.id)
                    addons.send_picture(bot, message.chat.id)
                    menu_markup = 'markup_sql1m'
                    dict_sql[message.chat.id] = '0'

                elif message.text.lower() == 'sqlm-> платежные карты за вчера':
                    sql_works.card_pay(message.chat.id)
                    addons.send_picture(bot, message.chat.id)
                    menu_markup = 'markup_sql1m'
                    dict_sql[message.chat.id] = '0'

                elif message.text.lower() == 'создатель':
                    bot.send_message(message.chat.id,
                                     'Gupye, vk.com/gupye, +79788781055')

                elif message.text.lower(
                ) == 'подписки на расслыки':  # Вывод меню для подписок
                    bot.send_message(message.chat.id,
                                     'выберите тип подписки',
                                     reply_markup=markup_send_al)
                    menu_markup = 'markup_send_al'

                elif message.text.lower(
                ) == '->назад':  # Вывод меню для получения отчёта
                    if menu_markup == 'markup_report':
                        bot.send_message(message.chat.id,
                                         'назад ',
                                         reply_markup=markup_start)
                        menu_markup = 'markup_start'
                    elif menu_markup == 'markup_send_al':
                        bot.send_message(message.chat.id,
                                         'назад ',
                                         reply_markup=markup_start)
                        menu_markup = 'markup_start'
                    elif menu_markup == 'markup_cancel_send':
                        bot.send_message(message.chat.id,
                                         'назад ',
                                         reply_markup=markup_send_al)
                        menu_markup = 'markup_send_al'
                    elif menu_markup == 'markup_cancel_send_allmon':
                        bot.send_message(message.chat.id,
                                         'назад ',
                                         reply_markup=markup_send_al)
                        menu_markup = 'markup_send_al'
                    elif menu_markup == 'markup_sql1':
                        bot.send_message(message.chat.id,
                                         'назад ',
                                         reply_markup=markup_sql)
                        menu_markup = 'markup_sql'
                    elif menu_markup == 'markup_sql':
                        bot.send_message(message.chat.id,
                                         'назад ',
                                         reply_markup=markup_start)
                        menu_markup = 'markup_start'
                    elif menu_markup == 'markup_sql1m':
                        bot.send_message(message.chat.id,
                                         'назад ',
                                         reply_markup=markup_sql_img)
                        menu_markup = 'markup_sql_img'
                    elif menu_markup == 'markup_sql_img':
                        bot.send_message(message.chat.id,
                                         'назад ',
                                         reply_markup=markup_start)
                        menu_markup = 'markup_start'
                    else:
                        bot.send_message(message.chat.id,
                                         'назад ',
                                         reply_markup=markup_start)
                        menu_markup = 'markup_start'

                elif message.text.lower(
                ) == 'отчёты':  # Вывод меню для получения отчёта
                    markup_report = types.ReplyKeyboardMarkup(row_width=2)
                    markup_report.add('Отчёт->текущий баланс')
                    markup_report.add('Отчёт->скидки')
                    markup_report.add('Отчёт->расход блюд по категориям')
                    markup_report.add('Отчёт->отчёт по времени продаж')
                    markup_report.add('Отчёт->удаление чеков')
                    markup_report.add('Отчёт->отказы из чеков')
                    markup_report.add('Отчёт->удаление несохранённых блюд')
                    markup_report.add('->Назад')
                    bot.send_message(message.chat.id,
                                     'выберите тип отчёта',
                                     reply_markup=markup_report)
                    menu_markup = 'markup_report'

                elif message.text.lower(
                ) == 'отчёт->расход блюд по категориям':  # Вывод отчёта по выручке
                    report_works.parse_eat_report()
                    addons.image_send(bot,
                                      message.chat.id,
                                      filed='temp_reports/eaten_eat.txt')

                elif message.text.lower(
                ) == 'отчёт->отчёт по времени продаж':  # Вывод отчёта по выручке
                    report_works.parse_time_sell()
                    addons.image_send(bot,
                                      message.chat.id,
                                      filed='temp_reports/time_sell.txt')

                elif message.text.lower(
                ) == 'отчёт->отказы из чеков':  # Вывод отчёта по выручке
                    report_works.bounces_from_receipts()
                    addons.image_send(bot,
                                      message.chat.id,
                                      filed='temp_reports/boun_rec.txt')

                elif message.text.lower(
                ) == 'отчёт->удаление чеков':  # Вывод отчёта по выручке
                    report_works.parse_del_report()
                    addons.image_send(bot,
                                      message.chat.id,
                                      filed='temp_reports/deleted_check.txt')
                    addons.image_send(bot,
                                      message.chat.id,
                                      filed='temp_reports/deleted_prech.txt')
                    addons.image_send(bot,
                                      message.chat.id,
                                      filed='temp_reports/deleted_disc.txt')

                elif message.text.lower(
                ) == 'отчёт->удаление несохранённых блюд':
                    addons.image_send(bot,
                                      message.chat.id,
                                      filed='temp_reports/fast_sell.txt')

                elif message.text.lower(
                ) == 'отчёт->скидки' or message.text.lower(
                ) == 'отчет->скидки':
                    report_works.parse_disc_report()
                    addons.image_send(bot,
                                      message.chat.id,
                                      filed='temp_reports/discount.txt')

                elif message.text.lower() == 'отчёт->текущий баланс':
                    report_works.parse_balance_report()
                    addons.image_send(bot,
                                      message.chat.id,
                                      filed='temp_reports/current_money.txt')

                elif message.text.lower(
                ) == 'отписаться-> автоотчёт общей смены':
                    del_subscription('subscrubers/end_of_shift_subs.txt',
                                     message)

                elif message.text.lower() == 'отписаться-> тревожные действия':
                    del_subscription('subscrubers/Alarm_subs.txt', message)

                elif message.text.lower(
                ) == 'отписаться-> удаление несохраненного блюда':
                    del_subscription('subscrubers/non_save_eat.txt', message)

                elif message.text.lower(
                ) == 'подписки-> автоотчёт общей смены':
                    menu_markup = 'markup_cancel_send'
                    subscription('subscrubers/end_of_shift_subs.txt', message,
                                 'Отписаться-> Автоотчёт общей смены')

                elif message.text.lower(
                ) == 'подписки-> удаление несохраненного блюда':
                    menu_markup = 'markup_cancel_send'
                    subscription('subscrubers/non_save_eat.txt', message,
                                 'Отписаться-> Удаление несохраненного блюда')

                elif message.text.lower() == 'подписки-> тревожные действия':
                    menu_markup = 'markup_cancel_send'
                    subscription('subscrubers/Alarm_subs.txt', message,
                                 'Отписаться-> Тревожные действия')

            else:
                if dict_sql[message.chat.id] == '1':
                    try:
                        dates = str(message.text).split(' ')
                        sql_works.make_bal(message.chat.id, dates[0], dates[1])
                        addons.image_send(bot,
                                          message.chat.id,
                                          filed=f'{message.chat.id}.txt')
                        menu_markup = 'markup_sql1'
                        dict_sql[message.chat.id] = '0'
                    except:
                        bot.send_message(
                            message.chat.id,
                            'Не удалось выполнить запрос, проверьте правильность написания даты'
                        )

                elif dict_sql[message.chat.id] == '2':
                    try:
                        dates = str(message.text).split(' ')
                        sql_works.list_den(message.chat.id, dates[0], dates[1])
                        addons.image_send(bot,
                                          message.chat.id,
                                          filed=f'{message.chat.id}.txt')
                        menu_markup = 'markup_sql1'
                        dict_sql[message.chat.id] = '0'
                    except:
                        bot.send_message(
                            message.chat.id,
                            'Не удалось выполнить запрос, проверьте правильность написания даты'
                        )

                elif dict_sql[message.chat.id] == '3':
                    try:
                        dates = str(message.text).split(' ')
                        sql_works.eat_cat(message.chat.id, dates[0], dates[1])
                        addons.image_send(bot,
                                          message.chat.id,
                                          filed=f'{message.chat.id}.txt')
                        menu_markup = 'markup_sql1'
                        dict_sql[message.chat.id] = '0'
                    except:
                        bot.send_message(
                            message.chat.id,
                            'Не удалось выполнить запрос, проверьте правильность написания даты'
                        )

                elif dict_sql[message.chat.id] == '4':
                    try:
                        dates = str(message.text).split(' ')
                        sql_works.card_dis(message.chat.id, dates[0], dates[1])
                        addons.image_send(bot,
                                          message.chat.id,
                                          filed=f'{message.chat.id}.txt')
                        menu_markup = 'markup_sql1'
                        dict_sql[message.chat.id] = '0'
                    except:
                        bot.send_message(
                            message.chat.id,
                            'Не удалось выполнить запрос, проверьте правильность написания даты'
                        )

                elif dict_sql[message.chat.id] == '5':
                    try:
                        dates = str(message.text).split(' ')
                        sql_works.card_pay(message.chat.id, dates[0], dates[1])
                        addons.image_send(bot,
                                          message.chat.id,
                                          filed=f'{message.chat.id}.txt')
                        menu_markup = 'markup_sql1'
                        dict_sql[message.chat.id] = '0'
                    except:
                        bot.send_message(
                            message.chat.id,
                            'Не удалось выполнить запрос, проверьте правильность написания даты'
                        )

                if dict_sql[message.chat.id] == '1m':
                    try:
                        dates = str(message.text).split(' ')
                        sql_works.make_bal(message.chat.id, dates[0], dates[1])
                        addons.send_picture(bot, message.chat.id)
                        menu_markup = 'markup_sql1m'
                        dict_sql[message.chat.id] = '0'
                    except:
                        bot.send_message(
                            message.chat.id,
                            'Не удалось выполнить запрос, проверьте правильность написания даты'
                        )

                elif dict_sql[message.chat.id] == '2m':
                    try:
                        dates = str(message.text).split(' ')
                        sql_works.list_den(message.chat.id, dates[0], dates[1])
                        addons.send_picture(bot, message.chat.id)
                        menu_markup = 'markup_sql1m'
                        dict_sql[message.chat.id] = '0'
                    except:
                        bot.send_message(
                            message.chat.id,
                            'Не удалось выполнить запрос, проверьте правильность написания даты'
                        )

                elif dict_sql[message.chat.id] == '3m':
                    try:
                        dates = str(message.text).split(' ')
                        sql_works.eat_cat(message.chat.id, dates[0], dates[1])
                        addons.send_picture(bot, message.chat.id)
                        menu_markup = 'markup_sql1m'
                        dict_sql[message.chat.id] = '0'
                    except:
                        bot.send_message(
                            message.chat.id,
                            'Не удалось выполнить запрос, проверьте правильность написания даты'
                        )

                elif dict_sql[message.chat.id] == '4m':
                    try:
                        dates = str(message.text).split(' ')
                        sql_works.card_dis(message.chat.id, dates[0], dates[1])
                        addons.send_picture(bot, message.chat.id)
                        menu_markup = 'markup_sql1m'
                        dict_sql[message.chat.id] = '0'
                    except:
                        bot.send_message(
                            message.chat.id,
                            'Не удалось выполнить запрос, проверьте правильность написания даты'
                        )

                elif dict_sql[message.chat.id] == '5m':
                    try:
                        dates = str(message.text).split(' ')
                        sql_works.card_pay(message.chat.id, dates[0], dates[1])
                        addons.send_picture(bot, message.chat.id)
                        menu_markup = 'markup_sql1m'
                        dict_sql[message.chat.id] = '0'
                    except:
                        bot.send_message(
                            message.chat.id,
                            'Не удалось выполнить запрос, проверьте правильность написания даты'
                        )
        else:

            asadf = server_addoned.add_list(rest_codeddd,
                                            message.from_user.username,
                                            message.text.lower())
            if asadf == '200':
                bot.send_message(message.chat.id,
                                 'Вы авторизованы, можете начать работу')
            else:
                bot.send_message(
                    message.chat.id,
                    'Вы не авторизованы для работы с ботом, введите пароль')
예제 #6
0
def temp_check_screen(text, bot, lock):
    with lock:
        delete_disc = False
        soup = BeautifulSoup(text, 'lxml')
        table1 = soup.find('screencheck')
        table = table1.get('table')
        print(type(table1))
        summary = soup.find('screencheck').get('sum')
        time = soup.find('sysparams').get('time')
        offic = soup.find('loginperson').get('name')
        offic_del = soup.find('waiter').get('name')
        datases = soup.find_all('checkline')
        datas = list()
        first = True

        for datasess in datases:
            name = datasess.get("name")
            qnt = datasess.get("qnt")
            tempor = f'{name}%%{qnt}'
            finded = False
            if first:
                datas.append(tempor)
                first = False
                continue
            for i in range(0, len(datas)):
                if name == datas[i].split('%%')[0]:
                    more_qnt = float(datas[i].split('%%')[1])
                    datas[i] = f'{name}%%{str(float(qnt) + more_qnt)}'
                    finded = True
                    break
            if not finded:
                datas.append(tempor)
        a = str()
        disc_text = str()
        coutn = 0
        if os.path.exists(f'temp_reports/12{table}'):
            a = str()
            checkw = True
            for data in datas:
                if float(qnt) != 0:
                    checkw = False
                    break
                name = data.split('%%')[0]
                qnt = data.split('%%')[1]
                message = str(f'        ВНИМАНИЕ УДАЛЕНИЕ БЛЮДА\n'
                              f'-----------------------------------\n'
                              f'Официант {offic}\n'
                              f'Удалил {offic_del}\n'
                              f'Стол {table}\n'
                              f'Дата {time}\n'
                              f'Удалено {name}\n'
                              f'Cтало 0\n\n')
                a += message
            if checkw:
                open(f'temp_reports/3{table}.txt', 'w',
                     encoding='UTF-8').write(a)
        for data in datas:
            name = data.split('%%')[0]
            qnt = data.split('%%')[1]

            delete_eat_fast(name, qnt, lock, table, offic, bot, time)
            a += format_prech(name, qnt, datases[coutn].get("price"))
            coutn += 1
        try:
            disc_name = soup.find('discount').get('name')
            disc_sum = soup.find('discount').get('sum')
            disc_text = str(f'\n{disc_name}             {disc_sum}\n')
            if not os.path.exists(f'temp_discount/{table}.txt'):
                # with open('temp_reports/discount.txt', 'a', encoding="UTF-8") as piz:
                #     piz.write(str(f'{disc_name}             {disc_sum}\n'))
                file = open(f'temp_discount/{table}.txt',
                            'x',
                            encoding='UTF-8')
                file.write('Нечего тут лазить, выйдите из папки')
                file.close()
        except:
            if os.path.exists(f'temp_discount/{table}.txt'):
                delete_disc = True
        spaces = " " * (27 - len(summary))
        new_summary = spaces + summary
        if delete_disc:
            with open(f'temp_table/{table}.txt', 'r',
                      encoding='UTF-8') as file:
                text = file.read()
            headers = '     ВНИМАНИЕ, УДАЛЕНА СКИДКА\n\n'
            message = headers + text
            addons.send_new_alarm(message, 'subscrubers/Alarm_subs.txt', bot,
                                  lock)
            os.remove(f'temp_discount/{table}.txt')
            if open(f'temp_reports/deleted_disc.txt', 'r',
                    encoding='UTF-8').read() == '':
                aaa = str(f'           Удалённые скидки\n\n'
                          f'----------------------------------------\n')
                open(f'temp_reports/deleted_disc.txt', 'w',
                     encoding='UTF-8').write(aaa)
            filec = open(f'temp_reports/deleted_disc.txt',
                         'a',
                         encoding='UTF-8').write(text)
        head = str(f'          Стол№ {table}\n'
                   f'Печать {time}\n'
                   f'Официант: {offic}\n'
                   f'\n'
                   f'Блюдо                   Кол-во     Сумма\n'
                   f'----------------------------------------\n'
                   f'{a}'
                   f'----------------------------------------\n'
                   f'Итого к оплате{new_summary}\n'
                   f'{disc_text}'
                   f'----------------------------------------')

        if os.path.exists(f'temp_table/{table}.txt'):
            file = open(f'temp_table/{table}.txt', 'w', encoding='UTF-8')
            file.write(head)
            file.close()
        else:
            file = open(f'temp_table/{table}.txt', 'x', encoding='UTF-8')
            file.write(head)
            file.close()
예제 #7
0
def temp_check(text, bot, lock):
    with lock:
        delete_disc = False
        soup = BeautifulSoup(text, 'lxml')
        table1 = soup.find('storecheck')
        table = table1.get('table')
        open(f'temp_reports/13{table}', 'w')
        time = soup.find('sysparams').get('time')
        offic = soup.find('loginperson').get('name')
        offic_del = soup.find('waiter').get('name')
        datases = soup.find_all('checkline')
        datas = list()
        first = True

        for datasess in datases:
            name = datasess.get("name")
            qnt = datasess.get("qnt")
            tempor = f'{name}%%{qnt}'
            finded = False
            if first:
                datas.append(tempor)
                first = False
                continue
            for i in range(0, len(datas)):
                if name == datas[i].split('%%')[0]:
                    more_qnt = float(datas[i].split('%%')[1])
                    datas[i] = f'{name}%%{str(float(qnt) + more_qnt)}'
                    finded = True
                    break
            if not finded:
                datas.append(tempor)
        a = str()
        disc_text = str()
        coutn = 0
        for data in datas:
            name = data.split('%%')[0]
            qnt = data.split('%%')[1]
            delete_eat(name, qnt, lock, table, offic, bot, time, offic_del)
            a += format_prech(name, qnt, datases[coutn].get("price"))
            coutn += 1
        try:
            disc_name = soup.find('discount').get('name')
            disc_sum = soup.find('discount').get('sum')
            disc_text = str(f'\n{disc_name}             {disc_sum}\n')
            if not os.path.exists(f'temp_discount/{table}.txt'):
                # with open('temp_reports/discount.txt', 'a', encoding="UTF-8") as piz:
                #     piz.write(str(f'{disc_name}             {disc_sum}\n'))
                file = open(f'temp_discount/{table}.txt',
                            'x',
                            encoding='UTF-8')
                file.write('Нечего тут лазить, выйдите из папки')
                file.close()
        except:
            if os.path.exists(f'temp_discount/{table}.txt'):
                delete_disc = True
        # spaces = " " * (27 - len(summary))
        # new_summary = spaces + summary
        if delete_disc:
            with open(f'temp_table/{table}.txt', 'r',
                      encoding='UTF-8') as file:
                text = file.read()
            headers = '     ВНИМАНИЕ, УДАЛЕНА СКИДКА\n\n'
            message = headers + text
            addons.send_new_alarm(message, 'subscrubers/Alarm_subs.txt', bot,
                                  lock)
            os.remove(f'temp_discount/{table}.txt')
            if open(f'temp_reports/deleted_disc.txt', 'r',
                    encoding='UTF-8').read() == '':
                aaa = str(f'           Удалённые скидки\n\n'
                          f'----------------------------------------\n')
                open(f'temp_reports/deleted_disc.txt', 'w',
                     encoding='UTF-8').write(aaa)
            filec = open(f'temp_reports/deleted_disc.txt',
                         'a',
                         encoding='UTF-8').write(text)