Ejemplo n.º 1
0
class Application(object):

    def __init__(self):
        self.window = None
        self.connection = None

        self._init_window()

        self._init_connection()

        GObject.idle_add(self.send_data_to_gtk_thread)
        #GObject.idle_add(self.retrieve_data_from_gtk)

    def _init_window(self):
        self.window = MainWindow()
        self.window.connect('delete-event', self.quit)

    def _init_connection(self):
        self.connection = GtalkConnection()
        self.connection.start_connection()

    def send_data_to_gtk_thread(self):
        data = {
            'roster': '',
            'messages': [],
        }
        if self.connection.roster_changed and self.connection.roster != '':
            print("Updating roster")
            data["roster"] = self.connection.roster
        if self.connection.has_new_messages:
            print("adding messages")
            data["messages"] = self.connection.msg_queue

        if dict_have_data(data):
            self.window.parse_new_data(data)
            self.connection.reset_data()

        return True

    def retrieve_data_from_gtk(self):
        to, client_data = self.window.get_send_data()
        if client_data != None:
            for msg in client_data:
                print("sending msg",msg)
                self.connection.send_msg_to(to, msg)

        return False


    def quit(self, widget, event):
        print("Exiting.. waiting disconnect form server") 
        self.connection.stop_connection()
        Gtk.main_quit()
Ejemplo n.º 2
0
def main():
    app =QApplication(sys.argv)
    app.processEvents()

    mainWindow = MainWindow()
    login=Login()




    myddb = Myddb()


    recete=Recete()
    recete2=Recete2()
    fatura=Fatura()
    maliyet=Maliyet()
    cari = Cari()
    stok = Stok()
    rapor = Rapor()
    workerthread = WorkerThread()
    workerthread.start()

    bul=myddb.cek("select * from hammadde where kategori=2 or kategori=3 order by hamkod")
    logger.info('Program opened  '+str(os.getpid()))



    @pyqtSlot(int,int)
    def slotrecete2(item,item2):

        recete2.lineEdit.setText("")
#   recete2 ekranı hazırlanıyor
        recete2.label_2.setText(str(item))



        deger0=recete.tableWidget.item(item,1).text()
        recete2.label_3.setText(deger0)
        file = open(deger0+".txt", "w")


        deger0=recete.tableWidget.item(item,1).text()
        deger1=deger0+" "+recete.tableWidget.item(item,2).text()+"  "
        recete2.label.setText(deger1)

