Обновить dags/split_subkonto2.py
This commit is contained in:
parent
576c844b9b
commit
ca9ed44763
|
|
@ -236,7 +236,7 @@ def parse_contract_cell(cell_text):
|
|||
|
||||
return pd.Series({
|
||||
"subkonto2": cell_text,
|
||||
"naimenovanie": title,
|
||||
"naimenovanie": title.lower(),
|
||||
"nomer": number,
|
||||
"date_bedin": date_norm,
|
||||
"date_end": None
|
||||
|
|
@ -248,13 +248,14 @@ def read_dict_subkonto2_db(**kwargs):
|
|||
select
|
||||
osv.subkonto2 as subkonto2
|
||||
, dst.naimenovanie as naimenovanie
|
||||
, coalesce(dst.nomer , osv.nomer) as nomer
|
||||
, coalesce(dst.date_begin , osv.date_bedin) as date_bedin
|
||||
, coalesce(dst.date_end, osv.date_end) as date_end
|
||||
, osv.nomer as nomer
|
||||
, osv.date_bedin 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 dict_subkonto_two dst2)
|
||||
and osv.nomer is null
|
||||
""", engine)
|
||||
return df.to_dict(orient='records')
|
||||
|
||||
|
|
@ -278,8 +279,25 @@ def merge_dict_and_split_1C(**kwargs):
|
|||
df_dict_subkonto = pd.DataFrame.from_records(dict_subkonto) if dict_subkonto else pd.DataFrame()
|
||||
df_split_subkonto = pd.DataFrame.from_records(split_subkonto) if split_subkonto else pd.DataFrame()
|
||||
|
||||
df_subkonto = df_split_subkonto.merge(df_dict_subkonto, how='left', on='subkonto2')
|
||||
return df_subkonto.to_dict(orient='records')
|
||||
result_df = df_split_subkonto.merge(df_dict_subkonto, how='left', on='subkonto2', suffixes=('_split', '_dict'))
|
||||
result_df['naimenovanie'] = result_df['naimenovanie_split']
|
||||
|
||||
result_df['nomer'] = np.where(
|
||||
(result_df['nomer_dict'].isna()) | (result_df['nomer_split'] != result_df['nomer_dict']),
|
||||
result_df['nomer_split'],
|
||||
result_df['nomer_dict']
|
||||
)
|
||||
|
||||
result_df['date_bedin'] = np.where(
|
||||
result_df['date_bedin_dict'].isna(),
|
||||
result_df['date_bedin_split'],
|
||||
result_df['date_bedin_dict']
|
||||
)
|
||||
|
||||
result_df['date_end'] = result_df['date_end_dict']
|
||||
|
||||
result_df = result_df[['subkonto2', 'naimenovanie', 'nomer', 'date_bedin', 'date_end']]
|
||||
return result_df.to_dict(orient='records')
|
||||
|
||||
with DAG(
|
||||
dag_id='split_subkonto2',
|
||||
|
|
|
|||
Loading…
Reference in New Issue