/* 
/*CODIGO PADRÃO DO SISTEMA: SGP */

ALTER TABLE TBG_sistema CHANGE COLUMN SIST_codigo SIST_codigo CHAR(4) NULL DEFAULT NULL ;

/* USUARIO SIDNEY SENHA: 280264 */
INSERT INTO TBG_usuario 
(USUA_nome,password,USUA_email,USUA_ativo,USUA_login) 
VALUES('SIDNEY CARVALHO','$2y$10$xO8mXgiR/s9NpdznstidGem5RqYvvzfDT76kpfd0JVf8ouBycKcqK','sidney_fc@msn.com',true,'SIDNEY');

/* INSERE CODIGO DO SISTEMA, CASO NÃO EXISTA */
INSERT INTO TBG_sistema (SIST_descricao,SIST_codigo) VALUES('SGP','SGP');
-- INSERT INTO TBG_sistema (SIST_descricao,SIST_codigo) SELECT * FROM (SELECT 'SGP' nome,'SGP' codigo) AS tmp WHERE NOT EXISTS (SELECT SIST_codigo FROM TBG_sistema WHERE SIST_codigo = 'SGP');

/* GUARDA O ID DO SISTEMA NA VARIÁVEL */
SELECT 1 := SIST_id FROM TBG_sistema WHERE SIST_codigo = 'SGP' LIMIT 1;

/*CRIA CLASSE 'ADM' NO SISTEMA, CASO AINDA NÃO EXISTA*/
-- INSERT INTO TBG_classe(CLA_descricao,CLA_codigo,CLA_admin,CLA_FK_SIST_id) SELECT * FROM (SELECT 'Administrador','ADM',1,1) AS TMP WHERE NOT EXISTS(SELECT 1 FROM TBG_classe WHERE CLA_admin = 1 AND CLA_FK_SIST_id = 1);
-- INSERT INTO TBG_classe (CLA_descricao,CLA_codigo,CLA_admin,CLA_FK_SIST_id) VALUES ('Administrador','ADM',1,1);
INSERT INTO `TBG_classe` 
(`CLA_FK_SIST_id`, `CLA_descricao`, `CLA_codigo`, `CLA_admin`) 
VALUES ('1', 'ADMINISTRADOR', 'ADM', '1');

/* RELACIONA O USUÁRIO PADRÃO COM A CLASSE 'ADM' DO SISTEMA */
-- INSERT INTO TBG_permissao(PERM_FK_CLA_id,PERM_FK_USUA_id) VALUES((SELECT CLA_ID FROM TBG_classe WHERE CLA_codigo = 'ADM' AND CLA_FK_SIST_id = 1),(SELECT USUA_ID FROM TBG_usuario WHERE USUA_cpf = '23728361372' limit 1));
INSERT INTO TBG_permissao (PERM_FK_CLA_id,PERM_FK_USUA_id) VALUES (1, 1);


/*################################ ROTAS ################################*/

/**** Menu Configurações ****/
INSERT INTO TBG_rotas(ROTA_nome,ROTA_rota,ROTA_menu,ROTA_icone,ROTA_FK_SIST_id,ROTA_FK_ROTA_id)
VALUES
/* Menu 'Admin' */
('Admin','config',1,'fas fa-cog fa-lg',1,NULL)

/* Sistema */
,('Sistema','adm.sistema',1,'fas fa-laptop',1,(SELECT r.ROTA_id FROM TBG_rotas r WHERE r.ROTA_rota = 'config' AND r.ROTA_FK_SIST_id = 1 LIMIT 1))
,('salva sistema','adm.sistema.salvar',0,NULL,1,(SELECT r.ROTA_id FROM TBG_rotas r WHERE r.ROTA_rota = 'adm.rota' AND r.ROTA_FK_SIST_id = 1 LIMIT 1))
,('deleta sistema','adm.sistema.delete',0,NULL,1,(SELECT r.ROTA_id FROM TBG_rotas r WHERE r.ROTA_rota = 'adm.rota' AND r.ROTA_FK_SIST_id = 1 LIMIT 1))

