diff --git a/taxcom_ip.py b/taxcom_ip.py index a617976..0d6e320 100644 --- a/taxcom_ip.py +++ b/taxcom_ip.py @@ -46,7 +46,7 @@ ID = [ ('7381440900836108','b50bc5a3-12e1-11e5-9265-e83935b036c7','Краснодар_Привокзальная'), ('9961440300515155','e33636ce-2f29-11eb-119f-0cc47ab40806','Волгоград_Авиаторов'), ('7381440900834264','691807dd-2629-11e9-993e-f06a44526bea','Волгоград_Еременко'), - ('9961440300902408','13f3b7e6-2f2a-11eb-119f-0cc47ab40806','Волгоград_Аллея_Героев'), + ('7381440900965091','13f3b7e6-2f2a-11eb-119f-0cc47ab40806','Волгоград_Аллея_Героев'), ('7381440800374463','ad06d608-b690-11ed-87bd-0cc47ab40806','Самара_Кирова_виваленде'), ] @@ -84,6 +84,9 @@ while True: result = requests.get(f'https://api-lk-ofd.taxcom.ru/API/v2/DocumentList?fn={fn}&shift={shiftNumber}&type=3', headers=headers, timeout=(20, 240)) ic(result.text) cheks = result.json()['records'] + result_kor = requests.get(f'https://api-lk-ofd.taxcom.ru/API/v2/DocumentList?fn={fn}&shift={shiftNumber}&type=31', headers=headers, timeout=(20, 240)) + ic(result_kor.text) + cheks_kor = result_kor.json()['records'] except: ic() # requests.get(f'https://api.telegram.org/bot5374522720:AAGoNUYCEyJ-7-bSAQPT7aV_W2GWcinnkQU/sendMessage?parse_mode=HTML&chat_id=394151541&text=Taxcom Maverik:\nЧека нет') @@ -113,14 +116,40 @@ while True: sleep(3600) break print(result.text) + if cheks_kor: + with open(f'checkKor_{n}', 'w', encoding='utf-8') as f: + f.write(str(cheks_kor)) + if Path(f'checkKor_{n}').is_file(): + if Path(f'{kassa}_kor_{n}').is_file(): + if filecmp.cmp(f'checkKor_{n}', f'{kassa}_{n}'): + print(f'{kassa}_kor -- Новые чеки коррекции отсутствуют') + continue + shutil.copy(f'checkKor_{n}', f'{kassa}_kor_{n}') + Path(f'checkKor_{n}').unlink() + data = {"salepoint": salepoint, + "res": str(cheks_kor)} + data = json.dumps(data, ensure_ascii=False).encode('utf-8') + print("Чек коррекции: ", kassa) + if check_server('1c.maverik.ru', 443): + result = requests.post('https://1c.maverik.ru/bso_maverik/hs/exchange/saveTaxcomDocs', data=data, allow_redirects=False, auth=('robot', 's38*Cqy2L*PB'), timeout=(10, 120)) + elif check_server('10.15.0.3', 80): + result = requests.post('http://10.15.0.3/bso_maverik/hs/exchange/saveTaxcomDocs', data=data, allow_redirects=False, auth=('robot', 's38*Cqy2L*PB'), timeout=(10, 120)) + else: + if Path(f'{kassa}_kor_{n}').is_file(): + Path(f'{kassa}_kor_{n}').unlink() + print('Ошибка загрузки чеков в 1С.\nСервер не доступен!\nЗагрузка повторится позже.') + send_rocketchat_notification('Ошибка загрузки чеков в 1С.', 'Сервер 1С не доступен!\nПроверить нужно OVPN.\nЗагрузка повторится через 1 час.') + sleep(3600) + break + print(result.text) print('-----------------') except Exception as e: - send_rocketchat_notification('Ошибка чеков по ИП.', str(e)) + send_rocketchat_notification('Ошибка Такском:', str(e)) continue print('#################') except Exception as e: # requests.get(f'https://api.telegram.org/bot5374522720:AAGoNUYCEyJ-7-bSAQPT7aV_W2GWcinnkQU/sendMessage?parse_mode=HTML&chat_id=394151541&text=Taxcom:\n{e}') - send_rocketchat_notification('Ошибка чеков по ИП.', str(e)) + send_rocketchat_notification('Ошибка обработки чеков.', str(e)) print('#################') print('#################')