示例#1
0
    def vender():
        descricao = input("Informe a descricao da venda: ")
        Produto.exibir_produtos(True)
        produto_escolhido = mycolProduto.find(
            {"_id": ObjectId(input("Informe o ID do produto escolhido: "))})
        Funcionario.exibir_funcionarios()
        funcionario_escolhido = mycolFuncionario.find({
            "_id":
            ObjectId(input("Informe o ID do funcionario escolhido: "))
        })
        Cliente.exibir_clientes()
        cliente_escolhido = mycolCliente.find(
            {"_id": ObjectId(input("Informe o ID do cliente escolhido: "))})
        data = date.today().strftime("%d/%m/%Y")

        data_saida_produto = {
            "$set": {
                "data_saida": date.today().strftime("%d/%m/%Y")
            }
        }
        mycolProduto.update_one(produto_escolhido[0], data_saida_produto)
        cli = cliente_escolhido[0]
        venda = {
            "descricao": descricao,
            "produto": [produto_escolhido[0]],
            "funcionario": funcionario_escolhido[0],
            "cliente": cli,
            "data": data
        }
        mycolVendas.insert_one(venda)

        return print("Venda realizada com sucesso!")
示例#2
0
class Funcionario_Test(unittest.TestCase):
    def setUp(self):
        self.funcionario = Funcionario('Juca', 2500)

    def test_funcionario(self):
        self.assertEqual(self.funcionario.obter_nome(), 'Juca')
        self.assertEqual(self.funcionario.obter_salario(), 2500)
class Menu:

	def __init__(self):
		self.__ata = Ata()
		self.__funcionario = Funcionario()
		self.__participanteExterno = ParticipanteExterno()
		self.__sugestao = Sugestao()
		self.__dbAta = DataBase('database/atas.pickle')
		self.__dbSugestao = DataBase('database/sugestoes.pickle')
		self.__dbParticipanteReuniao = DataBase('database/participantes.pickle')

	def menuInicial(self):
		print(("""1 - Cadastrar Participante Funcionario
2 - Cadastrar Participante Externo
3 - Emitir Ata
4 - Fazer Sugestão
5 - Exibir Atas
6 - Exibir Participantes
7 - Exibir Funcionarios
8 - Exibir Participantes Externos
9 - Exibir Sugestões
10 - Atualizar Ata"""))
		while True:
			opc = input("""Escolha uma opção: """)
			if opc == '1':
				self.__funcionario.incluir()
				self.__dbParticipanteReuniao.saveObject(self.__funcionario)
				break
			elif opc == '2':
				self.__participanteExterno.incluir()
				self.__dbParticipanteReuniao.saveObject(self.__participanteExterno)
				break
			elif opc == '3':
				self.__ata.emitirAta()
				self.__dbAta.saveObject(self.__ata)
				break
			elif opc == '4':
				self.__sugestao.emitirSugestao()
				self.__dbSugestao.saveObject(self.__sugestao)
				break
			elif opc == '5':
				ut.exibirAtas(lambda: self.__dbAta.loadObject())
				break
			elif opc == '6':
				ut.exibirParticipantes(lambda: self.__dbParticipanteReuniao.loadObject(), 'global')
				break
			elif opc == '7':
				ut.exibirParticipantes(lambda: self.__dbParticipanteReuniao.loadObject(), 'funcionario')
				break
			elif opc == '8':
				ut.exibirParticipantes(lambda: self.__dbParticipanteReuniao.loadObject(), 'externo')
				break
			elif opc == '9':
				self.__sugestao.selecionarSugestao()
				break
			elif opc == '10':
				self.__ata.atualizar()
				break
			else: print("Escolha uma opção Valida !!!")	
	def __init__(self):
		self.__ata = Ata()
		self.__funcionario = Funcionario()
		self.__participanteExterno = ParticipanteExterno()
		self.__sugestao = Sugestao()
		self.__dbAta = DataBase('database/atas.pickle')
		self.__dbSugestao = DataBase('database/sugestoes.pickle')
		self.__dbParticipanteReuniao = DataBase('database/participantes.pickle')
    def limpar_tela(self):
        self.id.delete(0, tk.END)
        self.nome.delete(0, tk.END)
        self.nascimento.delete(0, tk.END)
        self.cargo.delete(0, tk.END)
        self.sexo.set("")
        self.qtde_dependetes.set("0")
        self.mensagem["text"] = ""
        self.funcionario = Funcionario("", 0, 0, "", "", "", 0)

        self.botao_criar.config(state="normal")
        self.botao_excluir.config(state="disabled")
        self.botao_atualizar.config(state="disabled")
