Skip to content

Commit

Permalink
fix Sicredi Card import and accumulated trx
Browse files Browse the repository at this point in the history
  • Loading branch information
jrafaelrn committed Oct 8, 2024
1 parent 6ade767 commit 99688b0
Showing 1 changed file with 61 additions and 58 deletions.
119 changes: 61 additions & 58 deletions src/functions/bd_update_banks/bank_sicredi.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,26 +105,27 @@ def import_extrato_sicredi(extrato_file, account_name):

# ACUMULA A CADA x LANÇAMENTOS, PARA ENVIAR DE UMA VEZ PARA O BD

def import_accumulated_sicredi(data_transaction):
def import_accumulated_sicredi(data_transaction, all=False):

global acumulado
global contador_acumulado
MAX_ACUMULADO = 10


if contador_acumulado < MAX_ACUMULADO:

contador_acumulado += 1
acumulado.append(data_transaction)
logger.debug('Acumulando lançamento %s - Dados: %s', contador_acumulado, data_transaction)

else:

if all or contador_acumulado == MAX_ACUMULADO:
logger.debug('Enviando %s lançamentos para o BD - Dados acumulados: %s', contador_acumulado, acumulado)
bd.insert(acumulado)
acumulado = [data_transaction]
contador_acumulado = 1
time.sleep(1)
return

#Acumula
contador_acumulado += 1
acumulado.append(data_transaction)
logger.debug('Acumulando lançamento %s - Dados: %s', contador_acumulado, data_transaction)





Expand All @@ -134,62 +135,64 @@ def import_accumulated_sicredi(data_transaction):

def import_card_sicredi(extrato_file, balance, date_payment_card, conta):

print(f'...... Importing cartao Sicredi......\n')
print(f'...... Importing cartao Sicredi......\n')

# If name is date
#if type(extrato_file) == datetime:
#name_file = extrato_file.strftime('%Y-%m')
# If name is date
#if type(extrato_file) == datetime:
#name_file = extrato_file.strftime('%Y-%m')

for line in extrato_file.iterrows():
for line in extrato_file.iterrows():

# Try convert first column to date
try:

linha = line[1][0]

# Try convert first column to date
try:

linha = line[1][0]

try:
data = datetime.strptime(linha, '%d/%m/%Y') # Apenas para validacao da linha
except:
data = datetime.strptime(str(linha), '%d/%m/%Y') # Apenas para validacao da linha

descricao = f'{line[1][1]} - {line[1][2]} - ({linha})'
tipo = 'CARTAO CRED'
valor = line[1][3]

# Replace based on regex
fornecedor = re.sub('\d+/\d+', '', line[1][1])

# Check if valor is string
if type(valor) == str:
valor = valor.replace('.', '')
valor = valor.replace(',', '.')
valor = valor.replace('R$', '')
valor = - float(valor)
else:
valor = - float(valor)

if valor > 0:
continue
data = datetime.strptime(linha, '%d/%m/%Y') # Apenas para validacao da linha
except:
data = datetime.strptime(str(linha), '%d/%m/%Y') # Apenas para validacao da linha

descricao = f'{line[1][1]} - {line[1][2]} - ({linha})'
tipo = 'CARTAO CRED'
valor = line[1][3]

DATA = {}
DATA['date_trx'] = date_payment_card
DATA['account'] = conta
DATA['original_description'] = descricao
DATA['document'] = ''
DATA['entity_bank'] = fornecedor
DATA['type_trx'] = tipo
DATA['value'] = valor
DATA['balance'] = balance
# Replace based on regex
fornecedor = re.sub('\d+/\d+', '', line[1][1])

DATA_JSON = json.dumps(DATA)
# Check if valor is string
if type(valor) == str:
valor = valor.replace('.', '')
valor = valor.replace(',', '.')
valor = valor.replace('R$', '')
valor = - float(valor)
else:
valor = - float(valor)

#bd.insert([DATA_JSON])
import_accumulated_sicredi(DATA_JSON)

except Exception as e:
msg = f'Linha inválida: {linha}\n\t error: {e}'
print(msg)
data = None
if valor > 0:
continue

DATA = {}
DATA['date_trx'] = date_payment_card
DATA['account'] = conta
DATA['original_description'] = descricao
DATA['document'] = ''
DATA['entity_bank'] = fornecedor
DATA['type_trx'] = tipo
DATA['value'] = valor
DATA['balance'] = balance

DATA_JSON = json.dumps(DATA)

#bd.insert([DATA_JSON])
import_accumulated_sicredi(DATA_JSON)

except Exception as e:
msg = f'Linha inválida: {linha}\n\t error: {e}'
print(msg)
data = None

import_accumulated_sicredi(DATA_JSON, True)



Expand Down

0 comments on commit 99688b0

Please sign in to comment.