diff --git a/Controller/PrinterController.php b/Controller/PrinterController.php index 0277abd..f3ebd4e 100755 --- a/Controller/PrinterController.php +++ b/Controller/PrinterController.php @@ -20,6 +20,7 @@ use Ddeboer\DataImport\Workflow; use Ddeboer\DataImport\Reader\ArrayReader; use Ddeboer\DataImport\Writer\CsvWriter; use Ddeboer\DataImport\ValueConverter\CallbackValueConverter; +use Ddeboer\DataImport\ItemConverter\CallbackItemConverter; use Doctrine\ORM\EntityManager; use Symfony\Component\HttpFoundation\StreamedResponse; @@ -124,6 +125,12 @@ class PrinterController extends Controller $workflow = new Workflow($reader); $data = new \DateTime(); + // Contador geral das impressorasa + $converter = new CallbackItemConverter(function ($item) { + $item['totalPrints'] = $item['printsEnd'] - $item['printsStart']; + return $item; + }); + $workflow->addItemConverter($converter); // As you can see, the first names are not capitalized correctly. Let's fix // that with a value converter: @@ -240,6 +247,12 @@ class PrinterController extends Controller // Create the workflow from the reader $workflow = new Workflow($reader); + // Contador geral das impressorasa + $converter = new CallbackItemConverter(function ($item) { + $item['totalPrints'] = $item['printsEnd'] - $item['printsStart']; + return $item; + }); + $workflow->addItemConverter($converter); // As you can see, the first names are not capitalized correctly. Let's fix // that with a value converter: diff --git a/Entity/PrinterCounterRepository.php b/Entity/PrinterCounterRepository.php index 0d04456..5443d31 100755 --- a/Entity/PrinterCounterRepository.php +++ b/Entity/PrinterCounterRepository.php @@ -27,9 +27,9 @@ class PrinterCounterRepository extends EntityRepository pc1.blackInk, pc1.coloredInk, max(pc1.date) as endDate, - max(pc1.prints) as printsEnd, - min(pc2.date) as startDate, - min(pc2.prints) as printsStart, + (SELECT pc2.prints FROM CocarBundle:PrinterCounter pc2 WHERE pc2.date = max(pc1.date) AND pc2.printer = printer.id) as printsEnd, + min(pc1.date) as startDate, + (SELECT pc3.prints FROM CocarBundle:PrinterCounter pc3 WHERE pc3.date = min(pc1.date) AND pc3.printer = printer.id) as printsStart, printer.name, printer.description, printer.serie, @@ -37,7 +37,6 @@ class PrinterCounterRepository extends EntityRepository printer.host FROM CocarBundle:Printer printer LEFT JOIN CocarBundle:PrinterCounter pc1 WITH (pc1.printer = printer.id AND pc1.date BETWEEN :start AND :end) - LEFT JOIN CocarBundle:PrinterCounter pc2 WITH (pc2.printer = printer.id AND pc2.date BETWEEN :start AND :end) GROUP BY printer.id, pc1.blackInk, pc1.coloredInk, @@ -70,12 +69,10 @@ class PrinterCounterRepository extends EntityRepository printer.host, printer.serie, printer.local, - max(pc1.prints) as printsEnd, - min(pc2.prints) as printsStart, - (max(pc1.prints) - min(pc2.prints)) as totalPrints + (SELECT pc2.prints FROM CocarBundle:PrinterCounter pc2 WHERE pc2.date = max(pc1.date) AND pc2.printer = printer.id) as printsEnd, + (SELECT pc3.prints FROM CocarBundle:PrinterCounter pc3 WHERE pc3.date = min(pc1.date) AND pc3.printer = printer.id) as printsStart FROM CocarBundle:Printer printer LEFT JOIN CocarBundle:PrinterCounter pc1 WITH (pc1.printer = printer.id AND pc1.date BETWEEN :start AND :end) - LEFT JOIN CocarBundle:PrinterCounter pc2 WITH (pc2.printer = printer.id AND pc2.date BETWEEN :start AND :end) GROUP BY printer.id, printer.name, printer.description, @@ -102,18 +99,16 @@ class PrinterCounterRepository extends EntityRepository $_dql = "SELECT printer.id, - max(pc1.prints) as printsEnd, max(pc1.date) as endDate, - min(pc2.prints) as printsStart, - min(pc2.date) as startDate, + (SELECT pc2.prints FROM CocarBundle:PrinterCounter pc2 WHERE pc2.date = max(pc1.date) AND pc2.printer = printer.id) as printsEnd, + min(pc1.date) as startDate, + (SELECT pc3.prints FROM CocarBundle:PrinterCounter pc3 WHERE pc3.date = min(pc1.date) AND pc3.printer = printer.id) as printsStart, printer.name, printer.host, printer.serie, - printer.local, - (max(pc1.prints) - min(pc2.prints)) as totalPrints + printer.local FROM CocarBundle:Printer printer LEFT JOIN CocarBundle:PrinterCounter pc1 WITH (pc1.printer = printer.id AND pc1.date BETWEEN :start AND :end) - LEFT JOIN CocarBundle:PrinterCounter pc2 WITH (pc2.printer = printer.id AND pc2.date BETWEEN :start AND :end) GROUP BY printer.id, printer.name, printer.description, diff --git a/Resources/views/Printer/index.html.twig b/Resources/views/Printer/index.html.twig index d2ccbfd..7386fe6 100755 --- a/Resources/views/Printer/index.html.twig +++ b/Resources/views/Printer/index.html.twig @@ -39,11 +39,8 @@ Host Serie Local -<<<<<<< HEAD -======= Contador Inicial Contador Final ->>>>>>> d4656e0e44b6f43d88cea85fd3ca4cd16f0e76fd Impressões Ações -- libgit2 0.21.2