Esempio n. 1
0
 def __init__(self, db, cAppl=None):
     self.db              = db
     self.cAppl           = int(cAppl) or 0
     self.mensagens       = self.db.mensagensEntCol
     self.gravados        = 0
     self.origem          = OrigemMensagens(self.db).getOrigens()
     self.tipo            = TipoMensagens(self.db).getTipos()
     self.regra           = Regras(self.db).getRegras(1)
     self.primaryKeys     = PrimaryKeys(self.db)
     self.codigoMsgPadrao = MensagensPadrao(self.db, cAppl=self.cAppl).selectMensagensPadraoBycodigoAplicacao()
     self.checkList       = CheckList(self.db, cAppl=self.cAppl)
     self.checkListPrototipo = self.db.checkListPrototipo
Esempio n. 2
0
 def __init__(self, db, cAppl=None):
     self.db = db
     self.cAppl = cAppl or 0
     self.applId = Aplicacao(self.db, self.cAppl).getApplId()
     self.programas = self.db.programas
     self.char = string.digits + string.ascii_uppercase
     self.gravados = 0
     self.regra = Regras(self.db).getRegras(1)
     self.entidades = Entidades(self.db, cAppl=self.cAppl)
     self.primaryKeys = PrimaryKeys(self.db)
     self.bookSaida = {'I': 0, 'A': '0', 'E': 0, 'C': 1, 'L': 1}
     returnCode = self.maxPrograma()
     if returnCode[0] and returnCode[1]:
         mp = returnCode[1]
         self.c1 = self.char.index(mp[0])
         self.c2 = self.char.index(mp[1])
     else:
         self.c1 = 0
         self.c2 = -1
     self.checkList = CheckList(self.db, cAppl=self.cAppl)
Esempio n. 3
0
 def __init__(self, db, cAppl=None):
     self.db          = db
     self.cAppl       = cAppl or 0
     self.applId      = Aplicacao(self.db, self.cAppl).getApplId()
     self.programas   = self.db.programas
     self.char        = string.digits + string.ascii_uppercase
     self.gravados    = 0
     self.regra       = Regras(self.db).getRegras(1)
     self.entidades   = Entidades(self.db, cAppl=self.cAppl)
     self.primaryKeys = PrimaryKeys(self.db)
     self.bookSaida   = {'I':0, 'A':'0', 'E':0, 'C':1, 'L':1}
     returnCode       = self.maxPrograma()
     if returnCode[0] and returnCode[1]:
         mp           = returnCode[1]
         self.c1      = self.char.index(mp[0])
         self.c2      = self.char.index(mp[1])
     else:
         self.c1      = 0
         self.c2      = -1
     self.checkList   = CheckList(self.db, cAppl=self.cAppl)
