ALTER TABLE TBREMESSA_ITEM_PROCESSADO
    ADD DATA_ENTRADA_CD TIMESTAMP,
    ADD OPERADOR_ENTRADA_CD INTEGER;

CREATE OR ALTER VIEW VWREMESSA_TALAO(
    ID,
    ESTABELECIMENTO_ID,
    REMESSA_ID,
    REMESSA_TALAO_ID,
    FAMILIA_ID,
    LOCALIZACAO_ID,
    PRODUTO_ID,
    MODELO_ID,
    TAMANHO,
    QUANTIDADE,
    QUANTIDADE_ALTERNATIVA,
    QUANTIDADE_SOBRA,
    GP_ID,
    UP_ID,
    ESTACAO,
    MATRIZ_ID,
    DENSIDADE,
    ESPESSURA,
    STATUS,
    OBSERVACAO,
    DATA_PRODUCAO,
    DATA_LIBERACAO,
    HORA_PRODUCAO,
    HORA_LIBERACAO,
    VIA_ETIQUETA,
    TURNO,
    TALAO_EXTRA,
    PERCENTUAL_EXTRA,
    APROVEITAMENTO_PLACA,
    OPERADOR_LIBERACAO,
    OPERADOR_PRODUCAO,
    OPERADOR_GP,
    CONSUMO_MEDIO,
    TALAO_VINCULO,
    FERRAMENTA_ID,
    FLAG_DATA,
    CHAPAS,
    PLACAS,
    PLACA_LARGURA,
    PLACA_COMPRIMENTO,
    entrada_cd,
    data_entrada_cd,
    operador_entrada_cd)
AS
SELECT
    R.ID,
    R.ESTABELECIMENTO_CODIGO,
    R.REMESSA,
    R.CONTROLE,
    R.FAMILIA_CODIGO,
    R.LOCALIZACAO_ID,
    R.PRODUTO_CODIGO,
    R.MODELO_CODIGO,
    R.TAMANHO,
    R.QUANTIDADE,
    R.QUANTIDADE_ALTERNATIVA,
    R.QUANTIDADE_SOBRA,
    R.PROGRAMACAO_ESTEIRA,
    R.UP_ID,
    R.PROGRAMACAO_BOCA,
    R.MATRIZ_CODIGO,
    R.DENSIDADE,
    R.ESPESSURA,
    R.SITUACAO,
    R.OBSERVACAO,
    R.DATA_PRODUCAO,
    R.DATA_LIBERACAO,
    R.HORA_PRODUCAO,
    R.HORA_LIBERACAO,
    R.VIA_ETIQUETA,
    R.TURNO,
    R.TALAO_EXTRA,
    R.PERCENTUAL_TALAO_EXTRA,
    R.APROVEITAMENTO,
    R.OPERADOR_LIBERACAO,
    R.OPERADOR_PRODUCAO,
    R.OPERADOR_GP,
    R.CONSUMO_MEDIO,
    R.TALAO_VINCULO,
    R.FERRAMENTA_ID,
    r.flag_data,
    r.CHAPAS,
    r.PLACAS,
    r.placa_largura,
    r.placa_comprimento,
    r.entrada_cd,
    r.data_entrada_cd,
    r.operador_entrada_cd
FROM TBREMESSA_ITEM_PROCESSADO R
;

SET TERM ^ ;

CREATE OR ALTER trigger ttbremessa_item_processado_b14u for tbremessa_item_processado
active before update position 0
AS
begin
  if(new.entrada_cd is distinct from old.entrada_cd and new.entrada_cd = 1)then
  begin
    if(new.situacao = 1)then
    begin
        Exception "..." 'ATENCAO, TALAO NAO CORTADO, OPERACAO CANCELADA!';
    end

    if(new.situacao = 3)then
    begin
        Exception "..." 'ATENCAO, TALAO LIBERADO PARA PRODUCAO, OPERACAO CANCELADA!';
    end

    new.data_entrada_cd = current_timestamp;
  end
end
^

SET TERM ; ^

UPDATE OR INSERT INTO TBMENU (ID, CONTROLE, GRUPO, SUBGRUPO, TIPO, URL, DESCRICAO, DATAHORA)
			  VALUES (472, 22650, 'PCP', 'PCP', '1   ', '', 'REGISTRO DE ENRADA NO CD', '2021-02-19 15:17:31')
			MATCHING (ID);