# veritabanından bilgi çek

        bul2=myddb.cek2(deger0,"recete","menukod")
        bul=myddb.cek("select * from hammadde where kategori=2")
        myddb.conn.commit()
        recete2.comboBox.clear()
        i=len(bul)
        for xx1 in range(i):
            recete2.comboBox.addItem(str(bul[xx1][1])+" "+bul[xx1][2])



        i=len(bul2)
        j=5
        recete2.tableWidget_2.setRowCount(i)
        aa=0
        toplam=0
        topelma=0
        print bul2
        for row1 in bul2:

            item=str(row1[2])


            bul3=myddb.cek2(item,"hammadde","hamkod")
            myddb.conn.commit()
            print bul3

            item=str(bul3[0][1])
            file.write(item+" ")
            recete2.tableWidget_2.setItem(aa, 0, QtGui.QTableWidgetItem(item))
            item=bul3[0][2]
            #file.write(item+" ")
            recete2.tableWidget_2.setItem(aa, 1, QtGui.QTableWidgetItem(item))
            item=bul3[0][3]
            file.write(item+" ")
            recete2.tableWidget_2.setItem(aa, 2, QtGui.QTableWidgetItem(item))
            item=str(row1[3])
            recete2.tableWidget_2.setItem(aa, 3, QtGui.QTableWidgetItem(item))
            file.write(item + " ")

            item = str(bul3[0][6])
            file.write(item + "\n")
            recete2.tableWidget_2.setItem(aa, 4, QtGui.QTableWidgetItem(item))

            elma=(bul3[0][6])*(row1[3])*(100+(bul3[0][4]))/100
            topelma=topelma+elma
            item =  str(elma)
            file.write(item + "\n")
            item = str("{:.2f}".format(elma))
            item = QtGui.QTableWidgetItem(item)
            item.setTextAlignment(QtCore.Qt.AlignVCenter | QtCore.Qt.AlignRight)

            recete2.tableWidget_2.setItem(aa, 5, QtGui.QTableWidgetItem(item))

            aa=aa+1

        recete2.label_4.setText(str("{:.2f}".format(topelma)))

        file.close()

        recete2.tableWidget.setColumnWidth(0, 50)
        recete2.tableWidget.setColumnWidth(1, 250)
        recete2.tableWidget.setColumnWidth(2, 50)
        recete2.tableWidget.setColumnWidth(3, 50)
        recete2.tableWidget_2.setColumnWidth(0, 50)
        recete2.tableWidget_2.setColumnWidth(1, 150)
        recete2.tableWidget_2.setColumnWidth(2, 50)
        recete2.tableWidget_2.setColumnWidth(3, 75)
        recete2.tableWidget_2.setColumnWidth(4, 75)
        recete2.tableWidget_2.setColumnWidth(5, 60)


        recete2.show()
        recete2.lineEdit.setFocus(True)



    @pyqtSlot()
    def slotrecete2sql(item2):

        a=item2.toUtf8()
        a=str(a)
        print a

        bul=myddb.cek1(a,"hammadde","hamad")



        i=len(bul)
        j=5
        recete2.tableWidget.setRowCount(i)
        recete2.tableWidget.setSelectionBehavior(QAbstractItemView.SelectRows)

        aa=0
        toplam=0
        for row1 in bul:
            item=str(row1[1])
            recete2.tableWidget.setItem(aa, 0, QtGui.QTableWidgetItem(item))
            item=row1[2]
            recete2.tableWidget.setItem(aa, 1, QtGui.QTableWidgetItem(item))
            item=row1[3]
            recete2.tableWidget.setItem(aa, 2, QtGui.QTableWidgetItem(item))
            item=str(row1[4])
            recete2.tableWidget.setItem(aa, 3, QtGui.QTableWidgetItem(item))
            aa=aa+1




    @pyqtSlot(int,int)
    def slothamclick(item,item2):
    #   hammadde listesinden çiftklikle tablewidget_2 ye hammadde bilgisini ekliyor.
        i=recete2.tableWidget_2.rowCount()
        deger1=recete2.tableWidget.item(item,0).text()
        deger2=recete2.tableWidget.item(item,1).text()
        deger3=recete2.tableWidget.item(item,2).text()


        i=i+1
        j=5
        recete2.tableWidget_2.setRowCount(i)


        aa=i-1

        item=deger1
        recete2.tableWidget_2.setItem(aa, 0, QtGui.QTableWidgetItem(item))
        item=deger2
        recete2.tableWidget_2.setItem(aa, 1, QtGui.QTableWidgetItem(item))
        item=deger3
        recete2.tableWidget_2.setItem(aa, 2, QtGui.QTableWidgetItem(item))
        item = '0'
        recete2.tableWidget_2.setItem(aa, 3, QtGui.QTableWidgetItem(item))
        #recete2.lineEdit.setFocus(True)
        recete2.tableWidget_2.setFocus()
        recete2.tableWidget_2.setCurrentCell(aa,3)
        QtCore.QSound(r"horn.wav").play()


    @pyqtSlot()
    def slotrecete2kaydet():
        deger0=recete2.label_3.text()
        myddb.sil(deger0,"recete","menukod")
        i=recete2.tableWidget_2.rowCount()
        for item in range(i):

            deger1=recete2.tableWidget_2.item(item,0).text()
            deger2=recete2.tableWidget_2.item(item,3).text()
            print deger0 , deger1 , deger2
            deger2=fatura.kontrol(deger2)
            myddb.kaydet(deger0,deger1,deger2)
        myddb.conn.commit()
        recete2.close()
        slotrecete2(int(recete2.label_2.text()),0)



