def pag_loader_delayd_receivables_arq(identificador_arquivo): retorno = 0 descr_erro = 'Sucesso' df = pd.read_csv(reads3.busca_arquivo_s3(identificador_arquivo), sep=",", doublequote=False) try: arq_csv_colun_sele = df[['Id','Contrato','Cnpj','Cpf socio','Situação','Tipo de tomador','Entidade','Data de contrato','Taxa efetiva (a.m.)','Forma de pagamento','Saldo Devedor Atual','Saldo Contábil','Valor em atraso','Atraso total (dias)']].fillna('0') #print(arq_csv_colun_sele.head()) #os.system("pause") arq_csv_colun_sele = arq_csv_colun_sele.rename(columns={"Id": "idt_operacao" ,"Contrato": "num_contrato" ,"Cnpj" : "num_cnpj" ,"Cpf socio" : "num_cpf_socio" ,"Situação": "des_situacao" ,"Tipo de tomador": "ind_tp_tomador" ,"Entidade": "nam_entidade" ,"Data de contrato": "dat_contrato" ,"Taxa efetiva (a.m.)": "num_taxa_efetiva" ,"Saldo Devedor Atual": "num_saldo_devedor_atual" ,"Saldo Contábil": 'num_saldo_contabil' ,"Forma de pagamento": "des_forma_pagamento" ,"Valor em atraso": "num_valor_atraso" ,"Atraso total (dias)": "num_atraso_total_dias" }) arq_csv_colun_sele['num_cpf_socio'] = arq_csv_colun_sele['num_cpf_socio'].astype(str) arq_csv_colun_sele['num_cpf_socio'] = arq_csv_colun_sele.num_cpf_socio.str.pad(11,side='left',fillchar='0') arq_csv_colun_sele['num_cnpj'] = arq_csv_colun_sele['num_cnpj'].astype(str) arq_csv_colun_sele['num_cnpj'] = arq_csv_colun_sele.num_cnpj.str.pad(14,side='left',fillchar='0') arq_csv_colun_sele['num_saldo_devedor_atual'] = arq_csv_colun_sele['num_saldo_devedor_atual'].str.replace('.', '').str.replace('$', '').str.replace('R', '').fillna(0) #para pag usa saldocontabil para p2p usa saldodevedor arq_csv_colun_sele['num_saldo_contabil'] = arq_csv_colun_sele['num_saldo_contabil'].str.replace('.', '').str.replace('$', '').str.replace('R', '').fillna(0) arq_csv_colun_sele['num_valor_atraso'] = arq_csv_colun_sele['num_valor_atraso'].str.replace('.', '').str.replace('$', '').str.replace('R', '').fillna(0) arq_csv_colun_sele['des_forma_pagamento'] = listcases.lista_forma_pagamento(arq_csv_colun_sele['des_forma_pagamento']) arq_csv_colun_sele['ind_tp_tomador'] = listcases.lista_tp_tomador(arq_csv_colun_sele['ind_tp_tomador']) arq_csv_colun_sele['anomes'] = arq_csv_colun_sele['dat_contrato'].str[0:7] arq_csv_colun_sele['num_taxa_efetiva'] = arq_csv_colun_sele['num_taxa_efetiva'].fillna(0)*100 arq_csv_colun_sele['num_atraso_total_dias'] = arq_csv_colun_sele['num_atraso_total_dias'].astype('int64').fillna(0) arq_csv_colun_sele['num_rank'] = np.arange(1,len(arq_csv_colun_sele)+1) ''' #dois fluxos desenvolvidos para utilizar rank e row_number - PENSAR SE DEVE OU NAO UTILIZAR #rank seq de linhas carregadas arq_csv_colun_sele['rank'] = np.arange(1,len(arq_csv_colun_sele)+1) reads3.envia_arquivo_s3(arq_csv_colun_sele,identificador_arquivo) #row_num seq de vezes que o processo foi exec ao dia SQL = ("select x.RANK_NUM, nvl(max(x.row_num),1)+1 as ROW_NUM_QUERY from (select rank_num, ROW_NUMBER() OVER (PARTITION BY RANK_NUM ORDER BY RANK_NUM DESC ) AS ROW_NUM from credito.teste_rank_py WHERE TRUNC(DAT_IMPORT) >= TRUNC(SYSDATE))x group by x.rank_num") ref = pd.read_sql_query(SQL, con=conn) ndf = pd.DataFrame(ref) arq_csv_colun_sele['row_num'] = ndf['ROW_NUM_QUERY'] arq_csv_colun_sele['row_num'] = arq_csv_colun_sele['row_num'].fillna(1) ''' lista_array = list(arq_csv_colun_sele.to_records(index=False, column_dtypes=dict)) log.logger.info('0 - credito.cart_cobr_arq_delayed_rec') query_insert =("INSERT /*array */ INTO credito.cart_cobr_arq_delayed_rec (idt_operacao ,num_contrato ,num_cnpj ,num_cpf_socio ,des_situacao ,ind_tp_tomador ,nam_entidade ,dat_contrato, num_taxa_efetiva, des_forma_pagamento ,num_saldo_devedor_atual, num_saldo_contabil ,num_valor_atraso ,num_atraso_total_dias, anomes, num_rank) values (:1, :2, :3, :4, :5, :6, :7 ,to_Date(:8,'yyyy-mm-dd'), :9, :10, :11, :12, :13, :14, :15, :16)") table_name = ("credito.cart_cobr_arq_delayed_rec") insertdb.insertDataBase(lista_array, query_insert, table_name) except Exception as err: log.logger.error(err) #raise err retorno = 1 descr_erro = str(err) return retorno, descr_erro
def create_tb_carteira_status(): retorno = 0 descr_erro = 'Sucesso' conn = conexao.connect_db().oracle dctb.drop_create_tb_cart( ) #funcao que cria estrutura de tabelas para buscar carteira do cliente sql = dctb.query_select( ) #query que utiliza o tratamento com tb do lake para buscar carteira de cliente df_list = [] conn = conexao.connect_db().oracle for chunk in pd.read_sql_query(sql, conn, chunksize=1000): df_list.append(chunk) df_tabela = pd.concat(df_list, ignore_index=True) try: log.logger.info('5 - credito.cart_cobr_sts_cart_valor' ) #print('5 - credito.cart_cobr_sts_cart_valor') df_cart_sts_valor = df_tabela.groupby([ 'CARTEIRA', 'IND_DIVISAO' ])['NUM_SALDO_CONTABIL'].sum().to_frame().reset_index() df_cart_sts_valor = df_cart_sts_valor.pivot_table( values='NUM_SALDO_CONTABIL', index='CARTEIRA', columns='IND_DIVISAO', aggfunc=sum).fillna(0) df_cart_sts_valor = pd.DataFrame( df_cart_sts_valor, columns=['Capital', 'WhiteLabel', 'totalmr']).fillna(0) df_cart_sts_valor['totalmr'] = df_cart_sts_valor.sum(axis=1) df_cart_sts_valor.loc['totalmr'] = df_cart_sts_valor.sum(axis=0) df_cart_sts_valor['num_rank'] = np.arange(1, len(df_cart_sts_valor) + 1) lista_array = list( df_cart_sts_valor.to_records(index=True, column_dtypes=dict)) query_insert = "INSERT /*array */ INTO credito.cart_cobr_sts_cart_valor (status_carteira, capital, whitelabel, totalmr, num_rank) values (:1, :2, :3, :4, :5)" table_name = ("credito.cart_cobr_sts_cart_valor") insertdb.insertDataBase(lista_array, query_insert, table_name) list.clear(lista_array) log.logger.info('6 - credito.cart_cobr_sts_cart_qtd' ) #print('6 - credito.cart_cobr_sts_cart_qtd') df_cart_sts_qtd_op = df_tabela.groupby( ['CARTEIRA', 'IND_DIVISAO'])['IDT_OPERACAO'].size().to_frame().reset_index() df_cart_sts_qtd_op = df_cart_sts_qtd_op.pivot_table( values='IDT_OPERACAO', index='CARTEIRA', columns='IND_DIVISAO', aggfunc=pd.Series.unique).fillna(0) df_cart_sts_qtd_op = pd.DataFrame( df_cart_sts_qtd_op, columns=['Capital', 'WhiteLabel', 'totalmr']).fillna(0) df_cart_sts_qtd_op['totalmr'] = df_cart_sts_qtd_op.sum(axis=1) df_cart_sts_qtd_op.loc['totalmr'] = df_cart_sts_qtd_op.sum(axis=0) df_cart_sts_qtd_op['num_rank'] = np.arange(1, len(df_cart_sts_qtd_op) + 1) lista_array = list( df_cart_sts_qtd_op.to_records(index=True, column_dtypes=dict)) query_insert = "INSERT /*array */ INTO credito.cart_cobr_sts_cart_qtd (status_carteira, capital, whitelabel, totalmr, num_rank) values (:1, :2, :3, :4, :5)" table_name = ("credito.cart_cobr_sts_cart_qtd") insertdb.insertDataBase(lista_array, query_insert, table_name) list.clear(lista_array) log.logger.info('7 - credito.cart_cobr_sts_cart_porc' ) #print('7 - credito.cart_cobr_sts_cart_porc') df_cart_carteira_op_porc = pd.DataFrame( df_cart_sts_qtd_op, columns=['Capital', 'WhiteLabel']) df_cart_carteira_op_porc = df_cart_carteira_op_porc.drop('totalmr') df_cart_carteira_op_porc['Capital'] = df_cart_carteira_op_porc[ 'Capital'] / df_cart_carteira_op_porc['Capital'].sum(axis=0) * 100 df_cart_carteira_op_porc['WhiteLabel'] = df_cart_carteira_op_porc[ 'WhiteLabel'] / df_cart_carteira_op_porc['WhiteLabel'].sum( axis=0) * 100 df_cart_carteira_op_porc = pd.DataFrame( df_cart_carteira_op_porc, columns=['Capital', 'WhiteLabel', 'totalmr']).fillna(0) df_cart_carteira_op_porc['totalmr'] = df_cart_carteira_op_porc.sum( axis=1) df_cart_carteira_op_porc.loc['totalmr'] = df_cart_carteira_op_porc.sum( axis=0) df_cart_carteira_op_porc['num_rank'] = np.arange( 1, len(df_cart_carteira_op_porc) + 1) lista_array = list( df_cart_carteira_op_porc.to_records(index=True, column_dtypes=dict)) query_insert = "INSERT /*array */ INTO credito.cart_cobr_sts_cart_porc (status_carteira, capital, whitelabel, totalmr, num_rank) values (:1, :2, :3, :4, :5)" table_name = ("credito.cart_cobr_sts_cart_porc") insertdb.insertDataBase(lista_array, query_insert, table_name) list.clear(lista_array) #print('AGING ') log.logger.info('8 - credito.cart_cobr_sts_cart_aging_valor' ) #print('8 - cart_cobr_sts_cart_aging_valor') df_tabela['AGING'] = listcases.lista_atraso_dias( df_tabela['NUM_ATRASO_TOTAL_DIAS']) df_cart_sts_valor = df_tabela.groupby( ['AGING', 'CARTEIRA'])['NUM_SALDO_CONTABIL'].sum().to_frame().reset_index() df_cart_carteira_valor = df_cart_sts_valor.pivot_table( values='NUM_SALDO_CONTABIL', index='AGING', columns='CARTEIRA', aggfunc=sum).fillna(0) df_cart_carteira_valor = pd.DataFrame(df_cart_carteira_valor, columns=[ '0', 'GERENTEVIRTUAL', 'LONGTAIL', 'PARCERIAS', 'BERCARIO', 'SUBADQUIRENTE', 'EMPRESAS', 'VAREJO', 'ISO' ]).fillna(0) df_cart_carteira_valor['TOTALMR'] = df_cart_carteira_valor.sum(axis=1) df_cart_carteira_valor.loc['TOTALMR'] = df_cart_carteira_valor.sum( axis=0) df_cart_carteira_valor['NUM_RANK'] = np.arange( 1, len(df_cart_carteira_valor) + 1) lista_array = list( df_cart_carteira_valor.to_records(index=True, column_dtypes=dict)) query_insert = "INSERT /*array */ INTO credito.cart_cobr_sts_cart_aging_valor (AGING, ZERO, GERENTEVIRTUAL, LONGTAIL, PARCERIAS, BERCARIO,SUBADQUIRENTE,EMPRESAS,VAREJO, ISO, TOTALMR, NUM_RANK) values (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11)" table_name = ("credito.cart_cobr_sts_cart_aging_valor") insertdb.insertDataBase(lista_array, query_insert, table_name) list.clear(lista_array) log.logger.info('9 - credito.cart_cobr_sts_cart_aging_qtd' ) #print('9 - credito.cart_cobr_sts_cart_aging_qtd') df_cart_sts_aging_qtd_op = df_tabela.groupby( ['AGING', 'CARTEIRA'])['IDT_OPERACAO'].size().to_frame().reset_index() df_cart_sts_aging_qtd_op = df_cart_sts_aging_qtd_op.pivot_table( values='IDT_OPERACAO', index=['AGING'], columns='CARTEIRA', aggfunc=pd.Series.unique).fillna(0) df_cart_sts_aging_qtd_op = pd.DataFrame(df_cart_sts_aging_qtd_op, columns=[ '0', 'GERENTEVIRTUAL', 'LONGTAIL', 'PARCERIAS', 'BERCARIO', 'SUBADQUIRENTE', 'EMPRESAS', 'VAREJO', 'ISO' ]).fillna(0) df_cart_sts_aging_qtd_op['TOTALMR'] = df_cart_sts_aging_qtd_op.sum( axis=1) df_cart_sts_aging_qtd_op.loc['TOTALMR'] = df_cart_sts_aging_qtd_op.sum( axis=0) df_cart_sts_aging_qtd_op['NUM_RANK'] = np.arange( 1, len(df_cart_sts_aging_qtd_op) + 1) lista_array = list( df_cart_sts_aging_qtd_op.to_records(index=True, column_dtypes=dict)) query_insert = "INSERT /*array */ INTO credito.cart_cobr_sts_cart_aging_qtd (AGING, ZERO, GERENTEVIRTUAL, LONGTAIL, PARCERIAS, BERCARIO,SUBADQUIRENTE,EMPRESAS,VAREJO, ISO, TOTALMR, NUM_RANK) values (:0, :1, :2, :3, :4, :5, :6, :7, :8, :09 ,:10, :11)" table_name = ("credito.cart_cobr_sts_cart_aging_qtd") insertdb.insertDataBase(lista_array, query_insert, table_name) list.clear(lista_array) log.logger.info('10 - credito.cart_cobr_sts_cart_aging_porc' ) #print('10 - credito.cart_cobr_sts_cart_aging_porc') #0 BERÇÁRIO EMPRESAS GERENTE VIRTUAL LONGTAIL PARCERIAS SUBADQUIRENTE A DESCOBRIR VAREJO ISO df_cart_sts_aging_qtd_porc = pd.DataFrame( df_cart_sts_aging_qtd_op, columns=[ '0', 'GERENTEVIRTUAL', 'LONGTAIL', 'PARCERIAS', 'BERCARIO', 'SUBADQUIRENTE', 'EMPRESAS', 'VAREJO', 'ISO' ]) df_cart_sts_aging_qtd_porc = df_cart_sts_aging_qtd_porc.drop('TOTALMR') df_cart_sts_aging_qtd_porc['0'] = df_cart_sts_aging_qtd_porc[ '0'] / df_cart_sts_aging_qtd_porc['0'].sum(axis=0) * 100 df_cart_sts_aging_qtd_porc[ 'GERENTEVIRTUAL'] = df_cart_sts_aging_qtd_porc[ 'GERENTEVIRTUAL'] / df_cart_sts_aging_qtd_porc[ 'GERENTEVIRTUAL'].sum(axis=0) * 100 df_cart_sts_aging_qtd_porc['LONGTAIL'] = df_cart_sts_aging_qtd_porc[ 'LONGTAIL'] / df_cart_sts_aging_qtd_porc['LONGTAIL'].sum( axis=0) * 100 df_cart_sts_aging_qtd_porc['PARCERIAS'] = df_cart_sts_aging_qtd_porc[ 'PARCERIAS'] / df_cart_sts_aging_qtd_porc['PARCERIAS'].sum( axis=0) * 100 df_cart_sts_aging_qtd_porc['BERCARIO'] = df_cart_sts_aging_qtd_porc[ 'BERCARIO'] / df_cart_sts_aging_qtd_porc['BERCARIO'].sum( axis=0) * 100 df_cart_sts_aging_qtd_porc[ 'SUBADQUIRENTE'] = df_cart_sts_aging_qtd_porc[ 'SUBADQUIRENTE'] / df_cart_sts_aging_qtd_porc[ 'SUBADQUIRENTE'].sum(axis=0) * 100 df_cart_sts_aging_qtd_porc['EMPRESAS'] = df_cart_sts_aging_qtd_porc[ 'EMPRESAS'] / df_cart_sts_aging_qtd_porc['EMPRESAS'].sum( axis=0) * 100 df_cart_sts_aging_qtd_porc['VAREJO'] = df_cart_sts_aging_qtd_porc[ 'VAREJO'] / df_cart_sts_aging_qtd_porc['VAREJO'].sum(axis=0) * 100 df_cart_sts_aging_qtd_porc['ISO'] = df_cart_sts_aging_qtd_porc[ 'ISO'] / df_cart_sts_aging_qtd_porc['ISO'].sum(axis=0) * 100 df_cart_sts_aging_qtd_porc = pd.DataFrame( df_cart_sts_aging_qtd_porc, columns=[ '0', 'GERENTEVIRTUAL', 'LONGTAIL', 'PARCERIAS', 'BERCARIO', 'SUBADQUIRENTE', 'EMPRESAS', 'VAREJO', 'ISO' ]).fillna(0) df_cart_sts_aging_qtd_porc['TOTALMR'] = df_cart_sts_aging_qtd_porc.sum( axis=1) df_cart_sts_aging_qtd_porc.loc[ 'TOTALMR'] = df_cart_sts_aging_qtd_porc.sum(axis=0) df_cart_sts_aging_qtd_porc['NUM_RANK'] = np.arange( 1, len(df_cart_sts_aging_qtd_porc) + 1) lista_array = list( df_cart_sts_aging_qtd_porc.to_records(index=True, column_dtypes=dict)) query_insert = "INSERT /*array */ INTO credito.cart_cobr_sts_cart_aging_porc (AGING, ZERO, GERENTEVIRTUAL, LONGTAIL, PARCERIAS, BERCARIO,SUBADQUIRENTE,EMPRESAS,VAREJO, ISO, TOTALMR, NUM_RANK) values (:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11)" table_name = ("credito.cart_cobr_sts_cart_aging_porc") insertdb.insertDataBase(lista_array, query_insert, table_name) list.clear(lista_array) except Exception as err: log.logger.error(err) #raise err retorno = 1 descr_erro = str(err) return retorno, descr_erro #print(datetime.date_time_zn().now - startTime) conn.close()
def create_tb_carteira_aging(identificador_arquivo): retorno = 0 descr_erro = 'Sucesso' df = pd.read_csv(reads3.busca_arquivo_s3(identificador_arquivo), sep=",", doublequote=False) #arq_csv_colun_sele = df[['Id','Contrato','Situação','Tipo de tomador','Entidade','Data de contrato','Saldo Devedor Atual','Saldo Contábil','Valor em atraso','Forma de pagamento','Atraso total (dias)']].fillna(0) try: arq_csv_colun_sele = df[[ 'Id', 'Situação', 'Data de contrato', 'Saldo Contábil', 'Valor em atraso', 'Forma de pagamento', 'Atraso total (dias)' ]].fillna(0) arq_csv_colun_sele = arq_csv_colun_sele.rename( columns={ "Id": "idt_operacao" #,"Contrato": "num_contrato" #,"Cnpj" : "num_cnpj" #,"Cpf socio" : "num_cpf_socio" #"{0:011d}".format(1234567) #,"Situação": "des_situacao" #,"Tipo de tomador": "ind_tp_tomador" #,"Entidade": "nam_entidade" , "Data de contrato": "dat_contrato" #,"Saldo Devedor Atual": "num_saldo_devedor_atual" , "Saldo Contábil": "num_saldo_contabil", "Forma de pagamento": "des_forma_pagamento", "Valor em atraso": "num_valor_atraso", "Atraso total (dias)": "num_atraso_total_dias" }) #para pag usa saldocontabil para p2p usa saldodevedor arq_csv_colun_sele['num_saldo_contabil'] = arq_csv_colun_sele[ 'num_saldo_contabil'].str.replace('.', '').str.replace( ',', '.').str.replace('$', '').str.replace( 'R', '').astype('float64').fillna(0) arq_csv_colun_sele['ind_divisao'] = listcases.lista_forma_pagamento( arq_csv_colun_sele['des_forma_pagamento']) df_agrupado_cart_cobr = pd.DataFrame(arq_csv_colun_sele, columns=[ 'ind_divisao', 'num_atraso_total_dias', 'num_saldo_contabil' ]) # log.logger.info( '1 - credito.cart_cobr_sum') #print('1 - credito.cart_cobr_sum') #gera a primeira tabela consolidado valores somatoria e porc df_agrupado_group_sum = arq_csv_colun_sele.groupby( ['ind_divisao'])['num_saldo_contabil'].sum().to_frame() df_agrupado_group_sum['porcent'] = df_agrupado_group_sum[ 'num_saldo_contabil'] / df_agrupado_group_sum[ 'num_saldo_contabil'].sum() * 100 df_agrupado_group_sum.loc['totalmr'] = df_agrupado_group_sum.sum( axis=0) ''' list_column = [] for index in df_agrupado_group_sum: list_column.append(index) df_agrupado_group_sum['rank'] = list_column ''' df_agrupado_group_sum['num_rank'] = np.arange( 1, len(df_agrupado_group_sum) + 1) lista_array = list( df_agrupado_group_sum.to_records(index=True, column_dtypes=dict)) query_insert = "INSERT /*array */ INTO credito.cart_cobr_sum (cart_cobr, totalmr, porc, num_rank) values (:1, :2, :3, :4)" table_name = ("credito.cart_cobr_sum") insertdb.insertDataBase(lista_array, query_insert, table_name) ## log.logger.info('2 - credito.cart_cobr_aging_valor' ) #print('2 - credito.cart_cobr_aging_valor') #gera a seg tabela consolidado valores somatoria com aging dias df_agrupado_cart_cobr = pd.DataFrame(arq_csv_colun_sele, columns=[ 'idt_operacao', 'ind_divisao', 'num_atraso_total_dias', 'num_saldo_contabil' ]) df_agrupado_cart_cobr['aging'] = listcases.lista_atraso_dias( df_agrupado_cart_cobr['num_atraso_total_dias']) df_cart_aging_valor = df_agrupado_cart_cobr.groupby([ 'aging', 'ind_divisao' ])['num_saldo_contabil'].sum().to_frame().reset_index() df_cart_aging_valor = df_cart_aging_valor.pivot_table( values='num_saldo_contabil', index='aging', columns='ind_divisao', aggfunc=sum).fillna(0) df_cart_aging_valor = pd.DataFrame( df_cart_aging_valor, columns=['Capital', 'WhiteLabel', 'totalmr']).fillna(0) df_cart_aging_valor['totalmr'] = df_cart_aging_valor.sum(axis=1) df_cart_aging_valor.loc['totalmr'] = df_cart_aging_valor.sum(axis=0) df_cart_aging_valor['num_rank'] = np.arange( 1, len(df_cart_aging_valor) + 1) lista_array = list( df_cart_aging_valor.to_records(index=True, column_dtypes=dict)) query_insert = "INSERT /*array */ INTO credito.cart_cobr_aging_valor (aging, capital, whitelabel, totalmr, num_rank) values (:1, :2, :3, :4, :5)" table_name = ("credito.cart_cobr_aging_valor") insertdb.insertDataBase(lista_array, query_insert, table_name) ### log.logger.info('3 - credito.cart_cobr_aging_qtd' ) #print('3 - credito.cart_cobr_aging_qtd') #gera a terc tabela consolidado valores qtd ope com aging dias df_cart_aging_qtd_op = df_agrupado_cart_cobr.groupby( ['aging', 'ind_divisao'])['idt_operacao'].size().to_frame().reset_index() df_cart_aging_qtd_op = df_cart_aging_qtd_op.pivot_table( values='idt_operacao', index=['aging'], columns='ind_divisao', aggfunc=pd.Series.unique).fillna(0) df_cart_aging_qtd_op = pd.DataFrame( df_cart_aging_qtd_op, columns=['Capital', 'WhiteLabel', 'totalmr']).fillna(0) df_cart_aging_qtd_op['totalmr'] = df_cart_aging_qtd_op.sum(axis=1) df_cart_aging_qtd_op.loc['totalmr'] = df_cart_aging_qtd_op.sum(axis=0) df_cart_aging_qtd_op['num_rank'] = np.arange( 1, len(df_cart_aging_qtd_op) + 1) lista_array = list( df_cart_aging_qtd_op.to_records(index=True, column_dtypes=dict)) query_insert = "INSERT /*array */ INTO credito.cart_cobr_aging_qtd (aging, capital, whitelabel, totalmr, num_rank) values (:1, :2, :3, :4, :5)" table_name = ("credito.cart_cobr_aging_qtd") insertdb.insertDataBase(lista_array, query_insert, table_name) #### log.logger.info('4 - credito.cart_cobr_aging_porc' ) #print('4 - credito.cart_cobr_aging_porc') #gera a quart tabela consolidado porc aging dias df_cart_aging_qtd_porc = pd.DataFrame( df_cart_aging_qtd_op, columns=['Capital', 'WhiteLabel']) df_cart_aging_qtd_porc = df_cart_aging_qtd_porc.drop('totalmr') df_cart_aging_qtd_porc['Capital'] = df_cart_aging_qtd_porc[ 'Capital'] / df_cart_aging_qtd_porc['Capital'].sum(axis=0) * 100 df_cart_aging_qtd_porc['WhiteLabel'] = df_cart_aging_qtd_porc[ 'WhiteLabel'] / df_cart_aging_qtd_porc['WhiteLabel'].sum( axis=0) * 100 df_cart_aging_qtd_op = pd.DataFrame( df_cart_aging_qtd_op, columns=['Capital', 'WhiteLabel', 'totalmr']).fillna(0) df_cart_aging_qtd_porc['totalmr'] = df_cart_aging_qtd_porc.sum(axis=1) df_cart_aging_qtd_porc.loc['totalmr'] = df_cart_aging_qtd_porc.sum( axis=0) df_cart_aging_qtd_porc['num_rank'] = np.arange( 1, len(df_cart_aging_qtd_porc) + 1) lista_array = list( df_cart_aging_qtd_porc.to_records(index=True, column_dtypes=dict)) query_insert = "INSERT /*array */ INTO credito.cart_cobr_aging_porc (aging, capital, whitelabel, totalmr, num_rank) values (:1, :2, :3, :4, :5)" table_name = ("credito.cart_cobr_aging_porc") insertdb.insertDataBase(lista_array, query_insert, table_name) except Exception as err: log.logger.error(err) #raise err retorno = 1 descr_erro = str(err) return retorno, descr_erro
def p2p_pag_loader_delayd_receivables_arq(identificador_arquivo): df = pd.read_csv(reads3.busca_arquivo_s3(identificador_arquivo), sep=";", doublequote=False) try: arq_csv_colun_sele = df[[ 'Id', 'Contrato', 'Cnpj', 'Cpf socio', 'Situação', 'Tipo de tomador', 'Entidade', 'Data de contrato', 'Taxa efetiva (a.m.)', 'Forma de pagamento', 'Saldo Devedor Atual', 'Valor em atraso', 'Atraso total (dias)' ]].fillna('0') arq_csv_colun_sele = arq_csv_colun_sele.rename( columns={ "Id": "idt_operacao", "Contrato": "num_contrato", "Cnpj": "num_cnpj", "Cpf socio": "num_cpf_socio", "Situação": "des_situacao", "Tipo de tomador": "ind_tp_tomador", "Entidade": "nam_entidade", "Data de contrato": "dat_contrato", "Taxa efetiva (a.m.)": "num_taxa_efetiva", "Forma de pagamento": "des_forma_pagamento", "Saldo Devedor Atual": "num_saldo_devedor_atual", "Valor em atraso": "num_valor_atraso", "Atraso total (dias)": "num_atraso_total_dias" }) arq_csv_colun_sele['num_cpf_socio'] = arq_csv_colun_sele[ 'num_cpf_socio'].astype(str) arq_csv_colun_sele[ 'num_cpf_socio'] = arq_csv_colun_sele.num_cpf_socio.str.pad( 11, side='left', fillchar='0') arq_csv_colun_sele['num_cnpj'] = arq_csv_colun_sele['num_cnpj'].astype( str) arq_csv_colun_sele['num_cnpj'] = arq_csv_colun_sele.num_cnpj.str.pad( 14, side='left', fillchar='0') arq_csv_colun_sele['num_saldo_devedor_atual'] = arq_csv_colun_sele[ 'num_saldo_devedor_atual'].str.replace('.', '').str.replace( ',', '.').str.replace('$', '').str.replace( 'R', '').astype('float64').fillna(0) arq_csv_colun_sele['num_valor_atraso'] = arq_csv_colun_sele[ 'num_valor_atraso'].str.replace('.', '').str.replace( ',', '.').str.replace('$', '').str.replace( 'R', '').astype('float64').fillna(0) arq_csv_colun_sele['ind_tp_tomador'] = listcases.lista_tp_tomador( arq_csv_colun_sele['ind_tp_tomador']) arq_csv_colun_sele['dat_contrato'] = arq_csv_colun_sele[ 'dat_contrato'].astype('datetime64') arq_csv_colun_sele['dat_contrato'] = arq_csv_colun_sele[ 'dat_contrato'].dt.strftime('%Y-%m-%d') arq_csv_colun_sele['num_taxa_efetiva'] = arq_csv_colun_sele[ 'num_taxa_efetiva'].fillna(0) * 100 arq_csv_colun_sele['num_atraso_total_dias'] = arq_csv_colun_sele[ 'num_atraso_total_dias'].astype('int64').fillna(0) arq_csv_colun_sele['ind_divisao'] = listcases.p2p_ind_divisao( arq_csv_colun_sele['dat_contrato'], arq_csv_colun_sele['des_situacao']) arq_csv_colun_sele['anomes'] = arq_csv_colun_sele['dat_contrato'].str[ 0:7] #print(arq_csv_colun_sele.head()) #print(arq_csv_colun_sele.info()) lista_array = list( arq_csv_colun_sele.to_records(index=False, column_dtypes=dict)) #print(lista_array) log.logger.info('0 - credito.p2p_cart_cobr_arq_delayed_rec') query_insert = ( "INSERT /*array */ INTO credito.p2p_cart_cobr_arq_delayed_rec (idt_operacao ,num_contrato ,num_cnpj ,num_cpf_socio ,des_situacao ,ind_tp_tomador ,nam_entidade, dat_contrato, num_taxa_efetiva, des_forma_pagamento, num_saldo_devedor_atual, num_valor_atraso, num_atraso_total_dias,ind_divisao,anomes) values (:1, :2, :3, :4, :5, :6, :7, to_Date(:8,'yyyy-mm-dd'), :9, :10, :11, :12, :13,:14,:15)" ) table_name = ("credito.p2p_cart_cobr_arq_delayed_rec") insertdb.insertDataBase(lista_array, query_insert, table_name) except Exception as err: log.logger.error(err) raise err #print(datetime.date_time_zn().now - startTime)