Commit 3c848a3277eab5630ef8b80f36e7448847401364
1 parent
6efc2d3c
Exists in
master
reports
Showing
5 changed files
with
82 additions
and
15 deletions
Show diff stats
wscacicneo/__init__.py
| @@ -61,7 +61,7 @@ def main(global_config, **settings): | @@ -61,7 +61,7 @@ def main(global_config, **settings): | ||
| 61 | # | 61 | # |
| 62 | # relatorios | 62 | # relatorios |
| 63 | cfg.add_route('conf_report', 'relatorios/configuracao') | 63 | cfg.add_route('conf_report', 'relatorios/configuracao') |
| 64 | - cfg.add_route('report_hd', 'relatorio/{orgao}/{item}') | 64 | + cfg.add_route('report_itens', 'relatorio/{nm_orgao}/{attr}/{child}') |
| 65 | # | 65 | # |
| 66 | cfg.add_route('list', 'list') | 66 | cfg.add_route('list', 'list') |
| 67 | cfg.add_route('gestao', 'gestao') | 67 | cfg.add_route('gestao', 'gestao') |
| @@ -75,7 +75,6 @@ def main(global_config, **settings): | @@ -75,7 +75,6 @@ def main(global_config, **settings): | ||
| 75 | cfg.add_route('login', 'login') | 75 | cfg.add_route('login', 'login') |
| 76 | cfg.add_route('loginautentication', 'loginautentication') | 76 | cfg.add_route('loginautentication', 'loginautentication') |
| 77 | cfg.add_route('logout', 'logout') | 77 | cfg.add_route('logout', 'logout') |
| 78 | - cfg.add_route('reports', 'reports') | ||
| 79 | cfg.add_route('computador', 'computador') | 78 | cfg.add_route('computador', 'computador') |
| 80 | cfg.add_route('busca', 'busca') | 79 | cfg.add_route('busca', 'busca') |
| 81 | cfg.add_route('gestor', 'gestor') | 80 | cfg.add_route('gestor', 'gestor') |
| @@ -87,7 +86,6 @@ def main(global_config, **settings): | @@ -87,7 +86,6 @@ def main(global_config, **settings): | ||
| 87 | cfg.add_route('processador','processador') | 86 | cfg.add_route('processador','processador') |
| 88 | cfg.add_route('configcoleta','configcoleta') | 87 | cfg.add_route('configcoleta','configcoleta') |
| 89 | cfg.add_route('configfav','configfav') | 88 | cfg.add_route('configfav','configfav') |
| 90 | - cfg.add_route('reportsgestor','reportsgestor') | ||
| 91 | cfg.add_route('questionarcoleta','questionarcoleta') | 89 | cfg.add_route('questionarcoleta','questionarcoleta') |
| 92 | cfg.add_route('confighome','confighome') | 90 | cfg.add_route('confighome','confighome') |
| 93 | cfg.add_route('db','db') | 91 | cfg.add_route('db','db') |
wscacicneo/templates/conf_report.pt
| @@ -9,7 +9,7 @@ | @@ -9,7 +9,7 @@ | ||
| 9 | <div class="col-lg-2"> | 9 | <div class="col-lg-2"> |
| 10 | <select id="orgao" class="form-control"> | 10 | <select id="orgao" class="form-control"> |
| 11 | <option></option> | 11 | <option></option> |
| 12 | - <option tal:repeat="doc orgao_doc">${doc.sigla}</option> | 12 | + <option tal:repeat="doc orgao_doc">${doc.nome}</option> |
| 13 | </select> | 13 | </select> |
| 14 | </div> | 14 | </div> |
| 15 | </div> | 15 | </div> |
| @@ -37,7 +37,28 @@ | @@ -37,7 +37,28 @@ | ||
| 37 | <metal:content fill-slot="javascript"> | 37 | <metal:content fill-slot="javascript"> |
| 38 | <script type="text/javascript"> | 38 | <script type="text/javascript"> |
| 39 | $('#enviar').click(function(){ | 39 | $('#enviar').click(function(){ |
| 40 | - window.location = "${request.route_url('root')}home" | 40 | + orgao = $('#orgao').val() |
| 41 | + attr = $('#coleta').val() | ||
| 42 | + if(attr == 'hd'){ | ||
| 43 | + item = "tipo_hd" | ||
| 44 | + } | ||
| 45 | + else if(attr == 'bios'){ | ||
| 46 | + item = "fabricante_bios" | ||
| 47 | + } | ||
| 48 | + else if(attr == 'Sistemas Operacionais'){ | ||
| 49 | + attr = 'sistemaoperacional' | ||
| 50 | + item = 'nome_so' | ||
| 51 | + } | ||
| 52 | + else if(attr == 'memoria'){ | ||
| 53 | + item = 'interface_memoria' | ||
| 54 | + } | ||
| 55 | + else if(attr == 'processador'){ | ||
| 56 | + item = 'nome_processador' | ||
| 57 | + } | ||
| 58 | + else{ | ||
| 59 | + alert('Selecione o Item da coleta') | ||
| 60 | + } | ||
| 61 | + window.location = "${request.route_url('root')}relatorio/"+orgao+"/"+attr+"/"+item+"" | ||
| 41 | }); | 62 | }); |
| 42 | </script> | 63 | </script> |
| 43 | </metal:content> | 64 | </metal:content> |
wscacicneo/templates/report.pt
| 1 | <metal:main use-macro="load: master.pt"> | 1 | <metal:main use-macro="load: master.pt"> |
| 2 | <metal:content fill-slot="conteudo"> | 2 | <metal:content fill-slot="conteudo"> |
| 3 | - </metal:content> | 3 | + <div class="matter"> |
| 4 | + <div class="container"> | ||
| 5 | + <div class="row"> | ||
| 6 | + <div class="col-md-12"> | ||
| 7 | + <div class="widget"> | ||
| 8 | + <div class="widget-head"> | ||
| 9 | + <div class="pull-left">Data Tables</div> | ||
| 10 | + <div class="widget-icons pull-right"> | ||
| 11 | + <a href="#" class="wminimize"><i class="fa fa-chevron-up"></i></a> | ||
| 12 | + <a href="#" class="wclose"><i class="fa fa-times"></i></a> | ||
| 13 | + </div> | ||
| 14 | + <div class="clearfix"></div> | ||
| 15 | + </div> | ||
| 16 | + <div class="widget-content"> | ||
| 17 | + <div class="padd"> | ||
| 18 | + <div class="page-tables"> | ||
| 19 | + <div class="table-responsive"> | ||
| 20 | + <table cellpadding="0" cellspacing="0" border="0" id="data-table" width="100%"> | ||
| 21 | + <thead> | ||
| 22 | + <tr> | ||
| 23 | + <th>Item</th> | ||
| 24 | + <th>Quantidade</th> | ||
| 25 | + <th>Opçoes</th> | ||
| 26 | + </tr> | ||
| 27 | + </thead> | ||
| 28 | + <tbody> | ||
| 29 | + <tr tal:repeat="k data.keys()"> | ||
| 30 | + <td>${k}</td> | ||
| 31 | + <td tal:content="data[k]"></td> | ||
| 32 | + <td> | ||
| 33 | + <a href="" class="btn btn-xs btn-danger"><i class="fa fa-times"></i></a> | ||
| 34 | + </td> | ||
| 35 | + </tr> | ||
| 36 | + </tbody> | ||
| 37 | + </table> | ||
| 38 | + <div class="clearfix"></div> | ||
| 39 | + </div> | ||
| 40 | + </div> | ||
| 41 | + </div> | ||
| 42 | + </div> | ||
| 43 | + <div class="widget-foot"> | ||
| 44 | + </div> | ||
| 45 | + </div> | ||
| 46 | + </div> | ||
| 47 | + </div> | ||
| 48 | + </div> | ||
| 49 | + </div> | ||
| 50 | + </metal:content> | ||
| 4 | <metal:content fill-slot="javascript"> | 51 | <metal:content fill-slot="javascript"> |
| 5 | <script type="text/javascript"> | 52 | <script type="text/javascript"> |
| 6 | </script> | 53 | </script> |
wscacicneo/test/test_reports.py
| @@ -46,7 +46,7 @@ class TestRelatorio(unittest.TestCase): | @@ -46,7 +46,7 @@ class TestRelatorio(unittest.TestCase): | ||
| 46 | hd = get_doc.get_attribute('hd') | 46 | hd = get_doc.get_attribute('hd') |
| 47 | self.assertGreater(len(hd.results), 0) | 47 | self.assertGreater(len(hd.results), 0) |
| 48 | 48 | ||
| 49 | - hd_count = get_doc.count_attribute('hd', 'tipo_hd') | 49 | + hd_count = get_doc.count_attribute('memoria', 'interface_memoria') |
| 50 | fd = open('/tmp/teste.json', 'w+') | 50 | fd = open('/tmp/teste.json', 'w+') |
| 51 | fd.write(json.dumps(hd_count)) | 51 | fd.write(json.dumps(hd_count)) |
| 52 | fd.close() | 52 | fd.close() |
wscacicneo/views.py
| @@ -17,6 +17,7 @@ from wscacicneo.model.user import UserBase | @@ -17,6 +17,7 @@ from wscacicneo.model.user import UserBase | ||
| 17 | from wscacicneo.model.notify import Notify | 17 | from wscacicneo.model.notify import Notify |
| 18 | from wscacicneo.model.notify import NotifyBase | 18 | from wscacicneo.model.notify import NotifyBase |
| 19 | from wscacicneo.model import coleta_manual | 19 | from wscacicneo.model import coleta_manual |
| 20 | +from wscacicneo.model.reports import Reports | ||
| 20 | 21 | ||
| 21 | from liblightbase.lbbase.struct import Base | 22 | from liblightbase.lbbase.struct import Base |
| 22 | from liblightbase.lbutils import conv | 23 | from liblightbase.lbutils import conv |
| @@ -51,7 +52,7 @@ def home(request): | @@ -51,7 +52,7 @@ def home(request): | ||
| 51 | return {'project': 'WSCacicNeo'} | 52 | return {'project': 'WSCacicNeo'} |
| 52 | 53 | ||
| 53 | @view_config(route_name='list_notify', renderer='templates/list_notify.pt') | 54 | @view_config(route_name='list_notify', renderer='templates/list_notify.pt') |
| 54 | -def reports(request): | 55 | +def list_notify(request): |
| 55 | notify_obj = Notify( | 56 | notify_obj = Notify( |
| 56 | orgao = 'deasdsd', | 57 | orgao = 'deasdsd', |
| 57 | id_coleta = 'saudhasd', | 58 | id_coleta = 'saudhasd', |
| @@ -198,10 +199,6 @@ def error(request): | @@ -198,10 +199,6 @@ def error(request): | ||
| 198 | def configfav(request): | 199 | def configfav(request): |
| 199 | return {'project': 'WSCacicNeo'} | 200 | return {'project': 'WSCacicNeo'} |
| 200 | 201 | ||
| 201 | -@view_config(route_name='reportsgestor', renderer='templates/reportsgestor.pt') | ||
| 202 | -def reportsgestor(request): | ||
| 203 | - return {'project': 'WSCacicNeo'} | ||
| 204 | - | ||
| 205 | @view_config(route_name='questionarcoleta', renderer='templates/questionarcoleta.pt') | 202 | @view_config(route_name='questionarcoleta', renderer='templates/questionarcoleta.pt') |
| 206 | def questionarcoleta(request): | 203 | def questionarcoleta(request): |
| 207 | return {'project': 'WSCacicNeo'} | 204 | return {'project': 'WSCacicNeo'} |
| @@ -238,9 +235,13 @@ def conf_report(request): | @@ -238,9 +235,13 @@ def conf_report(request): | ||
| 238 | search = orgao_obj.search_list_orgaos() | 235 | search = orgao_obj.search_list_orgaos() |
| 239 | return {'orgao_doc': search.results} | 236 | return {'orgao_doc': search.results} |
| 240 | 237 | ||
| 241 | -@view_config(route_name='report_hd', renderer='templates/report.pt') | ||
| 242 | -def report_hd(request): | ||
| 243 | - return { } | 238 | +@view_config(route_name='report_itens', renderer='templates/report.pt') |
| 239 | +def report_itens(request): | ||
| 240 | + nm_orgao = request.matchdict['nm_orgao'] | ||
| 241 | + attr = request.matchdict['attr'] | ||
| 242 | + child = request.matchdict['child'] | ||
| 243 | + data = Reports(nm_orgao).count_attribute(attr, child) | ||
| 244 | + return {'data': data } | ||
| 244 | 245 | ||
| 245 | @view_config(route_name='post_orgao') | 246 | @view_config(route_name='post_orgao') |
| 246 | def post_orgao(request): | 247 | def post_orgao(request): |