# veritabanından bilgi çek

    @pyqtSlot()
    def slotpuss(item2):
        print "reçete arayüzü açıldı"
        mainWindow.statusbar.showMessage(
            u"Namık ERDOĞAN © 2016         Reçete                            Bishop Restaurant")
        recete.move(13, 10)
        recete.show()
        recete.setFixedSize(recete.size());  # dialog penceresi boyutu sabit (fixed)
        i=len(bul)
        j=5
        recete.tableWidget.setRowCount(i)
        recete.tableWidget.setSelectionBehavior(QAbstractItemView.SelectRows)
        recete.tableWidget.setColumnWidth(0,50)
        recete.tableWidget.setColumnWidth(1,50)
        recete.tableWidget.setColumnWidth(2,220)
        recete.tableWidget.setColumnWidth(3,100)
        # TODO: Sutün genişlikleri ayarlanacak

        aa=0
        toplam=0
        for row1 in bul:
            item=str(row1[0])
            recete.tableWidget.setItem(aa, 0, QtGui.QTableWidgetItem(item))
            item=str(row1[1])
            bul2 = myddb.cek2(item, "recete", "menukod")
            recete.tableWidget.setItem(aa, 1, QtGui.QTableWidgetItem(item))
            item=row1[2]
            recete.tableWidget.setItem(aa, 2, QtGui.QTableWidgetItem(item))
            item=str(row1[3])
            proto=QtGui.QTableWidgetItem(item)
            proto.setTextAlignment(Qt.AlignRight)
            recete.tableWidget.setItem(aa, 3, proto)
            item=str(row1[4])
            recete.tableWidget.setItem(aa, 4, QtGui.QTableWidgetItem(item))
            if len(bul2) == 0:

                recete.tableWidget.item(aa, 2).setBackground(QtGui.QColor('red'))

            aa=aa+1
        recete.lineEdit.setFocus(True)


    @pyqtSlot()
    def slotfatura(item2):
        fatura.goster()
        fatura.lineEdit.setText(item2)

    @pyqtSlot()
    def slottediye(item2):
        if item2=="VADE":
            cari.show()
            cari.slotcarivade()





    @pyqtSlot()
    def slotmaliyet(item2):
        print "maliyet arayüzü açıldı"
        maliyet.show()

    @pyqtSlot()
    def slotcari(item2):
        print "cari arayüzü açıldı"
        cari.show()

    @pyqtSlot()
    def slotstok(item2):
        print "stok arayüzü açıldı"
        stok.show()
        stok.raise_()

    @pyqtSlot()
    def slotkasa(item2):
        print "kasa arayüzü açıldı"
        rapor.show()

    @pyqtSlot()
    def slotpuss4(item2):
        print item2
        if item2 == 100:
            mainWindow.statusbar.showMessage(
                u"Namık ERDOĞAN © 2016    Kullanıcı adı girilmedi !!!    Bishop Restaurant")
            mainWindow.pushButton.blockSignals(1)
            mainWindow.pushButton_2.blockSignals(1)
            mainWindow.pushButton_3.blockSignals(1)
            mainWindow.pushButton_4.blockSignals(1)
            mainWindow.pushButton_5.blockSignals(1)
            mainWindow.pushButton_6.blockSignals(1)

            mainWindow.actionTediye_Fi_i.setEnabled(0)
            mainWindow.actionSay_m_Fi_i.setEnabled(0)
            mainWindow.actionStok_Tan_mlama.setEnabled(0)

        if item2 == 12345:
            mainWindow.statusbar.showMessage(
                u"Namık ERDOĞAN © 2016       Mutfak Şef          Bishop Restaurant")
            mainWindow.pushButton_2.blockSignals(0)
        if item2 == 123456:
            mainWindow.statusbar.showMessage(
                u"Namık ERDOĞAN © 2016       Kasiyer          Bishop Restaurant")
            mainWindow.pushButton_5.blockSignals(0)

        if item2 == 101:
            mainWindow.close()




        if item2 == 1234:
            mainWindow.statusbar.showMessage(
                u"Namık ERDOĞAN © 2016  3010   Yönetici                  Bishop Restaurant")
            mainWindow.pushButton.blockSignals(0)
            mainWindow.pushButton_2.blockSignals(0)
            mainWindow.pushButton_3.blockSignals(0)
            mainWindow.pushButton_4.blockSignals(0)
            mainWindow.pushButton_5.blockSignals(0)
            mainWindow.pushButton_6.blockSignals(0)

            mainWindow.actionTediye_Fi_i.setEnabled(1)
            mainWindow.actionSay_m_Fi_i.setEnabled(1)
            mainWindow.actionStok_Tan_mlama.setEnabled(1)

    @pyqtSlot()
    def slotpuss5(item2):
        logger.info(item2)
        print "shdfhdfdjhfg"

    @pyqtSlot()
    def slotpuss6(item2):
        logger.info(item2+u"nolu fişi göster")

        fatura.goster()
        fatura.lineEdit_5.setText(item2)
        fatura.fisgetir(item2)

    @pyqtSlot()
    def slottextch(item2):
        print "kjkljlk reçete"
        a=item2.toUtf8()
        a='%'+str(a)+'%'
        print a


        sql3 = "select * from hammadde where (kategori=2 or kategori=3) and  ( hamkod like '"+a+"' or hamad like '"+a+"'  ) order by hamkod"

        myddb.cur.execute(sql3)
        bul=myddb.cur.fetchall()


        i=len(bul)
        j=5
        recete.tableWidget.setRowCount(i)
        aa=0
        toplam=0
        for row1 in bul:
            item=str(row1[0])
            recete.tableWidget.setItem(aa, 0, QtGui.QTableWidgetItem(item))
            item=str(row1[1])
            recete.tableWidget.setItem(aa, 1, QtGui.QTableWidgetItem(item))
            item=row1[2]
            recete.tableWidget.setItem(aa, 2, QtGui.QTableWidgetItem(item))
            item=str(row1[3])
            recete.tableWidget.setItem(aa, 3, QtGui.QTableWidgetItem(item))
            item=str(row1[4])
            recete.tableWidget.setItem(aa, 4, QtGui.QTableWidgetItem(item))
            aa=aa+1




    @pyqtSlot()
    def copyFunction():
        print "f10 a bastın"

        elma=fatura.tableWidget_2.currentRow()
        elma1=fatura.tableWidget_2.rowCount()
        if elma==-1:
            abc = QKeyEvent(QEvent.KeyPress, Qt.Key_Tab, Qt.NoModifier)
            QCoreApplication.postEvent(fatura, abc)

        else:
            fatura.tableWidget_2.focusNextChild()
            '''

            if fatura.tableWidget_2.currentColumn()==5:
                if elma1 == elma + 1:
                    fatura.pushButton.setFocus()
                else:
                    fatura.tableWidget_2.setCurrentCell(elma + 1, 2)
                print elma '''


    @pyqtSlot()
    def slotrecete2satirsil():
        bb=recete2.tableWidget_2.currentRow()
        recete2.tableWidget_2.removeRow(bb)


    # dosya açmak için dialog
    # fileName =(QtGui.QFileDialog.getOpenFileName(mainWindow, u"Düzenlenecek dosyayı seçin", ".", u"Metin dosyaları (*.txt)"))
    app.setWindowIcon(QtGui.QIcon('nenra.png'))
    mainWindow.verticalLayoutWidget_2.setStyleSheet("background-image: url(images/newyork.png);")
    mainWindow.pushButton.setStyleSheet("color: black ;  background-image: url(images/image.png)")
    mainWindow.pushButton_2.setStyleSheet("color: black ;  background-image: url(images/fatura.png)")
    mainWindow.pushButton_3.setStyleSheet("color: black ;  background-image: url(images/maliyet.png)")
    mainWindow.pushButton_4.setStyleSheet("color: black ;  background-image: url(images/nenra.png)")
    mainWindow.pushButton_5.setStyleSheet("color: black ;  background-image: url(images/nenra.png)")
    mainWindow.pushButton_6.setStyleSheet("color: black ;  background-image: url(images/maliyet.png)")
    mainWindow.pushButton.clicked.connect(slotpuss)
    mainWindow.pushButton_2.clicked.connect(slotfatura)
    mainWindow.pushButton_3.clicked.connect(slotmaliyet)
    mainWindow.pushButton_4.clicked.connect(slotcari)
    mainWindow.pushButton_5.clicked.connect(slotstok)
    mainWindow.pushButton_6.clicked.connect(slotkasa)
    mainWindow.actionTediye_Fi_i.triggered.connect(lambda:slotfatura("TED"))
    mainWindow.actionSay_m_Fi_i.triggered.connect(lambda: slotfatura("SAY"))
    mainWindow.actionStok_Tan_mlama.triggered.connect(lambda:slottediye("VADE"))
    mainWindow.statusbar.showMessage(u"Namık ERDOĞAN © 2016 v 1.513                                   Bishop Restaurant")
    recete.lineEdit.textChanged.connect(slottextch)



    recete.tableWidget.cellClicked.connect(slotrecete2)
    recete2.lineEdit.textChanged.connect(slotrecete2sql)
    recete2.tableWidget.cellClicked.connect(slothamclick)
    recete2.pushButton.clicked.connect(slotrecete2kaydet)
    recete2.pushButton_3.clicked.connect(slotrecete2satirsil)


    recete.setWindowModality(Qt.ApplicationModal)
    recete2.setWindowModality(Qt.ApplicationModal)
    fatura.setWindowModality(Qt.ApplicationModal)
    maliyet.setWindowModality(Qt.ApplicationModal)
    login.setWindowModality(Qt.ApplicationModal)
    rapor.setWindowModality(Qt.ApplicationModal)
    stok.setWindowModality(Qt.ApplicationModal)

    fatura.connect(QtGui.QShortcut(QtGui.QKeySequence(Qt.Key_Enter), fatura), QtCore.SIGNAL('activated()'), copyFunction)

    mainWindow.connect(login, QtCore.SIGNAL("acac1(int)"), slotpuss4)
    slotpuss4(100)
    mainWindow.connect(fatura, QtCore.SIGNAL("acac"), slotpuss5)
    mainWindow.connect(cari, QtCore.SIGNAL("fisac"), slotpuss6)


    mainWindow.move(13, 10)

    #mainWindow.setWindowFlags(QtCore.Qt.FramelessWindowHint)
    #mainWindow.raise_()


    mainWindow.show()
    mainWindow.menubar.setStyleSheet("    QMenuBar {    background-color: orange;   } QMenuBar::item {    background-color: orange;   } ")
    mainWindow.setStyleSheet(" background-color: orange;")




    #mainWindow.setWindowState(mainWindow.windowState() & ~QtCore.Qt.WindowMinimized | QtCore.Qt.WindowActive)
    #mainWindow.activateWindow()
    login.setWindowFlags(QtCore.Qt.FramelessWindowHint)
    login.setStyleSheet("color:red ; background-color: orange;")
    login.show()
    login.raise_()




    return app.exec_()
