declare
    object_exists exception;
    pragma exception_init (object_exists , -00955);
begin
  execute immediate
	'CREATE TABLE MENSAGEM_RECUSA(
        MENSAGEMRECUSA_ID NUMBER(7,0),
        TIPO_MENSAGEM VARCHAR(1),
        CATEGORIA_ID NUMBER(7,0),
        DESCRICAO VARCHAR(250),
        ACTIVO NUMBER(1,0),
        USUARIO_ID NUMBER(7,0),
        FECMODIF DATE,
        TIPO_RELATORIO NUMBER(1,0),
        CONSTRAINT MENSAGEM_RECUSA_PK PRIMARY KEY (MENSAGEMRECUSA_ID),
        CONSTRAINT MENSAGEM_RECUSA_CATEGORIA FOREIGN KEY(CATEGORIA_ID) REFERENCES CATEGORIA(CATEGORIA_ID),
        CONSTRAINT MENSAGEM_RECUSA_USUARIO    FOREIGN KEY(USUARIO_ID) REFERENCES USUARIO(USUARIO_ID)
    )';
 exception when object_exists then null;
end;
/
declare
    object_exists exception;
    pragma exception_init (object_exists , -00955);
begin
  execute immediate
	'CREATE TABLE RECUSA(
        RECUSA_ID NUMBER(7,0),
        EMPRESA_ID NUMBER(7,0),
        RUTA_ID NUMBER(7,0),
        FECEMISSAO DATE,
        CORRIDA_ID NUMBER(7,0),
        FECCORRIDA DATE,
        ORIGEM_ID NUMBER(7,0),
        DESTINO_ID NUMBER(7,0),
        CATEGORIA_ID NUMBER(7,0),
        CLASESERVICIO_ID NUMBER(7,0),
        USUARIO_ID NUMBER(7,0),
        FECMODIF DATE,
        ACTIVO NUMBER(1,0),
        FECRECUSA DATE,
        PUNTOVENTA_ID NUMBER(7,0),
        CONSTRAINT RECUSA_PK PRIMARY KEY (RECUSA_ID),
        CONSTRAINT RECUSA_EMPRESA FOREIGN KEY(EMPRESA_ID) REFERENCES EMPRESA(EMPRESA_ID),
        CONSTRAINT RECUSA_RUTA FOREIGN KEY(RUTA_ID) REFERENCES RUTA(RUTA_ID),
        CONSTRAINT RECUSA_CORRIDA FOREIGN KEY (CORRIDA_ID,FECCORRIDA) REFERENCES CORRIDA(CORRIDA_ID,FECCORRIDA),
        CONSTRAINT RECUSA_ORIGEM FOREIGN KEY (ORIGEM_ID) REFERENCES PARADA(PARADA_ID),
        CONSTRAINT RECUSA_DESTINO FOREIGN KEY (DESTINO_ID) REFERENCES PARADA(PARADA_ID),
        CONSTRAINT RECUSA_CATEGORIA FOREIGN KEY (CATEGORIA_ID) REFERENCES CATEGORIA(CATEGORIA_ID),
        CONSTRAINT RECUSA_CLASSESERVICIO FOREIGN KEY (CLASESERVICIO_ID) REFERENCES CLASE_SERVICIO(CLASESERVICIO_ID),
        CONSTRAINT RECUSA_USUARIO FOREIGN KEY (USUARIO_ID) REFERENCES USUARIO(USUARIO_ID),
        CONSTRAINT RECUSA_PUNTOVENTA FOREIGN KEY (PUNTOVENTA_ID) REFERENCES PUNTO_VENTA(PUNTOVENTA_ID)
    )';
 exception when object_exists then null;
end;
/
declare
    object_exists exception;
    pragma exception_init (object_exists , -00955);
begin
  execute immediate
	'CREATE TABLE MENSAGEM_RECUSA_RECUSA(
        MENSAGEMRECUSA_ID  NUMBER(7,0),
        RECUSA_ID NUMBER(7,0),
        CONSTRAINT MRR_MENSAGEMRECUSA FOREIGN KEY(MENSAGEMRECUSA_ID) REFERENCES MENSAGEM_RECUSA(MENSAGEMRECUSA_ID),
        CONSTRAINT MRR_RECUSA FOREIGN KEY(RECUSA_ID) REFERENCES RECUSA(RECUSA_ID)
    )';
 exception when object_exists then null;
end;
/
declare
    object_exists exception;
    pragma exception_init (object_exists , -00955);
begin
  execute immediate 'CREATE SEQUENCE  MENSAGEM_RECUSA_SEQ  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER  NOCYCLE';	
  exception when object_exists then null;
end;
/
declare
    object_exists exception;
    pragma exception_init (object_exists , -00955);
begin
  execute immediate 'CREATE SEQUENCE  RECUSA_SEQ  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER  NOCYCLE';	
  exception when object_exists then null;