Esempio n. 4
0
class Programas:

   def __init__(self, db, cAppl=None):
       self.db          = db
       self.cAppl       = cAppl or 0
       self.applId      = Aplicacao(self.db, self.cAppl).getApplId()
       self.programas   = self.db.programas
       self.char        = string.digits + string.ascii_uppercase
       self.gravados    = 0
       self.regra       = Regras(self.db).getRegras(1)
       self.entidades   = Entidades(self.db, cAppl=self.cAppl)
       self.primaryKeys = PrimaryKeys(self.db)
       self.bookSaida   = {'I':0, 'A':'0', 'E':0, 'C':1, 'L':1}
       returnCode       = self.maxPrograma()
       if returnCode[0] and returnCode[1]:
           mp           = returnCode[1]
           self.c1      = self.char.index(mp[0])
           self.c2      = self.char.index(mp[1])
       else:
           self.c1      = 0
           self.c2      = -1
       self.checkList   = CheckList(self.db, cAppl=self.cAppl)

   def nomearProgramas(self):
       returnCode = self.entidades.selectEntidadesProgramasBycodigoAplicacao()
       if not returnCode[0]:
           return [0, "Não existem Entidades para esta Aplicação", returnCode[1]]
       for codigoEntidade, listaProgramas in returnCode[1]:
           if listaProgramas[0]:
               bookSaidaI = 0
               if not self.primaryKeys.primaryKeyInformada(codigoEntidade):
                   bookSaidaI = 1
               self.insertProgramas(codigoEntidade
                                   , 1
                                   , self.regra['I'][0]
                                   , self.novoNomePrograma()
                                   , bookSaidaI
                                   )
           if listaProgramas[1]:
               self.insertProgramas(codigoEntidade
                                   , 1
                                   , self.regra['A'][0]
                                   , self.novoNomePrograma()
                                   , self.bookSaida['A']
                                   )
           if listaProgramas[2]:
               self.insertProgramas(codigoEntidade
                                   , 1
                                   , self.regra['E'][0]
                                   , self.novoNomePrograma()
                                   , self.bookSaida['E']
                                   )
           if listaProgramas[3]:
               self.insertProgramas(codigoEntidade
                                   , 1
                                   , self.regra['C'][0]
                                   , self.novoNomePrograma()
                                   , self.bookSaida['C']
                                   )
           if listaProgramas[4]:
               self.insertProgramas(codigoEntidade
                                   , 1
                                   , self.regra['L'][0]
                                   , self.novoNomePrograma()
                                   , self.bookSaida['L']
                                   )

       ckListPGM =  self.checkList.updateCheckListProgramas()
       if not ckListPGM[0]:
           return ckListPGM

       self.db.commit()
       return [1,'Programas Nomeados >>>'                  \
              + '\n' + ' Gravados = ' + str(self.gravados) \
              + '\n']

   def nomearPrograma(self, entidadeId, codigoTipo, regra):
       returnCode     = self.insertProgramas( entidadeId
                                            , codigoTipo
                                            , self.regra[regra][0]
                                            , self.novoNomePrograma()
                                            , self.bookSaida[regra])
       if returnCode[0]:
           self.db.commit()
           return [1, str(self.gravados) + " Programa Nomeado"]
       else:
           return [0, returnCode[1], returnCode[2]]

   def insertProgramas(self, codigoEntidade, codigoTipo, codigoRegra, nomePrograma, bookSaida):
       try:
           self.programas.insert(codigoAplicacao = int(self.cAppl)
                                ,codigoEntidade  = codigoEntidade
                                ,codigoTipo      = codigoTipo
                                ,codigoRegra     = codigoRegra
                                ,nomePrograma    = nomePrograma
                                ,bookSaida       = bookSaida)
           self.gravados += 1
           return [1]
       except:
           return [0,"Ocorreu um erro no Insert da Tabela Programas.", sys.exc_info()[1]]

   def maxPrograma(self):
       try:
           query=self.db(self.programas.codigoAplicacao == int(self.cAppl)).select(self.programas.nomePrograma.max())
       except:
           return [0,"Ocorreu um erro no select da Tabela Programas.", sys.exc_info()[1]]
       if query:
           maxPrograma = query[0]._extra['MAX(programas.nomePrograma)']
       else:
           return [0, 0]
       return [1, maxPrograma]

   def novoNomePrograma(self):
       self.c2 += 1
       if self.c2 > 35:
           self.c1 += 1
           self.c2  = 0
       return self.char[self.c1] + self.char[self.c2]

   def selectProgramasByEntidadeRegra(self, codigoEntidade, regra):
       try:
           query=self.db((self.programas.codigoEntidade == int(codigoEntidade))
                       & (self.programas.codigoRegra    == self.regra[regra][0])).select()
       except:
           return [0,'Ocorreu um erro no Select da Tabela Programas.', sys.exc_info()[1]]
       if not query:
           return [0, 0]
       return [1, query]
