Esempio n. 1
0
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)
Esempio n. 2
0
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
Esempio n. 3
0
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
Esempio n. 4
0
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