def index(): if request.vars: idaplicacao = int(request.vars.aplicacao_id or 0) identidade = int(request.vars.sel_entidade or 0) else: idaplicacao = int(session.aplicacao_id or 0) identidade = int(session.identidade or 0) if session.identidade <> identidade: session.identidade = identidade if session.aplicacao_id <> idaplicacao: session.aplicacao_id = idaplicacao redirect(URL('index')) if identidade == 999999: sqls = db.executesql('SELECT aplicacoes.aplicacao ' + \ ' , aplicacoes.soag ' + \ ' , 1 AS Expr1 ' + \ ' , programas.nomeprograma ' + \ ' , regras.regra ' + \ ' , regras.descricao ' + \ ' , entidades.nomeexterno ' + \ ' , entidades.nomeamigavel ' + \ 'FROM ((aplicacoes ' + \ 'INNER JOIN programas ON aplicacoes.id = ' + \ 'programas.codigoaplicacao) ' + \ 'INNER JOIN entidades ON programas.codigoentidade = ' + \ 'entidades.id) ' + \ 'INNER JOIN regras ON programas.codigoregra = ' + \ 'regras.id' + \ ' WHERE aplicacoes.id=%s;' % idaplicacao) else: sqls = db.executesql('SELECT aplicacoes.aplicacao ' + \ ' , aplicacoes.soag ' + \ ' , 1 AS Expr1 ' + \ ' , programas.nomeprograma ' + \ ' , regras.regra ' + \ ' , regras.descricao ' + \ ' , entidades.nomeexterno ' + \ ' , entidades.nomeamigavel ' + \ 'FROM ((aplicacoes ' + \ 'INNER JOIN programas ON aplicacoes.id = ' + \ 'programas.codigoaplicacao) ' + \ 'INNER JOIN entidades ON programas.codigoentidade = ' + \ 'entidades.id) ' + \ 'INNER JOIN regras ON programas.codigoregra = ' + \ 'regras.id ' + \ ' WHERE aplicacoes.id=%s' % idaplicacao + \ ' AND entidades.id=%s;' % identidade) pgms = [] csvs = "Programa;Funcao;Entidade;Descricao\n" for sql in sqls: if sql[1] == 'T': pgms.append('{}{}{}{} - {} - {} - {}'.format(sql[0], sql[2], sql[3], sql[4], sql[5], sql[6], sql[7])) csvs += "{}{}{}{};{};{};{}\n".format(sql[0], sql[2], sql[3], sql[4], sql[5], sql[6], sql[7]) else: pgms.append('{} - {} - {} - {}'.format(sql[3], sql[5], sql[6], sql[7])) csvs += "{};{};{};{}\n".format(sql[3], sql[5], sql[6], sql[7]) outcsv = os.path.join( '\\\\' , '127.0.0.1' , 'c$' , os.getenv('temp') , 'csvs.csv') out = open(outcsv, 'w') out.write(csvs) out.close() popups = [] if (idaplicacao or identidade) and pgms: popups.append(['Download Lista de Programas', 'downloadpgms']) return dict({'title': ['Consulta Programas<br/>Aplicacao:%s<br/>Entidade:%s' \ % (utl.Select(db, name='aplicacao_id', table='aplicacoes', fields=['id','descricao'], filtro='' if (auth.user) and \ (auth.has_membership(1, \ auth.user.id, \ 'Administrador')) \ else db['aplicacoes'].\ empresa==auth.user.empresa, value=session.aplicacao_id or 0), utl.Select(db, name='sel_entidade', table='entidades', fields=['id','nomeFisico'], masks=[[],['nomeExterno','nomeFisico']], filtro=db['entidades'].\ codigoAplicacao==idaplicacao, orderby='nomeExterno', todos='Todas Entidades', value=session.identidade)), utl.buttonsDownload(popups)], 'mensagens': pgms})
def index(): if request.vars: idaplicacao = int(request.vars.aplicacao_id or 0) identcol = request.vars.sel_ent_col else: idaplicacao = int(session.aplicacao_id or 0) identcol = session.identcol or 'Entidades' if session.aplicacao_id <> idaplicacao: session.aplicacao_id = idaplicacao if session.identcol <> identcol: session.identcol = identcol if identcol == 'Entidades': sqlE = """ SELECT aplicacoes.aplicacao , mensagensentcol.codigoMensagem , mensagenspadraoprefixo.descricao , entidades.nomeamigavel , mensagenspadraosufixo.descricao FROM ((((aplicacoes INNER JOIN mensagensentcol ON aplicacoes.id = mensagensentcol.codigoaplicacao) INNER JOIN entidades ON mensagensentcol.codigoentcol = entidades.id) INNER JOIN mensagenspadrao ON mensagensentcol.codigomsgpadrao = mensagenspadrao.id) INNER JOIN mensagenspadraoprefixo ON mensagenspadrao.codigomsgprefixo = mensagenspadraoprefixo.id) INNER JOIN mensagenspadraosufixo ON mensagenspadrao.codigomsgsufixo = mensagenspadraosufixo.id WHERE (((mensagensentcol.codigoaplicacao)={}) AND ((mensagensentcol.codigoorigemmsg)=1)) ORDER BY mensagensentcol.codigomensagem; """.format(idaplicacao) sqls = db.executesql(sqlE) else: sqlC = """ SELECT aplicacoes.aplicacao , mensagensentcol.codigoMensagem , mensagenspadraoprefixo.descricao , colunas.attributename , mensagenspadraosufixo.descricao , colunas.id , mensagenspadrao.codigoregra FROM ((((aplicacoes INNER JOIN mensagensentcol ON aplicacoes.id = mensagensentcol.codigoaplicacao) INNER JOIN colunas ON mensagensentcol.codigoentcol = colunas.id) INNER JOIN mensagenspadrao ON mensagensentcol.codigomsgpadrao = mensagenspadrao.id) INNER JOIN mensagenspadraoprefixo ON mensagenspadrao.codigomsgprefixo = mensagenspadraoprefixo.id) INNER JOIN mensagenspadraosufixo ON mensagenspadrao.codigomsgsufixo = mensagenspadraosufixo.id WHERE (((mensagensentcol.codigoaplicacao)={}) AND ((mensagensentcol.codigoorigemmsg)=2)) ORDER BY mensagensentcol.codigomensagem; """.format(idaplicacao) sqls = db.executesql(sqlC) msgs = [] csvs = "" for sql in sqls: sql2 = sql[2].decode('utf-8').encode('cp1252') sql3 = sql[3].decode('utf-8').encode('cp1252') sql4 = sql[4].decode('utf-8').encode('cp1252') if identcol == 'Entidades': msgs.append('{}{:04}:{}'.format( sql[0], sql[1], ((sql[2] + ' ' if sql[2].strip() else '') + (sql[3] + ' ' if sql[3].strip() else '') + (sql[4] if sql[4].strip() else '')))) csvs += "{}{:04};{}\n".format( sql[0], sql[1], (sql2 + ' ' if sql2.strip() else '') + (sql3 + ' ' if sql3.strip() else '') + (sql4 if sql4.strip() else '')) else: sqlA = """ SELECT regrascolunas.argumento1 , regrascolunas.argumento2 FROM regrascolunas WHERE regrascolunas.codigocoluna = {} AND regrascolunas.codigoregra = {}; """.format(sql[5], sql[6]) args = db.executesql(sqlA) if args: arg0 = args[0][0].decode('utf-8').encode('cp1252') arg1 = args[0][1].decode('utf-8').encode('cp1252') msgs.append('{}{:04}:{} - {} {}'.format( sql[0], sql[1], ((sql[2] + ' ' if sql[2].strip() else '') + (sql[3] + ' ' if sql[3].strip() else '') + (sql[4] if sql[4].strip() else '')), args[0][0], args[0][1])) csvs += "{}{:04};{} - {} {}\n".format( sql[0], sql[1], (sql2 + ' ' if sql2.strip() else '') + (sql3 + ' ' if sql3.strip() else '') + (sql4 if sql4.strip() else ''), arg0, arg1) else: msgs.append('{}{:04}:{}'.format( sql[0], sql[1], ((sql[2] + ' ' if sql[2].strip() else '') + (sql[3] + ' ' if sql[3].strip() else '') + (sql[4] if sql[4].strip() else '')))) csvs += "{}{:04};{}\n".format( sql[0], sql[1], (sql2 + ' ' if sql2.strip() else '') + (sql3 + ' ' if sql3.strip() else '') + (sql4 if sql4.strip() else '')) outcsv = os.path.join('\\\\', '127.0.0.1', 'c$', os.getenv('temp'), 'csvs.csv') out = open(outcsv, 'w') out.write(csvs) out.close() popups = [] if identcol and msgs: popups.append(['Download Mensagens', 'downloadmsgs']) return dict({ 'title': [ 'Aplicacao:', str( utl.Select( db, name='aplicacao_id', table='aplicacoes', fields=['id', 'descricao'], filtro=( '' if (auth.user) and (auth.has_membership(1, auth.user.id, 'Administrador')) else db['aplicacoes'].empresa == auth.user.empresa), value=session.aplicacao_id or 0)), '<br/>Mensagens referente as {} geradas pelo Sistema'.format( utl.SelectString(name='sel_ent_col', options=[['Entidades', 'Entidades'], ['Colunas', 'Colunas']], default=session.get('identcol', ''), submit=True)), utl.buttonsDownload(popups) ], 'mensagens': msgs })
def index(): if request.vars: idaplicacao = int(request.vars.aplicacao_id or 0) identidade = int(request.vars.sel_entidade or 0) else: idaplicacao = int(session.aplicacao_id or 0) identidade = int(session.identidade or 0) if session.identidade <> identidade: session.identidade = identidade if session.aplicacao_id <> idaplicacao: session.aplicacao_id = idaplicacao redirect(URL('index')) if identidade == 999999: sqls = db.executesql('SELECT aplicacoes.aplicacao ' + \ ' , aplicacoes.soag ' + \ ' , 1 AS Expr1 ' + \ ' , programas.nomeprograma ' + \ ' , regras.regra ' + \ ' , regras.descricao ' + \ ' , entidades.nomeexterno ' + \ ' , entidades.nomeamigavel ' + \ 'FROM ((aplicacoes ' + \ 'INNER JOIN programas ON aplicacoes.id = ' + \ 'programas.codigoaplicacao) ' + \ 'INNER JOIN entidades ON programas.codigoentidade = ' + \ 'entidades.id) ' + \ 'INNER JOIN regras ON programas.codigoregra = ' + \ 'regras.id' + \ ' WHERE aplicacoes.id=%s;' % idaplicacao) else: sqls = db.executesql('SELECT aplicacoes.aplicacao ' + \ ' , aplicacoes.soag ' + \ ' , 1 AS Expr1 ' + \ ' , programas.nomeprograma ' + \ ' , regras.regra ' + \ ' , regras.descricao ' + \ ' , entidades.nomeexterno ' + \ ' , entidades.nomeamigavel ' + \ 'FROM ((aplicacoes ' + \ 'INNER JOIN programas ON aplicacoes.id = ' + \ 'programas.codigoaplicacao) ' + \ 'INNER JOIN entidades ON programas.codigoentidade = ' + \ 'entidades.id) ' + \ 'INNER JOIN regras ON programas.codigoregra = ' + \ 'regras.id ' + \ ' WHERE aplicacoes.id=%s' % idaplicacao + \ ' AND entidades.id=%s;' % identidade) pgms = [] csvs = "Programa;Funcao;Entidade;Descricao\n" for sql in sqls: if sql[1] == 'T': pgms.append('{}{}{}{} - {} - {} - {}'.format( sql[0], sql[2], sql[3], sql[4], sql[5], sql[6], sql[7])) csvs += "{}{}{}{};{};{};{}\n".format(sql[0], sql[2], sql[3], sql[4], sql[5], sql[6], sql[7]) else: pgms.append('{} - {} - {} - {}'.format(sql[3], sql[5], sql[6], sql[7])) csvs += "{};{};{};{}\n".format(sql[3], sql[5], sql[6], sql[7]) outcsv = os.path.join('\\\\', '127.0.0.1', 'c$', os.getenv('temp'), 'csvs.csv') out = open(outcsv, 'w') out.write(csvs) out.close() popups = [] if (idaplicacao or identidade) and pgms: popups.append(['Download Lista de Programas', 'downloadpgms']) return dict({'title': ['Consulta Programas<br/>Aplicacao:%s<br/>Entidade:%s' \ % (utl.Select(db, name='aplicacao_id', table='aplicacoes', fields=['id','descricao'], filtro='' if (auth.user) and \ (auth.has_membership(1, \ auth.user.id, \ 'Administrador')) \ else db['aplicacoes'].\ empresa==auth.user.empresa, value=session.aplicacao_id or 0), utl.Select(db, name='sel_entidade', table='entidades', fields=['id','nomeFisico'], masks=[[],['nomeExterno','nomeFisico']], filtro=db['entidades'].\ codigoAplicacao==idaplicacao, orderby='nomeExterno', todos='Todas Entidades', value=session.identidade)), utl.buttonsDownload(popups)], 'mensagens': pgms})
def index(): if request.vars: idaplicacao = int(request.vars.aplicacao_id or 0) identcol = request.vars.sel_ent_col else: idaplicacao = int(session.aplicacao_id or 0) identcol = session.identcol or 'Entidades' if session.aplicacao_id <> idaplicacao: session.aplicacao_id = idaplicacao if session.identcol <> identcol: session.identcol = identcol if identcol == 'Entidades': sqlE = """ SELECT aplicacoes.aplicacao , mensagensentcol.codigoMensagem , mensagenspadraoprefixo.descricao , entidades.nomeamigavel , mensagenspadraosufixo.descricao FROM ((((aplicacoes INNER JOIN mensagensentcol ON aplicacoes.id = mensagensentcol.codigoaplicacao) INNER JOIN entidades ON mensagensentcol.codigoentcol = entidades.id) INNER JOIN mensagenspadrao ON mensagensentcol.codigomsgpadrao = mensagenspadrao.id) INNER JOIN mensagenspadraoprefixo ON mensagenspadrao.codigomsgprefixo = mensagenspadraoprefixo.id) INNER JOIN mensagenspadraosufixo ON mensagenspadrao.codigomsgsufixo = mensagenspadraosufixo.id WHERE (((mensagensentcol.codigoaplicacao)={}) AND ((mensagensentcol.codigoorigemmsg)=1)) ORDER BY mensagensentcol.codigomensagem; """.format(idaplicacao) sqls = db.executesql(sqlE) else: sqlC = """ SELECT aplicacoes.aplicacao , mensagensentcol.codigoMensagem , mensagenspadraoprefixo.descricao , colunas.attributename , mensagenspadraosufixo.descricao , colunas.id , mensagenspadrao.codigoregra FROM ((((aplicacoes INNER JOIN mensagensentcol ON aplicacoes.id = mensagensentcol.codigoaplicacao) INNER JOIN colunas ON mensagensentcol.codigoentcol = colunas.id) INNER JOIN mensagenspadrao ON mensagensentcol.codigomsgpadrao = mensagenspadrao.id) INNER JOIN mensagenspadraoprefixo ON mensagenspadrao.codigomsgprefixo = mensagenspadraoprefixo.id) INNER JOIN mensagenspadraosufixo ON mensagenspadrao.codigomsgsufixo = mensagenspadraosufixo.id WHERE (((mensagensentcol.codigoaplicacao)={}) AND ((mensagensentcol.codigoorigemmsg)=2)) ORDER BY mensagensentcol.codigomensagem; """.format(idaplicacao) sqls = db.executesql(sqlC) msgs = [] csvs = "" for sql in sqls: sql2 = sql[2].decode('utf-8').encode('cp1252') sql3 = sql[3].decode('utf-8').encode('cp1252') sql4 = sql[4].decode('utf-8').encode('cp1252') if identcol == 'Entidades': msgs.append('{}{:04}:{}'.format(sql[0] ,sql[1] ,((sql[2] + ' ' if sql[2].strip() else '') + (sql[3] + ' ' if sql[3].strip() else '') + (sql[4] if sql[4].strip() else '')))) csvs += "{}{:04};{}\n".format(sql[0] ,sql[1] ,(sql2 + ' ' if sql2.strip() else '') + (sql3 + ' ' if sql3.strip() else '') + (sql4 if sql4.strip() else '')) else: sqlA = """ SELECT regrascolunas.argumento1 , regrascolunas.argumento2 FROM regrascolunas WHERE regrascolunas.codigocoluna = {} AND regrascolunas.codigoregra = {}; """.format(sql[5], sql[6]) args = db.executesql(sqlA) if args: arg0 = args[0][0].decode('utf-8').encode('cp1252') arg1 = args[0][1].decode('utf-8').encode('cp1252') msgs.append('{}{:04}:{} - {} {}'.format(sql[0] ,sql[1] ,((sql[2] + ' ' if sql[2].strip() else '') + (sql[3] + ' ' if sql[3].strip() else '') + (sql[4] if sql[4].strip() else '')) ,args[0][0] ,args[0][1])) csvs += "{}{:04};{} - {} {}\n".format(sql[0] ,sql[1] ,(sql2 + ' ' if sql2.strip() else '') + (sql3 + ' ' if sql3.strip() else '') + (sql4 if sql4.strip() else '') ,arg0 ,arg1) else: msgs.append('{}{:04}:{}'.format(sql[0] ,sql[1] ,((sql[2] + ' ' if sql[2].strip() else '') + (sql[3] + ' ' if sql[3].strip() else '') + (sql[4] if sql[4].strip() else '')))) csvs += "{}{:04};{}\n".format(sql[0] ,sql[1] ,(sql2 + ' ' if sql2.strip() else '') + (sql3 + ' ' if sql3.strip() else '') + (sql4 if sql4.strip() else '')) outcsv = os.path.join( '\\\\' , '127.0.0.1' , 'c$' , os.getenv('temp') , 'csvs.csv') out = open(outcsv, 'w') out.write(csvs) out.close() popups = [] if identcol and msgs: popups.append(['Download Mensagens', 'downloadmsgs']) return dict({'title': ['Aplicacao:', str(utl.Select(db, name='aplicacao_id', table='aplicacoes', fields=['id','descricao'], filtro=('' if (auth.user) and (auth.has_membership(1, auth.user.id, 'Administrador')) else db['aplicacoes'].empresa== auth.user.empresa), value=session.aplicacao_id or 0)), '<br/>Mensagens referente as {} geradas pelo Sistema'.format( utl.SelectString(name='sel_ent_col', options=[['Entidades','Entidades'], ['Colunas','Colunas']], default=session.get('identcol',''), submit=True)), utl.buttonsDownload(popups)], 'mensagens': msgs})