SET TERM ^ ;

CREATE OR ALTER trigger ttbpedido_item_proc_b2u_01 for tbpedido_item_processado
active before update position 3
AS
begin
  --se reabrindo talao
  if(OLD.SITUACAO = 3 and NEW.SITUACAO = 2)then
  begin

  end else
  begin
     if(coalesce(new.RECALCULAR_CONSUMO,0) = 0)then
     begin
         --se não esta reabrindo talao
         if (OLD.SITUACAO = 3 and NEW.SITUACAO = 6) then
              Exception "..." 'ENCERRAMENTO NAO PERMITIDO, TALAO JA REGISTRADO NA PRODUCAO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ';
        
          if (OLD.SITUACAO >= 3 and NEW.QUANTIDADE_PRODUCAO <> OLD.QUANTIDADE_PRODUCAO) then
              Exception "..." 'ALTERACAO NAO PERMITIDA, TALAO JÁ FOI REGISTRADO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ';
        
          if (OLD.QUANTIDADE_SALDO < OLD.QUANTIDADE_PRODUCAO and
              (OLD.Modelo_Codigo <> NEW.Modelo_Codigo or
               OLD.Cor_Id <> NEW.Cor_Id or
               OLD.Produto_Codigo <> NEW.Produto_codigo or
               OLD.Data_Producao <> NEW.Data_Producao)) then
              Exception "..." 'ALTERACAO NAO PERMITIDA, PRODUTO DO TALAO JA FOI UTILIZADO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ';
     end
  end
end
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER trigger ttbpedido_item_processado_a3u for tbpedido_item_processado
active after update position 3
AS
declare variable RETORNO_SP varchar(500);
begin
    IF ( coalesce(NEW.ESTOQUE_ID_ESTORNO,0) = 0 and NEW.FAMILIA_CODIGO = 0 AND ( OLD.QUANTIDADE_PEDIDO <> NEW.QUANTIDADE_PEDIDO OR NEW.REMESSA_ACUMULADO_CONTROLE <> OLD.REMESSA_ACUMULADO_CONTROLE ) ) THEN
    BEGIN

        if(coalesce(new.RECALCULAR_CONSUMO,0) = 0)then
        begin
            IF ( NEW.REMESSA_ACUMULADO_CONTROLE <> OLD.REMESSA_ACUMULADO_CONTROLE ) THEN
            BEGIN
        
                RETORNO_SP = (SELECT LIST(O_CONS_QUANTIDADE)
                                FROM SPI_REM_CONSUMO_INSUMO6(
                                     NEW.REMESSA,
                                     NEW.REMESSA_ACUMULADO_CONTROLE,
                                     NEW.CONTROLE,
                                     'PJT'));
            END
    
            RETORNO_SP = (SELECT LIST(O_CONS_QUANTIDADE)
                            FROM SPI_REM_CONSUMO_INSUMO6(
                                 OLD.REMESSA,
                                 OLD.REMESSA_ACUMULADO_CONTROLE,
                                 OLD.CONTROLE,
                                 'PJT'));
        end
    END
end
^

SET TERM ; ^

ALTER TABLE TBESTEIRA ADD TIPO_GP INTEGER;
ALTER trigger TTBESTEIRA_B0IU_01 inactive;
update TBESTEIRA set TIPO_GP = 1;
ALTER trigger TTBESTEIRA_B0IU_01 active;

CREATE OR ALTER VIEW TBGP(
    ID,
    DESCRICAO,
    FAMILIA_ID,
    PERFIL,
    STATUS,
    REMESSAS,
    DOM,
    SEG,
    TER,
    QUA,
    QUI,
    SEX,
    SAB,
    TEMPO,
    CODIGO1,
    H_SEG,
    H_TER,
    H_QUA,
    H_QUI,
    H_SEX,
    H_SAB,
    H_DOM,
    SUPERVISOR1,
    SUPERVISOR2,
    REG_ESTOQUE,
    REG_QUANTIDADE,
    FLAG,
    MONITOR,
    PERFIL_PED,
    MENSAGEM,
    CCUSTO,
    DIAS,
    VER_PECA_DISPONIVEL,
    VER_PARES,
    HABILITA_QUEBRA_TALAO_SKU,
    REQUISITA_SOBRA,
    REMESSAS_ABERTO,
    TIPO_META_PRODUCAO,
    TIPO_GP)
AS
SELECT
    CODIGO,
    DESCRICAO,
    FAMILIA_CODIGO,
    PERFIL,
    STATUS,
    TALOES,
    DOM,
    SEG,
    TER,
    QUA,
    QUI,
    SEX,
    SAB,
    TEMPO,
    CODIGO1,
    H_SEG,
    H_TER,
    H_QUA,
    H_QUI,
    H_SEX,
    H_SAB,
    H_DOM,
    SUPERVISOR1,
    SUPERVISOR2,
    REG_ESTOQUE,
    REG_QUANTIDADE,
    FLAG,
    MONITOR,
    PERFIL_PED,
    MENSAGEM,
    CCUSTO,
    TALOES,
    VER_PECA_DISPONIVEL,
    VER_PARES,
    HABILITA_QUEBRA_TALAO_SKU,
    REQUISITA_SOBRA,
    TALOES,
    TIPO_META_PRODUCAO,
    TIPO_GP
FROM TBESTEIRA
;