CREATE INDEX ITBREMESSA_ITEM_PROCESSADO_30
ON TBREMESSA_ITEM_PROCESSADO (DATA_ENTRADA_CD);

CREATE INDEX ITBREMESSA_ITEM_PROCESSADO_29
ON TBREMESSA_ITEM_PROCESSADO (ENTRADA_CD);

ALTER TABLE TBREMESSA_ITEM_PROCESSADO
    ADD DATA_PROD_ENTRADA_CD DATE;

CREATE OR ALTER VIEW VWREMESSA_TALAO(
    ID,
    ESTABELECIMENTO_ID,
    REMESSA_ID,
    REMESSA_TALAO_ID,
    FAMILIA_ID,
    LOCALIZACAO_ID,
    PRODUTO_ID,
    MODELO_ID,
    TAMANHO,
    QUANTIDADE,
    QUANTIDADE_ALTERNATIVA,
    QUANTIDADE_SOBRA,
    GP_ID,
    UP_ID,
    ESTACAO,
    MATRIZ_ID,
    DENSIDADE,
    ESPESSURA,
    STATUS,
    OBSERVACAO,
    DATA_PRODUCAO,
    DATA_LIBERACAO,
    HORA_PRODUCAO,
    HORA_LIBERACAO,
    VIA_ETIQUETA,
    TURNO,
    TALAO_EXTRA,
    PERCENTUAL_EXTRA,
    APROVEITAMENTO_PLACA,
    OPERADOR_LIBERACAO,
    OPERADOR_PRODUCAO,
    OPERADOR_GP,
    CONSUMO_MEDIO,
    TALAO_VINCULO,
    FERRAMENTA_ID,
    FLAG_DATA,
    CHAPAS,
    PLACAS,
    PLACA_LARGURA,
    PLACA_COMPRIMENTO,
    ENTRADA_CD,
    DATA_ENTRADA_CD,
    OPERADOR_ENTRADA_CD,
    DATA_PROD_ENTRADA_CD)
AS
SELECT
    R.ID,
    R.ESTABELECIMENTO_CODIGO,
    R.REMESSA,
    R.CONTROLE,
    R.FAMILIA_CODIGO,
    R.LOCALIZACAO_ID,
    R.PRODUTO_CODIGO,
    R.MODELO_CODIGO,
    R.TAMANHO,
    R.QUANTIDADE,
    R.QUANTIDADE_ALTERNATIVA,
    R.QUANTIDADE_SOBRA,
    R.PROGRAMACAO_ESTEIRA,
    R.UP_ID,
    R.PROGRAMACAO_BOCA,
    R.MATRIZ_CODIGO,
    R.DENSIDADE,
    R.ESPESSURA,
    R.SITUACAO,
    R.OBSERVACAO,
    R.DATA_PRODUCAO,
    R.DATA_LIBERACAO,
    R.HORA_PRODUCAO,
    R.HORA_LIBERACAO,
    R.VIA_ETIQUETA,
    R.TURNO,
    R.TALAO_EXTRA,
    R.PERCENTUAL_TALAO_EXTRA,
    R.APROVEITAMENTO,
    R.OPERADOR_LIBERACAO,
    R.OPERADOR_PRODUCAO,
    R.OPERADOR_GP,
    R.CONSUMO_MEDIO,
    R.TALAO_VINCULO,
    R.FERRAMENTA_ID,
    r.flag_data,
    r.CHAPAS,
    r.PLACAS,
    r.placa_largura,
    r.placa_comprimento,
    r.entrada_cd,
    r.data_entrada_cd,
    r.operador_entrada_cd,
    r.DATA_PROD_ENTRADA_CD
FROM TBREMESSA_ITEM_PROCESSADO R
;

CREATE INDEX ITBREMESSA_ITEM_PROCESSADO_31
ON TBREMESSA_ITEM_PROCESSADO (DATA_PROD_ENTRADA_CD);

UPDATE OR INSERT INTO TBPARAMETRO (ID, TABELA, CONTROLE, CODIGO, DESCRICAO, VALOR, OBSERVACAO, GRUPO, DATAHORA, USUARIO_ID)
                           VALUES (765, 'TBGP', 4, 'GP_ENTRADA_CD', 'GRUPO DE PRODUÃ‡ÃƒO PARA ENTRADA NO CD', '533', 'GRUPO DE PRODUÃ‡ÃƒO PARA ENTRADA NO CD', 'WEB22650', '2021-02-22 14:26:26', 186)
                         MATCHING (ID);