Esempio n. 5
0
class Programas:
    def __init__(self, db, cAppl=None):
        self.db = db
        self.cAppl = cAppl or 0
        self.applId = Aplicacao(self.db, self.cAppl).getApplId()
        self.programas = self.db.programas
        self.char = string.digits + string.ascii_uppercase
        self.gravados = 0
        self.regra = Regras(self.db).getRegras(1)
        self.entidades = Entidades(self.db, cAppl=self.cAppl)
        self.primaryKeys = PrimaryKeys(self.db)
        self.bookSaida = {'I': 0, 'A': '0', 'E': 0, 'C': 1, 'L': 1}
        returnCode = self.maxPrograma()
        if returnCode[0] and returnCode[1]:
            mp = returnCode[1]
            self.c1 = self.char.index(mp[0])
            self.c2 = self.char.index(mp[1])
        else:
            self.c1 = 0
            self.c2 = -1
        self.checkList = CheckList(self.db, cAppl=self.cAppl)

    def nomearProgramas(self):
        returnCode = self.entidades.selectEntidadesProgramasBycodigoAplicacao()
        if not returnCode[0]:
            return [
                0, "Não existem Entidades para esta Aplicação", returnCode[1]
            ]
        for codigoEntidade, listaProgramas in returnCode[1]:
            if listaProgramas[0]:
                bookSaidaI = 0
                if not self.primaryKeys.primaryKeyInformada(codigoEntidade):
                    bookSaidaI = 1
                self.insertProgramas(codigoEntidade, 1, self.regra['I'][0],
                                     self.novoNomePrograma(), bookSaidaI)
            if listaProgramas[1]:
                self.insertProgramas(codigoEntidade, 1, self.regra['A'][0],
                                     self.novoNomePrograma(),
                                     self.bookSaida['A'])
            if listaProgramas[2]:
                self.insertProgramas(codigoEntidade, 1, self.regra['E'][0],
                                     self.novoNomePrograma(),
                                     self.bookSaida['E'])
            if listaProgramas[3]:
                self.insertProgramas(codigoEntidade, 1, self.regra['C'][0],
                                     self.novoNomePrograma(),
                                     self.bookSaida['C'])
            if listaProgramas[4]:
                self.insertProgramas(codigoEntidade, 1, self.regra['L'][0],
                                     self.novoNomePrograma(),
                                     self.bookSaida['L'])

        ckListPGM = self.checkList.updateCheckListProgramas()
        if not ckListPGM[0]:
            return ckListPGM

        self.db.commit()
        return [1,'Programas Nomeados >>>'                  \
               + '\n' + ' Gravados = ' + str(self.gravados) \
               + '\n']

    def nomearPrograma(self, entidadeId, codigoTipo, regra):
        returnCode = self.insertProgramas(entidadeId, codigoTipo,
                                          self.regra[regra][0],
                                          self.novoNomePrograma(),
                                          self.bookSaida[regra])
        if returnCode[0]:
            self.db.commit()
            return [1, str(self.gravados) + " Programa Nomeado"]
        else:
            return [0, returnCode[1], returnCode[2]]

    def insertProgramas(self, codigoEntidade, codigoTipo, codigoRegra,
                        nomePrograma, bookSaida):
        try:
            self.programas.insert(codigoAplicacao=int(self.cAppl),
                                  codigoEntidade=codigoEntidade,
                                  codigoTipo=codigoTipo,
                                  codigoRegra=codigoRegra,
                                  nomePrograma=nomePrograma,
                                  bookSaida=bookSaida)
            self.gravados += 1
            return [1]
        except:
            return [
                0, "Ocorreu um erro no Insert da Tabela Programas.",
                sys.exc_info()[1]
            ]

    def maxPrograma(self):
        try:
            query = self.db(
                self.programas.codigoAplicacao == int(self.cAppl)).select(
                    self.programas.nomePrograma.max())
        except:
            return [
                0, "Ocorreu um erro no select da Tabela Programas.",
                sys.exc_info()[1]
            ]
        if query:
            maxPrograma = query[0]._extra['MAX(programas.nomePrograma)']
        else:
            return [0, 0]
        return [1, maxPrograma]

    def novoNomePrograma(self):
        self.c2 += 1
        if self.c2 > 35:
            self.c1 += 1
            self.c2 = 0
        return self.char[self.c1] + self.char[self.c2]

    def selectProgramasByEntidadeRegra(self, codigoEntidade, regra):
        try:
            query = self.db(
                (self.programas.codigoEntidade == int(codigoEntidade))
                &
                (self.programas.codigoRegra == self.regra[regra][0])).select()
        except:
            return [
                0, 'Ocorreu um erro no Select da Tabela Programas.',
                sys.exc_info()[1]
            ]
        if not query:
            return [0, 0]
        return [1, query]
