예제 #1
0
    def __init__(self, parent=None):
        super(edit_limitesoi, self).__init__()
        self.ui = Ui_Form()
        self.ui.setupUi(self)
        self.connect_signals()
        self.ui.qspinboxqtd.setMaximum(9999999)
        oi = select('orgao_imprensa', ['nome'])


        """verificao
        """
        if not oi:
            showdialog('Alerta', 'Nenhum OI cadastrado')
        tipos = select('tipo_credencial', ['sigla'])
        if not tipos:
            showdialog('Alerta', 'Nenhum Tipo de Credencial cadastrada')
        if not tipos or not oi:
            return

        """ seleciona todas as quantidades relacionadas ao OI e Tipo de Crendenciais escolhidas pelo usuario
        """
        cmd = "SELECT quantidade from limites_oi JOIN orgao_imprensa "
        cmd += "ON orgao_imprensa = id WHERE nome = '" + oi[0][0] + "' "
        cmd += "AND tipo_credencial = '" + tipos[0][0] + "';"
        qtd = executa_select(cmd)[0][0]


        if qtd:
            self.oldqtd = qtd
        else:
            self.oldqtd = 0
        self.ui.qspinboxqtd.setValue(qtd)
        self.eval_comcoboxtipo(tipos)
        self.eval_comcoboxoi(oi)
예제 #2
0
class edit_limitesoi(QtWidgets.QWidget):
    def __init__(self, parent=None):
        super(edit_limitesoi, self).__init__()
        self.ui = Ui_Form()
        self.ui.setupUi(self)
        self.connect_signals()
        self.ui.qspinboxqtd.setMaximum(9999999)
        oi = select('orgao_imprensa', ['nome'])


        """verificao
        """
        if not oi:
            showdialog('Alerta', 'Nenhum OI cadastrado')
        tipos = select('tipo_credencial', ['sigla'])
        if not tipos:
            showdialog('Alerta', 'Nenhum Tipo de Credencial cadastrada')
        if not tipos or not oi:
            return

        """ seleciona todas as quantidades relacionadas ao OI e Tipo de Crendenciais escolhidas pelo usuario
        """
        cmd = "SELECT quantidade from limites_oi JOIN orgao_imprensa "
        cmd += "ON orgao_imprensa = id WHERE nome = '" + oi[0][0] + "' "
        cmd += "AND tipo_credencial = '" + tipos[0][0] + "';"
        qtd = executa_select(cmd)[0][0]


        if qtd:
            self.oldqtd = qtd
        else:
            self.oldqtd = 0
        self.ui.qspinboxqtd.setValue(qtd)
        self.eval_comcoboxtipo(tipos)
        self.eval_comcoboxoi(oi)

    def eval_comcoboxoi(self, lista):
        for item in lista:
            self.ui.qcomboboxoi.addItem(str(item[0]))

    def eval_comcoboxtipo(self, lista):
        for item in lista:
            self.ui.qcomboboxtipocred.addItem(str(item[0]))

    def connect_signals(self):
        self.ui.updatebutton.clicked.connect(self.updatebutton_click)
        self.ui.qcomboboxoi.currentIndexChanged.connect(self.changes)
        self.ui.qcomboboxtipocred.currentIndexChanged.connect(self.changes)

    def updatebutton_click(self):
        """ Executada quando o usuario clica no botao
            executa o comando SQL responsavel por atualizar a quantidade de credenciais referente aquele tipo para o OI selecionado
        """
        oi = self.ui.qcomboboxoi.currentText()
        tipo = self.ui.qcomboboxtipocred.currentText()
        qtd = self.ui.qspinboxqtd.value()
        cmd = "UPDATE limites_oi SET quantidade = " + str(qtd) + " "
        cmd += "WHERE tipo_credencial = '" + tipo + "' "
        cmd += "AND orgao_imprensa IN (SELECT id FROM orgao_imprensa "
        cmd += "WHERE nome = '" + oi + "');"
        if not executa_cmd(cmd):
            showdialog('Alerta', 'Verificar se o Comite possui Limite de Credenciais')
            self.ui.qspinboxqtd.setValue(self.oldqtd)
        else:
            self.oldqtd = qtd

    def changes(self):
        oi = self.ui.qcomboboxoi.currentText()
        tipo = self.ui.qcomboboxtipocred.currentText()
        cmd = "SELECT quantidade from limites_oi JOIN orgao_imprensa "
        cmd += "ON orgao_imprensa = id WHERE nome = '" + oi + "' "
        cmd += "AND tipo_credencial = '" + tipo + "';"
        try:
            qtd = executa_select(cmd)[0][0]
            self.ui.qspinboxqtd.setValue(qtd)
        except(Exception):
            pass