ALTER TABLE TBRH_CONFIGURACAO
ADD ID INTEGER;

ALTER TABLE TBRH_CONFIGURACAO ALTER ID SET NOT NULL;

CREATE TRIGGER TTBRH_CONFIGURACAO_B01U FOR TBRH_CONFIGURACAO
ACTIVE BEFORE UPDATE POSITION 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF ( OLD.SITUACAO_SABADO <> NEW.SITUACAO_SABADO) THEN
    BEGIN
        HISTORICO = HISTORICO||'Sabado(ADC):'|| OLD.SITUACAO_SABADO||'->'||NEW.SITUACAO_SABADO;
    END

    IF ( OLD.SITUACAO_DOMINGO <> NEW.SITUACAO_DOMINGO) THEN
    BEGIN
        HISTORICO = HISTORICO||',Domingo(DSR):'|| OLD.SITUACAO_DOMINGO||'->'||NEW.SITUACAO_DOMINGO;
    END

    IF ( OLD.SITUACAO_FERIADO <> NEW.SITUACAO_FERIADO) THEN
    BEGIN
        HISTORICO = HISTORICO||',Feriado:'|| OLD.SITUACAO_FERIADO||'->'||NEW.SITUACAO_FERIADO;
    END

    IF ( OLD.SITUACAO_DIURNO <> NEW.SITUACAO_DIURNO) THEN
    BEGIN
        HISTORICO = HISTORICO||',Trabalho Diurno:'|| OLD.SITUACAO_DIURNO||'->'||NEW.SITUACAO_DIURNO;
    END

    IF ( OLD.SITUACAO_NOTURNO <> NEW.SITUACAO_NOTURNO) THEN
    BEGIN
        HISTORICO = HISTORICO||',Trabalho Noturno:'|| OLD.SITUACAO_NOTURNO||'->'||NEW.SITUACAO_NOTURNO;
    END

    IF ( OLD.SITUACAO_FALTA <> NEW.SITUACAO_FALTA) THEN
    BEGIN
        HISTORICO = HISTORICO||',Falta/Atraso Diurno:'|| OLD.SITUACAO_FALTA||'->'||NEW.SITUACAO_FALTA;
    END

     IF ( OLD.SITUACAO_ATRASO <> NEW.SITUACAO_ATRASO) THEN
    BEGIN
        HISTORICO = HISTORICO||',Falta/Atraso Noturno:'|| OLD.SITUACAO_ATRASO||'->'||NEW.SITUACAO_ATRASO;
    END

    IF ( OLD.SITUACAO_HORA_EXTRA <> NEW.SITUACAO_HORA_EXTRA) THEN
    BEGIN
        HISTORICO = HISTORICO||',Hora Extra Diurna:'|| OLD.SITUACAO_HORA_EXTRA||'->'||NEW.SITUACAO_HORA_EXTRA;
    END
    IF ( OLD.SITUACAO_BH <> NEW.SITUACAO_BH) THEN
    BEGIN
        HISTORICO = HISTORICO||',Comp.Bco.Horas Diurna:'|| OLD.SITUACAO_BH||'->'||NEW.SITUACAO_BH;
    END

    IF ( OLD.TRABALHO_DIURNO_INICIO <> NEW.TRABALHO_DIURNO_INICIO) THEN
    BEGIN
        HISTORICO = HISTORICO||',Início Trabalho Diurno:'|| OLD.TRABALHO_DIURNO_INICIO||'->'||NEW.TRABALHO_DIURNO_INICIO;
    END

    IF ( OLD.TRABALHO_DIURNO_FIM <> NEW.TRABALHO_DIURNO_FIM) THEN
    BEGIN
        HISTORICO = HISTORICO||',Fim Trabalho Diurno:'|| OLD.TRABALHO_DIURNO_FIM||'->'||NEW.TRABALHO_DIURNO_FIM;
    END

    IF ( OLD.TRABALHO_NOTURNO_INICIO <> NEW.TRABALHO_NOTURNO_INICIO) THEN
    BEGIN
        HISTORICO = HISTORICO||',Inicio Trabalho Noturno:'|| OLD.TRABALHO_NOTURNO_INICIO||'->'||NEW.TRABALHO_NOTURNO_INICIO;
    END

    IF ( OLD.TRABALHO_NOTURNO_FIM <> NEW.TRABALHO_NOTURNO_FIM) THEN
    BEGIN
        HISTORICO = HISTORICO||',Fim Trabalho Noturno:'|| OLD.TRABALHO_NOTURNO_FIM||'->'||NEW.TRABALHO_NOTURNO_FIM;
    END

    IF ( OLD.ADICIONAL_NOTURNO_INICIO <> NEW.ADICIONAL_NOTURNO_INICIO) THEN
    BEGIN
        HISTORICO = HISTORICO||',Inicio Adicional Noturno:'|| OLD.ADICIONAL_NOTURNO_INICIO||'->'||NEW.ADICIONAL_NOTURNO_INICIO;
    END

    IF ( OLD.ADICIONAL_NOTURNO_FIM <> NEW.ADICIONAL_NOTURNO_FIM) THEN
    BEGIN
        HISTORICO = HISTORICO||',Fim Adicional Noturno:'|| OLD.ADICIONAL_NOTURNO_FIM||'->'||NEW.ADICIONAL_NOTURNO_FIM;
    END

    IF ( OLD.DIAS_CONTRATO1 <> NEW.DIAS_CONTRATO1) THEN
    BEGIN
        HISTORICO = HISTORICO||',1º Contrato:'|| OLD.DIAS_CONTRATO1||'->'||NEW.DIAS_CONTRATO1;
    END

    IF ( OLD.DIAS_CONTRATO2 <> NEW.DIAS_CONTRATO2) THEN
    BEGIN
        HISTORICO = HISTORICO||',Prorrogacao:'|| OLD.DIAS_CONTRATO2||'->'||NEW.DIAS_CONTRATO2;
    END

    IF ( OLD.ARQUIVO_PONTO <> NEW.ARQUIVO_PONTO) THEN
    BEGIN
        HISTORICO = HISTORICO||',Pasta de Arquivos:'|| OLD.ARQUIVO_PONTO||'->'||NEW.ARQUIVO_PONTO;
    END

    IF ( OLD.INTERVALO_BATIDA <> NEW.INTERVALO_BATIDA) THEN
    BEGIN
        HISTORICO = HISTORICO||',Intervalo Batida:'|| OLD.INTERVALO_BATIDA||'->'||NEW.INTERVALO_BATIDA;
    END

    IF ( OLD.PROXIMA_JORNADA_INICIO <> NEW.PROXIMA_JORNADA_INICIO) THEN
    BEGIN
        HISTORICO = HISTORICO||',Proxima Jornada Inicio:'|| OLD.PROXIMA_JORNADA_INICIO||'->'||NEW.PROXIMA_JORNADA_INICIO;
    END

    IF ( OLD.PROXIMA_JORNADA_FIM <> NEW.PROXIMA_JORNADA_FIM) THEN
    BEGIN
        HISTORICO = HISTORICO||',Proxima Jornada Fim:'|| OLD.PROXIMA_JORNADA_FIM||'->'||NEW.PROXIMA_JORNADA_FIM;
    END

    IF ( OLD.SITUACAO_FALTA_BH <> NEW.SITUACAO_FALTA_BH) THEN
    BEGIN
        HISTORICO = HISTORICO||',Falta Diurna Bco. Horas:'|| OLD.SITUACAO_FALTA_BH||'->'||NEW.SITUACAO_FALTA_BH;
    END

    IF ( OLD.SITUACAO_TRABALHO_BH <> NEW.SITUACAO_TRABALHO_BH) THEN
    BEGIN
        HISTORICO = HISTORICO||',Trab. Diurno Bco. Horas:'|| OLD.SITUACAO_TRABALHO_BH||'->'||NEW.SITUACAO_TRABALHO_BH;
    END

    IF ( OLD.SITUACAO_NAO_IDENTIFICADA <> NEW.SITUACAO_NAO_IDENTIFICADA) THEN
    BEGIN
        HISTORICO = HISTORICO||',Sit. Não Identificada:'|| OLD.SITUACAO_NAO_IDENTIFICADA||'->'||NEW.SITUACAO_NAO_IDENTIFICADA;
    END

    IF ( OLD.SITUACAO_DEMITIDO <> NEW.SITUACAO_DEMITIDO) THEN
    BEGIN
        HISTORICO = HISTORICO||',Sit. Colaborador Demitido:'|| OLD.SITUACAO_DEMITIDO||'->'||NEW.SITUACAO_DEMITIDO;
    END

    IF ( OLD.SITUACAO_FALTA_NOTURNO <> NEW.SITUACAO_FALTA_NOTURNO) THEN
    BEGIN
        HISTORICO = HISTORICO||',Sit. Falta Noturno:'|| OLD.SITUACAO_FALTA_NOTURNO||'->'||NEW.SITUACAO_FALTA_NOTURNO;
    END

    IF ( OLD.SITUACAO_HORA_EXTRA_NOTURNO <> NEW.SITUACAO_HORA_EXTRA_NOTURNO) THEN
    BEGIN
        HISTORICO = HISTORICO||',Hora Extra Noturna:'|| OLD.SITUACAO_HORA_EXTRA_NOTURNO||'->'||NEW.SITUACAO_HORA_EXTRA_NOTURNO;
    END

    IF ( OLD.SITUACAO_BH_NOTURNO <> NEW.SITUACAO_BH_NOTURNO) THEN
    BEGIN
        HISTORICO = HISTORICO||',Trab. Diurno Bco. Horas:'|| OLD.SITUACAO_BH_NOTURNO||'->'||NEW.SITUACAO_BH_NOTURNO;
    END

    IF ( OLD.SITUACAO_TRABALHO_BH_NOTURNO <> NEW.SITUACAO_TRABALHO_BH_NOTURNO) THEN
    BEGIN
        HISTORICO = HISTORICO||',Trab. Diurno Bco. Horas:'|| OLD.SITUACAO_TRABALHO_BH_NOTURNO||'->'||NEW.SITUACAO_TRABALHO_BH_NOTURNO;
    END

    IF ( OLD.SITUACAO_FALTA_BH_NOTURNO <> NEW.SITUACAO_FALTA_BH_NOTURNO) THEN
    BEGIN
        HISTORICO = HISTORICO||',Falta Noturna Bco. Horas:'|| OLD.SITUACAO_FALTA_BH_NOTURNO||'->'||NEW.SITUACAO_FALTA_BH_NOTURNO;
    END

    IF ( OLD.SITUACAO_FOLGA <> NEW.SITUACAO_FOLGA) THEN
    BEGIN
        HISTORICO = HISTORICO||',Folga:'|| OLD.SITUACAO_FOLGA||'->'||NEW.SITUACAO_FOLGA;
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBRH_CONFIGURACAO',NEW.ID, HISTORICO);
    END
end