/* Classe*/
,('Classes','adm.classe',1,'fas fa-user-tag',1,(SELECT r.ROTA_id FROM TBG_rotas r WHERE r.ROTA_rota = 'config' AND r.ROTA_FK_SIST_id = 1 LIMIT 1))
,('salva classe','adm.classe.salvar',0,NULL,1,(SELECT r.ROTA_id FROM TBG_rotas r WHERE r.ROTA_rota = 'adm.classe' AND r.ROTA_FK_SIST_id = 1 LIMIT 1))
,('deleta classe','adm.classe.delete',0,NULL,1,(SELECT r.ROTA_id FROM TBG_rotas r WHERE r.ROTA_rota = 'adm.classe' AND r.ROTA_FK_SIST_id = 1 LIMIT 1))

/* Rotas */
,('Rotas','adm.rota',1,'fas fa-route',1,(SELECT r.ROTA_id FROM TBG_rotas r WHERE r.ROTA_rota = 'config' AND r.ROTA_FK_SIST_id = 1 LIMIT 1))
,('salva rotas','adm.rota.salvar',0,NULL,1,(SELECT r.ROTA_id FROM TBG_rotas r WHERE r.ROTA_rota = 'adm.rota' AND r.ROTA_FK_SIST_id = 1 LIMIT 1))
,('delete rotas','adm.rota.delete',0,NULL,1,(SELECT r.ROTA_id FROM TBG_rotas r WHERE r.ROTA_rota = 'adm.rota' AND r.ROTA_FK_SIST_id = 1 LIMIT 1))

/* Classes x Rotas */
,('Classe x Rotas','adm.classe_rotas',1,'fas fa-code-branch',1,(SELECT r.ROTA_id FROM TBG_rotas r WHERE r.ROTA_rota = 'config' AND r.ROTA_FK_SIST_id = 1 LIMIT 1))
,('associa classes x rotas','adm.classe_rotas.ajax-associa-rotas',0,NULL,1,(SELECT r.ROTA_id FROM TBG_rotas r WHERE r.ROTA_rota = 'adm.rota' AND r.ROTA_FK_SIST_id = 1 LIMIT 1))

/* Parâmetro */
,('Parâmetro','adm.parametro',1,'fas fa-hashtag',1,(SELECT r.ROTA_id FROM TBG_rotas r WHERE r.ROTA_rota = 'config' AND r.ROTA_FK_SIST_id = 1 LIMIT 1))
,('salva parâmetro','adm.parametro.salvar',0,NULL,1,(SELECT r.ROTA_id FROM TBG_rotas r WHERE r.ROTA_rota = 'adm.parametro' AND r.ROTA_FK_SIST_id = 1 LIMIT 1))
,('deleta parâmetro','adm.parametro.delete',0,NULL,1,(SELECT r.ROTA_id FROM TBG_rotas r WHERE r.ROTA_rota = 'adm.parametro' AND r.ROTA_FK_SIST_id = 1 LIMIT 1))

/* Usuários */
,('Usuários','adm.usuario',1,'fas fa-user-friends fa-lg',1,(SELECT r.ROTA_id FROM TBG_rotas r WHERE r.ROTA_rota = 'config' AND r.ROTA_FK_SIST_id = 1 LIMIT 1))
,('salva usuário','adm.usuario.salvar',0,NULL,1,(SELECT r.ROTA_id FROM TBG_rotas r WHERE r.ROTA_rota = 'adm.usuario' AND r.ROTA_FK_SIST_id = 1 LIMIT 1))
,('delete usuário','adm.usuario.delete',0,NULL,1,(SELECT r.ROTA_id FROM TBG_rotas r WHERE r.ROTA_rota = 'adm.usuario' AND r.ROTA_FK_SIST_id = 1 LIMIT 1))

/* Estados */
,('Estado','adm.uf',1,'fas fa-caret-right',1,(SELECT r.ROTA_id FROM TBG_rotas r WHERE r.ROTA_rota = 'config' AND r.ROTA_FK_SIST_id = 1 LIMIT 1))
,('salva UF','adm.uf.salvar',0,NULL,1,(SELECT r.ROTA_id FROM TBG_rotas r WHERE r.ROTA_rota = 'adm.uf' AND r.ROTA_FK_SIST_id = 1 LIMIT 1))

 /* Cidades */
