def inclui_comissao(comissoes,novo): tela = Toplevel() tela.title("Gerenciador - Comissões") dados = controller.busca("id, nome", "fornecedores","","") if (novo > 0) : valores_antigos = controller.busca("comissao","comissoes"," WHERE vendedor_id ="+str(novo),"") x = 0 entradas = [] for dado in dados: label = Label(tela, text = dado[1]+": ") label.grid(row = x, column = 0, sticky=W) comissoes.append([dado[0]]) valida_num = (tela.register(controller.valida_numero),'%d', '%i', '%P', '%s', '%S', '%v', '%V', '%W') entradas.append(Entry(tela,width=20,validate = 'key', validatecommand = valida_num)) if (novo > 0): valor = str(valores_antigos[x][0]) for index in range(len(valor)): #necessario por causa da validacao do campo 'duracao campanha' entradas[x].insert(index, valor[index]) else: entradas[x].insert(0,"0") entradas[x].grid(row = x, column =1) label2= Label(tela, text="%") label2.grid(row = x , column = 2, sticky=W) x+=1 botao_limpar = Button(tela,text="Limpar", command=lambda: view.limpa_entradas(tela)) botao_limpar.grid(row=x,column=2) botao_ok = Button(tela,text="Finalizar", command=lambda: view.get_entradas(tela, entradas,comissoes)) botao_ok.grid(row = x , column = 3)
def __init__(self,dados): temp = controller.busca("id","pessoas"," WHERE tipo = 1 and cpf="+dados["cpf_vendor"],"") self.vendor = apaga(str(temp),"()[],") temp = controller.busca("id","pessoas"," WHERE tipo = 0 and cpf="+dados["cpf_clie"],"") self.clie = apaga(str(temp),"()[],") self.produtos = dados["produtos"] self.data = str(datetime.datetime.now().day)+"/"+str(datetime.datetime.now().month)+"/"+str(datetime.datetime.now().year) self.status = dados["t_venda"] self.pag_venda = dados["t_pag"]
def __init__(self,dados): temp = dados["fornecedor"] temp = apaga(temp,"(),") dado = controller.busca("id", "fornecedores", "WHERE nome = "+temp, "") #busca id fornecedor dado = str(dado) dado = apaga(dado,"[](),") #consulta retorna com caracteres especiais self.forn_id = dado[0] dur_camp = controller.busca('dur_camp','fornecedores','WHERE id = '+self.forn_id,'') #calculo do fim da data de fim da campanha dur_camp = apaga(str(dur_camp),"[](),") auxDate = datetime.datetime.strptime(dados["data_inic"], "%d/%m/%Y") self.data_fim = auxDate + datetime.timedelta(days=int(dur_camp)) self.data_inic = auxDate self.data_fim = self.data_fim.strftime('%d/%m/%Y') self.data_inic = self.data_inic.strftime('%d/%m/%Y') self.itens = dados["produtos"]
def salvar(self): id_venda = controller.grava('vendas',[self.clie,self.vendor,self.data,self.status,self.pag_venda]) for produto in self.produtos: temp = controller.busca("qnt","produtos"," WHERE codigo="+produto[0],"") temp = apaga(str(temp),"()[],") temp = int(temp) - int(produto[3]) if temp < 0: controller.exclui('vendas',' id = '+str(id_venda)) view.popup_warning("Quantidade de itens insuficiente") break else: controller.altera('produtos','qnt = '+str(temp),' codigo='+produto[0]) controller.grava('produtos_venda',[id_venda,produto[0], produto[3],produto[4]])
def tela_cad_camp(root): view.limpa_tela(root) dados = [] frame_cad_camp = LabelFrame(root, text="Cadastro Campanha", padx=5, pady=5) frame_cad_camp.grid(padx=10, pady=10) campo1 = Label(frame_cad_camp, text="Fornecedor:") campo1.grid(row = 0, column = 0) try: lista_forn = controller.busca("nome", "fornecedores","","") var_forn = StringVar(frame_cad_camp) var_forn.set(lista_forn[0]) forn = apply(OptionMenu, (frame_cad_camp,var_forn) + tuple(lista_forn)) except: var_forn.set("") forn = OptionMenu(frame_cad_camp,var_forn,"") forn.grid(row = 0 , column = 1) campo2 = Label(frame_cad_camp, text="Data Inicio:") campo2.grid(row = 1, column = 0) inic_camp = Entry(frame_cad_camp, width=20) inic_camp.grid(row=1, column = 1) campo3 = Label(frame_cad_camp, text="Código Produto:") campo3.grid(row = 2, column = 0) cod_prod = Entry(frame_cad_camp, width=20) cod_prod.grid(row=2, column = 1) campo5 = Label(frame_cad_camp, text="Desconto:") campo5.grid(row = 2, column = 2) desco_prod = Entry(frame_cad_camp, width=10) desco_prod.grid(row=2, column = 3) botao_incluir_prod = Button(frame_cad_camp, text="Incluir", command=lambda: inclui_prod_camp(frame_cad_camp,cod_prod,desco_prod,dados)) botao_incluir_prod.grid(row=2, column =4, sticky = W) sub_lista_prod_camp(frame_cad_camp,dados) botao_enviar = Button(frame_cad_camp,text="Cadastrar", command=lambda: controller.cadastrar(frame_cad_camp,{"classe":model.campanha,"fornecedor":var_forn.get(), "data_inic":inic_camp.get(),"produtos":dados})) #passo os dados do formulario em um dicionario botao_enviar.grid(row=5,column=4, columnspan=2, sticky=W, pady=10) botao_limpar = Button(frame_cad_camp,text="Limpar", command=lambda: view.limpa_entradas(frame_cad_camp)) botao_limpar.grid(row=5,column=3, sticky=E, pady=10)
def __init__(self,dados): self.codigo = dados["codigo"] if not dados["fornecedor"]: self.forn_id = 0 else: temp = dados["fornecedor"] temp = apaga(temp,"(),") dado = controller.busca("id", "fornecedores", "WHERE nome = '"+temp+"'", "") dado = str(dado) dado = apaga(dado,"[](),") self.forn_id = dado[0] self.qnt = dados["qnt"] self.desc = dados["desc"] self.pcompra = dados["pcompra"] self.pvenda = dados["pvenda"]
def tela_cad_prod(root): view.limpa_tela(root) frame_cad_prod = LabelFrame(root, text="Cadastro Produtos", padx=5, pady=5) frame_cad_prod.grid(padx=10, pady=10) valida_num = (root.register(controller.valida_numero),'%d', '%i', '%P', '%s', '%S', '%v', '%V', '%W') #permitir apenas numero no duracao da campanha campo1 = Label(frame_cad_prod, text="Código:") campo1.grid(row = 0, column = 1,padx = 10, sticky=E) cod_prod = Entry(frame_cad_prod, width=50, validate = 'key', validatecommand = valida_num) cod_prod.grid(row=0, column = 2, columnspan=3) campo2 = Label(frame_cad_prod, text="Fornecedor:") campo2.grid(row = 1, column = 0,padx = 10, columnspan=2) try: dados = controller.busca("nome", "fornecedores","","") var_forn = StringVar(frame_cad_prod) var_forn.set(dados[0]) forn_prod = apply(OptionMenu, (frame_cad_prod,var_forn) + tuple(dados)) except: var_forn.set("") forn_prod = OptionMenu(frame_cad_prod,var_forn,"") forn_prod.grid(row = 1 , column = 2, columnspan = 3, sticky = W+E ) campo3 = Label(frame_cad_prod, text="Quantidade:") campo3.grid(row = 2, column = 0,padx = 10, columnspan=2) qnt_prod = Entry(frame_cad_prod, width=50, validate = 'key', validatecommand = valida_num) qnt_prod.grid(row=2, column = 2, columnspan=3) campo4 = Label(frame_cad_prod, text="Descrição:") campo4.grid(row = 3, column = 0,padx = 10, columnspan=2) desc_prod = Entry(frame_cad_prod, width=50) desc_prod.grid(row=3, column = 2, columnspan=3) campo5 = Label(frame_cad_prod, text="Preço compra:") campo5.grid(row = 4, column = 0,padx = 10, columnspan=2) pcompra = Entry(frame_cad_prod, width=50) pcompra.grid(row=4, column = 2, columnspan=3) campo6 = Label(frame_cad_prod, text="Preço venda:") campo6.grid(row = 5, column = 0,padx = 10, columnspan=2) pvenda = Entry(frame_cad_prod, width=50) pvenda.grid(row=5, column = 2, columnspan=3) botao_enviar = Button(frame_cad_prod,text="Cadastrar", command=lambda: controller.cadastrar(frame_cad_prod,{"classe": model.produto, "codigo": cod_prod.get(), "fornecedor": var_forn.get(),"qnt": qnt_prod.get(),"desc": desc_prod.get(), "pcompra": pcompra.get(),"pvenda": pvenda.get()})) botao_enviar.grid(row=7,column=4, columnspan=2, sticky=W, pady=10) botao_limpar = Button(frame_cad_prod,text="Limpar", command=lambda: view.limpa_entradas(frame_cad_prod)) botao_limpar.grid(row=7,column=3, sticky=E, pady=10) return var_forn