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 __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 __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)
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]
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]
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]