﻿-- select * from pbx_classifica_atendimento;
update pbx_classifica_atendimento set clas_descricao = upper( remove_acentos(clas_descricao));

-- select * from pbx_classifica_item;
update pbx_classifica_item set clit_descricao = upper( remove_acentos(clit_descricao));

--  select * from pbx_grupo where user_id = 0
update pbx_grupo set gp_nome = upper( remove_acentos(gp_nome)) where user_id = 0;

/* INICIO - Cria um grupo para o usuario quando nao existir e o associa ao mesmo, isto
   e necessario para poder atribuir permissoes especifica do usuario */

-- Esta view depende da tabela pbx_grupo
DROP VIEW if exists pbx_usuarios_dacs; 

-- Realiza um back-up dos grupos atuais,
drop table if exists pbx_grupo_bk;
select * into pbx_grupo_bk from pbx_grupo where user_id = 0;




-- Recria a tabela de grupos incluindo o campo user_id que sera usado 
-- para diferenciar um grupo normal de um grupo de usuario, o sistema
-- ira incluir automaticamente um grupo com o mesmo nome do usuario
-- toda vez que for criado para armazenar permissoes individuais,
-- o indice unico gp_nome foi modificado para conter user_id a fim
-- de nao ter conflitos de nome de grupos e usuarios. Estes grupos 
-- não serao mostrados na tela de administracao de grupo e serao apa
-- gados juntamente com o usuario quando o mesmo for deletado.
 DROP TABLE if exists pbx_grupo;
CREATE TABLE pbx_grupo
(
  gp_id integer NOT NULL DEFAULT nextval('pbx_grupo_gp_id_seq'::regclass),
  gp_nome character varying(50) NOT NULL,
  gp_status integer NOT NULL DEFAULT 1,
  user_id integer not null default 0,
  gp_user integer NOT NULL DEFAULT 0,
  CONSTRAINT "pkGrupId" PRIMARY KEY (gp_id),
  CONSTRAINT "idxGrupNome" UNIQUE (gp_nome, user_id)
);

-- Importa os usuarios atuais
insert into pbx_grupo(gp_id, gp_nome, gp_status, user_id, gp_user)
select gp_id, gp_nome, gp_status, 0, gp_user from pbx_grupo_bk order by gp_nome;

-- Importa usuarios como grupos
insert into pbx_grupo(gp_nome, gp_status, user_id, gp_user)
select apelido, 1, id, id from pbx_usuarios where delete_ = 0 and apelido not in('admin', 'administrador', 'sinccontasenha', 'aplicativos');

--Inser o usuario no mesmo grupo criado com seu login.
insert into pbx_grupo_usuario(user_id, gp_id)
select user_id, gp_id from pbx_grupo where user_id > 0;

CREATE OR REPLACE VIEW pbx_usuarios_dacs AS 
 SELECT a.user_id AS id_usuario, c.apelido, c.nome, a.gp_id, d.gp_nome, b.id AS id_dac, e.nome AS nome_dac
   FROM pbx_grupo_usuario a, pbx_fila_grupos b, pbx_usuarios c, pbx_grupo d, pbx_dacs e
  WHERE b.gp_id = a.gp_id AND c.id = a.user_id AND d.gp_id = a.gp_id AND e.id = b.id;

--  select * from pbx_usuarios a where not exists(select '' from pbx_grupo where user_id = a.id);
--  select * from pbx_grupo
/* FIM */

-- select * from pbx_motivos_pausas  
update pbx_motivos_pausas set  motivo = upper(remove_acentos(motivo));

--  select * from pbx_usuarios 
update pbx_usuarios set  nome = upper(remove_acentos(nome));

--  select * from pbx_anuncios;
update pbx_anuncios set  nome = upper(remove_acentos(nome));

--  select * from pbx_callback;
update pbx_callback set  descricao = upper(remove_acentos(descricao));


--  select * from pbx_disa;
update pbx_disa set  descricao = upper(remove_acentos(descricao));


--  select * from pbx_queues_grupos  
update ast_eventos_dacs set fila = upper(remove_acentos(fila));
update pbx_eventos_dacs set fila = upper(remove_acentos(fila));
update pbx_queues_grupos set nome = upper(remove_acentos(nome));
update pbx_abandonadas_semretorno set abdsr_fila = upper(remove_acentos(abdsr_fila));
update pbx_abandonadas_status set fila = upper(remove_acentos(fila));


--  select * from pbx_musichold_grupos;
update pbx_musichold_grupos set  nome = upper(remove_acentos(nome));


--  select * from pbx_cs_usuarios;
update pbx_cs_usuarios set  nome = upper(remove_acentos(nome)), apelido = lower(remove_acentos(apelido));

--  select * from pbx_contextos;
update pbx_contextos set  nome = upper(remove_acentos(nome));

--  select * from pbx_grupos_atendimento;
update pbx_contextos set  nome = upper(remove_acentos(nome));

--  select * from pbx_centro_custo;
update pbx_centro_custo set  cc_descricao = upper(remove_acentos(cc_descricao));

--  select * from pbx_departamentos;
update pbx_departamentos set nome_depto = upper(remove_acentos(nome_depto));

--  select * from pbx_empresa;
update pbx_empresa set  nome = upper(remove_acentos(nome)),  razao_social = upper(remove_acentos(razao_social)), endereco_site = lower(remove_acentos(endereco_site));


--  select * from pbx_grupos_atendimento;
update pbx_grupos_atendimento set  nome = upper(remove_acentos(nome));

--  select * from pbx_listanegra limit 100;
update pbx_listanegra set  nome = upper(remove_acentos(nome)) where id_pai is null;

--  select * from pbx_rotas_entrada limit 100;
update pbx_rotas_entrada set  nome = upper(remove_acentos(nome));

--  select * from pbx_rotas_saida  limit 100;
update pbx_rotas_saida set  nome = upper(remove_acentos(nome));

--  select * from pbx_ura;
update pbx_ura set  nome = upper(remove_acentos(nome));

--  select * from pbx_voicemail_usuarios  
update pbx_ura set  nome = upper(remove_acentos(nome));


--  select * from pbx_funcoes_internas where id_prog = 10032;




 