示例#6
0
class Funcionario_Test(unittest.TestCase):
    def setUp(self):
        self.funcionario = Funcionario('Juca', 2500)

    def testar_nome_do_funcionario(self):
        self.assertEqual(self.funcionario.obter_nome(), 'Juca')

    def testar_salario_do_funcionario(self):
        self.assertEqual(self.funcionario.obter_salario(), 2500)

    def testar_aumento_de_salario(self):
        self.funcionario.aumentar_salario(10)
        self.assertEqual(self.funcionario.obter_salario(), 2750)
示例#7
0
class TestFuncionario(unittest.TestCase):

    def setUp(self):
        self.f = Funcionario('Cíntia', 3.500)

    def test_nome(self):
        self.assertEqual(self.f.retorna_nome(), 'Cíntia')

    def test_salario(self):
        self.assertEqual(self.f.retorna_salario(), 3.500)

    def test_aumento(self):
        self.assertEqual(self.f.aumentar_salario(10), 3.8500000000000005)
示例#8
0
    def buscarFuncionarios(self):
        conexao = self.conectar().cursor()
        conexao.execute('SELECT * FROM funcionario')
        resposta = conexao.fetchall()
        funcs = []

        for qt in resposta:
            obj = Funcionario(qt[0], qt[2])
            obj.alterarCodigo(qt[1])
            funcs.append(obj)

        return funcs
        conexao.close()
示例#9
0
	def __init__(self):
		self.__titulo = ''
		self.__dataEmissao = ''
		self.__inicio = ''
		self.__termino = ''
		self.__pauta = ''
		self.__descricao = ''
		self.__palavraChave = []
		self.__tipo = ''
		self.__estatus = ''
		self.__funcionario = Funcionario()
		self.__participanteCadastrados = DataBase('database/participantes.pickle')
		self.__participantesAta = []
		self.__ata = {}
		self.__dbAtas = DataBase('database/atas.pickle')
示例#10
0
    def buscarFuncionario(self, codigo):
        conexao = self.conectar().cursor()
        try:
            conexao.execute('SELECT * FROM funcionario WHERE codigo = %s',
                            [codigo])
            resposta = conexao.fetchall()

            qt = Funcionario(resposta[0][0], resposta[0][2])
            qt.alterarCodigo(resposta[0][1])

            return qt
        except UnboundLocalError:
            return codigo
        except IndexError:
            return 'Codigo nao encontrado'
        conexao.close()
示例#11
0
def salvarFunc():
    nome = request.form["nome"]
    email = request.form["email"]
    departamento = request.form["departamento"]
    login = request.form["login"]
    admin = request.form["admin"]
    senha = request.form["senha"]
    daodepto = departamentoDao()
    senha = hashlib.md5(senha.encode()).hexdigest()
    d = daodepto.buscar(int(departamento))
    f = Funcionario(nome, email, login, senha, admin)
    f.addDepto(d)
    dao = funcionarioDao()
    if (request.values.has_key("codigo") == True):
        cod = request.form["codigo"]
        f.codigo = int(cod)
    dao.salvar(f)
    return redirect('/funcionario/telaListar')
示例#12
0
def cadastrar_funcionario():
    print(" ------ Cadastro de funcionário ------")
    nome = input("Nome: ")
    departamento = input("Departamento: ")
    salario = float(input("Salário: "))
    data_entrada = datetime.now().strftime('%d/%m/%Y')
    rg = input("RG: ")
    funcionario = Funcionario(nome, departamento, salario, data_entrada, rg)
    return funcionario
