Пример #1
0
 def motor(self, valor):
     if valor is "":
         raise DescricaoEmBrancoException("Motor")
     valor = float(valor)
     if valor < 1.0:
         raise ValorInvalidoException("Motor")
     self._motor = valor
Пример #2
0
 def combustiveis(self, valor):
     if valor is None:
         raise DescricaoEmBrancoException("Combustiveis")
     if valor < 1 or valor > 3:
         raise ValorInvalidoException("Combustiveis")
     else:
         self._combustiveis.append(Combustiveis(valor))
Пример #3
0
    def ano(self, valor):
        if valor is "":
            raise DescricaoEmBrancoException("Ano")

        valor = int(valor)
        if valor < 1900:
            raise ValorInvalidoException("Ano")
        self._ano = valor
Пример #4
0
    def QuilometragemInicial(self, valor):
        if valor == '':
            raise DescricaoEmBrancoException("Quilometragem")

        valor = int(valor)
        if valor >= 0:
            self._QuilometragemInicial = valor
        else:
            raise ValorInvalidoException("Quilometragem")
Пример #5
0
    def ValorDoLitro(self, valor):
        if valor == '':
            raise DescricaoEmBrancoException("Valor do litro")

        valor = float(valor)

        if valor < 0.0:
            raise ValorInvalidoException("Valor do litro")

        self._ValorDoLitro = valor
Пример #6
0
    def quilometragem(self, valor):

        if valor == '':
            raise DescricaoEmBrancoException("Quilometragem")

        valor = int(valor)

        if valor < 0:
            raise ValorInvalidoException("Quilometragem")
        self._quilometragem = valor
Пример #7
0
 def modelo(self, valor):
     if valor is "":
         raise DescricaoEmBrancoException("Modelo")
     else:
         self._modelo = valor
Пример #8
0
 def marca(self, valor):
     if valor is "":
         raise DescricaoEmBrancoException("Marca")
     else:
         self._marca = valor
Пример #9
0
 def cor(self, valor):
     if valor is None:
         raise DescricaoEmBrancoException("Cor")
     self._cor = valor
