ALTER TABLE TBREMESSA_SETOR
    ADD OFICINA_ID INTEGER DEFAULT 0;

ALTER TABLE TBSETOR
    ADD REGISTRA_OFICINA INTEGER DEFAULT 0;

COMMENT ON COLUMN TBSETOR.REGISTRA_OFICINA IS
'se 1, etapa anterior deve solicitar oficina';

update TBSETOR set REGISTRA_OFICINA = 0;



CREATE TABLE TBOFICINA_SETOR (
    OFICINA_ID  INTEGER NOT NULL,
    SETOR_ID     INTEGER NOT NULL,
    DATAHORA     TIMESTAMP DEFAULT 'NOW'
);

ALTER TABLE TBOFICINA_SETOR ADD PRIMARY KEY (OFICINA_ID, SETOR_ID);

CREATE INDEX ITBOFICINA_SETOR_01 ON TBOFICINA_SETOR (OFICINA_ID);
CREATE INDEX ITBOFICINA_SETOR_02 ON TBOFICINA_SETOR (SETOR_ID);


SET TERM ^ ;

/* Trigger: TBOFICINA_SETOR_BD1 */
CREATE OR ALTER TRIGGER TBOFICINA_SETOR_BD1 FOR TBOFICINA_SETOR
ACTIVE BEFORE DELETE POSITION 1
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN
  HISTORICO = '';
  IF(OLD.SETOR_ID > 0) THEN
  BEGIN
    HISTORICO = HISTORICO||' OFICINA EXCLUIDO:'||OLD.OFICINA_ID||' - '||COALESCE((SELECT FIRST 1 F.razaosocial FROM TBFORNECEDOR F WHERE F.CODIGO = OLD.OFICINA_ID),'');
  END

  IF(HISTORICO <> '') THEN
  BEGIN
    EXECUTE PROCEDURE SPI_HISTORICO('TBSETOR',OLD.SETOR_ID,HISTORICO);
  END
END
^

/* Trigger: TTBOFICINA_SETOR_B01D */
CREATE OR ALTER TRIGGER TTBOFICINA_SETOR_B01D FOR TBOFICINA_SETOR
ACTIVE BEFORE DELETE POSITION 9
AS
declare variable historico varchar(500);
BEGIN
  HISTORICO = '';
  IF(OLD.OFICINA_ID > 0) then
  BEGIN
    historico = historico||' UP EXCLUIDA:'||OLD.setor_id||' - '||coalesce((select first 1 f.descricao from tbsetor f where f.codigo = old.setor_id),'');
  END

  IF(HISTORICO <> '') then
  BEGIN
    execute procedure spi_historico('TBOFICINA',OLD.OFICINA_ID,historico);
  END
END
^

/* Trigger: TTBOFICINA_SETOR_B02I */
CREATE OR ALTER TRIGGER TTBOFICINA_SETOR_B02I FOR TBOFICINA_SETOR
ACTIVE BEFORE INSERT POSITION 9
AS
declare variable historico varchar(500);
BEGIN
  HISTORICO = '';
  IF(NEW.OFICINA_ID > 0 AND NEW.SETOR_ID > 0) then
  BEGIN
    historico = historico||' UP INCLUIDA:'||NEW.SETOR_ID||' - '||coalesce((select first 1 f.descricao from tbsetor f where f.codigo = new.setor_id),'');
  END

  IF(HISTORICO <> '') then
  BEGIN
    execute procedure spi_historico('TBOFICINA',NEW.OFICINA_ID,historico);
  END
END
^

/* Trigger: TTBOFICINA_SETOR_B03I */
CREATE OR ALTER TRIGGER TTBOFICINA_SETOR_B03I FOR TBOFICINA_SETOR
ACTIVE BEFORE INSERT POSITION 1
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN
  HISTORICO = '';
  IF(NEW.OFICINA_ID > 0 AND NEW.SETOR_ID > 0) THEN
  BEGIN
    HISTORICO = HISTORICO||' OFICINA INCLUIDO:'||NEW.OFICINA_ID||' - '||COALESCE((SELECT FIRST 1 F.razaosocial FROM TBFORNECEDOR F WHERE F.CODIGO = NEW.OFICINA_ID),'');
  END

  IF(HISTORICO <> '') THEN
  BEGIN
    EXECUTE PROCEDURE SPI_HISTORICO('TBSETOR',NEW.SETOR_ID,HISTORICO);
  END
END
^

SET TERM ; ^

ALTER TABLE TBREMESSA_SETOR
    ADD DATA_PREVISAO_RETORNO DATE;
	
ALTER TABLE TBREMESSA_SETOR
    ADD QUANTIDADE_ESTOQUE NUMERIC(15,4) DEFAULT 0;

