def __init__(self, codigo: str = None, cliente=Cliente(), fechaCreacion: datetime = None, estado: str = None, fechaEntrega: datetime = None, direccionEntrega: str = None, repartidor=Colaborador(), ubicacion=Localizacion(), tarifa: float = None): self.__codigo = codigo self.__cliente = cliente self.__fechaCreacion = fechaCreacion self.__estado = estado self.__fechaEntrega = fechaEntrega self.__direccionEntrega = direccionEntrega self.__repartidor = repartidor self.__ubicacion = ubicacion self.__tarifa = tarifa
def asignar_repartidor(self, repartidor=Colaborador()): """Recibe un objeto repartidor. Asigna el repartidor al pedido en la db.""" id_repartidor = repartidor.email #Conexión a base de datos db = sqlite3.connect("linioexp_parcial_lab3.db") try: #Objeto cursor cursor = db.cursor() query = """UPDATE pedidos SET codigo_colaborador = '{}'""".format( id_repartidor) #Ejecutar Update cursor.execute(query) #Confirmar cambios database.commit() except Exception as e: #Hacer rollback en caso de error database.rollback() raise e finally: #Cerrar conexion a db db.close()
from folha_pagamento import FolhaPagamento from colaborador import Colaborador from movimento_folha import MovimentoFolha from tipo_movimento import TipoMovimento if __name__ == '__main__': # Questão 1 FP = FolhaPagamento(9, 2019) # Questão 2 CL1 = Colaborador(100, 'Manoel Claudino', 'Av 13 de Maio 2081', '88671020', 'Benfica', '60020-060', '124543556-89', 4500) CL2 = Colaborador(200, 'Carmelina da Silva', 'Avenida dos Expedicionários 1200', '3035-1280', 'Aeroporto', '60530-020', '301789435-54', 2500) CL3 = Colaborador(300, 'Gurmelina Castro Saraiva', 'Av João Pessoa 1020', '3235-1089', 'Damas', '60330-090', '350245632-76', 3000) # Questão 3 MF1 = MovimentoFolha(CL1, 'Gratificação', 4500, TipoMovimento.PROVENTO) MF2 = MovimentoFolha(CL1, 'Plano Saúde', 1000, TipoMovimento.PROVENTO) MF3 = MovimentoFolha(CL1, 'Pensão', 600, TipoMovimento.DESCONTO) MF4 = MovimentoFolha(CL2, 'Gratificação', 2500, TipoMovimento.PROVENTO) MF5 = MovimentoFolha(CL2, 'Plano Saúde', 1000, TipoMovimento.PROVENTO) MF6 = MovimentoFolha(CL2, 'Faltas', 600, TipoMovimento.DESCONTO) MF7 = MovimentoFolha(CL3, 'Gratificação', 4500, TipoMovimento.PROVENTO) MF8 = MovimentoFolha(CL3, 'Plano Saúde', 1000, TipoMovimento.PROVENTO) MF9 = MovimentoFolha(CL3, 'Pensão', 600, TipoMovimento.DESCONTO) movimentos = [MF1, MF2, MF3, MF4, MF5, MF6, MF7, MF8, MF9]
from colaborador import Colaborador from gerente import Gerente from diretor import Diretor func1 = Colaborador('Neylson', 'Analytics') func1.getNome() func1.getSetor() print("") func2 = Gerente('Sérgio', 'Analytics', 3000) func2.getNome() func2.getSetor() func2.getRenda() print("") func3 = Diretor('Marco', 'Analytics', 5000) func3.getNome() func3.getSetor() func3.getRenda() func3.obterLucro(1000) func3.getRenda()
def __init__(self, nome, email, endereco, senha, codigo): Colaborador.__init__(self, nome, email, endereco, senha, codigo) self.instituicoes = []
# classe com alto acomplamento fora do princípio SRP from colaborador import Colaborador pedro = Colaborador("Pedro") for dia in range(29, 32): print("************************* DIA %s ******************************" % dia) pedro.trabalhar() pedro.receberSalario(dia) print( "************************ FIM DIA %s ****************************\n" % dia) # classe com baixo acomplamento seguindo o princípio SRP from colaborador_refatorado import ColaboradorRefatorado from usuario import Usuario from administrativo import Administrativo pedro = ColaboradorRefatorado("Pedro") administrativo = Administrativo() for dia in range(29, 32): print("************************* DIA %s ******************************" % dia) pedro.trabalhar() administrativo.receberSalario(dia, pedro) print( "************************ FIM DIA %s ****************************\n" % dia)
def __init__(self,nome,email,endereco,senha,codigo): Colaborador.__init__(self,nome,email,endereco,senha,codigo) self.instituicoes = [] self.revisoes = []
def main(): FP = FolhaPagamento(9, 2019) #Cinco objetos CL (Colaborador) CL01 = Colaborador(100, "Manoel Claudino", "Av 13 de Maio 2081", "88671020", "Benfica", "60020-060", "124543556-89", 4500.00) CL02 = Colaborador(200, "Carmelina da Silva", "Avenida dos Expedicionários 1200", "3035-1280", "Aeroporto", "60530-020", "301789435-54", 2500.00) CL03 = Colaborador(300, "Gurmelina Castro Saraiva", "Av João Pessoa 1020", "3235-1089", "Damas", "60330-090", "350245632-76", 3000.00) CL04 = Colaborador(400, "José Guimarães", "R. Sátiro Dias", "89346754", "Montese", "60420-430", "560285652-86", 3500.00) CL05 = Colaborador(500, "Carol Freitas da Silva", "R. Haroldo Torres", "92345678", "Alagadico Sao Gerardo", "60320-104", "780238662-93", 4000.00) #Objetos MovimentoFolha MF01 = MovimentoFolha(100, "Salario", 4500.00, TipoMovimento.P) MF02 = MovimentoFolha(100, "Plano Saúde", 1000.00, TipoMovimento.P) MF03 = MovimentoFolha(100, "Pensão", 600.00, TipoMovimento.D) MF04 = MovimentoFolha(200, "Salario", 2500.00, TipoMovimento.P) MF05 = MovimentoFolha(200, "Gratificação", 1000.00, TipoMovimento.P) MF06 = MovimentoFolha(200, "Faltas", 600.00, TipoMovimento.D) MF07 = MovimentoFolha(300, "Salario", 4500.00, TipoMovimento.P) MF08 = MovimentoFolha(300, "Plano Saúde", 1000.00, TipoMovimento.P) MF09 = MovimentoFolha(300, "Pensão", 600.00, TipoMovimento.D) #Inserir todos os objetos do tipo MovimentoFolha da lista movimentos do objeto FP FP.inserir_movimentos(MF01) FP.inserir_movimentos(MF02) FP.inserir_movimentos(MF03) FP.inserir_movimentos(MF04) FP.inserir_movimentos(MF05) FP.inserir_movimentos(MF06) FP.inserir_movimentos(MF07) FP.inserir_movimentos(MF08) FP.inserir_movimentos(MF09) #Inserir os objetos do tipo MovimentoFolha na lista movimentos de cada objeto Colaborador. CL01.inserir_movimentos(MF01) CL01.inserir_movimentos(MF02) CL01.inserir_movimentos(MF03) CL02.inserir_movimentos(MF04) CL02.inserir_movimentos(MF05) CL02.inserir_movimentos(MF06) CL03.inserir_movimentos(MF07) CL03.inserir_movimentos(MF08) CL03.inserir_movimentos(MF09) #Inserir os colaboradres na Folha de Pagamento FP.inserir_colaboradores(CL01) FP.inserir_colaboradores(CL02) FP.inserir_colaboradores(CL03) FP.inserir_colaboradores(CL04) FP.inserir_colaboradores(CL05) #Imprimir Folha de Pagamento FP.calcular_folha() #Imprimir Salário do CL01 CL01.calcular_salario() #Imprimir Salário do CL02 CL02.calcular_salario() #Imprimir Salário do CL03 CL03.calcular_salario() #Imprimir Salário do CL04 CL04.calcular_salario() #Imprimir Salário do CL05 CL05.calcular_salario()
def main(): fp = FolhaPagamento(9, 2019, 0, 0) CL01 = Colaborador("100", "Manoel Claudino", "Av 13 de Maio 2081", "88671020", "Benfica", "60020-060", "124543556-89", 4500.00) CL02 = Colaborador("200", "Carmelina da Silva", "Avenida dos Expedicionários 1200", "3035-1280", "Aeroporto", "60530-020", "301789435-54", 2500.00) CL03 = Colaborador("300", "Gurmelina Castro Saraiva", "Av João Pessoa 1020", "3235-1089", "Damas", "60330-090", "350245632-76", 3000.00) MF01 = MovimentoFolha(CL01, "Salario", 4500.00, TipoMovimento.P) MF02 = MovimentoFolha(CL01, "Plano Saúde", 1000.00, TipoMovimento.P) MF03 = MovimentoFolha(CL01, "Pensão", 600.00, TipoMovimento.D) MF04 = MovimentoFolha(CL02, "Salario", 2500.00, TipoMovimento.P) MF05 = MovimentoFolha(CL02, "Gratificação", 1000.00, TipoMovimento.P) MF06 = MovimentoFolha(CL02, "Faltas", 600.00, TipoMovimento.D) MF07 = MovimentoFolha(CL03, "Salario", 4500.00, TipoMovimento.P) MF08 = MovimentoFolha(CL03, "Plano Saúde", 1000.00, TipoMovimento.P) MF09 = MovimentoFolha(CL03, "Pensão", 600.00, TipoMovimento.D) fp.set_colaborador(CL01) fp.set_colaborador(CL02) fp.set_colaborador(CL03) movimentos = [MF01, MF02, MF03, MF04, MF05, MF06, MF07, MF08, MF09] for x in movimentos: fp.inserir_movimento_fp(x) for m in range(len(movimentos)): if m < 3: CL01.inserir_movimentos_colab(movimentos[m]) elif m < 6: CL02.inserir_movimentos_colab(movimentos[m]) else: CL03.inserir_movimentos_colab(movimentos[m]) CL01.calcular_salario() CL02.calcular_salario() CL03.calcular_salario() fp.calcular_folha()