Commit 6a90ac636e9dc66763390a488c47ded3f51ce8cb
1 parent
735d7109
Exists in
master
and in
2 other branches
Correcoes impressoras
Showing
7 changed files
with
105 additions
and
31 deletions
Show diff stats
Controller/PrinterController.php
| ... | ... | @@ -26,18 +26,73 @@ class PrinterController extends Controller |
| 26 | 26 | /** |
| 27 | 27 | * Lists all Printer entities. |
| 28 | 28 | * |
| 29 | - * @Route("/", name="printer") | |
| 29 | + * @Route("/", name="printer_index") | |
| 30 | 30 | * @Method("GET") |
| 31 | 31 | * @Template() |
| 32 | 32 | */ |
| 33 | - public function indexAction() | |
| 33 | + public function indexAction(Request $request) | |
| 34 | 34 | { |
| 35 | 35 | $em = $this->getDoctrine()->getManager(); |
| 36 | 36 | |
| 37 | - $entities = $em->getRepository('CocarBundle:Printer')->findAll(); | |
| 37 | + $form = $request->query->get('form'); | |
| 38 | 38 | |
| 39 | + if($form) | |
| 40 | + { | |
| 41 | + $start = new \DateTime($form['startDate']); | |
| 42 | + $start = $start->format('U'); | |
| 43 | + | |
| 44 | + $end = new \DateTime($form['endDate']); | |
| 45 | + $end = $end->format('U'); | |
| 46 | + } | |
| 47 | + | |
| 48 | + $start = isset($start) ? $start : (time() - ((60*60*24)*30)); | |
| 49 | + $end = isset($end) ? $end : time(); | |
| 50 | + | |
| 51 | + $printers = $em->getRepository('CocarBundle:Printer')->findAll(); | |
| 52 | + | |
| 53 | + $printerCounter = array(); | |
| 54 | + | |
| 55 | + foreach ($printers as $printer) | |
| 56 | + { | |
| 57 | + $printerCounter[$printer->getId()] = $em->createQuery( | |
| 58 | + "SELECT pc.id, pc.prints, pc.blackInk, pc.coloredInk FROM CocarBundle:PrinterCounter pc | |
| 59 | + WHERE (pc.date >= :start AND pc.date <= :end) AND (pc.printer = :id) | |
| 60 | + ORDER BY pc.id ASC" | |
| 61 | + ) | |
| 62 | + ->setParameter('start', $start) | |
| 63 | + ->setParameter('end', $end) | |
| 64 | + ->setParameter('id', $printer->getId()) | |
| 65 | + ->getResult(); | |
| 66 | + } | |
| 67 | + | |
| 68 | + $pCounter = array(); | |
| 69 | + | |
| 70 | + foreach ($printerCounter as $key => $counter) | |
| 71 | + { | |
| 72 | + $size = sizeof($counter)-1; | |
| 73 | + | |
| 74 | + if(isset($counter[$size])) | |
| 75 | + { | |
| 76 | + $pCounter[$key]['prints'] = $counter[$size]['prints'] - $counter[0]['prints']; | |
| 77 | + $pCounter[$key]['blackInk'] = $counter[$size]['blackInk']; | |
| 78 | + $pCounter[$key]['coloredInk'] = $counter[$size]['coloredInk']; | |
| 79 | + } | |
| 80 | + } | |
| 81 | + | |
| 82 | + $displayAll = ($request->query->get('all')) ? $request->query->get('all') : 0; | |
| 83 | + | |
| 84 | + if(!$displayAll) | |
| 85 | + { | |
| 86 | + $paginator = $this->get('knp_paginator'); | |
| 87 | + $printers = $paginator->paginate($printers, $this->get('request')->query->get('page', 1), 10); | |
| 88 | + } | |
| 39 | 89 | return array( |
| 40 | - 'entities' => $entities, | |
| 90 | + "printer" => $printers, | |
| 91 | + "printerCounter" => $pCounter, | |
| 92 | + "form" => $this->createCalendarForm(0, new \DateTime(date("Y-m-d", $start)), new \DateTime(date("Y-m-d", $end)))->createView(), | |
| 93 | + "start" => $start, | |
| 94 | + "end" => $end, | |
| 95 | + "displayAll" => $displayAll | |
| 41 | 96 | ); |
| 42 | 97 | } |
| 43 | 98 | /** |
| ... | ... | @@ -258,12 +313,14 @@ class PrinterController extends Controller |
| 258 | 313 | { |
| 259 | 314 | $em = $this->getDoctrine()->getManager(); |
| 260 | 315 | |
| 316 | + $form = $request->request->get('form'); | |
| 317 | + | |
| 261 | 318 | if($request->request->get('form')) |
| 262 | 319 | { |
| 263 | - $start = new \DateTime($request->request->get('form')['startDate']); | |
| 320 | + $start = new \DateTime($form['startDate']); | |
| 264 | 321 | $start = $start->format('U'); |
| 265 | 322 | |
| 266 | - $end = new \DateTime($request->request->get('form')['endDate']); | |
| 323 | + $end = new \DateTime($form['endDate']); | |
| 267 | 324 | $end = $end->format('U'); |
| 268 | 325 | } |
| 269 | 326 | |
| ... | ... | @@ -282,24 +339,17 @@ class PrinterController extends Controller |
| 282 | 339 | |
| 283 | 340 | $pCounter = array(); |
| 284 | 341 | |
| 342 | + $size = sizeof($printerCounter)-1; | |
| 343 | + | |
| 285 | 344 | foreach ($printerCounter as $counter) |
| 286 | 345 | { |
| 287 | - if($counter === reset($printerCounter)) | |
| 288 | - { | |
| 289 | - $pCounter['prints'] = $counter['prints']; | |
| 290 | - } | |
| 291 | - | |
| 292 | - if ($counter === end($printerCounter)) | |
| 293 | - { | |
| 294 | - $pCounter['prints'] = $counter['prints'] - $pCounter['prints']; | |
| 295 | - $pCounter['blackInk'] = $counter['blackInk']; | |
| 296 | - $pCounter['coloredInk'] = $counter['coloredInk']; | |
| 297 | - } | |
| 346 | + $pCounter['prints'] = $printerCounter[$size]['prints'] - $printerCounter[0]['prints']; | |
| 347 | + $pCounter['blackInk'] = $counter['blackInk']; | |
| 348 | + $pCounter['coloredInk'] = $counter['coloredInk']; | |
| 298 | 349 | } |
| 299 | 350 | |
| 300 | 351 | $printer = $em->getRepository('CocarBundle:Printer')->find($id); |
| 301 | 352 | |
| 302 | - | |
| 303 | 353 | return array( |
| 304 | 354 | "printer" => $printer, |
| 305 | 355 | "printerCounter" => $pCounter, | ... | ... |
Resources/public/css/pagination.css
| ... | ... | @@ -396,7 +396,7 @@ a:link, a:visited, |
| 396 | 396 | |
| 397 | 397 | |
| 398 | 398 | |
| 399 | -ul.tsc_pagination { margin:4px 0; padding-left:414px; height:100%; overflow:hidden; font:12px 'Tahoma'; list-style-type:none; } | |
| 399 | +ul.tsc_pagination { margin:4px 0; padding-left:377px; height:100%; overflow:hidden; font:12px 'Tahoma'; list-style-type:none; } | |
| 400 | 400 | ul.tsc_pagination li { float:left; margin:0px; padding:0px; margin-left:5px; } |
| 401 | 401 | ul.tsc_pagination li:first-child { margin-left:0px; } |
| 402 | 402 | ul.tsc_pagination li a { color:black; display:block; text-decoration:none; padding:7px 10px 7px 10px; } | ... | ... |
Resources/views/Printer/index.html.twig
| ... | ... | @@ -2,25 +2,38 @@ |
| 2 | 2 | |
| 3 | 3 | {% block main -%} |
| 4 | 4 | <h2 class="general-title">Impressoras cadastradas</h2> |
| 5 | - | |
| 5 | + <center> | |
| 6 | + <ul> | |
| 7 | + <li> | |
| 8 | + <form action="{{ path('printer_index') }}" method="get" {{ form_enctype(form) }}> | |
| 9 | + {{ form_errors(form) }} | |
| 10 | + {{ form_widget(form.startDate) }} | |
| 11 | + {{ form_widget(form.endDate) }} | |
| 12 | + <button type="submit">Enviar</button> | |
| 13 | + </form> | |
| 14 | + </li> | |
| 15 | + </ul> | |
| 16 | + </center> | |
| 6 | 17 | <table class="records_list"> |
| 7 | 18 | <thead> |
| 8 | 19 | <tr> |
| 9 | 20 | <th>Id</th> |
| 10 | - <th>Name</th> | |
| 11 | - <th>Description</th> | |
| 12 | - <th>Community</th> | |
| 21 | + <th>Impressões</th> | |
| 22 | + <th>Nome</th> | |
| 13 | 23 | <th>Host</th> |
| 14 | - <th>Actions</th> | |
| 24 | + <th>Ações</th> | |
| 15 | 25 | </tr> |
| 16 | 26 | </thead> |
| 17 | 27 | <tbody> |
| 18 | - {% for entity in entities %} | |
| 28 | + {% for entity in printer %} | |
| 19 | 29 | <tr> |
| 20 | 30 | <td><a href="{{ path('printer_show', { 'id': entity.id }) }}">{{ entity.id }}</a></td> |
| 31 | + <td> | |
| 32 | + {% if printerCounter[entity.id] is defined %} | |
| 33 | + {{ printerCounter[entity.id]['prints'] }} | |
| 34 | + {% endif %} | |
| 35 | + </td> | |
| 21 | 36 | <td>{{ entity.name }}</td> |
| 22 | - <td>{{ entity.description }}</td> | |
| 23 | - <td>{{ entity.communitySnmpPrinter }}</td> | |
| 24 | 37 | <td>{{ entity.host }}</td> |
| 25 | 38 | <td> |
| 26 | 39 | <ul> |
| ... | ... | @@ -39,8 +52,17 @@ |
| 39 | 52 | {% endfor %} |
| 40 | 53 | </tbody> |
| 41 | 54 | </table> |
| 42 | - | |
| 43 | - <ul class="button"> | |
| 55 | + {% if displayAll == 0 %} | |
| 56 | + {{ knp_pagination_render(printer, "CocarBundle::pagination.html.twig") }} | |
| 57 | + <div style="padding-top:30px"> | |
| 58 | + <ul class="tsc_paginationB tsc_paginationB09"> | |
| 59 | + <li> | |
| 60 | + <a href="{{ path('printer_index', {all: true}) }}">Visualizar todas as impressoras</a> | |
| 61 | + </li> | |
| 62 | + </ul> | |
| 63 | + </div> | |
| 64 | + {% endif %} | |
| 65 | + <ul class="button"> | |
| 44 | 66 | <li> |
| 45 | 67 | <a href="{{ path('printer_new') }}"> |
| 46 | 68 | Cadastrar uma nova impressora | ... | ... |
Resources/views/Printer/show.html.twig
Resources/views/base.html.twig
Resources/views/layout.html.twig
| ... | ... | @@ -19,7 +19,7 @@ |
| 19 | 19 | </a> |
| 20 | 20 | </li> |
| 21 | 21 | <li> |
| 22 | - <a href="{{ path('printer') }}" onmouseover="showHideLayers('descricao','Impressoras','show')" onmouseout="showHideLayers('descricao','','hide')"> | |
| 22 | + <a href="{{ path('printer_index') }}" onmouseover="showHideLayers('descricao','Impressoras','show')" onmouseout="showHideLayers('descricao','','hide')"> | |
| 23 | 23 | <img border="0" src="{{asset('bundles/cocar/images/impressoras.png')}}" align="middle"> |
| 24 | 24 | <span>Impressoras</span> |
| 25 | 25 | </a> | ... | ... |
schedules.txt
| ... | ... | @@ -6,3 +6,4 @@ |
| 6 | 6 | 0 20 * * * php /var/www/cocar/app/console perform:task --endalarm |
| 7 | 7 | 1,6,11,16,21,26,31,36,41,46,51,56 7-19 * * * php /var/www/projeto-cocar/app/console perform:task --status |
| 8 | 8 | * * * * * php /var/www/cocar/app/console perform:task --monitor |
| 9 | +0 20 * * * php /var/www/cocar/app/console perform:task --printer | |
| 9 | 10 | \ No newline at end of file | ... | ... |