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 | ... | ... |