From f408a131bc8948d00a4b08301220b3b14d9505f4 Mon Sep 17 00:00:00 2001 From: Eduardo Santos Date: Wed, 30 Jul 2014 12:00:58 -0300 Subject: [PATCH] Conserta bug das impressoras que permitia mais de um registro na mesma data --- src/Cacic/CommonBundle/DoctrineMigrations/Version20140801004047.php | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/Cacic/RelatorioBundle/Resources/views/Hardware/rel_wmi.html.twig | 2 +- 2 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 src/Cacic/CommonBundle/DoctrineMigrations/Version20140801004047.php diff --git a/src/Cacic/CommonBundle/DoctrineMigrations/Version20140801004047.php b/src/Cacic/CommonBundle/DoctrineMigrations/Version20140801004047.php new file mode 100644 index 0000000..0866631 --- /dev/null +++ b/src/Cacic/CommonBundle/DoctrineMigrations/Version20140801004047.php @@ -0,0 +1,79 @@ +container = $container; + } + + public function up(Schema $schema) + { + // this up() migration is auto-generated, please modify it to your needs + $this->abortIf($this->connection->getDatabasePlatform()->getName() != "postgresql", "Migration can only be executed safely on 'postgresql'."); + $logger = $this->container->get('logger'); + + // Função de atualização da tabela de impressoras + $this->addSql(" + CREATE OR REPLACE FUNCTION conserta_impressoras() RETURNS VOID AS $$ +DECLARE + impr record; + v_id integer; +BEGIN + FOR impr IN select count(id) as impr, + date, + printer_id + from tb_printer_counter + group by date, + printer_id + having count(id) > 1 LOOP + + SELECT max(id) INTO v_id + FROM tb_printer_counter + WHERE date = impr.date + AND printer_id = impr.printer_id; + + RAISE NOTICE 'Removing log id = % printer_id = % date = %',v_id,impr.printer_id,impr.date; + + DELETE FROM tb_printer_counter + WHERE id <> v_id + AND date = impr.date + AND printer_id = impr.printer_id; + + END LOOP; + + RETURN; +END; +$$ LANGUAGE 'plpgsql'; + "); + + $logger->info("Função de atualização das impressoras criada"); + + $this->addSql("SELECT conserta_impressoras();"); + + $logger->info("Impressoras arrumadas"); + + $this->addSql("create unique index tb_printer_counter_date_uq on tb_printer_counter (date, printer_id);"); + + $logger->info("Índice único criado"); + + } + + public function down(Schema $schema) + { + // this down() migration is auto-generated, please modify it to your needs + + } +} diff --git a/src/Cacic/RelatorioBundle/Resources/views/Hardware/rel_wmi.html.twig b/src/Cacic/RelatorioBundle/Resources/views/Hardware/rel_wmi.html.twig index a7ed3f7..8e4ca5a 100755 --- a/src/Cacic/RelatorioBundle/Resources/views/Hardware/rel_wmi.html.twig +++ b/src/Cacic/RelatorioBundle/Resources/views/Hardware/rel_wmi.html.twig @@ -37,7 +37,7 @@ {{ reg.nmLocal }} {{ reg.nmRede }} / {{ reg.teIpRede }} {{ reg.nmPropertyName }} - {{ reg.numComp }} + {{ reg.numComp }} {{ reg.teClassPropertyValue }} {% else %} -- libgit2 0.21.2