
SET TERM ^ ;

CREATE OR ALTER TRIGGER SETORES_REALIZADOS_AI_CONTROLE FOR SETORES_REALIZADOS
ACTIVE AFTER INSERT POSITION 0
AS
DECLARE VARIABLE CODIGO_SRC_VEI DM_INTEIRO;
DECLARE VARIABLE DATAHORA_INICIO TIMESTAMP;
BEGIN
  IF (NEW.CODIGOSETOR IS NOT NULL) THEN
  BEGIN
    -- PEGO A INFORMAÇÃO DO GMT
    SELECT FIRST 1 TR.DATAHORA_GMT
      FROM TABELAS_REPOSITORIO TR
      WHERE TR.SESSAO = NEW.CONTROLE
        AND TR.DATAHORA = NEW.DATAHORA_INICIO
      INTO :DATAHORA_INICIO;

    UPDATE OR INSERT INTO SETORES_REALIZADOS_CONTROLE_VEI (
        CODIGOVEICULO)
    VALUES (NEW.CODIGOVEICULO)
    MATCHING (CODIGOVEICULO)
    RETURNING CODIGO
    INTO :CODIGO_SRC_VEI;

    INSERT INTO SETORES_REALIZADOS_CONTROLE (
        CODIGO_SRC_VEI,
        CODIGO_SETORES_REALIZADOS,
        CODIGODISPOSITIVO_MOBILE,
        DATAHORA_GMT_HISTORICO,
        DATAHORA_GMT_STATUS_MOBILE)
    VALUES (:CODIGO_SRC_VEI,
            NEW.CODIGO,
            NEW.CODIGODISPOSITIVOAPONTAMENTO,
            new.DATAHORA_INICIO,
            :DATAHORA_INICIO);
  END
END^

SET TERM ; ^

COMMENT ON TRIGGER SETORES_REALIZADOS_AI_CONTROLE IS '08.02.21: Vitorino - Cria um registro para controle do serviço para o serviço de
           integração de histórico com status de mobile para o novo serviço 
           de queima de pacman

24.03.21: Vitorino - Criado o campo CODIGODISPOSITIVOAPONTAMENTO que informa o código do
            dispositivo que fez o apontamento (Mobile ou Teclado)

14.04.21: Vitorino - O horário de histórico não é mais usado GMT, mas sim o local';