Пример #10
0
    def registra_despesa(self):

        veiculos_id = []
        sql_despesa = "INSERT INTO despesa(categoria, valor, DATA, veiculo_idVeiculo) VALUES(%s, %s, %s, %s)"

        req = "SELECT idVeiculo, modelo, marca, placa FROM veiculo"

        while 1:
            self.mycursor.execute(req)
            for (idVeiculo, modelo, marca, placa) in self.mycursor:
                veiculos_id.append(idVeiculo)
                print("{})\t{} - {} - {}".format(idVeiculo, marca, modelo,
                                                 placa))
            carro_escolhido = int(
                input(
                    "\nSelecione o numero indicado do carro em que deseja cadastrar a despesa: "
                ))

            if self.bin_search(
                    veiculos_id,
                    carro_escolhido) == len(veiculos_id) or self.bin_search(
                        veiculos_id, carro_escolhido) == -1:
                print(
                    "Numero invalido. Por favor escolha um dos numeros impressos.\n"
                )
                time.sleep(2)
            elif veiculos_id[self.bin_search(
                    veiculos_id, carro_escolhido)] != carro_escolhido:
                print(
                    "Numero invalido. Por favor escolha um dos numeros impressos.\n"
                )
                time.sleep(2)
            else:
                break

        while True:  # ---------cadastra uma despesa comum------------------
            try:

                categoria = int(
                    input(
                        "digite o numero dacategoria de despesa que deseja adicionar\n(1) Imposto\n(2) Seguro\n(3) Manutenção\n"
                        "(4) Financiamento\n(5) Multas\n(6) Abastecimento\n"))
                if categoria < 1 or categoria > 6:
                    raise ValorInvalidoException("categoria")

                valor_despesa = input("digite o valor da despesa: ")
                if valor_despesa == '':
                    raise DescricaoEmBrancoException("valor da despesa")
                elif float(valor_despesa) < 0:
                    raise ValorInvalidoException("valor da despesa")

                if categoria == 6:  # ----------------Despesa de abastecimento-----------------------

                    sql_abastecimento = "INSERT INTO abastecimento(combustiveis, quilometragem_inicial, valor_do_litro, tanque_cheio, despesa_iddespesa) " \
                                        "VALUES(%s, %s ,%s ,%s ,%s)"

                    abastecimento = Abastecimento()
                    abastecimento.categoria = 6
                    abastecimento.valor = valor_despesa

                    req = "SELECT combustivel FROM combustiveis WHERE Veiculo_idVeiculo = %s"
                    entrada_req = (carro_escolhido, )
                    self.mycursor.execute(req, entrada_req)

                    for combustivel in self.mycursor:
                        print("{})\t{}".format(
                            combustivel[0],
                            Combustiveis(combustivel[0]).name))

                    combustivel = int(
                        input(
                            "Selecione o numero correspondente ao tipo de combustivel usado no abastecimento: "
                        ))
                    abastecimento.combustivel = Combustiveis(combustivel)

                    abastecimento.ValorDoLitro = input(
                        "Digite o valor do litro na hora do abastecimento: ")

                    quilometragem_inicial = input(
                        "Digite a quilometragem antes do abastecimento: ")
                    abastecimento.QuilometragemInicial = quilometragem_inicial

                    tanque = input(
                        "informe se o abastecimento foi de tanque cheio ou não\n(1)Normal\n(2)Tanque cheio\n"
                    )
                    if tanque == '':
                        raise DescricaoEmBrancoException("Tanque")
                    elif int(tanque) < 1 or int(tanque) > 2:
                        raise ValorInvalidoException("Tanque")

                    tanque = int(tanque) - 1
                    abastecimento.IsTanqueCheio = tanque

                    insert_despesa = (abastecimento.categoria,
                                      abastecimento.valor, abastecimento.data,
                                      carro_escolhido)
                    self.mycursor.execute(sql_despesa, insert_despesa)
                    id_despesa = self.mycursor.lastrowid

                    insert_abastecimento = (combustivel,
                                            abastecimento.QuilometragemInicial,
                                            abastecimento.ValorDoLitro,
                                            abastecimento.IsTanqueCheio,
                                            id_despesa)
                    self.mycursor.execute(sql_abastecimento,
                                          insert_abastecimento)

                    print(abastecimento)

                elif categoria == 3:  # ------------despesa de manutencao----------------

                    sql_manutencao = "INSERT INTO manutencao(quilometragem, despesa_iddespesa) VALUES (%s, %s)"
                    manutencao = Manutencao()
                    manutencao.valor = valor_despesa
                    manutencao.quilometragem = input(
                        "Digite a quilometragem antes da manutenção: ")

                    print(manutencao)

                    insert_despesa = (categoria, valor_despesa,
                                      manutencao.data, carro_escolhido)
                    self.mycursor.execute(sql_despesa, insert_despesa)
                    despesa_id = self.mycursor.lastrowid

                    insert_manutencao = (manutencao.quilometragem, despesa_id)
                    self.mycursor.execute(sql_manutencao, insert_manutencao)

                else:  # ------------Registra uma despesa comum--------------------
                    despesa = Despesa()
                    despesa.categoria = TipoDeDespesa(categoria)
                    despesa.valor = valor_despesa

                    insert_despesa = (categoria, valor_despesa, despesa.data,
                                      carro_escolhido)
                    self.mycursor.execute(sql_despesa, insert_despesa)

                    print(despesa)

                self.mydb.commit()
                break

            except (DescricaoEmBrancoException, ValorInvalidoException,
                    ValueError):
                print(
                    "Algum dos campos foi digitado erroneamente, por favor refaça o cadastro apertando ENTER, ou qualquer outra letra."
                )
                print("Caso não queira digite 'n'.")
                escolha = input()
                if escolha == 'n':
                    break
                elif escolha == '' or escolha != 'n':
                    pass