,('Cidades','adm.cidade',1,'fas fa-caret-right',1,(SELECT r.ROTA_id FROM TBG_rotas r WHERE r.ROTA_rota = 'config' AND r.ROTA_FK_SIST_id = 1 LIMIT 1))
,('salva cidade','adm.cidade.salvar',0,NULL,1,(SELECT r.ROTA_id FROM TBG_rotas r WHERE r.ROTA_rota = 'adm.cidade' AND r.ROTA_FK_SIST_id = 1 LIMIT 1));






/*RELACIONA TODAS AS ROTAS DO SISTEMA COM A CLASSE 'ADM'*/
INSERT INTO TBG_classe_rota(CLARO_FK_CLA_id,CLARO_FK_ROTA_id)
SELECT
    (SELECT CLA_ID FROM TBG_classe WHERE CLA_admin = 1 AND CLA_FK_SIST_id = 1),
    ROTA_id
FROM TBG_rotas
WHERE ROTA_FK_SIST_id = 1;


INSERT INTO TBG_classe_rota(CLARO_FK_CLA_id,CLARO_FK_ROTA_id)
SELECT 2, ROTA_id
FROM TBG_rotas
WHERE ROTA_FK_SIST_id = 1;


/*INSERE ROTAS DO CADASTRO*/
INSERT INTO `TBG_rotas` 
(`ROTA_FK_SIST_id`, `ROTA_FK_ROTA_id`, `ROTA_nome`, `ROTA_rota`, `ROTA_menu`, `ROTA_icone`) 
VALUES ('1', NULL, 'Cadastro', 'cadastro', '1', 'fas fa-edit');

INSERT INTO `TBG_rotas` 
(`ROTA_FK_SIST_id`, `ROTA_FK_ROTA_id`, `ROTA_nome`, `ROTA_rota`, `ROTA_menu`, `ROTA_icone`) 
VALUES ('1', '45', 'Cliente', 'cadastro.cliente', '1', 'fas fa-user-tie');

INSERT INTO `TBG_rotas` 
(`ROTA_FK_SIST_id`, `ROTA_FK_ROTA_id`, `ROTA_nome`, `ROTA_rota`, `ROTA_menu`, `ROTA_icone`) 
VALUES ('1', '45', 'Destino', 'cadastro.destino', '1', 'fas fa-map-marker-alt');

INSERT INTO `TBG_rotas` 
(`ROTA_FK_SIST_id`, `ROTA_FK_ROTA_id`, `ROTA_nome`, `ROTA_rota`, `ROTA_menu`, `ROTA_icone`) 
VALUES ('1', '45', 'Veículo', 'cadastro.veiculo', '1', 'fas fa-truck');

INSERT INTO `TBG_rotas` 
(`ROTA_FK_SIST_id`, `ROTA_FK_ROTA_id`, `ROTA_nome`, `ROTA_rota`, `ROTA_menu`, `ROTA_icone`) 
VALUES ('1', '45', 'Motorista', 'cadastro.motorista', '1', 'fas fa-user');

INSERT INTO `TBG_rotas` 
(`ROTA_FK_SIST_id`, `ROTA_FK_ROTA_id`, `ROTA_nome`, `ROTA_rota`, `ROTA_menu`, `ROTA_icone`) 
VALUES ('1', '45', 'Transportador', 'cadastro.transportador', '1', 'fas fa-truck-loading');

INSERT INTO `TBG_rotas` 
(`ROTA_FK_SIST_id`, `ROTA_FK_ROTA_id`, `ROTA_nome`, `ROTA_rota`, `ROTA_menu`, `ROTA_icone`) 
VALUES ('1', '45', 'Produto', 'cadastro.produto', '1', 'fas fa-box');

-- DÁ PERMISSAO AS ROTAS DO CADASTRO AO ADM
INSERT INTO TBG_classe_rota(CLARO_FK_CLA_id,CLARO_FK_ROTA_id)
SELECT 1, ROTA_id
FROM TBG_rotas
WHERE ROTA_FK_SIST_id = 1 AND (ROTA_FK_ROTA_id=45 OR ROTA_id=45);