Ejemplo n.º 3
0
def main():
    app =QApplication(sys.argv)
    app.processEvents()

    mainWindow = MainWindow()
    mmdb=Mmdb()
    simulRunner = SimulRunner()
    simulRunner1 = SimulRunner1()
    simulThread = QThread()
    simulThread1 = QThread()

    myddb=Myddb()
    



    
   
    





    bilgi=mmdb.cek()

    i=len(bilgi)
    j=56
    mainWindow.tableWidget.setRowCount(i)
    mainWindow.tableWidget.setColumnCount(j)
    mainWindow.tableWidget.setColumnWidth( 0, 200 )
    aa=0
    toplam=0
    
    for row1 in bilgi:
        
        for aaa in range(len(row1)):
            
            try:
                item = row1[aaa]
                mainWindow.tableWidget.setItem(aa, aaa, QtGui.QTableWidgetItem(item))
                
            except TypeError:
                item = " "
                mainWindow.tableWidget.setItem(aa, aaa, QtGui.QTableWidgetItem(item))
            
            
         
        aa=aa+1

    def kontrol(girdi):
        girdi = str(girdi)
        ara = re.search(",", girdi)
        if ara:
            derle = re.compile(",")
            cikti = derle.sub(".",girdi)
            return cikti
        return girdi


    @pyqtSlot(int,int)
    def slotItemClicked(item,item2):
        print "Row: "+str(item)+" |Column: "+QString.number(item2)
        mainWindow.tableWidget.horizontalHeaderItem(0).setText(str(item)+"  "+str(item2))
        QMessageBox.information(mainWindow.tableWidget,
				"QTableWidget Cell Click",
				"Text: "+str(toplam))

    @pyqtSlot(int,int)
    def slotrecete2(item,item2):

        
