CREATE TABLE TBAJUDA (
    ID INTEGER NOT NULL,
    MENU INTEGER,
    STATUS INTEGER);

ALTER TABLE TBAJUDA
ADD CONSTRAINT PK_TBAJUDA
PRIMARY KEY (ID);

CREATE SEQUENCE GTBAJUDA;

create trigger ttbajuda_b01i for tbajuda
active before insert position 0
as
begin
  if (new.id is null) then
    new.id = gen_id(gtbajuda,1);
end;

COMMENT ON TABLE TBAJUDA IS 'tabela de ajuda, indica se um menu tem a documentacao criada';

CREATE TABLE TBAJUDA_GRUPOS (
    ID INTEGER NOT NULL,
    DESCRICAO VARCHAR(100),
    STATUS INTEGER);

ALTER TABLE TBAJUDA_GRUPOS
ADD CONSTRAINT PK_TBAJUDA_GRUPOS
PRIMARY KEY (ID);

CREATE SEQUENCE GTBAJUDA_GRUPOS;

create trigger ttbajuda_grupos_b01i for tbajuda_grupos
active before insert position 0
as
begin
  if (new.id is null) then
    new.id = gen_id(gtbajuda_grupos,1);
end;

COMMENT ON TABLE TBAJUDA_GRUPOS IS 'tabela com os grupos de ajuda de um menu';

ALTER TABLE TBAJUDA_GRUPOS
    ADD AJUDA_ID INTEGER;

ALTER TABLE TBAJUDA
    ADD TIPO INTEGER;

COMMENT ON COLUMN TBAJUDA.TIPO IS
'1 - menu
2 - outros';

ALTER TABLE TBAJUDA
    ADD DESCRICAO VARCHAR(100);

COMMENT ON COLUMN TBAJUDA.DESCRICAO IS
'SE NÃO FOR TIPO 1, DEVE TER UMA DESCRICAO';

ALTER TABLE TBAJUDA ALTER COLUMN MENU
SET DEFAULT 0;

ALTER TABLE TBAJUDA ALTER COLUMN STATUS
SET DEFAULT 1;

ALTER TABLE TBAJUDA ALTER COLUMN TIPO
SET DEFAULT 1;

ALTER TABLE TBAJUDA ALTER COLUMN DESCRICAO
SET DEFAULT '';

ALTER TABLE TBAJUDA
    ADD SOBRE BLOB SUB_TYPE 1 SEGMENT SIZE 80;

COMMENT ON COLUMN TBAJUDA.SOBRE IS
'DESCRIÇÃO SOBRE AS FUNCIONALIDES DESTA TELA';

CREATE OR ALTER trigger ttbesteira_b03i for tbesteira
active before insert position 3
AS
begin
  if(new.familia_codigo = 3)then
  begin
     UPDATE OR INSERT INTO TBTV_AGENDAMENTO ("DESC", GP_ID)  VALUES (new.descricao, new.codigo) MATCHING ("DESC", GP_ID);
     UPDATE OR INSERT INTO TBAGRUPAMENTO_GP_DETALHE ( AGRUPAMENTO_GP_ID, GP_ID)  VALUES (0  , new.codigo) MATCHING (AGRUPAMENTO_GP_ID, GP_ID);
     UPDATE OR INSERT INTO TBAGRUPAMENTO_GP_DETALHE ( AGRUPAMENTO_GP_ID, GP_ID)  VALUES (14 , new.codigo) MATCHING (AGRUPAMENTO_GP_ID, GP_ID);
  end

  execute procedure SPI_EMAIL(
    fn_parametro('SISTEMA.EMAIL_NOVO_GP'),
    'Atenção - Novo Grupo de Produção Cadastrado',
    'Novo Grupo de Produção Cadastrado, providenciar:<br>- Criação de regras de transação de estoque<br>- Inclusão de Familia, Grupo, Perfil. Na localização de Estoque<br>- Verificar o Link da TV do BSC Geral.<br><br>GP: '||new.codigo||'-'||new.descricao||'<br>Data:'||formatdatetime(current_timestamp)||'<br>Usuário:'||fn_current_user_id()||'-'||current_user,
    0
  );

end;

ALTER TABLE TBAJUDA_GRUPOS
    ADD SOBRE BLOB SUB_TYPE 1 SEGMENT SIZE 80 CHARACTER SET UTF8 COLLATE UTF8;

ALTER TABLE TBAJUDA_GRUPOS
    ADD ORDEM INTEGER;

CREATE TABLE TBAJUDA_SOLUCAO (
    ID INTEGER NOT NULL,
    DESCRICAO VARCHAR(100),
    SOBRE BLOB SUB_TYPE 1 SEGMENT SIZE 80 CHARACTER SET UTF8 COLLATE UTF8);

ALTER TABLE TBAJUDA_SOLUCAO
ADD CONSTRAINT PK_TBAJUDA_SOLUCAO
PRIMARY KEY (ID);

CREATE SEQUENCE GTBAJUDA_SOLUCAO;

create trigger ttbajuda_solucao_b01i for tbajuda_solucao
active before insert position 0
as
begin
  if (new.id is null) then
    new.id = gen_id(gtbajuda_solucao,1);
end;

COMMENT ON TABLE TBAJUDA_SOLUCAO IS 'tabela com erros e soluções';

ALTER TABLE TBAJUDA_SOLUCAO
    ADD ORDEM INTEGER;

ALTER TABLE TBAJUDA_SOLUCAO
    ADD AJUDA_ID INTEGER;


ALTER TABLE TBAJUDA_SOLUCAO
    ADD STATUS INTEGER;