示例#13
0
    def buscar_vinculo(self, cod):
        con = psycopg2.connect(self._conexao)
        cursor = con.cursor()
        with con as c:
            cursor = c.cursor()
            cursor.execute(
                'select f.idFuncionario,f.nome,f.email,f.login,f.admin,p.idProjeto,p.nome,p.dtPrevista from funcionario f right outer join FuncProj fp on f.idFuncionario=fp.idFuncionarioFK left outer join projeto p on fp.idProjetoFK=p.idProjeto WHERE p.idProjeto = %s',
                [cod])
            #cursor.execute('select f.idFuncionario,f.nome,f.email,f.login,f.admin from funcionario f right outer join FuncProj fp on f.idFuncionario=fp.idFuncionarioFK')
            ln = cursor.fetchall()
            p = projetoDao().buscar(cod)

            for l in ln:
                f = Funcionario(l[1], l[2], 'a', l[3])
                f.id = int(l[0])
                p.funcionarios = f

        con.commit()
        return p
示例#14
0
    def buscarFuncionario(self, codigo):
        conexao = self.conectar()
        cur = conexao.cursor()

        try:
            cur.execute("SELECT * FROM funcionario WHERE codigo = %s",
                        [codigo])
            resposta = cur.fetchall()

            qt = Funcionario(resposta[0][0], resposta[0][2])
            qt.alterarCodigo(resposta[0][1])

            return qt
        except UnboundLocalError:
            return codigo
        except IndexError:
            return 'Coloca o código direito'

        cur.close()
        conexao.close()
示例#15
0
def menu_principal():
    while True:
        print("\n")
        print(20 * "-=")
        print("       SISTEMA DE ATAS")
        print(20 * "-=")

        print("--------------------\n"
              "1 - Cadastrar Funcionário\n"
              "2 - Cadastrar Participante Externo\n"
              "3 - Reunião\n"
              "--------------------")
        atendimento = int(input("Escolha o tipo de atendimento a ser usado: "))
        if atendimento == 1:
            funcionario = Funcionario()
            funcionario.incluir()
        elif atendimento == 2:
            participante_externo = ParticipanteExterno()
            participante_externo.incluir()
        elif atendimento == 3:
            menu_reuniao()
        else:
            print("Opção inválida!\n")
示例#16
0
    def botaoCadastraFuncionario(self):
        nome = self.telaCadastroFuncionario.lineEdit.text()
        endereco = self.telaCadastroFuncionario.lineEdit_2.text()
        cpf = self.telaCadastroFuncionario.lineEdit_3.text()
        telefone = self.telaCadastroFuncionario.lineEdit_4.text()
        senha = self.telaCadastroFuncionario.lineEdit_5.text()
        login = self.telaCadastroFuncionario.lineEdit_6.text()
        if not (nome == '' or endereco == '' or cpf == '' or telefone == '' or senha == '' or login == ''):
            f = Funcionario(nome, endereco, cpf, telefone, senha, login)
            if self.funcionario.cadastra(f):
                QMessageBox.information(None, "Ok!", "Cadastro realizado!")
                self.telaCadastroFuncionario.lineEdit.setText('')
                self.telaCadastroFuncionario.lineEdit_2.setText('')
                self.telaCadastroFuncionario.lineEdit_3.setText('')
                self.telaCadastroFuncionario.lineEdit_4.setText('')
                self.telaCadastroFuncionario.lineEdit_5.setText('')
                self.telaCadastroFuncionario.lineEdit_6.setText('')
            else:
                QMessageBox.information(None, "Erro!", "O CPF informado já está cadastrado!")
        else:
            QMessageBox.information(None, "Erro!", "Todos os valores devem ser preenchidos!")

        self.QtStack.setCurrentIndex(6)