#   recete2 ekranı hazırlanıyor       
        deger0=recete.tableWidget.item(item,0).text()
        recete2.label_3.setText(deger0)

        deger=recete.tableWidget.item(item,1).text()
        deger1=deger+" "+recete.tableWidget.item(item,2).text()+"  "
        recete2.label.setText(deger1)   

# veritabanından bilgi çek
        
        bul2=myddb.cek2(deger0,"recete","menuid")


        i=len(bul2)
        j=5
        recete2.tableWidget_2.setRowCount(i)
        aa=0
        toplam=0
        for row1 in bul2:
            item=str(row1[2])
            recete2.tableWidget_2.setItem(aa, 0, QtGui.QTableWidgetItem(item))
            bul3=myddb.cek2(item,"hammadde","hammaddeid")
            item=str(bul3[0][1])
            recete2.tableWidget_2.setItem(aa, 1, QtGui.QTableWidgetItem(item))
            item=bul3[0][2]
            recete2.tableWidget_2.setItem(aa, 2, QtGui.QTableWidgetItem(item))
            item=bul3[0][3]
            recete2.tableWidget_2.setItem(aa, 3, QtGui.QTableWidgetItem(item))
            item=str(row1[3])
            recete2.tableWidget_2.setItem(aa, 4, QtGui.QTableWidgetItem(item))
            aa=aa+1


        
        recete2.show()
        recete2.lineEdit.setFocus(True)
        

    @pyqtSlot()
    def slotrecete2sql(item2):

        a=item2.toUtf8()
        a=str(a)
        print a

        bul=myddb.cek1(a,"hammadde","hamad")

        
        i=len(bul)
        j=5
        recete2.tableWidget.setRowCount(i)
        aa=0
        toplam=0
        for row1 in bul:
            item=str(row1[0])
            recete2.tableWidget.setItem(aa, 0, QtGui.QTableWidgetItem(item))
            item=str(row1[1])
            recete2.tableWidget.setItem(aa, 1, QtGui.QTableWidgetItem(item))
            item=row1[2]
            recete2.tableWidget.setItem(aa, 2, QtGui.QTableWidgetItem(item))
            item=str(row1[3])
            recete2.tableWidget.setItem(aa, 3, QtGui.QTableWidgetItem(item))
            item=str(row1[4])
            recete2.tableWidget.setItem(aa, 4, QtGui.QTableWidgetItem(item))
            aa=aa+1



    @pyqtSlot(int,int)
    def slothamclick(item,item2):
    #   hammadde listesinden çiftklikle tablewidget_2 ye hammadde bilgisini ekliyor.     
        i=recete2.tableWidget_2.rowCount()
        deger1=recete2.tableWidget.item(item,0).text()
        deger2=recete2.tableWidget.item(item,1).text()
        deger3=recete2.tableWidget.item(item,2).text()
        deger4=recete2.tableWidget.item(item,3).text()
        
        i=i+1
        j=5
        recete2.tableWidget_2.setRowCount(i)
        aa=i-1

        item=deger1
        recete2.tableWidget_2.setItem(aa, 0, QtGui.QTableWidgetItem(item))
        item=deger2
        recete2.tableWidget_2.setItem(aa, 1, QtGui.QTableWidgetItem(item))
        item=deger3 
        recete2.tableWidget_2.setItem(aa, 2, QtGui.QTableWidgetItem(item))
        item=deger4
        recete2.tableWidget_2.setItem(aa, 3, QtGui.QTableWidgetItem(item))
        item='0'
        recete2.tableWidget_2.setItem(aa, 4, QtGui.QTableWidgetItem(item)) 
        recete2.lineEdit.setFocus(True)

    @pyqtSlot()
    def slotfaturakont(item2):
        
        deger5=fatura.lineEdit.text()
        deger6=fatura.lineEdit_2.text()
        sql="select * from carihar where  serino='"+str(deger5)+"' and sirano='"+str(deger6)+"'"
        sonuc=myddb.cek(sql)
        fatura.label_3.setText("")
        fatura.tableWidget.setRowCount(0)
        fatura.tableWidget_2.setRowCount(0)
        # some_date = QtCore.QDate(2011,4,22)
        some_date = QtCore.QDate.currentDate()
        fatura.dateEdit.setDate(some_date)
        

        if len(sonuc)>0 :
            dt=sonuc[0][4]
            QMessageBox.information(fatura.tableWidget,
                "QTableWidget Cell Click",
                "Text: "+str(dt.year))
            print sonuc
            for item in sonuc:
                fatura.dateEdit.setDate(QtCore.QDate(dt.year,dt.month,dt.day))
                sonuc1=myddb.cek2(item[1],"cari","cariid")
                for item2 in sonuc1:
                    deger0=str(item2[0])+" "+item2[1]+" "+item2[2]
                    fatura.label_3.setText(deger0)
                    bul1=str(item[0])

                bul2=myddb.cek2(item[0],"cariay","chid")
                print bul2
                i=len(bul2)
                j=6
                fatura.tableWidget_2.setRowCount(i)
                aa=0
                toplam=0
                for row1 in bul2:
                    item=str(row1[2])
                    fatura.tableWidget_2.setItem(aa, 0, QtGui.QTableWidgetItem(item))
                    bul3=myddb.cek2(item,"hammadde","hammaddeid")
                    item=str(bul3[0][2])
                    fatura.tableWidget_2.setItem(aa, 1, QtGui.QTableWidgetItem(item))
                    item=bul3[0][3]
                    fatura.tableWidget_2.setItem(aa, 2, QtGui.QTableWidgetItem(item))
                    item=str(row1[5])                   
                    fatura.tableWidget_2.setItem(aa, 3, QtGui.QTableWidgetItem(item))
                    item=str(row1[3])                    
                    fatura.tableWidget_2.setItem(aa, 4, QtGui.QTableWidgetItem(item))
                    item=str(row1[4])
                    fatura.tableWidget_2.setItem(aa, 5, QtGui.QTableWidgetItem(item))
                    aa=aa+1   
            fatura.lineEdit_3.setFocus(True)
            return

       


    @pyqtSlot(int,int)
    def slotfatura(item,item2):
    #   cari listesinden çiftklikle line edite cari firma bilgisini yazıyor
        
        if len(fatura.label_3.text())<12 :
            deger1=fatura.tableWidget.item(item,0).text()
            deger2=fatura.tableWidget.item(item,1).text()
            deger3=fatura.tableWidget.item(item,2).text()
            deger4=fatura.tableWidget.item(item,3).text()
            fatura.label_5.setText(deger1)
            fatura.label_3.setText(deger1+" "+deger2+" "+deger3)
            bul1=str(deger1)
            fatura.lineEdit_3.setText("")
            slotfaturakaydet()
            

            return

        if len(fatura.label_3.text())>12 :
            #   hammadde listesinden çiftklikle tablewidget_2 ye hammadde bilgisini ekliyor.     
            i=fatura.tableWidget_2.rowCount()
            deger1=fatura.tableWidget.item(item,0).text()
            deger2=fatura.tableWidget.item(item,2).text()
            deger3=fatura.tableWidget.item(item,3).text()
            deger4=fatura.tableWidget.item(item,4).text()
        
            i=i+1
            j=5
            fatura.tableWidget_2.setRowCount(i)
            aa=i-1

            item=deger1
            fatura.tableWidget_2.setItem(aa, 0, QtGui.QTableWidgetItem(item))
            item=deger2
            fatura.tableWidget_2.setItem(aa, 1, QtGui.QTableWidgetItem(item))
            item=deger3 
            fatura.tableWidget_2.setItem(aa, 2, QtGui.QTableWidgetItem(item))
            item=deger4
            fatura.tableWidget_2.setItem(aa, 3, QtGui.QTableWidgetItem(item))
            item='0'
            fatura.tableWidget_2.setItem(aa, 4, QtGui.QTableWidgetItem(item)) 
            fatura.lineEdit_3.setFocus(True)

   
 


       


    @pyqtSlot()
    def slotrecete2kaydet():
        deger0=recete2.label_3.text()
        myddb.sil(deger0,"recete","menuid")
        i=recete2.tableWidget_2.rowCount()
        for item in range(i):
            
            deger1=recete2.tableWidget_2.item(item,0).text()
            deger2=recete2.tableWidget_2.item(item,4).text()
            print deger0 , deger1 , deger2
            deger2=kontrol(deger2)
            myddb.kaydet(deger0,deger1,deger2)
        myddb.conn.commit()
        
    @pyqtSlot()
    def slotfaturakaydet():
        deger0=fatura.label_5.text()
        deger5=fatura.lineEdit.text()
        deger6=fatura.lineEdit_2.text()
        deger7=fatura.dateEdit.date().toPyDate()
        sql="select * from carihar where  serino='"+str(deger5)+"' and sirano='"+str(deger6)+"'"
        sonuc=myddb.cek(sql)
        print sonuc
        if len(sonuc)==0:
            print "fatura kaydı yok"
            sql1="insert into carihar (cariid,serino,sirano,tarih) values (%s,%s,%s,%s)"
            print sql1
            myddb.cur.execute(sql1,(deger0,deger5,deger6,deger7))
            myddb.conn.commit()

        else:
            print " fatura kaydı var"
            myddb.sil(sonuc[0][0],"cariay","chid")


       
        
        i=fatura.tableWidget_2.rowCount()
        for item in range(i):
            deger10=fatura.tableWidget_2.item(item,0).text()
            deger11=fatura.tableWidget_2.item(item,3).text()
            deger12=fatura.tableWidget_2.item(item,4).text()
            deger13=fatura.tableWidget_2.item(item,5).text()
            deger13=kontrol(deger13)
            print deger10
            sql2="insert into cariay (chid,hammaddeid,kdv,miktar,birimfiy) values (%s,%s,%s,%s,%s)"
            myddb.cur.execute(sql2,(sonuc[0][0],deger10,deger11,deger12,deger13))
            
        myddb.conn.commit()
        fatura.lineEdit_3.setFocus(True)




        
