def my_bills(): customer = None contracts = None contract_invoices = None if current_user.user_type == 1: customer = Customer.get_by_user_id(current_user.id) customers_dwellings_contracts = Customer_Dwelling_Contract.get_by_nif( customer.nif) contracts = [] for customer_dwelling_contract in customers_dwellings_contracts: contracts.append( Contract.get_by_contract_number( customer_dwelling_contract.contract_number)) contract_invoices = {} for contract in contracts: contract_invoices[contract] = Invoice.get_by_contract_number( contract.contract_number) return render_template("bills/my_bills.html", contracts=contracts, contract_invoices=contract_invoices)
def get_stats(): customer = None contracts = None contract_invoices = None if current_user.user_type == 1: customer = Customer.get_by_user_id(current_user.id) customers_dwellings_contracts = Customer_Dwelling_Contract.get_by_nif( customer.nif) contracts = [] for customer_dwelling_contract in customers_dwellings_contracts: contracts.append( Contract.get_by_contract_number( customer_dwelling_contract.contract_number)) contract_invoices = {} for contract in contracts: year = int(contract.init_date.strftime("%Y")) year_invoices = Invoice.get_by_contract_number( contract.contract_number) total_amounts = [] for invoice in year_invoices: total_amounts.append(invoice.total_amount) contract_invoices[year] = total_amounts return contract_invoices
def __get_invoices(contract_number): _invoices = Invoice.get_by_contract_number(contract_number) invoices = [] for invoice in _invoices: invoices.append(invoice.to_dict()) return invoices
def get_consumption_data(): contract_invoices = {} logged_user = User.get_by_username(get_jwt_identity()) if logged_user.user_type == 1: logged_customer = Customer.get_by_user_id(logged_user.id) customers_dwellings_contracts = Customer_Dwelling_Contract.get_by_nif( logged_customer.nif) contracts = [] for customer_dwelling_contract in customers_dwellings_contracts: contracts.append( Contract.get_by_contract_number( customer_dwelling_contract.contract_number)) for contract in contracts: invoices = Invoice.get_by_contract_number(contract.contract_number) for invoice in invoices: year = int(invoice.init_date.strftime("%Y")) total_amount_list = [0 for _ in range(12)] consumed_energy_list = [0 for _ in range(12)] contracted_power_amount_list = [0 for _ in range(12)] consumed_energy_amount_list = [0 for _ in range(12)] tax_amount_list = [0 for _ in range(12)] if year in contract_invoices: total_amount_list = contract_invoices[year][ "total_amount_list"] consumed_energy_list = contract_invoices[year][ "consumed_energy_list"] contracted_power_amount_list = contract_invoices[year][ "contracted_power_amount_list"] consumed_energy_amount_list = contract_invoices[year][ "consumed_energy_amount_list"] tax_amount_list = contract_invoices[year][ "tax_amount_list"] month = int(invoice.init_date.strftime("%m")) - 1 if invoice.total_amount: total_amount_list[month] = round(invoice.total_amount, 2) else: total_amount_list[month] = 0 if invoice.consumed_energy: consumed_energy_list[month] = invoice.consumed_energy else: consumed_energy_list[month] = 0 if invoice.contracted_power_amount: contracted_power_amount_list[month] = round( invoice.contracted_power_amount, 2) else: contracted_power_amount_list[month] = 0 if invoice.consumed_energy_amount: consumed_energy_amount_list[month] = round( invoice.consumed_energy_amount, 2) else: consumed_energy_amount_list[month] = 0 if invoice.tax_amount: tax_amount_list[month] = round(invoice.tax_amount, 2) else: tax_amount_list[month] = 0 contract_invoices[year] = { "total_amount_list": total_amount_list, "consumed_energy_list": consumed_energy_list, "contracted_power_amount_list": contracted_power_amount_list, "consumed_energy_amount_list": consumed_energy_amount_list, "tax_amount_list": tax_amount_list } else: return "No tienes permiso", 403 return contract_invoices