示例#17
0
class TestFuncionario(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        print('setUpClass')

    @classmethod
    def tearDownClass(cls):
        print('tearDownClass')

    def setUp(self):
        print('setUp')
        self.funcionario1 = Funcionario('Jose', 'Silva', 1000)
        self.funcionario2 = Funcionario('Maria', 'Cristina', 2000)

    def tearDown(self):
        print('tearDown')

    ########################################################################
    # test methods
    def test_mail(self):
        self.assertEqual(self.funcionario1.email, '*****@*****.**')
        self.assertEqual(self.funcionario2.email, '*****@*****.**')

    def test_nome_completo(self):
        self.assertEqual(self.funcionario1.nome_completo, 'Jose Silva')
        self.assertEqual(self.funcionario2.nome_completo, 'Maria Cristina')

    def test_aplicar_aumento(self):
        self.funcionario1.aplicar_aumento()
        self.funcionario2.aplicar_aumento()

        self.assertEqual(self.funcionario1.salario, 1050)
        self.assertEqual(self.funcionario2.salario, 2100)

    def test_escala_mensal(self):
        with patch('funcionario.requests.get') as mocked_get:
            mocked_get.return_value.ok = True
            mocked_get.return_value.text = 'Success'
            escala = self.funcionario1.escala_mensal('Maio')
            mocked_get.assert_called_with('http://empresa.com.br/Silva/Maio')
            self.assertEqual(escala, 'Success')

            mocked_get.return_value.ok = False
            escala = self.funcionario1.escala_mensal('Maio')
            self.assertEqual(escala, 'Bad response!')
class Teste_Funcionario(unittest.TestCase):

    def setUp(self):
        self.funcionario = Funcionario("Joao", "654321")

    def test_atributos(self):
        self.funcionario.nome |should| equal_to("Joao")
        self.funcionario.matricula |should| equal_to("654321")
        self.funcionario.hospitais |should| equal_to([])

    def test_vincular_hospitais(self):
        hospital1 = Hospital("santa casa", "123456", "Rua Ips")
        self.funcionario.vincular_hospitais(hospital1)
        self.funcionario.hospitais |should| have(1).itens
        hospital2 = Hospital("santa casa", "123456", "Rua Ips")
        self.funcionario.vincular_hospitais(hospital2)
        self.funcionario.hospitais |should| have(2).itens
        hospital3 = Hospital("santa casa", "123456", "Rua Ips")
        self.funcionario.vincular_hospitais(hospital3)
        self.funcionario.hospitais |should| have(3).itens
示例#19
0
        cursor.close()

    def buscar_vinculo(self, cod):
        con = psycopg2.connect(self._conexao)
        cursor = con.cursor()
        with con as c:
            cursor = c.cursor()
            cursor.execute(
                'select f.idFuncionario,f.nome,f.email,f.login,f.admin,p.idProjeto,p.nome,p.dtPrevista from funcionario f right outer join FuncProj fp on f.idFuncionario=fp.idFuncionarioFK left outer join projeto p on fp.idProjetoFK=p.idProjeto WHERE p.idProjeto = %s',
                [cod])
            #cursor.execute('select f.idFuncionario,f.nome,f.email,f.login,f.admin from funcionario f right outer join FuncProj fp on f.idFuncionario=fp.idFuncionarioFK')
            ln = cursor.fetchall()
            p = projetoDao().buscar(cod)

            for l in ln:
                f = Funcionario(l[1], l[2], 'a', l[3])
                f.id = int(l[0])
                p.funcionarios = f

        con.commit()
        return p

    #def vincula_func(self,)


p = Projeto("projeto 3", "20/06/2019")
f = Funcionario("kkk", "emailoi", "senha", "login")
#pdao=projetoDao()
#p.funcionarios=f
#print(p.funcionarios[0].nome)
#print(pdao.listar())
示例#20
0
 def __init__(self, nome, matricula, especialidade):
     Funcionario.__init__(self, nome, matricula)
     self.especialidade = especialidade
示例#21
0
class Ata:
	def __init__(self):
		self.__titulo = ''
		self.__dataEmissao = ''
		self.__inicio = ''
		self.__termino = ''
		self.__pauta = ''
		self.__descricao = ''
		self.__palavraChave = []
		self.__tipo = ''
		self.__estatus = ''
		self.__funcionario = Funcionario()
		self.__participanteCadastrados = DataBase('database/participantes.pickle')
		self.__participantesAta = []
		self.__ata = {}
		self.__dbAtas = DataBase('database/atas.pickle')


	
	def emitirAta(self):
		while True:
			funcionario = self.__funcionario.selecionarParticipante()
			if isinstance(funcionario, Funcionario):
				self.__funcionario = funcionario
				break
			else:
				print('Cadastre um funcionario valido!!')
		self.__titulo = input("Titulo da Reunião: ")
		self.__pauta = input('Pauta: ')
		self.__inicio = input('Inicio da reunião: ')
		self.__termino = input('Termino da reunião: ')
		self.__descricao = input('Descreva a Reunião: ')
		while True:
			palavraChave= input('Palavra Chave [digite SAIR para finalizar as palavras chaves]:  ').lower()
			if palavraChave == 'sair':
				if len(self.__palavraChave) >= 1:
					break
				else:
					print('Cadastre pelo menos uma palavra chave')
			elif palavraChave != '':
				self.__palavraChave.append(palavraChave)
			else:
				print('Digite alguma palavra chave')

		self.__estatus = input("Estatus da reunião: ")
		varQuant = 0
		while varQuant < 10:
			varParticipante = input('Digite o nome de um participante para cadastrar na Ata [digite false para finalizar a lista de participantes]: ')
			if varParticipante == 'false':
				break
			else:
				for i in self.__participanteCadastrados.loadObject():
					if i.exibir()['nome'] == varParticipante:
						if i.exibir()['nome'] not in self.__participantesAta:
							self.__participantesAta.append(i.exibir()['nome'])
							varQuant +=1
							break
						else: 
							print("Participante já cadastrado na ata!!!")
					else:
						print('Esse nome não está na lista de participantes cadastrados, digite o nome de outro participante!!!')
			if varQuant == 10: print('Limite de participantes excedido !!!')
		self.__ata = {'funcionario': self.__funcionario.exibir()['nome'], 'titulo': self.__titulo,
					'pauta': self.__pauta,'inicio da reunião': self.__inicio,
					'termino da reunião': self.__termino, 'descrição': self.__descricao,
					'palavra chave': self.__palavraChave,'estatus': self.__estatus,
					'participantes': self.__participantesAta}
		print('Ata cadastrada!!!')


	def exibir(self):
		return self.__ata

	def atualizar(self):
		ata = input('Informe o titulo da ata que deseja atualizar: ')
		try:
			a = False
			for num, i in enumerate(self.__dbAtas.loadObject()):
				newList = self.__dbAtas.loadObject()
				if i.exibir()['titulo'] == ata:
					opc = input('O que você quer atualizar [titulo, pauta, descrição, palavra chave, estatus]: ')
					while True:
						if opc == 'titulo':
							titulo = input('Digite novo titulo: ')
							i.exibir()['titulo'] = titulo
							newList[num] = i
							self.__dbAtas.atualizar(newList)
							a = True
							break
						elif opc == 'pauta':
							pauta = input('Digite a nova pauta: ')
							i.exibir()['pauta'] = pauta
							newList[num] = i
							self.__dbAtas.atualizar(newList)
							a = True
							break
						elif opc == 'descrição':
							descricao = input('Digite a nova descrição: ')
							i.exibir()['descrição'] = descricao
							newList[num] = i
							self.__dbAtas.atualizar(newList)
							a = True
							break
						elif opc == 'palavra chave':
							palavraChave = input('Digite a nova palavra chave: ')
							i.exibir()['palavra chave'] = palavraChave
							newList[num] = i
							self.__dbAtas.atualizar(newList)
							a = True
							break
						elif opc == 'estatus':
							estatus = input('Digite o novo estatus: ')
							i.exibir()['estatus'] = estatus
							newList[num] = i
							self.__dbAtas.atualizar(newList)
							a = True
							break
						else:
							print('Opção invalida')
				else:
					continue
				if a:
					break
			if not a:
				print('nada encontrado')
		except:
			print('Nenhuma ata encontrada com esse titulo !!!')
示例#22
0
 def __init__(self, nombre,apellido,documento_identidad,fecha_nacimiento,sexo,cargo,fecha_ingreso,codigo,usuario,password,Dependencia):
     Funcionario.__init__(self, nombre,apellido,documento_identidad,fecha_nacimiento,sexo,cargo,fecha_ingreso,codigo,Dependencia)
     self.usuario= usuario
     self.password= password
示例#23
0
def cadastrarFuncionario():
    nome = input('Informe o nome: ')
    rg = input('Informe o RG: ')
    funcionario = Funcionario(nome, rg)
    dic.update({'funcionario': funcionario})
 def __init__(self, master=None):
     super().__init__(master)
     self.master = master
     self.pack()
     self.criar_widget_funcionario()
     self.funcionario = Funcionario("", 0, 0, "", "", "", 0)
 def __init__(self):
     super().__init__()
     self.funcionarios = Funcionario()
     self.listFuncPart = []
     self.listExtPart = []
 def setUp(self):
     self.funcionario = Funcionario("Joao", "654321")
class Funcionario_view(tk.Frame):

    def __init__(self, master=None):
        super().__init__(master)
        self.master = master
        self.pack()
        self.criar_widget_funcionario()
        self.funcionario = Funcionario("", 0, 0, "", "", "", 0)

    def criar_widget_funcionario(self):
        # Título
        self.container_titulo = tk.Frame(self.master)
        self.container_titulo["pady"] = 10
        self.container_titulo["padx"] = 20
        self.container_titulo.pack()

        self.titulo_dados = tk.Label(self.container_titulo, text="CADASTRAR NOVO FUNCIONÁRIO")
        self.titulo_dados.pack()

        # Campo id
        self.container_id = self.criar_container_padrao()

        self.id_label = tk.Label(self.container_id, text="Id")
        self.id_label["width"] = 20
        self.id_label["anchor"] = tk.NW
        self.id_label.pack(side=tk.LEFT)

        self.id = tk.Entry(self.container_id)
        self.id["width"] = 10
        self.id.pack(side=tk.LEFT)

        self.botao_buscar = tk.Button(self.container_id)
        self.botao_buscar["text"] = "Buscar"
        self.botao_buscar["command"] = self.buscar_funcionario
        self.botao_buscar.pack(side=tk.LEFT)

        # Campo nome
        self.container_nome = self.criar_container_padrao()

        self.nome_label = tk.Label(self.container_nome, text="Nome")
        self.nome_label["width"] = 20
        self.nome_label["anchor"] = tk.NW
        self.nome_label.pack(side=tk.LEFT)

        self.nome = tk.Entry(self.container_nome)
        self.nome["width"] = 20
        self.nome.pack(side=tk.LEFT)

        # Campo nascimento
        self.container_nascimento = self.criar_container_padrao()

        self.nascimento_label = tk.Label(self.container_nascimento, text="Data de nascimento")
        self.nascimento_label["width"] = 20
        self.nascimento_label["anchor"] = tk.NW
        self.nascimento_label.pack(side=tk.LEFT)

        self.nascimento = DateEntry(self.container_nascimento, width=18, background='darkblue',
                                    foreground='white', borderwidth=2)
        self.nascimento.pack(side=tk.LEFT)

        # Campo sexo
        self.container_sexo = self.criar_container_padrao()

        self.sexo_label = tk.Label(self.container_sexo, text="Sexo")
        self.sexo_label["width"] = 20
        self.sexo_label["anchor"] = tk.NW
        self.sexo_label.pack(side=tk.LEFT)

        self.sexo = tk.StringVar(self.container_sexo)
        self.sexo.set("")  # default value
        self.sexo_combo = tk.OptionMenu(self.container_sexo, self.sexo, "Masculino", "Feminino", "")
        self.sexo_combo["width"] = 15
        self.sexo_combo.pack(side=tk.LEFT)

        # Campo cargo
        self.container_cargo = self.criar_container_padrao()

        self.cargo_label = tk.Label(self.container_cargo, text="Cargo")
        self.cargo_label["width"] = 20
        self.cargo_label["anchor"] = tk.NW
        self.cargo_label.pack(side=tk.LEFT)

        self.cargo = tk.Entry(self.container_cargo)
        self.cargo["width"] = 20
        self.cargo.pack(side=tk.LEFT)

        # Campo qtde dependentes
        self.container_qtde_dependetes = self.criar_container_padrao()

        self.qtde_dependetes_label = tk.Label(self.container_qtde_dependetes, text="Dependentes")
        self.qtde_dependetes_label["width"] = 20
        self.qtde_dependetes_label["anchor"] = tk.NW
        self.qtde_dependetes_label.pack(side=tk.LEFT)

        self.qtde_dependetes = tk.StringVar(self.container_qtde_dependetes)
        self.qtde_dependetes.set("0")  # default value
        self.qtde_dependetes_combo = tk.OptionMenu(self.container_qtde_dependetes, self.qtde_dependetes, "0", "1", "2", "3", "4", "5")
        self.qtde_dependetes_combo["width"] = 15
        self.qtde_dependetes_combo.pack(side=tk.LEFT)

        # Botões
        self.container_botoes = self.criar_container_padrao()

        self.botao_criar = tk.Button(self.container_botoes)
        self.botao_criar["text"] = "Criar"
        self.botao_criar["command"] = self.add_funcionario
        self.botao_criar["bg"] = "blue"
        self.botao_criar["fg"] = "white"
        self.botao_criar.pack(side=tk.LEFT)

        self.botao_atualizar = tk.Button(self.container_botoes)
        self.botao_atualizar["text"] = "Atualizar"
        self.botao_atualizar["command"] = self.atualizar_funcionario
        self.botao_atualizar["bg"] = "green"
        self.botao_atualizar["fg"] = "white"
        self.botao_atualizar["state"] = "disabled"
        self.botao_atualizar.pack(side=tk.LEFT)

        self.botao_excluir = tk.Button(self.container_botoes)
        self.botao_excluir["text"] = "Excluir"
        self.botao_excluir["command"] = self.excluir_funcionario
        self.botao_excluir["bg"] = "red"
        self.botao_excluir["fg"] = "white"
        self.botao_excluir["state"] = "disabled"
        self.botao_excluir.pack(side=tk.LEFT)

        self.botao_limpar = tk.Button(self.container_botoes)
        self.botao_limpar["text"] = "Limpar"
        self.botao_limpar["command"] = self.limpar_tela
        self.botao_limpar.pack()

        # Mensagem
        self.container_mensagem = self.criar_container_padrao()

        self.mensagem = tk.Label(self.container_mensagem, text="")
        self.mensagem.pack()

    def criar_container_padrao(self):
        container = tk.Frame(self.master)
        container["padx"] = 20
        container["pady"] = 5
        container.pack()

        return container

    def add_funcionario(self):
        self.funcionario.nome = self.nome.get()
        self.funcionario.cargo = self.cargo.get()
        self.funcionario.id_setor = 0
        self.funcionario.qtd_dependentes = self.qtde_dependetes.get()
        self.funcionario.sexo = self.sexo.get()
        self.funcionario.data_nascimento = self.nascimento.get()
        self.funcionario.salario = 950

        status, id_gerado, mensagem = self.funcionario.insert_funcionario()

        if status:
            self.id.insert(0, id_gerado)
            self.botao_criar.config(state="disabled")
            self.botao_excluir.config(state="normal")
            self.botao_atualizar.config(state="normal")

        self.mensagem["text"] = mensagem

    def limpar_tela(self):
        self.id.delete(0, tk.END)
        self.nome.delete(0, tk.END)
        self.nascimento.delete(0, tk.END)
        self.cargo.delete(0, tk.END)
        self.sexo.set("")
        self.qtde_dependetes.set("0")
        self.mensagem["text"] = ""
        self.funcionario = Funcionario("", 0, 0, "", "", "", 0)

        self.botao_criar.config(state="normal")
        self.botao_excluir.config(state="disabled")
        self.botao_atualizar.config(state="disabled")

    def buscar_funcionario(self):
        status, mensagem = self.funcionario.select_funcionario(self.id.get())

        if status:
            self.nome.insert(0, self.funcionario.nome)
            self.nascimento.set_date(self.funcionario.data_nascimento)
            self.cargo.insert(0, self.funcionario.cargo)
            self.sexo.set(self.funcionario.sexo)
            self.qtde_dependetes.set(self.funcionario.qtd_dependentes)

            self.botao_criar.config(state="disabled")
            self.botao_excluir.config(state="normal")
            self.botao_atualizar.config(state="normal")
        else:
            self.limpar_tela()

        self.mensagem["text"] = mensagem

    def atualizar_funcionario(self):
        self.funcionario.nome = self.nome.get()
        self.funcionario.cargo = self.cargo.get()
        self.funcionario.id_setor = 0
        self.funcionario.qtd_dependentes = self.qtde_dependetes.get()
        self.funcionario.sexo = self.sexo.get()
        self.funcionario.data_nascimento = self.nascimento.get()
        self.funcionario.salario = 950

        status, mensagem = self.funcionario.update_funcionario()

        if status:
            self.limpar_tela()

        self.mensagem["text"] = mensagem

    def excluir_funcionario(self):
        self.funcionario.id_funcionario = self.id.get()
        status, mensagem = self.funcionario.delete_funcionario()

        if status:
            self.limpar_tela()

        self.mensagem["text"] = mensagem
示例#28
0
import datetime

from funcionario import Funcionario
from folha_pagamento import FolhaDePagamento
from setor import Setor

cecy = Funcionario(nome="Cecilya",
                   setor=None,
                   data_nascimento=datetime.date(1999, 5, 14),
                   sexo="Feminino",
                   cargo="Gerente",
                   qtd_dependentes=1)

setor_dev = Setor(nome="Desenvolvimento", pausa_cafe="15:30", gerente=cecy)
# Agregação - Setor possui um gerente (Funcionario), e ambos existem sem depender da existencia do outro.

lucas = Funcionario(
    nome="Lucas Bruno",
    data_nascimento=datetime.date(1997, 11, 20),
    sexo="Masculino",
    cargo="Analista de desenvolvimento",
    setor=setor_dev,
    qtd_dependentes=3
)  # Composição - Funcionario tem um setor, e setor não existe sem funcionario(s).

folha_pagamento_lucas = FolhaDePagamento(funcionario=lucas,
                                         possui_plano_saude=True)

# print(lucas.__salario) Assim como esperado, não é possivél acessar atributos privados diretamente.

print(lucas.nome, lucas.data_nascimento, lucas.sexo,
示例#29
0
from funcionario import Funcionario

colaborador = Funcionario("Pedro", "Marketeiro", 4000)
colaborador.relatorio()

colaborador2 = Funcionario("Alberto", "Pedreiro")

print(f"O salário de {colaborador2.nome} é R$ {colaborador2.salario}")
示例#30
0
文件: medico.py 项目: aniely/SUS
 def __init__(self,codigo, nome, matricula, especialidade):
     Funcionario.__init__(self, codigo, nome, matricula)
     self._especialidade = especialidade
     Medico.cadastrar_medico(self)
 def setUp(self):
     self.funcionario = Funcionario('Juca', 2500)
示例#32
0
def main():
    funcionario = Funcionario("yudi", "banco imobiliário", 8001, "12/12/2012", "4002.8922")
    funcionario.mostrar_dados_do_funcionario()
    funcionario.mostrar_ganho_anual()
    funcionario.receber_aumento(10)
    funcionario.mostrar_dados_do_funcionario()
示例#33
0
 def __init__(self, nome, matricula, cargo):
     Funcionario.__init__(self, nome, matricula)
     self.cargo = cargo
示例#34
0
from funcionario import Funcionario

novoFuncionario = Funcionario()  #crie uma instancia da classe = objeto
novoFuncionario.nome = 'Luiz'  #aqui eu estou criando um novo atributo e não acessando os da classe!

novoFuncionario.cpf = '1234567890'  # método setter
print(novoFuncionario.nome, novoFuncionario.cpf)  # método getter

print(novoFuncionario.__dict__
      )  #lista no formato de dicionario o que tenho no objeto da classe
示例#35
0
    if op == 1:
        user = input("login: "******"password: "******"admin" and passwd == "admin"):
            print("\nlogged on\n")

            print("CADASTRO FUNCIONÁRIO: \n")

            nome=input("Digite o nome: ")
            cpf=input("Digite o cpf(somente números): ")
            endereco=input("Digite o endereço: ")
            telefone=input("Digite seu telefone: ")
            login=input("Digite seu login: "******"Digite sua senha: ")
            funcionarios.append(Funcionario(nome,cpf,endereco,telefone,login,senha))
            print()
        else:
            print("Erro de login!\n")
    elif op == 2 and len(funcionarios)>0:
        login = input("Digite seu login: "******"Digite sua senha: ")

        situation = False

        for obj in funcionarios:
            if(login == obj.login and senha == obj.senha):
                situation = True
                cpf_vend=obj.cpf
                break
示例#36
0
文件: enfermeira.py 项目: aniely/SUS
 def __init__(self, codigo, nome, matricula, cargo):
     Funcionario.__init__(self, codigo, nome, matricula)  # Chamada ao metodo init da classe funcionario
     self._cargo = cargo
     Enfermeira.cadastrar_enfermeira(self)
示例#37
0
from funcionario import Funcionario

f1 = Funcionario("Rosangela", "Aux Cozinha", 1600)

f1.relatorio()

f2 = Funcionario("Alberto", "Pedreiro")
print(f"O salario de {f2.nome} é R$ {f2.sal}")
示例#38
0
def createfuncionario(name, dep):
    fun = Funcionario(name, dep)
    return fun.departamento