コード例 #1
0
ファイル: anuncioDialog.py プロジェクト: Edasn/CaptorRadio-v2
    def buscarAS400(self, event):
        """
        Carga los posibles resultados de la búsqueda del AS400 en listaResultado
        """

        # todo: sector, subsector, producto

        busquedaMarca = u"'%{}%'".format(self.txMarca.GetValue().upper())
        # queryMarca = "SELECT * FROM INFOCDM.CDMPMR00 JOIN INFOCDM.CDMPPR00 ON INFOCDM.CDMPMR00.MRFMSC=INFOCDM.CDMPPR00.PRFMSC AND INFOCDM.CDMPMR00.MRSUBT=INFOCDM.CDMPPR00.PRSUBT AND INFOCDM.CDMPMR00.MRPROD=INFOCDM.CDMPPR00.PRPROD WHERE CAMARC LIKE %s" % busquedaMarca
        queryMarca = "SELECT * FROM CDMPMR00 WHERE CAMARC LIKE %s" % busquedaMarca

        if self.txModelo.GetValue() != "":
            busquedaModelo = u"'%{}%'".format(self.txModelo.GetValue().upper())
            queryModelo = " AND CAMODE LIKE %s" % busquedaModelo
        else:
            queryModelo = ""

            # if self.txSector.GetValue() != "":
            #     busquedaSector = u"'%{}%'".format(self.txSector.GetValue())
            #     querySector = " AND PRFMSC LIKE %s" % busquedaSector
            # else:
            #     querySector = ""
            #
            # Por si hace falta buscar por sector escribiéndolo
            # #sectoresNum = []
            # #    sector = self.txSector.GetValue().upper()
            # #    sectores = [x["PRDESC"] for x in self.listaSectorSubsectorProducto if x["PRSUBT"] == '' and x["PRPROD"] == '']
            # #    matching = [x for x in sectores if sector in x]
            # #    for m in matching:
            # #        sectorNum = self.extraerSectorSubsectorProducto(m)[0]
            # #        sectoresNum.append(sectorNum)
            # #    busquedaSector = u"'{}'".format(sectoresNum[0])
            # #    querySector = " AND PRFMSC = %s" % busquedaSector
            # #    for m in sectoresNum[1:]:
            # #        busquedaSector = u"'{}'".format(m)
            # #        querySector += " OR" + queryMarca + " AND PRFMSC = %s" % busquedaSector
        #
        # if self.txSubsector.GetValue() != "":
        #     busquedaSubsector = u"'%{}%'".format(self.txSubsector.GetValue())
        #     querySubsector = " AND PRSUBT LIKE %s" % busquedaSubsector
        # else:
        #     querySubsector = ""
        #
        # if self.txProducto.GetValue() != "":
        #     busquedaProducto = u"'%{}%'".format(self.txProducto.GetValue())
        #     queryProducto = " AND PRPROD LIKE %s" % busquedaProducto
        # else:
        #     queryProducto = ""

        self.limpiarCB()

        query = queryMarca + queryModelo  # + querySector + querySubsector + queryProducto
        print query
        cursorAS400.execute(query)
        columnas = [columna[0] for columna in cursorAS400.description]
        for resultado in cursorAS400.fetchall():
            self.listaResultado.append(dict(zip(columnas, resultado)))

        self.actualizarCB()
コード例 #2
0
ファイル: anuncioDialog.py プロジェクト: Edasn/CaptorRadio-v2
    def cargarSectorSubsectoProducto(self):
        """
        Carga todos los sectores, subsectores y productos en listaSectorSubsectorProducto
        """

        try:
            cursorAS400.execute("SELECT * FROM INFOCDM.CDMPPR00")
        except:
            cursorAS400.execute("SELECT * FROM CDMPPR00")
        columnas = [columna[0] for columna in cursorAS400.description]
        for resultado in cursorAS400.fetchall():
            self.listaSectorSubsectorProducto.append(dict(zip(columnas, resultado)))
コード例 #3
0
ファイル: anuncioDialog.py プロジェクト: Edasn/CaptorRadio-v2
 def cargarSoportes(self):
     """
     Carga todos los soportes de radio en una lista
     """
     # cursorAS400.execute(
     #     "SELECT * FROM INFOXXI.INFSOPORT JOIN INFOCDM.cdmppo00n ON INFOXXI.INFSOPORT.IDSOPOR1=INFOCDM.cdmppo00n.RAONDA AND INFOXXI.INFSOPORT.IDSOPOR2=INFOCDM.cdmppo00n.RACADN AND INFOXXI.INFSOPORT.IDSOPOR3=INFOCDM.cdmppo00n.RAEMIS WHERE IDMEDIOS LIKE 'RD'")
     try:
         cursorAS400.execute("SELECT * FROM INFOXXI.INFSOPORT WHERE IDMEDIOS = 'RD'")
     except:
         cursorAS400.execute("SELECT * FROM INFSOPORT WHERE IDMEDIOS = 'RD'")
     columnas = [columna[0] for columna in cursorAS400.description]
     for resultado in cursorAS400.fetchall():
         self.listaSoportes.append(dict(zip(columnas, resultado)))