# veritabanından bilgi çek

    def yaz(elmaci):
        mainWindow.plainTextEdit.appendPlainText(elmaci+" kaydediliyor")


    
    @pyqtSlot()
    def slotpuss(item2):

        StartDate="31/12/13"
        EndDate = datetime.datetime.strptime(StartDate, "%d/%m/%y")
        now = datetime.datetime.now()- datetime.timedelta(days=1)
        dt=now-EndDate
        print dt.days
        mainWindow.plainTextEdit.appendPlainText(str(dt.days))

        for i in range(dt.days):
            EndDate = EndDate + datetime.timedelta(days=1)
            sql= " select * from satdata where tarih like %s"
            sonuc=myddb.cur.execute(sql,(EndDate.strftime('%Y-%m-%d')+"%"))
            if sonuc==0:
                print " kaydediliyor"
                tar=EndDate.strftime('%d%m%Y')
                mainWindow.plainTextEdit.appendPlainText(str(tar)+"kaydediliyor")
                mainWindow.label_2.setText(mainWindow.label_2.text()+str(tar))
               
                
                bilgi=mmdb.cekmysql(tar,"satdata")
                if bilgi!=1978:
                    for row1 in bilgi:
                        sql1="insert into satdata (masaad,konumkod,urunkod,urungrup,yiyic,adisyon,kasiyerkod,kasiyerad,kuver,ikram,fixim,konumad,kdv,saat,tarih,adet,fixmenu,tutarx,tutar) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"
                        myddb.cur.execute(sql1,(row1[1],row1[2],row1[3],row1[4],row1[5],row1[6],row1[7],row1[8],row1[10],row1[18],row1[19],row1[29],row1[32],row1[39],EndDate,row1[41],row1[45],row1[46],row1[47]))
                        myddb.conn.commit()
                else:
                    mainWindow.plainTextEdit.appendPlainText(tar+"  DOSYASI MEVCUT DEGIL!!!. GUNSONU ALINMAMIS OLABILIR")
            print EndDate.strftime('%d%m%Y')
            
    
    @pyqtSlot()
    def slotpuss2(item2):

        StartDate="31/12/13"
        
        EndDate = datetime.datetime.strptime(StartDate, "%d/%m/%y")
        now = datetime.datetime.now()- datetime.timedelta(days=1)
        dt=now-EndDate
        print dt.days
        mainWindow.plainTextEdit.appendPlainText(str(dt.days))
        for i in range(dt.days):
            EndDate = EndDate + datetime.timedelta(days=1)
            sql= " select * from satodeme where odetar like %s"
            sonuc=myddb.cur.execute(sql,(EndDate.strftime('%Y-%m-%d')+"%"))
            if sonuc==0:
                print " kaydediliyor"
                tar=EndDate.strftime('%d%m%Y')
                mainWindow.plainTextEdit.appendPlainText(str(tar)+"kaydediliyor")
               
                bilgi=mmdb.cekmysql(tar,"satodeme")
                if bilgi!=1978:
                    for row1 in bilgi:
                        sql1="insert into satodeme (odemasaad,odeadisyon,odesekli,odecarikod,odekasiyerkod,odekasiyerad,odead,odecariad,indirimoran,odetip,odetutar,odesaat,odetarih,odetar,odecaritip) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"
                        myddb.cur.execute(sql1,(row1[1],row1[2],row1[4],row1[5],row1[6],row1[7],row1[8],row1[9],row1[13],row1[14],row1[15],row1[17],row1[21],EndDate,row1[23]))
                        myddb.conn.commit()
                else:
                    mainWindow.plainTextEdit.appendPlainText(tar+"  DOSYASI MEVCUT DEGIL!!!. GUNSONU ALINMAMIS OLABILIR")
            print EndDate.strftime('%d%m%Y')

           
    @pyqtSlot()
    def slottextch2(item2):
        print "fatura"
        a=item2.toUtf8()
        a=str(a)
        print a
        bul=myddb.cek1(a,"cari","cariad")

        if len(fatura.label_3.text())>12 :
            bul=myddb.cek1(a,"hammadde","hamad")


        
        i=len(bul)
        j=5
        fatura.tableWidget.setRowCount(i)

        aa=0
        toplam=0
        for row1 in bul:
            item=str(row1[0])
            fatura.tableWidget.setItem(aa, 0, QtGui.QTableWidgetItem(item))
            item=str(row1[1])
            fatura.tableWidget.setItem(aa, 1, QtGui.QTableWidgetItem(item))
            item=row1[2]
            fatura.tableWidget.setItem(aa, 2, QtGui.QTableWidgetItem(item))
            item=str(row1[3])
            fatura.tableWidget.setItem(aa, 3, QtGui.QTableWidgetItem(item))
            item=str(row1[5])
            fatura.tableWidget.setItem(aa, 4, QtGui.QTableWidgetItem(item))
            aa=aa+1


    @pyqtSlot()
    def copyFunction():
        print "f10 a bastın"
        abc = QKeyEvent ( QEvent.KeyPress, Qt.Key_Tab, Qt.NoModifier)
        QCoreApplication.postEvent (mainWindow, abc)



    
    mainWindow.pushButton.setStyleSheet("color: black ;  background-image: url(image.png)")  
    mainWindow.pushButton_2.setStyleSheet("color: black ;  background-image: url(fatura.png)")  
    mainWindow.tableWidget.cellClicked.connect(slotItemClicked)
    mainWindow.pushButton.clicked.connect(simulThread.start)
    mainWindow.pushButton_2.clicked.connect(simulThread1.start)


    simulRunner.moveToThread(simulThread)
    simulRunner1.moveToThread(simulThread1)
    simulRunner.stepIncreased.connect(mainWindow.plainTextEdit.appendPlainText)
    simulRunner1.stepIncreased.connect(mainWindow.plainTextEdit.appendPlainText)
    # start the execution loop with the thread:
    simulThread.started.connect(simulRunner.longRunning)
    simulThread1.started.connect(simulRunner1.longRunning)
    

    sh = QtGui.QShortcut(mainWindow)
    sh.setKey(Qt.Key_Enter)
    mainWindow.connect(sh, QtCore.SIGNAL("activated()"), copyFunction)



    mainWindow.show()



    return app.exec_()