Esempio n. 6
0
class Mensagens:

    def __init__(self, db, cAppl=None):
        self.db              = db
        self.cAppl           = int(cAppl) or 0
        self.mensagens       = self.db.mensagensEntCol
        self.gravados        = 0
        self.origem          = OrigemMensagens(self.db).getOrigens()
        self.tipo            = TipoMensagens(self.db).getTipos()
        self.regra           = Regras(self.db).getRegras(1)
        self.primaryKeys     = PrimaryKeys(self.db)
        self.codigoMsgPadrao = MensagensPadrao(self.db, cAppl=self.cAppl).selectMensagensPadraoBycodigoAplicacao()
        self.checkList       = CheckList(self.db, cAppl=self.cAppl)
        self.checkListPrototipo = self.db.checkListPrototipo

    def criaMensagensEntidades(self):
        entidades  = Entidades(self.db, cAppl=self.cAppl)
        returnCode = entidades.selectEntidadesProgramasBycodigoAplicacao()
        if not returnCode[0]:
            return [0, "Não existem Entidades para esta Aplicação"]
        for codigoEntidade, listaProgramas in returnCode[1]:
 #          servico inclusao
            if listaProgramas[0]:
                if self.primaryKeys.primaryKeyInformada(codigoEntidade):
                    self.insertMensagensEntidades(codigoEntidade, 'E', 'E', 'I')

                self.insertMensagensEntidades(codigoEntidade, 'E', 'S', 'I')
 #          servico alteracao
            if listaProgramas[1]:
                self.insertMensagensEntidades(codigoEntidade, 'E', 'S', 'A')
 #          servico exclusao
            if listaProgramas[2]:
                self.insertMensagensEntidades(codigoEntidade, 'E', 'S', 'E')
 #          servico consulta
            if listaProgramas[3]:
                self.insertMensagensEntidades(codigoEntidade, 'E', 'E', 'C')
                self.insertMensagensEntidades(codigoEntidade, 'E', 'S', 'C')
 #          servico lista
            if listaProgramas[4]:
                self.insertMensagensEntidades(codigoEntidade, 'E', 'E', 'L')
                self.insertMensagensEntidades(codigoEntidade, 'E', 'S', 'L')

        ckListMSG = self.checkList.updateCheckListMensagensEntidades()
        if not ckListMSG[0]:
            return ckListMSG

        self.atualizaCheckListPrototipo()

        self.db.commit()
        return [1,'Mensagens das Entidades >>>'          \
               + '\n' + ' Gravados = ' + str(self.gravados) \
               + '\n']

    def insertMensagensEntidades(self, codigoEntCol, origemMsg, tipoMsg, regra):

        codigos = self.getCodigos(origemMsg, tipoMsg, regra)

        codigoMensagem = numAuto(self.db, self.mensagens.codigoMensagem, self.mensagens.codigoAplicacao==self.cAppl)

        try:
            self.mensagens.insert(codigoAplicacao = self.cAppl
                                 ,codigoMensagem  = codigoMensagem
                                 ,codigoEntCol    = codigoEntCol
                                 ,codigoOrigemMsg = codigos[0]
                                 ,codigoMsgPadrao = codigos[1]
                                 ,codigoTipoMsg   = codigos[2]
                                 ,codigoRegra     = codigos[3])
            self.gravados = self.gravados +1
            return [1]
        except:
            return [0,"Ocorreu um erro no Insert da Tabela Programas.", sys.exc_info()[1]]

    def getMensagem(self, codigoEntCol, origemMsg, tipoMsg, regra, nova=None):

        codigos = self.getCodigos(origemMsg, tipoMsg, regra)

        try:
            query=self.db((self.mensagens.codigoAplicacao == self.cAppl)
                        & (self.mensagens.codigoEntCol    == codigoEntCol)
                        & (self.mensagens.codigoOrigemMsg == codigos[0])
                        & (self.mensagens.codigoMsgPadrao == codigos[1])).select()
        except:
            return [0,'Ocorreu um erro no Select da Tabela Mensagens.', sys.exc_info()[1]]
        if query:
            codigoMensagem = query[0].codigoMensagem
        else:
            if nova:
                msgNova = self.insertMensagensEntidades(codigoEntCol, origemMsg, tipoMsg, regra)
                if msgNova[0]:
                    self.atualizaCheckListPrototipo()
                    self.db.commit()
                    return self.getMensagem(codigoEntCol, origemMsg, tipoMsg, regra)
            else:
                return [0, 0, 0]
        return [1, codigoMensagem]

    def getCodigos(self, origemMsg, tipoMsg, regra):
        codigoOrigemMsg = self.origem[origemMsg]
        codigoTipoMsg   = self.tipo[tipoMsg]
        codigoRegra     = self.regra[regra][0]
        codigoMsgPadrao = self.codigoMsgPadrao[str(self.cAppl)    + str(codigoOrigemMsg)\
                                             + str(codigoTipoMsg) + str(codigoRegra)]
        return (codigoOrigemMsg, int(codigoMsgPadrao), int(codigoTipoMsg), int(codigoRegra))

    def atualizaCheckListPrototipo(self):
        try:
            self.db(self.checkListPrototipo.codigoAplicacao == self.cAppl).update(mensagens = False)
        except:
            return [0, 'CE - Ocorreu um erro no Update da Tabela checkListPrototipo.', sys.exc_info()[1]]
        return [1, 1]