Обновить dags/OSV.py

This commit is contained in:
bn_user 2025-09-05 12:57:43 +00:00
parent 2d9695eff3
commit b8530141cb
1 changed files with 58 additions and 87 deletions

View File

@ -71,96 +71,67 @@ def read_data_1C(**kwargs):
data_from_1c = response.json() data_from_1c = response.json()
df = pd.DataFrame(data_from_1c['data']) df = pd.DataFrame(data_from_1c['data'])
# engine = get_db_engine() engine = get_db_engine()
# table_name = 'oborotno_salbdovaya_vedomostb' table_name = 'oborotno_salbdovaya_vedomostb'
# field_mapping = { field_mapping = {
# # Основные поля # Основные поля
# 'Счет': 'schet', 'Счет': 'schet',
# 'Субконто1': 'subkonto1', 'Субконто1': 'subkonto1',
# 'Субконто2': 'subkonto2', 'Субконто2': 'subkonto2',
# # 'Субконто3': 'subkonto3', 'Организация': 'organizaciya',
# 'Организация': 'organizaciya', 'Контрагент': 'kontagent',
# # 'Валюта': 'valyuta', 'НомерДоговора': 'nomer',
'ДатаДоговора': 'date_bedin',
'СрокДействияДоговора': 'date_end',
# # Суммовые остатки и обороты # Суммовые остатки и обороты
# # 'СуммаНачальныйОстаток': 'summa_nachalnyy_ostatok', 'СуммаОборот': 'summa_oborot',
# # 'СуммаНачальныйОстатокДт': 'summa_nachalnyy_ostatok_dt', 'СуммаОборотДт': 'summa_oborot_dt',
# # 'СуммаНачальныйОстатокКт': 'summa_nachalnyy_ostatok_kt', 'СуммаОборотКт': 'summa_oborot_kt',
# # 'СуммаНачальныйРазвернутыйОстатокДт': 'summa_nachalnyy_razvernutyy_ostatok_dt', 'СуммаКонечныйОстаток': 'summa_konechnyy_ostatok',
# # 'СуммаНачальныйРазвернутыйОстатокКт': 'summa_nachalnyy_razvernutyy_ostatok_kt', 'СуммаКонечныйОстатокДт': 'summa_konechnyy_ostatok_dt',
# 'СуммаОборот': 'summa_oborot', 'СуммаКонечныйОстатокКт': 'summa_konechnyy_ostatok_kt',
# 'СуммаОборотДт': 'summa_oborot_dt', 'СуммаКонечныйРазвернутыйОстатокДт': 'summa_konechnyy_razvernutyy_ostatok_dt',
# 'СуммаОборотКт': 'summa_oborot_kt', 'СуммаКонечныйРазвернутыйОстатокКт': 'summa_konechnyy_razvernutyy_ostatok_kt'
# 'СуммаКонечныйОстаток': 'summa_konechnyy_ostatok', }
# 'СуммаКонечныйОстатокДт': 'summa_konechnyy_ostatok_dt',
# 'СуммаКонечныйОстатокКт': 'summa_konechnyy_ostatok_kt',
# 'СуммаКонечныйРазвернутыйОстатокДт': 'summa_konechnyy_razvernutyy_ostatok_dt',
# 'СуммаКонечныйРазвернутыйОстатокКт': 'summa_konechnyy_razvernutyy_ostatok_kt'
# # Валютные остатки и обороты
# # 'ВалютнаяСуммаНачальныйОстаток': 'valyutnaya_summa_nachalnyy_ostatok',
# # 'ВалютнаяСуммаНачальныйОстатокДт': 'valyutnaya_summa_nachalnyy_ostatok_dt',
# # 'ВалютнаяСуммаНачальныйОстатокКт': 'valyutnaya_summa_nachalnyy_ostatok_kt',
# # 'ВалютнаяСуммаНачальныйРазвернутыйОстатокДт': 'valyutnaya_summa_nachalnyy_razvernutyy_ostatok_dt',
# # 'ВалютнаяСуммаНачальныйРазвернутыйОстатокКт': 'valyutnaya_summa_nachalnyy_razvernutyy_ostatok_kt',
# # 'ВалютнаяСуммаОборот': 'valyutnaya_summa_oborot',
# # 'ВалютнаяСуммаОборотДт': 'valyutnaya_summa_oborot_dt',
# # 'ВалютнаяСуммаОборотКт': 'valyutnaya_summa_oborot_kt',
# # 'ВалютнаяСуммаКонечныйОстаток': 'valyutnaya_summa_konechnyy_ostatok',
# # 'ВалютнаяСуммаКонечныйОстатокДт': 'valyutnaya_summa_konechnyy_ostatok_dt',
# # 'ВалютнаяСуммаКонечныйОстатокКт': 'valyutnaya_summa_konechnyy_ostatok_kt',
# # 'ВалютнаяСуммаКонечныйРазвернутыйОстатокДт': 'valyutnaya_summa_konechnyy_razvernutyy_ostatok_dt',
# # 'ВалютнаяСуммаКонечныйРазвернутыйОстатокКт': 'valyutnaya_summa_konechnyy_razvernutyy_ostatok_kt',
# # Количественные остатки и обороты
# # 'КоличествоНачальныйОстаток': 'kolichestvo_nachalnyy_ostatok',
# # 'КоличествоНачальныйОстатокДт': 'kolichestvo_nachalnyy_ostatok_dt',
# # 'КоличествоНачальныйОстатокКт': 'kolichestvo_nachalnyy_ostatok_kt',
# # 'КоличествоНачальныйРазвернутыйОстатокДт': 'kolichestvo_nachalnyy_razvernutyy_ostatok_dt',
# # 'КоличествоНачальныйРазвернутыйОстатокКт': 'kolichestvo_nachalnyy_razvernutyy_ostatok_kt',
# # 'КоличествоОборот': 'kolichestvo_oborot',
# # 'КоличествоОборотДт': 'kolichestvo_oborot_dt',
# # 'КоличествоОборотКт': 'kolichestvo_oborot_kt',
# # 'КоличествоКонечныйОстаток': 'kolichestvo_konechnyy_ostatok',
# # 'КоличествоКонечныйОстатокДт': 'kolichestvo_konechnyy_ostatok_dt',
# # 'КоличествоКонечныйОстатокКт': 'kolichestvo_konechnyy_ostatok_kt',
# # 'КоличествоКонечныйРазвернутыйОстатокДт': 'kolichestvo_konechnyy_razvernutyy_ostatok_dt',
# # 'КоличествоКонечныйРазвернутыйОстатокКт': 'kolichestvo_konechnyy_razvernutyy_ostatok_kt'
# }
# df = df.rename(columns=field_mapping) df = df.rename(columns=field_mapping)
# with engine.begin() as conn: with engine.begin() as conn:
# if not df.empty: if not df.empty:
# conn.execute(f"CREATE TEMP TABLE temp_{table_name} AS SELECT * FROM public.{table_name} WHERE 1 = 0") conn.execute(f"CREATE TEMP TABLE temp_{table_name} AS SELECT * FROM public.{table_name} WHERE 1 = 0")
# df.to_sql( df.to_sql(
# f'temp_{table_name}', f'temp_{table_name}',
# con=conn, con=conn,
# if_exists='append', if_exists='append',
# index=False, index=False,
# method='multi' method='multi'
# ) )
# conn.execute(f"DELETE FROM public.{table_name} where get_date = CURRENT_DATE::date::timestamp") conn.execute(f"DELETE FROM public.{table_name} where get_date = CURRENT_DATE::date::timestamp")
# conn.execute(f""" conn.execute(f"""
# INSERT INTO public.{table_name} INSERT INTO public.{table_name}
# SELECT SELECT
# schet schet
# , subkonto1 , subkonto1
# , subkonto2 , subkonto2
# , organizaciya , organizaciya
# , summa_oborot , kontagent
# , summa_oborot_dt , nomer
# , summa_oborot_kt , date_bedin
# , summa_konechnyy_ostatok , date_end
# , summa_konechnyy_ostatok_dt , summa_oborot
# , summa_konechnyy_ostatok_kt , summa_oborot_dt
# , summa_konechnyy_razvernutyy_ostatok_dt , summa_oborot_kt
# , summa_konechnyy_razvernutyy_ostatok_kt , summa_konechnyy_ostatok
# , CURRENT_DATE::date::timestamp , summa_konechnyy_ostatok_dt
# FROM temp_{table_name} , summa_konechnyy_ostatok_kt
# --ON CONFLICT (schet, subkonto1, subkonto2, organizaciya) , summa_konechnyy_razvernutyy_ostatok_dt
# """ , summa_konechnyy_razvernutyy_ostatok_kt
# ) , CURRENT_DATE::date::timestamp
FROM temp_{table_name}
--ON CONFLICT (schet, subkonto1, subkonto2, organizaciya)
"""
)
with DAG( with DAG(
dag_id='data_download_from_1C_source', dag_id='data_download_from_1C_source',