Browse Source

correcao em scripts sql e ajuste na funcao para quando a nova licenca possuir um cnpj diferente da licenca atual, ela vai excluir a antiga

1.9
douglas.strappasson 1 year ago
parent
commit
27a0c8f8b5
  1. 10
      include/util/funcoesLicenca.php
  2. 39
      projeto/base/sql/grupo_licenca_developers.sql
  3. 18
      projeto/base/sql/versao-1.7.12.sql

10
include/util/funcoesLicenca.php

@ -260,7 +260,7 @@ function __validLicenca($dbcon, $data) {
if ($respbx['clto_cnpj'] == $data['clto_document']) {
__updateLicenca($dbcon, $data, $columns, $table, $where, $filter);
} else {
__sendLicenca($dbcon, $data, $columns, $table, $where, $filter);
__sendLicenca($dbcon, $data, $columns, $table);
}
if (!pg_query($dbcon, 'COMMIT')) {
@ -289,8 +289,14 @@ function __updateLicenca($dbcon, $data, $columns, $table, $where, $filter) {
}
}
function __sendLicenca($dbcon, $data, $columns, $table, $where, $filter) {
function __sendLicenca($dbcon, $data, $columns, $table) {
$values = array_values($data);
$query = sprintf("TRUNCATE TABLE %s", $table);
if (!pg_query($dbcon, $query)) {
throw new Exception("Não foi possível inserir as informações da licença no [Simples IP]!");
}
$query = sprintf("INSERT INTO %s (%s) VALUES('%s');", $table, implode(',', $columns), implode("','", $values));
if (!pg_query($dbcon, $query)) {

39
projeto/base/sql/grupo_licenca_developers.sql

@ -0,0 +1,39 @@
INSERT INTO pbx_grupo (gp_id, gp_nome, gp_status, user_id, gp_user, gp_system, gp_descricao)
VALUES ('-1', 'DEVELOPERS', 1, 0, 0, 1, 'Grupo para teste desenvolvimento');
-- Cria a funcao para facilitar a insercao dos dados do grupo das licencas.
CREATE OR REPLACE FUNCTION inserir_dados_licenca_grupos(grupo_nome text, funcao_ids integer[])
RETURNS VOID AS
$$
DECLARE
grupo_id integer;
BEGIN
SELECT gp_id INTO grupo_id
FROM pbx_grupo
WHERE gp_nome = grupo_nome;
IF grupo_id IS NOT NULL THEN
INSERT INTO pbx_grupo_funcoes (gp_id, fun_id)
SELECT grupo_id, unnest(funcao_ids);
ELSE
RAISE EXCEPTION 'Grupo nao encontrado: %', grupo_nome;
END IF;
END;
$$
LANGUAGE plpgsql;
-- Chama a funcao passando o nome do grupo e a lista de funcoes associadas.
SELECT inserir_dados_licenca_grupos('DEVELOPERS', ARRAY[1,2,3,4,5,7,8,9,10,11,12,13,15,16,17,18,19,21,22,23,24,25,27,28,29,31,
33,34,36,39,40,41,42,43,44,45,46,47,48,108,49,52,53,54,55,56,58,61,62,
63,64,65,66,69,70,71,72,73,75,76,77,78,80,81,82,83,84,86,89,90,91,92,93,
94,96,97,98,99,100,101,102,105,106,107,109,110,111,113,114,115,116,117,118,
119,120,122,125,126,127,128,129,130,131,132,135,137,138,140,141,142,143,144,
145,146,147,148,149,150,151,152,154,155,156,157,158,159,160,161,162,163,166,
167,168,169,170,172,175,186,187,188,189,190,191,192,193,194,196,197,198,199,
200,202,203,204,205,208,209,210,211,212,213,214,217,218,219,220,112]
);
-- Exclui a funcao do banco.
DROP FUNCTION IF EXISTS inserir_dados_licenca_grupos(text, integer[]);

18
projeto/base/sql/versao-1.7.12.sql

@ -60,20 +60,20 @@ ALTER TABLE IF EXISTS public.pbx_licenca_pa_fixo
--cria as colunas necessárias
ALTER TABLE IF EXISTS pbx_grupo
ADD COLUMN gp_system int;
ADD COLUMN gp_system int DEFAULT 0;
ALTER TABLE IF EXISTS pbx_grupo
ADD COLUMN gp_descricao varchar(255);
--insere os grupos e sua descricao
INSERT INTO pbx_grupo (gp_nome, gp_status, user_id, gp_user, gp_system, gp_descricao)
VALUES ('SMART', 1, 0, 0, 1, 'Linha com baixo custo e e recursos basicos para pequenos negocios.'),
('ISP', 1, 0, 0, 1, 'Atende o nicho de provedores de internet e possui alguns recursos exclusivos para o setor.'),
('CORP', 1, 0, 0, 1, 'Perfil desenhado para atender o segmento corporativo com exigencia de alta disponibilidade e recursos avancados.'),
('SX', 1, 0, 0, 1, 'A linha de melhor custo beneficio do mercado, flexivel adapta-se a qualquer modelo de negocio.'),
('ALGAR', 1, 0, 0, 1, 'Perfil criado para atender a parceria Algar, utilizado em sua revendas.'),
('GOV', 1, 0, 0, 1, 'Desenvolvido para clientes governamentais com altos requisitos de segurança.'),
('SMART+', 1, 0, 0, 1, 'Linha com baixo custo e uma gama de recursos avançados para pequenos negocios.');
INSERT INTO pbx_grupo (gp_id, gp_nome, gp_status, user_id, gp_user, gp_system, gp_descricao)
VALUES ('-2', 'SMART', 1, 0, 0, 1, 'Linha com baixo custo e e recursos basicos para pequenos negocios.'),
('-3', 'ISP', 1, 0, 0, 1, 'Atende o nicho de provedores de internet e possui alguns recursos exclusivos para o setor.'),
('-4', 'CORP', 1, 0, 0, 1, 'Perfil desenhado para atender o segmento corporativo com exigencia de alta disponibilidade e recursos avancados.'),
('-5', 'SX', 1, 0, 0, 1, 'A linha de melhor custo beneficio do mercado, flexivel adapta-se a qualquer modelo de negocio.'),
('-6', 'ALGAR', 1, 0, 0, 1, 'Perfil criado para atender a parceria Algar, utilizado em sua revendas.'),
('-7', 'GOV', 1, 0, 0, 1, 'Desenvolvido para clientes governamentais com altos requisitos de segurança.'),
('-8', 'SMART+', 1, 0, 0, 1, 'Linha com baixo custo e uma gama de recursos avançados para pequenos negocios.');
-- Cria a função para facilitar a inserção dos dados do grupo das licenças.

Loading…
Cancel
Save