def parse_jan_to_april_aug_19(file_name): rows = parser.read_data(file_name).to_numpy() begin_row = parser.get_begin_row(rows) end_row = parser.get_end_row(rows, begin_row, file_name) typeE = parser.type_employee(file_name) activeE = "inativos" not in file_name employees = {} curr_row = 0 for row in rows: if curr_row < begin_row: curr_row += 1 continue matricula = str(int(row[0])) # convert to string by removing the '.0' name = row[1].strip() # removes blank spaces present in some cells role = row[2] # cargo workplace = row[3] # Lotação sal_base = format_value(row[4]) # Salário Base outras_remuneracoes = format_value( row[5]) # Outras Verbas Remuneratórias, Legais ou Judiciais grat_natal = format_value(row[6]) # Gratificação Natalina (13º sal.) total_descontos = format_value(row[11]) teto_constitucional = format_value( row[10]) # Retenção por teto constitucional contribuicao_previdenciaria = format_value(row[8]) imposto_renda = format_value(row[12]) total_bruto = sal_base + outras_remuneracoes + grat_natal employees[matricula] = { "reg": matricula, "name": name, "role": role, "type": typeE, "workplace": workplace, "active": activeE, "income": { "total": round(total_bruto, 2), "wage": sal_base + outras_remuneracoes, "other": { # Gratificações "total": grat_natal, "others_total": grat_natal, "others": { "Gratificação Natalina": grat_natal, }, }, }, "discounts": { # Discounts Object. Using abs to garantee numbers are positivo (spreadsheet have negative discounts). "total": abs(total_descontos), "prev_contribution": abs(contribuicao_previdenciaria), "ceil_retention": abs(teto_constitucional), "income_tax": abs(imposto_renda), }, } curr_row += 1 if curr_row > end_row: break return employees
def parse_may_19(file_name): rows = parser.read_data(file_name).to_numpy() begin_row = parser.get_begin_row(rows) end_row = parser.get_end_row(rows, begin_row, file_name) typeE = parser.type_employee(file_name) activeE = "inativos" not in file_name employees = {} curr_row = 0 for row in rows: if curr_row < begin_row: curr_row += 1 continue matricula = str(int(row[0])) # convert to string by removing the '.0' name = row[1].strip() # removes blank spaces present in some cells role = row[2] # cargo workplace = row[3] # Lotação sal_base = format_value(row[4]) # Salário Base outras_remuneracoes = format_value( row[5]) # Outras Verbas Remuneratórias, Legais ou Judiciais comissao = format_value( row[6]) # Função de Confiança ou Cargo em Comissão grat_natal = format_value(row[7]) # Gratificação Natalina (13º sal.) ferias = format_value(row[8]) # Férias (1/3 Constiticional) permanencia = format_value(row[9]) # Abono de Permanência contribuicao_previdenciaria = format_value(row[11]) imposto_renda = format_value(row[12]) teto_constitucional = format_value( row[13]) # Retenção por teto constitucional total_descontos = format_value(row[14]) alimentacao = format_value(row[16]) # Auxilio alimentação ferias_pc = format_value(row[17]) # Férias em pecunia total_indenizacoes = alimentacao + ferias_pc total_gratificacoes = grat_natal + comissao + permanencia total_bruto = (total_gratificacoes + total_indenizacoes + sal_base + outras_remuneracoes) employees[matricula] = { "reg": matricula, "name": name, "role": role, "type": typeE, "workplace": workplace, "active": activeE, "income": { "total": round(total_bruto, 2), "wage": sal_base + outras_remuneracoes, "perks": { "total": total_indenizacoes, "food": alimentacao, "ferias em pecunia": ferias_pc, }, "other": { # Gratificações "total": grat_natal + comissao + permanencia, "trust_position": comissao, "others_total": grat_natal + permanencia, "others": { "Gratificação Natalina": grat_natal, "Férias (1/3 constitucional)": ferias, "Abono de Permanência": permanencia, }, }, }, "discounts": { # Discounts Object. Using abs to garantee numbers are positivo (spreadsheet have negative discounts). "total": abs(total_descontos), "prev_contribution": abs(contribuicao_previdenciaria), "income_tax": abs(imposto_renda), "ceil_retention": abs(teto_constitucional), }, } curr_row += 1 if curr_row > end_row: break return employees