end;
/
declare
begin
  execute immediate 'INSERT INTO MENSAGEM_RECUSA(MENSAGEMRECUSA_ID,TIPO_MENSAGEM,DESCRICAO,ACTIVO,USUARIO_ID,FECMODIF)
    VALUES                     (MENSAGEM_RECUSA_SEQ.nextVal,''R'',''O Idoso n�o apresentou qualquer documento pessoal com foto original, com f� p�blica que comprove idade m�nima de 60 (sessenta) anos e/ou comprovante de renda igual ou inferior a 02 (dois) sal�rios m�nimos''
    ,1,1,sysdate)';
  execute immediate 'INSERT INTO MENSAGEM_RECUSA(MENSAGEMRECUSA_ID,TIPO_MENSAGEM,DESCRICAO,ACTIVO,USUARIO_ID,FECMODIF)
    VALUES                     (MENSAGEM_RECUSA_SEQ.nextVal,''R'',''No momento da solicita��o do benef�cio (100% de desconto) as 02 (duas) vagas estavam preenchidas''
    ,1,1,sysdate)';
  execute immediate 'INSERT INTO MENSAGEM_RECUSA(MENSAGEMRECUSA_ID,TIPO_MENSAGEM,DESCRICAO,ACTIVO,USUARIO_ID,FECMODIF)
    VALUES                     (MENSAGEM_RECUSA_SEQ.nextVal,''R'',''O idoso recusou o benef�cio de bilhete com 50% de desconto''
    ,1,1,sysdate)';
  execute immediate 'INSERT INTO MENSAGEM_RECUSA(MENSAGEMRECUSA_ID,TIPO_MENSAGEM,DESCRICAO,ACTIVO,USUARIO_ID,FECMODIF)
    VALUES                     (MENSAGEM_RECUSA_SEQ.nextVal,''R'',''No momento da solicita��o do benef�cio (50% de desconto) n�o havia poltrona dispon�vel (�nibus lotado), tendo sido oferecido outro hor�rio do servi�o convencional''
    ,1,1,sysdate)';
  execute immediate 'INSERT INTO MENSAGEM_RECUSA(MENSAGEMRECUSA_ID,TIPO_MENSAGEM,DESCRICAO,ACTIVO,USUARIO_ID,FECMODIF)
    VALUES                     (MENSAGEM_RECUSA_SEQ.nextVal,''R'',''A pessoa portadora de defici�ncia n�o apresentou a carteira do Passe Livre emitida pelo Governo Federal''
    ,1,1,sysdate)';
  execute immediate 'INSERT INTO MENSAGEM_RECUSA(MENSAGEMRECUSA_ID,TIPO_MENSAGEM,DESCRICAO,ACTIVO,USUARIO_ID,FECMODIF)
    VALUES                     (MENSAGEM_RECUSA_SEQ.nextVal,''R'',''A pessoa portadora de defici�ncia apresentou a carteira do Passe Livre emitida pelo Governo Federal com prazo de validade vencido''
    ,1,1,sysdate)';
  execute immediate 'INSERT INTO MENSAGEM_RECUSA(MENSAGEMRECUSA_ID,TIPO_MENSAGEM,DESCRICAO,ACTIVO,USUARIO_ID,FECMODIF)
    VALUES                     (MENSAGEM_RECUSA_SEQ.nextVal,''R'',''No momento da solicita��o do benef�cio n�o havia poltrona dispon�vel (�nibus lotado), tendo sido oferecido outro hor�rio do servi�o convencional''
    ,1,1,sysdate)';
  execute immediate 'INSERT INTO MENSAGEM_RECUSA(MENSAGEMRECUSA_ID,TIPO_MENSAGEM,DESCRICAO,ACTIVO,USUARIO_ID,FECMODIF)
    VALUES                     (MENSAGEM_RECUSA_SEQ.nextVal,''R'',''O Jovem n�o apresentou a Identidade Jovem dentro do prazo de validade, acompanhada de documento de identifica��o com foto expedido por �rg�o p�blico e v�lido em todo territ�rio nacional''
    ,1,1,sysdate)';
  execute immediate 'INSERT INTO MENSAGEM_RECUSA(MENSAGEMRECUSA_ID,TIPO_MENSAGEM,DESCRICAO,ACTIVO,USUARIO_ID,FECMODIF)
    VALUES                     (MENSAGEM_RECUSA_SEQ.nextVal,''R'',''No momento da solicita��o do benef�cio (100% de desconto) as 02 (duas) vagas estavam preenchidas''
    ,1,1,sysdate)';
  execute immediate 'INSERT INTO MENSAGEM_RECUSA(MENSAGEMRECUSA_ID,TIPO_MENSAGEM,DESCRICAO,ACTIVO,USUARIO_ID,FECMODIF)
    VALUES                     (MENSAGEM_RECUSA_SEQ.nextVal,''R'',''O Jovem recusou o benef�cio de bilhete com 50% de desconto''
    ,1,1,sysdate)';
  execute immediate 'INSERT INTO MENSAGEM_RECUSA(MENSAGEMRECUSA_ID,TIPO_MENSAGEM,DESCRICAO,ACTIVO,USUARIO_ID,FECMODIF)
    VALUES                     (MENSAGEM_RECUSA_SEQ.nextVal,''R'',''No momento da solicita��o do benef�cio (50% de desconto) as 02 (duas) vagas estavam preenchidas''
    ,1,1,sysdate)';

  exception when others  then null;
end;
