diff --git a/dags/split_subkonto2.py b/dags/split_subkonto2.py index 0d79079..dea8340 100644 --- a/dags/split_subkonto2.py +++ b/dags/split_subkonto2.py @@ -244,22 +244,29 @@ def parse_contract_cell(cell_text): def read_dict_subkonto2_db(**kwargs): engine = get_db_engine() - df = pd.read_sql( - """ - select distinct + + # Using triple quotes for better readability + query = """ + SELECT DISTINCT osv.schet as schet , osv.subkonto2 as subkonto2 , osv.nomer as nomer , osv.date_begin as date_begin , osv.date_end as date_end - from public.oborotno_salbdovaya_vedomostb osv - left join public.dict_subkonto_two as dst - on dst.subkonto2 = osv.subkonto2 - where osv.subkonto2 not in (select dst2.subkonto2 from public.dict_subkonto_two dst2) - and (osv.nomer is null or osv.date_begin is null or osv.date_end is null) - and (osv.schet like \'%01%\' or osv.schet like \'%03%\') - """, engine) - return df.to_dict(orient='records') + FROM public.oborotno_salbdovaya_vedomostb osv + LEFT JOIN public.dict_subkonto_two as dst + ON dst.subkonto2 = osv.subkonto2 + WHERE osv.subkonto2 NOT IN (SELECT dst2.subkonto2 FROM public.dict_subkonto_two dst2) + AND (osv.nomer IS NULL OR osv.date_begin IS NULL OR osv.date_end IS NULL) + AND (osv.schet LIKE '%01%' OR osv.schet LIKE '%03%') + """ + + try: + df = pd.read_sql(query, engine) + return df.to_dict(orient='records') + except Exception as e: + print(f"Error executing SQL query: {e}") + raise def split_subkonto_from_1C(**kwargs): engine = get_db_engine()