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()
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)
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)
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 файл')
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, 'Вы не авторизованы для работы с ботом, введите пароль')
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()
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)