コード例 #4
0
ファイル: anuncioDialog.py プロジェクト: Edasn/CaptorRadio-v2
    def cargarTipos(self):
        """
        Carga los tipos de anuncios en listaTipoAnuncios
        :return:
        """

        try:
            cursorAS400.execute("SELECT * FROM INFOXXI.INFFRANUN WHERE IDMEDIOS = 'RD'")
        except:
            cursorAS400.execute("SELECT * FROM INFFRANUN WHERE IDMEDIOS = 'RD'")
        columnas = [columna[0] for columna in cursorAS400.description]
        for resultado in cursorAS400.fetchall():
            self.listaTipoAnuncios.append(dict(zip(columnas, resultado)))

        listaDesc = []
        for desc in self.listaTipoAnuncios:
            listaDesc.append(desc["CDESCRIPCI"])

        self.cbTipoAnuncio.AppendItems(listaDesc)
コード例 #5
0
ファイル: anuncioDialog.py プロジェクト: Edasn/CaptorRadio-v2
    def cargarProgramas(self):

        query = "SELECT * FROM INFOCDM.cdmppo00n WHERE DIASEM = '" + self.dias_semana[
            self.comienzo.isoweekday()] + "' and RAEMIS = '" + self.emision + "' AND ((PGHORA * 3600) + (PGMINT * 60)) < ((" + str(
            self.comienzo.hour) + "  * 3600) + (" + str(
            self.comienzo.minute) + " * 60)) ORDER BY PGHORA DESC, PGMINT DESC FETCH FIRST 1 ROW ONLY"

        print "queryCargarProgramas"
        print query

        # try:
        cursorAS400.execute(query)
        # except:
        #     cursorAS400.execute("SELECT * FROM cdmppo00n")
        columnas = [columna[0] for columna in cursorAS400.description]
        for resultado in cursorAS400.fetchall():
            self.listaProgramas.append(dict(zip(columnas, resultado)))

        print "listaProgramas {}".format(self.listaProgramas)
コード例 #6
0
 def EvtChar(self, event):
     if event.GetKeyCode() == 8 and len(self.currentText) > 4:
         self.currentText = self.currentText[:-1]
         self.ChangeValue(self.currentText)
         self.choices = []
         busqueda = u"'%{}%'".format(self.currentText)
         print busqueda
         cursor.execute(
             "SELECT DISTINCT %s FROM %s WHERE %s LIKE %s" % (self.campotabla, self.tabla, self.campotabla, busqueda)
         )
         resultados = cursor.fetchall()
         for resultado in resultados:
             # print resultado[0]
             self.choices.append(resultado[0])
         # si hemos borrado tod0 el texto, reiniciamos la lista de opciones
         if self.IsTextEmpty():
             self.Clear()
             self.AppendItems(self.choices)
         else:
             self.actualizar(event)
     else:
         event.Skip()
コード例 #7
0
    def EvtText(self, event):

        if self.ignoreText:
            self.ignoreText = False
            event.Skip()
        else:
            self.currentText = event.GetString().upper()
            if len(self.currentText) == 4:
                self.Clear()
                self.choices = []
                busqueda = u"'%{}%'".format(self.currentText)
                print busqueda
                cursor.execute(
                    "SELECT DISTINCT %s FROM %s WHERE %s LIKE %s" % (
                    self.campotabla, self.tabla, self.campotabla, busqueda))
                resultados = cursor.fetchall()
                for resultado in resultados:
                    self.choices.append(resultado[0])
            elif len(self.currentText) == 0:
                self.choices = []
                self.Clear()
            self.actualizar(event)
コード例 #8
0
 def EvtChar(self, event):
     if event.GetKeyCode() == 8 and len(self.currentText) > 4:
         self.currentText = self.currentText[:-1]
         self.ChangeValue(self.currentText)
         self.choices = []
         busqueda = u"'%{}%'".format(self.currentText)
         print busqueda
         cursor.execute(
             "SELECT DISTINCT %s FROM %s WHERE %s LIKE %s" % (
             self.campotabla, self.tabla, self.campotabla, busqueda))
         resultados = cursor.fetchall()
         for resultado in resultados:
             # print resultado[0]
             self.choices.append(resultado[0])
         # si hemos borrado tod0 el texto, reiniciamos la lista de opciones
         if self.IsTextEmpty():
             self.Clear()
             self.AppendItems(self.choices)
         else:
             self.actualizar(event)
     else:
         event.Skip()
コード例 #9
0
    def EvtText(self, event):

        if self.ignoreText:
            self.ignoreText = False
            event.Skip()
        else:
            self.currentText = event.GetString().upper()
            if len(self.currentText) == 4:
                self.Clear()
                self.choices = []
                busqueda = u"'%{}%'".format(self.currentText)
                print busqueda
                cursor.execute(
                    "SELECT DISTINCT %s FROM %s WHERE %s LIKE %s"
                    % (self.campotabla, self.tabla, self.campotabla, busqueda)
                )
                resultados = cursor.fetchall()
                for resultado in resultados:
                    self.choices.append(resultado[0])
            elif len(self.currentText) == 0:
                self.choices = []
                self.Clear()
            self.actualizar(event)