def removeproduto(self,widget): auxae = self.edcsellista.get_text() codpre= auxae.split('_') codpr=codpre[0] gradpr=codpre[1] numvenda = self.ednumerovenda.get_text() selcv = con.cursor() # seleciona a venda selcv.execute("SELECT * FROM tb_cv WHERE cv='"+numvenda+"'") npcv=int(selcv.rowcount) if npcv < 1: print "erro de logica venda nao existe" else : lcv = selcv.fetchone() cvvtc= lcv[3] #cv total de custo cvvtv= lcv[4] #cv total de venda selpv=con.cursor() # seleciona o produto selpv.execute("SELECT * FROM tb_mov_merc WHERE n_not_int='"+numvenda+"' AND cod_prod='"+codpr+"' AND grade_sel='"+gradpr+"' ") npv = int(selpv.rowcount) if npv == 1 : #existe produto a deletar linvenda = selpv.fetchone() pc_sa= linvenda[6] # preco subtotal custo do produto pv_sa= linvenda[7] # preco subtotal venda do produto itbmovmerc = linvenda[0] # i do produto na tabela tb_mov_merc rem=con.cursor() rem.execute("DELETE FROM tb_mov_merc WHERE i='"+str(itbmovmerc)+"' LIMIT 1") # deleta registro upcv=con.cursor() cvvtc_stc = cvvtc - pc_sa cvvtv_stv = cvvtv - pv_sa # atualiza valores totais da venda upcv.execute("UPDATE tb_cv SET vtc='"+str(cvvtc_stc)+"',vtv='"+str(cvvtv_stv)+"' WHERE cv='"+numvenda+"' ") self.listarprodutosvendidos() print "produto "+ codpr+ " foi removido !"
def gravar(self,widget): strr= self.edvalor.get_text() sr= strr.replace(",",".") srt= sr.replace("'","") valor= srt.replace('"',"") self.edvalor.set_text(valor) da = self.dataget() nw=datetime.now() no=str(nw) nn = no[11:] nnn = nn[:8] d = str(da)+ " " + nnn icx = con.cursor() dw = self.var.get_text() valo = float(valor) * float(dw) icx.execute("INSERT INTO tb_ctrl_cx (`icx`, `cod_des`, `cod_pg`, `valor`, `cod_for`, `data`, `defe`,`cod_tp_conta`,`cond`,`nundoc`) VALUES (NULL, '"+self.edcconta.get_text()+"', '"+self.edccx.get_text()+"', '"+str(valo)+"', '"+self.edcforn.get_text()+"', '"+str(d)+"','"+str(d)+"','"+self.edctpg.get_text()+"','"+self.edcond.get_text()+"','"+self.edndoc.get_text()+"');") nid = int(con.insert_id()) print "conta adicionada ! " +str(nid) if self.edcconta.get_text() == "29" : print "transferencia " val = valo * -1 icxx = con.cursor() icxx.execute("INSERT INTO tb_ctrl_cx (`icx`, `cod_des`, `cod_pg`, `valor`, `cod_for`, `data`, `defe`,`cod_tp_conta`,`cond`,`nundoc`) VALUES (NULL, '"+self.edcconta.get_text()+"', '"+self.eddcx.get_text()+"', '"+str(val)+"', '"+self.edcforn.get_text()+"', '"+str(d)+"','"+str(d)+"','"+self.edctpg.get_text()+"','"+self.edcond.get_text()+"','"+self.edndoc.get_text()+"');") self.edcconta.set_text('1') self.edccx.set_text('1') self.edvalor.set_text('') self.edcforn.set_text('') self.cbcaixa.set_active(0) self.cbconta.set_active(0) self.cbconta.grab_focus()
def novavenda(self,widget): if self.ednumvendedor.get_text() !="": numvendedor=self.ednumvendedor.get_text() try: nuv= int(numvendedor) except: print "numero do vendedor invalido (letra)" else: #n=0 selvendedor = con.cursor() codv=self.ednumvendedor.get_text() selvendedor.execute("SELECT * FROM vendedores WHERE codv='"+codv+"'") numlinhas = int(selvendedor.rowcount) if numlinhas ==1: #print "vendedor valido " crianovavenda= con.cursor() data= self.dataget() nw=datetime.now() no=str(nw) nn = no[11:] nnn = nn[:8] dat = str(data)+ " " + nnn now=no[:19] crianovavenda.execute("INSERT INTO tb_cv (cv,data,vend,vtc,vtv,dpg,aux,n_not_ext,now,cod_mov,v_des) VALUES (NULL,'"+dat+"','"+codv+"','0','0','0','0','0','"+str(now)+"','"+str(self.codmov.get_text())+"','0')") nuv = int(con.insert_id()) con.commit() #nuv= str(numerovenda) nuv = str(nuv) self.ednumerovenda.set_text(nuv) print "nova venda criada com suscesso !"+nuv self.ednumvendedor.set_sensitive(False) self.btnovavend.set_sensitive(False) self.eddata.set_sensitive(False) self.ednumerovenda.set_sensitive(False) self.btsair.set_sensitive(False) self.labelcod.set_sensitive(True) self.labelqtd.set_sensitive(True) self.edcod.set_sensitive(True) self.edqtd.set_sensitive(True) self.labelpreco.set_sensitive(True) self.edpreco.set_sensitive(True) self.btinseri.set_sensitive(True) #self.labeldescp.set_sensitive(True) self.eddescp.set_sensitive(True) self.listaprodutosvendidos.set_sensitive(True) self.labeltotal.set_sensitive(True) self.edtotal.set_sensitive(True) self.btfinalizar.set_sensitive(True) self.listarprodutosvendidos() self.cbfp.set_active(0) else: print "vendedor inexistente " else: print "numero de vendedor vazio ! "
def cbconta_sel(self,widget): selpro=con.cursor() cbg= self.cbconta.get_active_text() ns= str(cbg) selpro.execute("SELECT * FROM tb_desmov WHERE descricaodes='"+ns+"'") numlinhas = int(selpro.rowcount) if numlinhas ==1: linp = selpro.fetchone() codmovv= linp[0] vv = linp[2] self.edcconta.set_text(str(codmovv)) self.var.set_text(str(vv)) if codmovv == 29 : self.cbdcx.set_sensitive(True) else : self.cbdcx.set_sensitive(False) if codmovv == 10 : self.cbforn.set_sensitive(True) self.lforn(self) self.edcforn.set_text('') else : self.edcforn.set_text('-') while self.nfor >= 0 : self.cbforn.remove_text(0) self.nfor = self.nfor -1
def editar(self,widget): strr= self.edvar.get_text() sr= strr.replace(",",".") srt= sr.replace("'","") valr= srt.replace('"',"") valor = float(valr) * -1 datasel = self.dataget() #print datasel dataatual = self.dtget() nw=datetime.now() no=str(nw) nn = no[11:] nnn = nn[:8] dat = str(datasel)+ " " + nnn dattu = str(dataatual)+" "+nnn uppg = con.cursor() uppg.execute("UPDATE tb_ctrl_cx SET `cod_pg` = '0',cod_tp_conta='"+self.edtpc.get_text()+"',cond='"+self.edcond.get_text()+"',nundoc='"+self.edndoc.get_text()+"',defe='',valor='"+str(valr)+"' WHERE icx ='"+self.coddp.get_text()+"' LIMIT 1 ;") self.atualcx(self) self.coddp.set_text('') #self.listadp(self) self.edvar.set_text('') self.edconta.set_text('') self.edforn.set_text('') self.edtpc.set_text('') self.edpg.set_text('') self.edcond.set_text('') self.edndoc.set_text('') self.edpg.set_text('') self.btpagar.set_sensitive(False)
def exibegrade(self,strr): codprod = strr lgrad=con.cursor() #print "codifo = " + codprod lgrad.execute("SELECT * FROM tb_grad WHERE codprod='"+codprod+"'") npg = int(lgrad.rowcount) #print "npg = " + str(npg) if npg > 0: ##self.bb pgr = lgrad.fetchall() for pg in pgr: #self.cbgrad.append_text("---") tex= str(pg[3]) + " = " + str(pg[2]) self.cbgrad.append_text(tex) #print pg[3] else: # print "nao tem grade" self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.edgrad.set_text(" ")
def newproduto (self,widget): luprod=con.cursor() luprod.execute("SELECT * FROM pbestoreal ORDER BY `codigo` DESC") lluprod = luprod.fetchone() #print str(lluprod[0]) ult= int(lluprod[0])+1 iprod = con.cursor() iprod.execute("INSERT INTO pbestoreal(`codigo` ,`codbarras` ,`descricaop` ,`fornecedorp` ,`undp` ,`precov` ,`custoc` ,`qtdautalest` ,`qestlj1` ,`qestl2` ,`qestlj3` ,`qmin` ,`creal` ,`nc` ,`grade` ,`class`)VALUES ('"+str(ult)+"', 'cod', 'descricao', '', 'und', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', '0','0.00', '', '', '');") lprod=con.cursor() strprocurado = str(ult) self.exibeproduto(strprocurado) self.btfind.set_sensitive(False) self.procproduto.set_text(str(ult)) self.procproduto.set_sensitive(False) self.btnewprod.set_sensitive(False) self.editc("1")
def cbforn_sel(self,widget): selpro=con.cursor() cbg= self.cbforn.get_active_text() ns= str(cbg) selpro.execute("SELECT * FROM tb_forn WHERE nome='"+ns+"'") numlinhas = int(selpro.rowcount) if numlinhas ==1: linp = selpro.fetchone() codmovv= linp[0] self.edcforn.set_text(str(codmovv))
def cbtpg_sel(self,widget): selpro=con.cursor() cbg= self.cbtpg.get_active_text() ns= str(cbg) selpro.execute("SELECT * FROM tb_tp_conta WHERE des_tp_conta='"+ns+"'") numlinhas = int(selpro.rowcount) if numlinhas ==1: linp = selpro.fetchone() codmovv= linp[0] self.edctpg.set_text(str(codmovv))
def cbcxc_sel(self,widget): selpro=con.cursor() cbg= self.cbdcx.get_active_text() ns= str(cbg) selpro.execute("SELECT * FROM tb_caixas WHERE des_cx='"+ns+"'") numlinhas = int(selpro.rowcount) if numlinhas ==1: linp = selpro.fetchone() codmovv= linp[0] self.eddcx.set_text(str(codmovv))
def listarprodutosvendidos(self): ncolunas = self.listaprodutosvendidos.get_columns() for col in ncolunas: self.listaprodutosvendidos.remove_column(col) self.tipodetabelavenda = gtk.ListStore(str,str,str,str,str,str,str) self.listaprodutosvendidos.set_model(self.tipodetabelavenda) self.listaprodutosvendidos.append_column(gtk.TreeViewColumn("codigo",gtk.CellRendererText(), text=0)) self.listaprodutosvendidos.append_column(gtk.TreeViewColumn("cod barras",gtk.CellRendererText(), text=1)) self.listaprodutosvendidos.append_column(gtk.TreeViewColumn("descricao",gtk.CellRendererText(), text=2)) self.listaprodutosvendidos.append_column(gtk.TreeViewColumn("quantidade",gtk.CellRendererText(), text=3)) self.listaprodutosvendidos.append_column(gtk.TreeViewColumn("preco",gtk.CellRendererText(), text=4)) self.listaprodutosvendidos.append_column(gtk.TreeViewColumn("subtotal",gtk.CellRendererText(), text=5)) self.listaprodutosvendidos.append_column(gtk.TreeViewColumn("grade",gtk.CellRendererText(), text=6)) selnumv =con.cursor() numvenda = self.ednumerovenda.get_text() selnumv.execute("SELECT * FROM tb_cv WHERE cv='"+numvenda+"'") lin = selnumv.fetchone() self.edtotal.set_text(str(lin[4])) self.totalreal = float(lin[4]) selpvendidos=con.cursor() selpvendidos.execute("SELECT * FROM tb_mov_merc WHERE n_not_int='"+numvenda+"'") pvend = selpvendidos.fetchall() it =0 self.cppp ={} for pdv in pvend: selpro=con.cursor() selpro.execute("SELECT * FROM pbestoreal WHERE codigo='"+str(pdv[2])+"'") linp = selpro.fetchone() dp = linp[2] cb=linp[1] self.cppp[it]= str(pdv[2])+ "_" + pdv[8] it +=1 self.tipodetabelavenda.append([pdv[2],cb,dp,pdv[3],pdv[5],pdv[7],pdv[8]]) self.edcod.set_text('') self.edqtd.set_text("1") self.eddescp.set_text('') self.edpreco.set_text('') self.edcod.grab_focus()
def exibeproduto (self,strp): lprod=con.cursor() strprocurado = strp lprod.execute("SELECT * FROM pbestoreal WHERE codbarras='"+strprocurado+"'") npe = int(lprod.rowcount) if npe ==1: llprod = lprod.fetchone() self.eddescprod.set_text(str(llprod[2])) self.edcod.set_text(str(llprod[1])) self.edun.set_text(str(llprod[4])) self.edqt.set_text(str(llprod[8])) self.edpv.set_text(str(llprod[5])) self.edpc.set_text(str(llprod[12])) self.edqtrc.set_text(str(llprod[7])) self.edcrent.set_text(str(llprod[6])) self.edcodp.set_text(str(llprod[0])) self.claa.set_text(str(llprod[15])) f=float(str(llprod[13]))/ 100 self.barra.set_fraction(f) self.codp = str(llprod[0]) self.at= (int(llprod[13])/10) self.cnc.set_active(self.at) else: lprod.execute("SELECT * FROM pbestoreal WHERE codigo='"+strprocurado+"'") npee = int(lprod.rowcount) if npee ==1: llprod = lprod.fetchone() self.eddescprod.set_text(str(llprod[2])) self.edcod.set_text(str(llprod[1])) self.edun.set_text(str(llprod[4])) self.edqt.set_text(str(llprod[8])) self.edpv.set_text(str(llprod[5])) self.edpc.set_text(str(llprod[12])) self.edqtrc.set_text(str(llprod[7])) self.edcrent.set_text(str(llprod[6])) self.edcodp.set_text(str(llprod[0])) self.claa.set_text(str(llprod[15])) f=float(str(llprod[13]))/ 100 self.barra.set_fraction(f) self.codp = str(llprod[0]) self.at= (int(llprod[13])/10) self.cnc.set_active(self.at) self.exibegrade(str(self.codp)) #print f coa = open('consulta.t','r') co = coa.read() if co == "1": self.btedit.set_sensitive(False) self.btatual.set_sensitive(False)
def gravar(self,widget): if self.chch.get_active() == False: self.nchegou ="nao" else : self.nchegou="" strr= self.edvalor.get_text() sr= strr.replace(",",".") srt= sr.replace("'","") valor= srt.replace('"',"") self.edvalor.set_text(valor) da = self.dataget() nw=datetime.now() no=str(nw) nn = no[11:] nnn = nn[:8] d = str(da)+ " " + nnn icx = con.cursor() dw = self.var.get_text() valo = float(valor) #* float(dw) icx.execute("INSERT INTO tb_ctrl_cx (`icx`, `cod_des`, `cod_pg`, `valor`, `cod_for`, `data`, `defe`,`cod_tp_conta`,`cond`,`nundoc`) VALUES (NULL, '"+self.edcconta.get_text()+"', '0', '"+str(valo)+"', '"+self.edcforn.get_text()+"', '"+str(d)+"','"+str(self.nchegou)+"','"+self.edctpg.get_text()+"','"+self.edcond.get_text()+"','"+self.edndoc.get_text()+"');") print "conta adicionada ! " if self.edcconta.get_text() == "29" : print "nao pode ser agendado " #val = valo * -1 #icxx = con.cursor() #icxx.execute("INSERT INTO tb_ctrl_cx (`icx`, `cod_des`, `cod_pg`, `valor`, `cod_for`, `data`, `defe`,`cod_tp_conta`,`cond`,`nundoc`) VALUES (NULL, '"+self.edcconta.get_text()+"', '"+self.eddcx.get_text()+"', '"+str(val)+"', '"+self.edcforn.get_text()+"', '"+str(d)+"','','"+self.edctpg.get_text()+"','"+self.edcond.get_text()+"','"+self.edndoc.get_text()+"');") dt = self.dataget() print dt dtt = dt.split('-') an= dtt[0] m= int(dtt[1]) + 1 if m > 12 : m = m -12 an = str(int(dtt[0])+1) dd=dtt[2] m = "0"+ str(m) m = m[-2:] date = str(dd) +'/'+ str(m)+'/'+str(an) self.eddata.set_text(date) edco = self.edcond.get_text() edd = edco.split("/") eddo = int(edd[0]) + 1 edcf = str(eddo) + "/"+ edd[1] self.edcond.set_text(edcf) self.cbforn.set_sensitive(False) self.btnovo.set_sensitive(True) self.edvalor.grab_focus() self.cbconta.set_sensitive(False) self.cbcaixa.set_sensitive(False)
def criacbdesmov(self,widget): ltbdesmov=con.cursor() #print "codifo = " + codprod ltbdesmov.execute("SELECT * FROM tb_desmov ORDER BY descricaodes ASC ") npg = int(ltbdesmov.rowcount) #print "npg = " + str(npg) if npg > 0: pgr = ltbdesmov.fetchall() for pg in pgr: tex= str(pg[1]) self.cbconta.append_text(tex) else: # print "nao tem grade" self.cbconta.remove_text(0)
def exibegrade(self,strr): codprod = strr self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) lgrad=con.cursor() #print "codifo = " + codprod lgrad.execute("SELECT * FROM tb_grad WHERE codprod='"+codprod+"'") self.npg = int(lgrad.rowcount) #print "npg = " + str(npg) ncolunas = self.tabelamov.get_columns() for col in ncolunas: self.tabelamov.remove_column(col) if self.npg > 0: ##self.bb #self.lgrade.set_sensitive(True) pgr = lgrad.fetchall() #self.edgrad.set_text(" ") for pg in pgr: #self.cbgrad.append_text("---") tex= str(pg[3]) + " = " + str(pg[2]) self.cbgrad.append_text(tex) #print pg[3] else: # print "nao tem grade" self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0) self.cbgrad.remove_text(0)
def grad_sel(self,widget): selpro=con.cursor() codpp= self.edci.get_text() cg= self.cbgrad.get_active_text() ns= str(cg) #print cg nl= ns.split(' = ') #print str(nl[0]) selpro.execute("SELECT * FROM tb_grad WHERE codprod='"+str(codpp)+"' AND des_grade= '"+ str(nl[0])+ "'") numlinhas = int(selpro.rowcount) if numlinhas ==1: linp = selpro.fetchone() cigrade= linp[0] self.edgrad.set_text(str(cigrade))
def mostrarmov(self,widget): ncolunas = self.tabelamov.get_columns() for col in ncolunas: self.tabelamov.remove_column(col) self.modelo = gtk.ListStore( gobject.TYPE_UINT, gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING,gobject.TYPE_STRING,gobject.TYPE_STRING,gobject.TYPE_STRING) ##self.modelo = gtk.TreeStore(str,str,str,str,str,str) self.tabelamov.set_model(self.modelo) self.tabelamov.append_column(gtk.TreeViewColumn("cod mov",gtk.CellRendererText(), text=0)) self.tabelamov.append_column(gtk.TreeViewColumn("data",gtk.CellRendererText(), text=1)) self.tabelamov.append_column(gtk.TreeViewColumn("n i",gtk.CellRendererText(), text=2)) self.tabelamov.append_column(gtk.TreeViewColumn("movimento",gtk.CellRendererText(), text=3)) self.tabelamov.append_column(gtk.TreeViewColumn("qtd",gtk.CellRendererText(), text=4)) self.tabelamov.append_column(gtk.TreeViewColumn("grade",gtk.CellRendererText(), text=5)) codp = self.edcodp.get_text() selpvendidos=con.cursor() selpvendidos.execute("SELECT * FROM tb_mov_merc WHERE cod_prod='"+codp+"' ORDER BY i DESC") pvend = selpvendidos.fetchall() for pdv in pvend : fundo = None cor =None corpr = None selmov =con.cursor() codmov = str(pdv[9]) selmov.execute("SELECT * FROM t_mov WHERE cit='"+codmov+"'") lin = selmov.fetchone() demov = str(lin[1]) self.modelo.append([pdv[0],pdv[11],pdv[1],demov,pdv[3],pdv[8],'',cor,fundo,corpr])
def addgrad(self,widget): qtg= self.edqgrad.get_text() edtgd = self.edtgrad.get_text() if qtg > 0 and edtgd != "": igrd = con.cursor() igrd.execute("INSERT INTO tb_grad (`igrad`,`codprod`,`qta_grade`,`des_grade`)VALUES (NULL ,'"+str(self.codp)+"', '"+str(qtg)+"','"+str(edtgd)+"')") #print "gravando grade " self.edqgrad.set_text("1") self.edtgrad.set_text("") self.edqgrad.set_sensitive(False) self.edtgrad.set_sensitive(False) self.btrec.set_sensitive(False) self.btagrad.grab_focus() self.bgravarprod_clicked(self) #self.eddescprod.set_text(" ") #self.eddescprod.set_text(self.codp) self.exibegrade(str(1)) self.exibegrade(str(self.codp))
def lcaixas(self,widget): lgrad=con.cursor() #print "codifo = " + codprod lgrad.execute("SELECT * FROM tb_caixas ") self.npg = int(lgrad.rowcount) #print "npg = " + str(npg) if self.npg > 0: pgr = lgrad.fetchall() #self.edgrad.set_text(" ") for pg in pgr: #self.cbconta.append_text("---") tex= str(pg[1]) self.cbcaixa.append_text(tex) else: # print "nao tem grade" self.cbcaixa.remove_text(0)
def btnnclick(self,widget): if self.ednni.get_text()=="0": self.ednni.set_sensitive(True) self.ednni.grab_focus() else : self.ednni.set_sensitive(False) tnt = self.ednni.get_text() auxae = self.edcsellista.get_text() codpre= auxae.split('_') codpr=codpre[0] gradpr=codpre[1] numvenda = self.ednumerovenda.get_text() selpv=con.cursor() # update o produto selpv.execute("UPDATE tb_mov_merc SET n_not_ext='"+str(tnt)+"',cod_mov='898' WHERE n_not_int='"+numvenda+"' AND cod_prod='"+codpr+"' AND grade_sel='"+gradpr+"' ") self.ednni.set_text("") self.listarprodutosvendidos() self.edcod.grab_focus()
def bgravarprod_clicked (self,widget): gaprod=con.cursor() descp=self.eddescprod.get_text() codp=self.edcod.get_text() unp= self.edun.get_text() qtp= self.edqt.get_text() pvp= self.edpv.get_text() pcp= self.edpc.get_text() qtr = self.edqtrc.get_text() ii= self.procproduto.get_text() nc = self.cnc.get_active() ncc = int(float(nc)*10) #print ncc gaprod.execute("UPDATE pbestoreal SET codbarras='"+str(codp)+"',descricaop='"+str(descp)+"',undp='"+str(unp)+"',qtdautalest='"+str(qtr)+"',qestlj1='"+str(qtp)+"',precov='"+str(pvp)+"',creal='"+str(pcp)+"',nc='"+str(int(ncc))+"' WHERE codigo='"+str(ii)+"'") self.btfind.set_sensitive(True) self.procproduto.set_sensitive(True) if int(conteudo) == 1 : self.btnewprod.set_sensitive(True) self.btedit.set_sensitive(True) self.edun.set_sensitive(False) self.eddescprod.set_sensitive(False) self.edcod.set_sensitive(False) self.edqt.set_sensitive(False) self.edpv.set_sensitive(False) self.edpc.set_sensitive(False) self.btedit.set_sensitive(True) self.btagrad.set_sensitive(False) self.btgrava.set_sensitive(False) self.btrc.set_sensitive(False) self.edqtrc.set_sensitive(False) self.edqgrad.set_sensitive(False) self.edtgrad.set_sensitive(False) self.btrec.set_sensitive(False) self.cnc.set_sensitive(False) self.barra.set_sensitive(False)
def exibeproduto (self,strp): lprod=con.cursor() strprocurado = strp lprod.execute("SELECT * FROM pbestoreal WHERE codbarras='"+strprocurado+"'") npe = int(lprod.rowcount) if npe ==1: llprod = lprod.fetchone() self.eddes.set_text(str(llprod[2])) self.edcod.set_text(str(llprod[0])) #self.edun.set_text(str(llprod[4])) #self.edqt.set_text(str(llprod[7])) #self.edpv.set_text(str(llprod[5])) self.edpc.set_text(str(llprod[12])) self.edci.set_text(str(llprod[0])) self.exibegrade(str(llprod[0])) else: lprod.execute("SELECT * FROM pbestoreal WHERE codigo='"+strprocurado+"'") npee = int(lprod.rowcount) if npee ==1: llprod = lprod.fetchone() self.eddes.set_text(str(llprod[2])) self.edcod.set_text(str(llprod[1])) #self.edun.set_text(str(llprod[4])) #self.edqt.set_text(str(llprod[7])) #self.edpv.set_text(str(llprod[5])) self.edpc.set_text(str(llprod[12])) self.edci.set_text(str(llprod[0])) self.exibegrade(str(llprod[0])) else : self.eddes.set_text("") self.edcod.set_text("") #self.edun.set_text(str(llprod[4])) #self.edqt.set_text(str(llprod[7])) #self.edpv.set_text(str(llprod[5])) self.edpc.set_text("")
def fechavenda(self,widget): numvenda = self.ednumerovenda.get_text() tota = self.edtota.get_text() din = self.eddin.get_text() car = self.edcar.get_text() che = self.edche.get_text() fcar = float(car) ftota = float(tota) fdin = float(din) fche = float(che) t= fcar + fche + fdin data= self.dataget() nw=datetime.now() no=str(nw) nn = no[11:] nnn = nn[:8] dat = str(data)+ " " + nnn now=no[:19] if t == ftota: data = self.caljanela.get_date() ms=data[1]+1 mes="0"+str(ms) d=data[2] dia="0"+str(d) dt=str(dia[-2:])+"/"+str(mes[-2:])+"/"+str(data[0]) #dt=str(data[0])+"-"+str(mes[-2:])+"-"+str(dia[-2:]) '''if fdin != 0: insv = con.cursor() insv.execute("INSERT INTO tb_vendas (idcodv,codvend,valorv,fpag,datav,numop,cod_pg,datatime) VALUES (NULL,'"+self.ednumvendedor.get_text()+"','"+str(fdin)+"','dinheiro','"+dt+"','"+str(numvenda)+"','1','"+now+"')") print "dinheiro " + str(fdin) ddcar = self.cbfp.get_active() if ddcar == 0: fccc=0 if ddcar == 1: fccc=2.45 if ddcar == 2: fccc=3.4 if ddcar == 3: fccc=4.4 if ddcar == 4: fccc=2.5 if ddcar == 5: fccc=3.5 if ddcar == 6: fccc=4.5 if ddcar == 7: fccc=0 dcar = fcar*fccc/100 if fcar !=0: insv = con.cursor() insv.execute("INSERT INTO tb_vendas (idcodv,codvend,valorv,fpag,datav,numop,cod_pg,datatime) VALUES (NULL,'"+self.ednumvendedor.get_text()+"','"+str(fcar)+"','cartao','"+dt+"','"+str(numvenda)+"','2-"+str(ddcar)+"','"+now+"')") print "cartao " + str(fcar) if fche !=0: insv = con.cursor() insv.execute("INSERT INTO tb_vendas (idcodv,codvend,valorv,fpag,datav,numop,cod_pg,datatime) VALUES (NULL,'"+self.ednumvendedor.get_text()+"','"+str(fche)+"','cheque','"+dt+"','"+str(numvenda)+"','3','"+now+"')") print "cheque " + str(fche) ''' fevenda =con.cursor() if float(ftota) != float(self.totalreal): print "desconto final aplicado" vdeff = float(self.totalreal) - float(ftota) else: vdeff=0; #print "juros cartao = "+ str(dcar) # depois adicionas a contas a pagar fcar =0 fdin =0 fche = 0 dcar =0 if self.chnt.get_active() == True:#nota tirou upnot = con.cursor() upnot.execute("UPDATE tb_mov_merc SET cod_mov='777',n_not_ext='"+self.ednnt.get_text() +"' WHERE n_not_int='"+numvenda+"' ") fevenda.execute("UPDATE tb_cv SET vtv='"+str(ftota)+"',dpg='"+str(dcar)+"',aux='"+"d="+str(fdin)+"-c="+str(fcar)+"-h="+str(fche)+"',n_not_ext='"+self.ednnt.get_text() +"',cod_mov='777',v_des='"+str(vdeff)+"',now='"+now+"' WHERE cv='"+numvenda+"'") inss=con.cursor() inss.execute("INSERT INTO `notasentrada` (`NUMERONF`, `SERIE`, `MODELO`, `VENDEDOR`, `FORNECEDOR`, `OPERACAO`, `EMISSAO`, `FRETE`, `SEGURO`, `DESPESAS`, `VOLUMES`, `ESPECIE`, `MARCA`, `TRANSPORTA`, `FRETE12`, `SAIDAH`, `SAIDAD`, `DUPLICATAS`, `BASEICM`, `ICMS`, `ICMSSUBSTI`, `BASESUBSTI`, `ALIQUOTA`, `ISS`, `IPI`, `TOTAL`, `MERCADORIA`, `COMPLEMEN1`, `COMPLEMEN2`, `COMPLEMEN3`, `COMPLEMEN4`, `EMITIDA`, `SERVICOS`, `DESCRICAO1`, `DESCRICAO2`, `DESCRICAO3`, `PESOBRUTO`, `PESOLIQUI`, `DESCPROD`, `CODIGOBASE`) VALUES ('"+self.ednnt.get_text()+"', ' ', ' ', ' ', 'ffornecedor', 'Compra para comercialização', '"+self.dataget()+"', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '', '"+str(ftota)+"', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '', ' ', ' ', ' ');") else : fevenda.execute("UPDATE tb_cv SET vtv='"+str(ftota)+"',dpg='"+str(dcar)+"',aux='"+"d="+str(fdin)+"-c="+str(fcar)+"-h="+str(fche)+"',n_not_ext='"+self.ednnt.get_text() +"',v_des='"+str(vdeff)+"',now='"+now+"' WHERE cv='"+numvenda+"'") ncolunas = self.listaprodutosvendidos.get_columns() for col in ncolunas: self.listaprodutosvendidos.remove_column(col) self.tipodetabelavenda = gtk.ListStore(str,str,str,str,str,str,str) self.listaprodutosvendidos.set_model(self.tipodetabelavenda) self.listaprodutosvendidos.append_column(gtk.TreeViewColumn("codigo",gtk.CellRendererText(), text=0)) self.listaprodutosvendidos.append_column(gtk.TreeViewColumn("cod barras",gtk.CellRendererText(), text=1)) self.listaprodutosvendidos.append_column(gtk.TreeViewColumn("descricao",gtk.CellRendererText(), text=2)) self.listaprodutosvendidos.append_column(gtk.TreeViewColumn("quantidade",gtk.CellRendererText(), text=3)) self.listaprodutosvendidos.append_column(gtk.TreeViewColumn("preco",gtk.CellRendererText(), text=4)) self.listaprodutosvendidos.append_column(gtk.TreeViewColumn("subtotal",gtk.CellRendererText(), text=5)) self.listaprodutosvendidos.append_column(gtk.TreeViewColumn("tam",gtk.CellRendererText(), text=6)) selpvendidos = con.cursor() selpvendidos.execute("SELECT * FROM tb_mov_merc WHERE n_not_int='"+numvenda+"'") pvend = selpvendidos.fetchall() for pdv in pvend: selpro=con.cursor() selpro.execute("SELECT * FROM pbestoreal WHERE codigo='"+str(pdv[2])+"'") linp = selpro.fetchone() qr=float(linp[7]) ql = float(linp[8]) qv = float(pdv[3]) qlt= ql + qv if str(pdv[9]) == "777": qrt = qr + qv else: qrt = qr upprod=con.cursor() upprod.execute("UPDATE pbestoreal SET qtdautalest='"+str(qrt)+"',qestlj1='"+str(qlt)+"' WHERE codigo='"+str(pdv[2])+"'") #dar baixa na grade #print pdv[8] grad = pdv[8] if grad != "": selgrade=con.cursor() selgrade.execute("SELECT * FROM tb_grad WHERE codprod='"+str(pdv[2])+"'AND des_grade='"+str(grad)+"' ") ng = int(selgrade.rowcount) if ng > 0 : lg = selgrade.fetchone() qtdgrad= float(lg[2]) ig = lg[0] qtdgt= qtdgrad + qv upgrade=con.cursor() upgrade.execute("UPDATE tb_grad SET qta_grade='"+str(qtdgt)+"' WHERE igrad='"+str(ig)+"'") print "venda "+self.ednumerovenda.get_text()+" finalizada !" self.janelafechavenda.hide() self.ednumvendedor.set_sensitive(True) self.btnovavend.set_sensitive(True) self.eddata.set_sensitive(True) self.ednumerovenda.set_sensitive(True) self.btsair.set_sensitive(True) self.labelcod.set_sensitive(False) self.labelqtd.set_sensitive(False) self.edcod.set_sensitive(False) self.edqtd.set_sensitive(False) self.labelpreco.set_sensitive(False) self.edpreco.set_sensitive(False) self.btinseri.set_sensitive(False) #self.labeldescp.set_sensitive(False) self.eddescp.set_sensitive(False) self.listaprodutosvendidos.set_sensitive(False) self.labeltotal.set_sensitive(False) self.edtotal.set_sensitive(False) self.btfinalizar.set_sensitive(False) self.ednumvendedor.set_text("") self.ednumerovenda.set_text("") self.edtotal.set_text("") self.eddin.set_text("0") self.edcar.set_text("0") self.edche.set_text("0") self.ednnt.set_text("0") self.chnt.set_active(False) self.ednumvendedor.grab_focus() self.cbfp.set_active(0) print "-------------------------------------------------------------------------" else: print "total invalido" self.edtota.grab_focus()
def __init__(self): #Carrega a interface a partir do arquivo glade aw = gtk.glade.XML('addprodtroca.glade') #carrega os widgets #janela principal self.jaddprod = aw.get_widget('window1') #self.listaprodutosvendidos = aw.get_widget('treeview1') #self.listaprodutosvendidosdois = aw.get_widget('treeview2') self.edent= aw.get_widget('entry2') self.edcod= aw.get_widget('entry3') self.eddes= aw.get_widget('entry1') self.edqtd= aw.get_widget('entry4') self.edpc = aw.get_widget('entry5') self.eddatasel = aw.get_widget('entry6') self.bgrava = aw.get_widget('button1') self.cbmov = aw.get_widget('combobox1') self.codmov = aw.get_widget('entry7') self.edci = aw.get_widget('entry8') self.edgrad = aw.get_widget('entry9') self.cbgrad = aw.get_widget('combobox2') nw = datetime.now() now = str(nw)[:19] self.eddatasel.set_text(now) cmov=con.cursor() cmov.execute("SELECT * FROM t_mov ") lmov = cmov.fetchall() modelo = gtk.ListStore(str,str) modelo1 = gtk.ListStore(str) self.cbmov.set_model(modelo) self.cbgrad.set_model(modelo1) self.moo ={} i =0 for llmov in lmov: # stt= llmov[0] # dss=llmov[1] # print str(dss) + "stt = "+ str(stt) #modelo.append([llmov[1],llmov[0]]) self.cbmov.append_text(str(llmov[1])) self.moo[i]= llmov[0] i +=1 #self.cbmov.set_model(modelo) #comboHoras.append_text(str(i)) self.edqtd.set_text('1') #Conecta todos os Sinais aos Callbacks aw.signal_autoconnect(self) #Exibe janela principalpb self.jaddprod.show_all() coa = open('consulta.t','r') co = coa.read() if co == "1": print "operando no servidor secundario somente consulta" self.bgrava.set_sensitive(False) #Inicia o loop principal de eventos (GTK MainLoop) gtk.main()
def procuraproduto (self,widget): strr= self.edcod.get_text() sr= strr.replace(",","") srt= sr.replace("'","") srtt= srt.replace('"',"") self.edcod.set_text(srtt) self.btapaga.set_sensitive(False) self.edcsellista.set_text("") #self.btapaga.set_visible(False) #self.btapaga.set_sensitive(False) strproc = self.edcod.get_text() s = strproc.split('-') len(s) if len(s) == 1: strprocurado = strproc self.eddpv.set_text("") sqt= float(self.edqtd.get_text()) if sqt < 0: qt = sqt * -1 else: qt = sqt self.edqtd.set_text(str(qt)) self.codmov.set_text("2") if len(s) == 2 : if s[0] =="": #devolucao strprocurado = s[1] self.eddpv.set_text("") sqt= float(self.edqtd.get_text()) self.codmov.set_text("991") if sqt <0: qt= sqt else: qt = sqt * -1 self.edqtd.set_text(str(qt)) else: strprocurado = s[0] #desconto self.eddpv.set_text(s[1]) sqt= float(self.edqtd.get_text()) if sqt < 0: qt = sqt * -1 else: qt = sqt self.edqtd.set_text(str(qt)) self.codmov.set_text("2") pcp=con.cursor() pcp.execute("SELECT * FROM pbestoreal WHERE codigo='"+strprocurado+"'") npe = int(pcp.rowcount) if npe ==1: self.labelcod.set_text("codigo") linp = pcp.fetchone() self.eddescp.set_text(str(linp[2])) if self.eddpv.get_text() == "": self.edpreco.set_text(str(linp[5])) else : de=float(self.eddpv.get_text()) vde = float(linp[5]) -(de * float(linp[5]) /100) self.edpreco.set_text(str(vde)) self.apv= linp[5] self.edcodigo.set_text(str(linp[0])) self.edpc.set_text(str(linp[12])) #self.edqr.set_text("qr= "+str(linp[7])) self.labelpreco.set_sensitive(True) self.labelqtd.set_sensitive(True) self.btinseri.set_sensitive(True) self.exibegrade(str(linp[0])) else: pcbp=con.cursor() pcbp.execute("SELECT * FROM pbestoreal WHERE codbarras='"+strprocurado+"'") npcbe=int(pcbp.rowcount) if npcbe ==1: self.labelcod.set_text("cod barras") linpc = pcbp.fetchone() self.eddescp.set_text(str(linpc[2])) self.edpreco.set_text(str(linpc[5])) self.edcodigo.set_text(str(linpc[0])) self.labelpreco.set_sensitive(True) self.labelqtd.set_sensitive(True) self.btinseri.set_sensitive(True) grade=str(linpc[14]) self.edpc.set_text(str(linpc[12])) #self.edqr.set_text("qr= "+str(linpc[7])) self.exibegrade(str(linp[0])) self.apv= linp[5] '''if grade == "s": self.listagrade(linpc[0]) else : self.naopossuigrade()''' else: self.labelcod.set_text("codigo") self.eddescp.set_text("Produto nao encontrado") self.edpreco.set_text("0") self.edcodigo.set_text('') self.edpc.set_text("") self.labelpreco.set_sensitive(False) self.labelqtd.set_sensitive(False) self.btinseri.set_sensitive(False) #self.edqr.set_text("") self.exibegrade('') self.apv= 0
def gravaadd(self,widget): coa = open('consulta.t','r') co = coa.read() if co == "1": print "operando no servidor secundario somente consulta" self.bgrava.set_sensitive(False) else: nww=datetime.now() noo=str(nww) nw=noo[:19] if self.codmov.get_text() == "": print "nao tem mov " else : if self.edcod.get_text() == "": print "nao tem produto" else : novcv= con.cursor() #print nw novcv.execute("INSERT INTO tb_cv (cv,data,vend,vtc,vtv,dpg,aux,n_not_ext,now,cod_mov,v_des,cod_cli) VALUES (NULL,'"+ str(self.eddatasel.get_text()) + "','0','"+str(self.edpc.get_text())+"','0','0','cor','0','"+nw+"','"+str(self.codmov.get_text())+ "','0','0')") icv = int(con.insert_id()) improd =con.cursor() stc= float(self.edpc.get_text()) * float(self.edqtd.get_text()) cg= self.cbgrad.get_active_text() ns= str(cg) #print cg nl= ns.split(' = ') grade = str(nl[0]) improd.execute("INSERT INTO tb_mov_merc (i,n_not_int,cod_prod,qtd_prod,pc_u,pv_u,pc_s,pv_s,grade_sel,cod_mov,n_not_ext,data_sel,data_real,operador,p_des,v_des) VALUES (NULL,'"+str(icv)+"','"+str(self.edci.get_text())+"','"+str(self.edqtd.get_text())+"','"+str(self.edpc.get_text())+"','0','"+str(stc)+"','0','"+grade+"','"+str(self.codmov.get_text())+"','0','"+str(self.eddatasel.get_text())+"','"+nw+"','0','0','0') ") selpvendidos = con.cursor() selpvendidos.execute("SELECT * FROM tb_mov_merc WHERE n_not_int='"+str(icv)+"'") pvend = selpvendidos.fetchall() for pdv in pvend: selpro=con.cursor() selpro.execute("SELECT * FROM pbestoreal WHERE codigo='"+str(pdv[2])+"'") linp = selpro.fetchone() qr=float(linp[7]) ql = float(linp[8]) qv = float(pdv[3]) qk = float(linp[9]) traf = con.cursor() traf.execute("SELECT * FROM t_mov WHERE cit='"+str(pdv[9])+"'") ltraf = traf.fetchone() self.vlj = ltraf[2] vlj = ltraf[2] vrc = ltraf[3] vpk = ltraf[4] qlt= ql + (vlj * qv) qrc = qr + (vrc * qv) qpkt = qk + (vpk * qv) upprod=con.cursor() upprod.execute("UPDATE pbestoreal SET qtdautalest='"+str(qrc)+"',qestlj1='"+str(qlt)+"',qestl2='"+str(qpkt)+"' WHERE codigo='"+str(pdv[2])+"'") #dar baixa na grade #print pdv[8] grad = pdv[8] if grad != "": selgrade=con.cursor() selgrade.execute("SELECT * FROM tb_grad WHERE codprod='"+str(pdv[2])+"'AND des_grade='"+str(grad)+"' ") ng = int(selgrade.rowcount) if ng > 0 : lg = selgrade.fetchone() qtdgrad= float(lg[2]) ig = lg[0] qtdgt= qtdgrad + (qv * self.vlj) upgrade=con.cursor() upgrade.execute("UPDATE tb_grad SET qta_grade='"+str(qtdgt)+"' WHERE igrad='"+str(ig)+"'") con.commit() self.eddes.set_text("") self.edcod.set_text("") self.edpc.set_text("") #self.cbmov.set_active(0) self.edent.set_text("") if __name__== "__main__": gtk.main_quit() exit(1) else : self.jaddprod.hide()
def atualizar(self,widget): self.btfind.set_sensitive(False) nvcv= con.cursor() #data= self.dataget() nw=datetime.now() no=str(nw) nn = no[11:] nnn = nn[:8] #dat = str(data)+ " " + nnn now=no[:19] nvcv.execute("INSERT INTO tb_cv (cv,data,vend,vtc,vtv,dpg,aux,n_not_ext,now,cod_mov,v_des,cod_cli) VALUES (NULL,'"+str(now)+"','0','0','0','0','0','0','"+str(now)+"','666','0','1')") nuv = int(con.insert_id()) con.commit() self.nuv = str(nuv) #usar o nuv como numero do movimento lprod=con.cursor() lprod.execute("SELECT * FROM ESTOQUE ") npe = int(lprod.rowcount) npe = npe * 2 pvend = lprod.fetchall() it =0 print "processando..." for pdv in pvend: it +=1 cod = pdv[0] codb = pdv[1] desc = pdv[2] grupo = pdv[3] forne = pdv[4] und = pdv[6] pre = pdv[7] ind = pdv[8] cc = pdv[9] qtd = pdv[12] cf = pdv[19] ipi = pdv[20] cst = pdv[21] st = pdv[22] pcbp=con.cursor() pcbp.execute("SELECT * FROM pbestoreal WHERE codigo='"+cod+"'") npcbe=int(pcbp.rowcount) if npcbe == 1: linpc = pcbp.fetchone() qtde = linpc[7] nc = linpc[13] if qtd < qtde : inspv = con.cursor() dqtd = qtd - qtde stv = float(dqtd) * float(pre) stc = float(dqtd) * float(cc) #ncf = int(nc)-10 inspv.execute("INSERT INTO tb_mov_merc (i,n_not_int,cod_prod,qtd_prod,pc_u,pv_u,pc_s,pv_s,grade_sel,cod_mov,n_not_ext,data_sel,data_real,operador,p_des,v_des) VALUES (NULL,'"+self.nuv+"','"+str(cod)+"','"+str(dqtd)+"','"+str(cc)+"','"+str(pre)+"','"+str(stc)+"','"+str(stv)+"','','111','0','"+str(now)+"','"+str(now)+"','0','0','0') ") # saida auto estoque else : if qtd > qtde : # entrada auto estoque # print "maior:" inspv = con.cursor() dqtd = qtd - qtde stv = float(dqtd) * float(pre) stc = float(dqtd) * float(cc) #ncf = int(nc)-10 inspv.execute("INSERT INTO tb_mov_merc (i,n_not_int,cod_prod,qtd_prod,pc_u,pv_u,pc_s,pv_s,grade_sel,cod_mov,n_not_ext,data_sel,data_real,operador,p_des,v_des) VALUES (NULL,'"+self.nuv+"','"+str(cod)+"','"+str(dqtd)+"','"+str(cc)+"','"+str(pre)+"','"+str(stc)+"','"+str(stv)+"','','171','0','"+str(now)+"','"+str(now)+"','0','0','0') ") else : ncf = int(nc) #atualizar estoque # print "."+cod #update tb pbestoreal gaprod = con.cursor() gaprod.execute("UPDATE pbestoreal SET codbarras='"+str(codb)+"',descricaop='"+str(desc)+"',fornecedorp='"+str(forne)+"',undp='"+str(und)+"',qtdautalest='"+str(qtd)+"',precov='"+str(pre)+"',custoc='"+ str(cc)+"',nc='"+str(ncf)+"',class='" +str(grupo)+"' WHERE codigo='"+str(cod)+"'") it +=1 else: issp= con.cursor() issp.execute("INSERT INTO pbestoreal(`codigo` ,`codbarras` ,`descricaop` ,`fornecedorp` ,`undp` ,`precov` ,`custoc` ,`qtdautalest` ,`qestlj1` ,`qestl2` ,`qestlj3` ,`qmin` ,`creal` ,`nc` ,`grade` ,`class`)VALUES ('"+str(cod)+"', '"+str(codb)+"', '"+str(desc)+"', '"+str(forne)+"', '"+str(und)+"', '"+str(pre)+"', '"+str(cc)+"', '"+str(qtd)+"', '0.00', '0.00', '0.00', '0','"+str(cc)+"', '50', '', '" +str(grupo)+"');") ##inserir no mov tb ... it +=1 inspv = con.cursor() stv = float(dqtd) * float(pre) stc = float(dqtd) * float(cc) inspv.execute("INSERT INTO tb_mov_merc (i,n_not_int,cod_prod,qtd_prod,pc_u,pv_u,pc_s,pv_s,grade_sel,cod_mov,n_not_ext,data_sel,data_real,operador,p_des,v_des) VALUES (NULL,'"+self.nuv+"','"+str(cod)+"','"+str(qtd)+"','"+str(cc)+"','"+str(pre)+"','"+str(stc)+"','"+str(stv)+"','','1','0','"+now+"','"+now+"','0','0','0') ") self.progress_bar(it, npe, 60 ) dell = con.cursor() dell.execute("TRUNCATE TABLE ESTOQUE") self.btfind.set_sensitive(True) self.btatual.set_sensitive(False)
def atnt(self,widget): let=cnn.cursor() let.execute("SELECT * FROM ESTOQUE ") pvend = let.fetchall() for pdv in pvend: cod = pdv[0] codb = pdv[1] desc = pdv[2] grupo = pdv[3] forne = pdv[4] und = pdv[6] pre = pdv[7] ind = pdv[8] cc = pdv[9] qtd = pdv[12] cf = pdv[19] ipi = pdv[20] cst = pdv[21] st = pdv[22] pcbp=con.cursor() pcbp.execute("SELECT * FROM pbestoreal WHERE codigo='"+cod+"'") npcbe=int(pcbp.rowcount) if npcbe == 1: self.btfind.set_sensitive(False) else: issp= con.cursor() issp.execute("INSERT INTO pbestoreal(`codigo` ,`codbarras` ,`descricaop` ,`fornecedorp` ,`undp` ,`precov` ,`custoc` ,`qtdautalest` ,`qestlj1` ,`qestl2` ,`qestlj3` ,`qmin` ,`creal` ,`nc` ,`grade` ,`class`)VALUES ('"+str(cod)+"', '"+str(codb)+"', '"+str(desc)+"', '"+str(forne)+"', '"+str(und)+"', '"+str(pre)+"', '"+str(cc)+"', '0.0', '0.00', '0.00', '0.00', '0','"+str(cc)+"', '100', '', '" +str(grupo)+"');") ##inserir no mov tb ... sys.stdout.write(".") lnt=cnn.cursor() lnt.execute("SELECT * FROM COMPRAS WHERE `OPERACAO` LIKE 'Compra para comercialização' OR `OPERACAO` LIKE 'compra p/ com. de mercadoria ST' ") pcom = lnt.fetchall() for pco in pcom: nnf = pco[0] fo = pco[4] de = pco[6] tt = pco[25] fnt=con.cursor() fnt.execute("SELECT * FROM notasentrada WHERE `NUMERONF` LIKE '"+nnf+"'AND `FORNECEDOR` LIKE '"+fo+"'AND EMISSAO = '"+str(de)+"' AND `OPERACAO` LIKE 'Compra para comercialização' ") nlfnt=int(fnt.rowcount) if nlfnt ==1 : #l=fnt.fetchone() self.btfind.set_sensitive(False) else : print nnf nvcv= con.cursor() #data= self.dataget() nw=datetime.now() no=str(nw) nn = no[11:] nnn = nn[:8] #dat = str(data)+ " " + nnn now=no[:19] nvcv.execute("INSERT INTO tb_cv (cv,data,vend,vtc,vtv,dpg,aux,n_not_ext,now,cod_mov,v_des,cod_cli) VALUES (NULL,'"+str(now)+"','0','"+str(tt)+"','0','0','0','0','"+str(now)+"','777','0','1')") nuv = int(con.insert_id()) con.commit() self.nuv = str(nuv) itnt=cnn.cursor() itnt.execute("SELECT *FROM `ITENS002` WHERE `NUMERONF` LIKE '"+nnf+"' AND `FORNECEDOR` LIKE '"+fo+"' ") itntf = itnt.fetchall() for it in itntf: ##print "---->"+it[2]+" X "+str(it[9]) cod = it[2] qtd = it[9] pcc = it[10] ptc = it[11] inspv = con.cursor() inspv.execute("INSERT INTO tb_mov_merc (i,n_not_int,cod_prod,qtd_prod,pc_u,pv_u,pc_s,pv_s,grade_sel,cod_mov,n_not_ext,data_sel,data_real,operador,p_des,v_des) VALUES (NULL,'"+self.nuv+"','"+str(cod)+"','"+str(qtd)+"','"+str(pcc)+"','0','"+str(ptc)+"','0','','777','"+str(nnf)+"','"+str(now)+"','"+str(now)+"','0','0','0') ") pcbp=con.cursor() pcbp.execute("SELECT * FROM pbestoreal WHERE codigo='"+cod+"'") npcbe=int(pcbp.rowcount) if npcbe == 1: linpc = pcbp.fetchone() qtde = linpc[7] qtdr = linpc[8] qtdf= qtde + qtd qtdrf= qtdr + qtd gaprod = con.cursor() gaprod.execute("UPDATE pbestoreal SET qtdautalest='"+str(qtdf)+"',qestlj1='"+str(qtdrf)+"',custoc='"+str(pcc)+"' WHERE codigo='"+str(cod)+"'") icf=con.cursor() icf.execute("DROP TABLE IF EXISTS `tb_pb`.`notasentrada`;") icf.execute(" CREATE TABLE `tb_pb`.`notasentrada` ( `NUMERONF` varchar( 6 ) NOT NULL , `SERIE` varchar( 3 ) NOT NULL , `MODELO` varchar( 2 ) NOT NULL , `VENDEDOR` varchar( 35 ) NOT NULL , `FORNECEDOR` varchar( 60 ) NOT NULL , `OPERACAO` varchar( 40 ) NOT NULL , `EMISSAO` date NOT NULL , `FRETE` double NOT NULL , `SEGURO` double NOT NULL , `DESPESAS` double NOT NULL , `VOLUMES` double NOT NULL , `ESPECIE` varchar( 13 ) NOT NULL , `MARCA` varchar( 13 ) NOT NULL , `TRANSPORTA` varchar( 60 ) NOT NULL , `FRETE12` varchar( 1 ) NOT NULL , `SAIDAH` varchar( 8 ) NOT NULL , `SAIDAD` date NOT NULL , `DUPLICATAS` double NOT NULL , `BASEICM` double NOT NULL , `ICMS` double NOT NULL , `ICMSSUBSTI` double NOT NULL , `BASESUBSTI` double NOT NULL , `ALIQUOTA` double NOT NULL , `ISS` double NOT NULL , `IPI` double NOT NULL , `TOTAL` double NOT NULL , `MERCADORIA` double NOT NULL , `COMPLEMEN1` varchar( 60 ) NOT NULL , `COMPLEMEN2` varchar( 60 ) NOT NULL , `COMPLEMEN3` varchar( 60 ) NOT NULL , `COMPLEMEN4` varchar( 60 ) NOT NULL , `EMITIDA` varchar( 1 ) NOT NULL , `SERVICOS` double NOT NULL , `DESCRICAO1` varchar( 100 ) NOT NULL , `DESCRICAO2` varchar( 100 ) NOT NULL , `DESCRICAO3` varchar( 100 ) NOT NULL , `PESOBRUTO` double NOT NULL , `PESOLIQUI` double NOT NULL , `DESCPROD` double NOT NULL , `CODIGOBASE` double NOT NULL ) ENGINE = MyISAM DEFAULT CHARSET = latin1;") icf.execute(" INSERT INTO `tb_pb`.`notasentrada` SELECT * FROM `dbfmy`.`COMPRAS` ;") icf2=con.cursor() icf2.execute("DROP TABLE IF EXISTS `tb_pb`.`itensntentrada`;") icf2.execute(" CREATE TABLE `tb_pb`.`itensntentrada` ( `NUMERONF` varchar( 6 ) NOT NULL , `SERIE` varchar( 3 ) NOT NULL , `CODIGO`varchar( 5 ) NOT NULL , `DESCRICAO` varchar( 45 ) NOT NULL , `ST` varchar( 3 ) NOT NULL , `IPI` double NOT NULL , `ICM` double NOT NULL , `BASE` double NOT NULL , `MEDIDA` varchar( 3 ) NOT NULL , `QUANTIDADE` double NOT NULL , `UNITARIO` double NOT NULL , `TOTAL` double NOT NULL , `LISTA` double NOT NULL , `CUSTO` double NOT NULL , `PESO` double NOT NULL , `FORNECEDOR` varchar( 60 ) NOT NULL , `CFOP` varchar( 5 ) NOT NULL , `DESCONTO` double NOT NULL , `CST` varchar( 3 ) NOT NULL , `CSOSN` varchar( 3 ) NOT NULL , `VL_FRETE` double NOT NULL ,`VL_SEGURO` double NOT NULL , `VL_DESPESA` double NOT NULL , `ALQSTORIGE` double NOT NULL , `ALQSTDEST` double NOT NULL , `BC_ICMSST` double NOT NULL ,`VL_BCST` double NOT NULL , `MVA` double NOT NULL , `VL_ICMSST` double NOT NULL , `CST_IPI` varchar( 3 ) NOT NULL , `CST_PIS` varchar( 3 ) NOT NULL , `CST_COFINS` varchar( 3 ) NOT NULL , `PIS` double NOT NULL , `COFINS` double NOT NULL , `BASEPIS` double NOT NULL , `BASECOFINS` double NOT NULL ) ENGINE = MyISAM DEFAULT CHARSET = latin1;") icf2.execute(" INSERT INTO `tb_pb`.`itensntentrada` SELECT * FROM `dbfmy`.`ITENS002` ;") self.btfind.set_sensitive(True) print "atualizacao concluida !." sys.stdout.write(".")
def listarprodutosvendidos(self,data): ncolunas = self.listaprodutosvendidos.get_columns() tpb= 0 tpk =0 cdipb = self.dataipb.get_text() cdipb_c = cdipb[3:] cdipb_s = cdipb_c.split('-') mesipb = cdipb_s[0] anoipb = cdipb_s[1] cdfpb = self.datafpb.get_text() cdfpb_c = cdfpb[3:] cdfpb_s = cdfpb_c.split('-') mesfpb = cdfpb_s[0] anofpb = cdfpb_s[1] cdipk = self.dataipk.get_text() cdipk_c = cdipk[3:] cdipk_s = cdipk_c.split('-') mesipk = cdipk_s[0] anoipk = cdipk_s[1] cdfpk = self.datafpk.get_text() cdfpk_c = cdfpk[3:] cdfpk_s = cdfpk_c.split('-') mesfpk = cdfpk_s[0] anofpk = cdfpk_s[1] for col in ncolunas: self.listaprodutosvendidos.remove_column(col) self.tipodetabelavenda = gtk.ListStore(str,str,str,str,str,str,str,str) self.listaprodutosvendidos.set_model(self.tipodetabelavenda) self.listaprodutosvendidos.append_column(gtk.TreeViewColumn("n_not_int",gtk.CellRendererText(), text=0)) self.listaprodutosvendidos.append_column(gtk.TreeViewColumn("cod_prod",gtk.CellRendererText(), text=1)) self.listaprodutosvendidos.append_column(gtk.TreeViewColumn("descricao",gtk.CellRendererText(), text=2)) self.listaprodutosvendidos.append_column(gtk.TreeViewColumn("quantidade",gtk.CellRendererText(), text=3)) self.listaprodutosvendidos.append_column(gtk.TreeViewColumn("preco_c",gtk.CellRendererText(), text=4)) self.listaprodutosvendidos.append_column(gtk.TreeViewColumn("pc_s",gtk.CellRendererText(), text=5)) self.listaprodutosvendidos.append_column(gtk.TreeViewColumn("grade_sel",gtk.CellRendererText(), text=6)) self.listaprodutosvendidos.append_column(gtk.TreeViewColumn("data_sel",gtk.CellRendererText(), text=7)) cod_mov = "102" selpvendidos=con.cursor() selpvendidos.execute("SELECT * FROM tb_mov_merc WHERE cod_mov='"+cod_mov+"' AND data_sel > '"+anoipb+"-"+mesipb+"-01 00:00:00' AND data_sel < '"+anofpb+"-"+mesfpb+"-31 00:00:00'") pvend = selpvendidos.fetchall() for pdv in pvend: selpro=con.cursor() selpro.execute("SELECT * FROM pbestoreal WHERE codigo='"+str(pdv[2])+"'") linp = selpro.fetchone() dp = linp[2] cb=linp[1] self.tipodetabelavenda.append([pdv[1],pdv[2],dp,pdv[3],pdv[4],pdv[6],pdv[8],pdv[11]]) tpb = tpb + pdv[6] self.tpb.set_text(str(tpb)) ncolunas = self.listaprodutosvendidosdois.get_columns() for col in ncolunas: self.listaprodutosvendidosdois.remove_column(col) self.tipodetabelavenda = gtk.ListStore(str,str,str,str,str,str,str,str) self.listaprodutosvendidosdois.set_model(self.tipodetabelavenda) self.listaprodutosvendidosdois.append_column(gtk.TreeViewColumn("n_not_int",gtk.CellRendererText(), text=0)) self.listaprodutosvendidosdois.append_column(gtk.TreeViewColumn("cod_prod",gtk.CellRendererText(), text=1)) self.listaprodutosvendidosdois.append_column(gtk.TreeViewColumn("descricao",gtk.CellRendererText(), text=2)) self.listaprodutosvendidosdois.append_column(gtk.TreeViewColumn("quantidade",gtk.CellRendererText(), text=3)) self.listaprodutosvendidosdois.append_column(gtk.TreeViewColumn("preco_c",gtk.CellRendererText(), text=4)) self.listaprodutosvendidosdois.append_column(gtk.TreeViewColumn("pc_s",gtk.CellRendererText(), text=5)) self.listaprodutosvendidosdois.append_column(gtk.TreeViewColumn("grade_sel",gtk.CellRendererText(), text=6)) self.listaprodutosvendidosdois.append_column(gtk.TreeViewColumn("data_sel",gtk.CellRendererText(), text=7)) cod_mov = "201" selpvendidos=con.cursor() selpvendidos.execute("SELECT * FROM tb_mov_merc WHERE cod_mov='"+cod_mov+"' AND data_sel > '"+anoipk+"-"+mesipk+"-01 00:00:00' AND data_sel < '"+anofpk+"-"+mesfpk+"-31 00:00:00'") pvend = selpvendidos.fetchall() for pdv in pvend: selpro=con.cursor() selpro.execute("SELECT * FROM pbestoreal WHERE codigo='"+str(pdv[2])+"'") linp = selpro.fetchone() dp = linp[2] cb=linp[1] self.tipodetabelavenda.append([pdv[1],pdv[2],dp,pdv[3],pdv[4],pdv[6],pdv[8],pdv[11]]) tpk = tpk + pdv[6] self.tpk.set_text(str(tpk))
def somatotalvendas(self,widget): ncol = self.tabelatotalvendas.get_columns() for col in ncol: self.tabelatotalvendas.remove_column(col) self.tipodetabela = gtk.ListStore(str,str,str,str,str,str) self.tabelatotalvendas.set_model(self.tipodetabela) self.tabelatotalvendas.append_column(gtk.TreeViewColumn("vendedor",gtk.CellRendererText(), text=0)) self.tabelatotalvendas.append_column(gtk.TreeViewColumn("pecas",gtk.CellRendererText(), text=1)) self.tabelatotalvendas.append_column(gtk.TreeViewColumn("diheiro",gtk.CellRendererText(), text=2)) self.tabelatotalvendas.append_column(gtk.TreeViewColumn("cartao",gtk.CellRendererText(), text=3)) self.tabelatotalvendas.append_column(gtk.TreeViewColumn("cheque",gtk.CellRendererText(), text=4)) self.tabelatotalvendas.append_column(gtk.TreeViewColumn("total",gtk.CellRendererText(), text=5)) dint=0 cart=0 chet=0 ttt=0 tpc=0 myvor= con.cursor() myvor.execute("SELECT * FROM vendedores") tt=0 myrvor= myvor.fetchall() for vendedor in myrvor: din=0 car=0 che=0 tt=0 pc=0 ven= vendedor[0] data = self.calendar.get_date() ms=data[1]+1 mes="0"+str(ms) d=data[2] dia="0"+str(d) if self.rbdia.get_active(): dt=dia[-2:]+"/"+str(mes[-2:])+"/"+str(data[0]) #dt = str(data[0]) + "-" + str(mes[-2:])+"-"+dia[-2:] elif self.rbmes.get_active(): dt="/"+str(mes[-2:])+"/"+str(data[0]) #dt = str(data[0]) + "-" + str(mes[-2:])+"-" else: dt="/"+str(data[0]) #dt = str(data[0]) + "-" myvd=con.cursor() myvd.execute("SELECT * FROM tb_vendas WHERE codvend='"+str(ven)+"' AND datav LIKE '%"+str(dt)+"%' AND `cod_pg`='1'") rsd= myvd.fetchall() for vd in rsd: din=din+vd[2] pc=pc+vd[8] myvc=con.cursor() myvc.execute("SELECT * FROM tb_vendas WHERE codvend='"+str(ven)+"' AND datav LIKE '%"+str(dt)+"%' AND `cod_pg` LIKE '%2%'") rsc= myvc.fetchall() for vc in rsc: car=car+vc[2] pc=pc+vc[8] myvh=con.cursor() myvh.execute("SELECT * FROM tb_vendas WHERE codvend='"+str(ven)+"' AND datav LIKE '%"+str(dt)+"%' AND `cod_pg`='3'") rsh= myvh.fetchall() for vh in rsh: che=che+vh[2] pc=pc+vh[8] tt=din+car+che self.tipodetabela.append([ven,pc,din,car,che,tt]) dint=dint+din cart=cart+car chet = chet + che tpc=tpc+pc ttt=ttt+tt self.tipodetabela.append(["subtotal",tpc,dint,cart,chet,ttt])