ALTER TABLE TBPDV_DEVOLUCAO_TROCA_ITEM
    ADD TIPO_DEVOLUCAO_TROCA INTEGER DEFAULT 0 NOT NULL;

COMMENT ON COLUMN TBPDV_DEVOLUCAO_TROCA_ITEM.TIPO_DEVOLUCAO_TROCA IS
'1 - DEVOLUCAO;
2 - TROCA;
3 - TRANSFERENCIA;
4 - SEM DOCUMENTO REFERENCIADO;';


UPDATE TBPDV_DEVOLUCAO_TROCA_ITEM T SET T.TIPO_DEVOLUCAO_TROCA = COALESCE((SELECT FIRST 1 K.TIPO_ED FROM TBPDV_DEVOLUCAO_TROCA K WHERE K.ID = T.PDV_DEVOLUCAO_ID), 0);

UPDATE TBPDV_DEVOLUCAO_TROCA_ITEM T SET T.TAMANHO = IIF(T.TIPO_DOCUMENTO = '1', COALESCE((SELECT FIRST 1 V.TAMANHO FROM TBNFS_ITEM V WHERE V.CONTROLE = T.ITEM_ID), 0), COALESCE((SELECT FIRST 1 V.TAMANHO FROM TBPDV_CFE_ITEM V WHERE V.ID = T.ITEM_ID), 0)), T.PRODUTO_ID = IIF(T.TIPO_DOCUMENTO = '1', COALESCE((SELECT FIRST 1 V.PRODUTO_CODIGO FROM TBNFS_ITEM V WHERE V.CONTROLE = T.ITEM_ID), 0), COALESCE((SELECT FIRST 1 V.PRODUTO_ID FROM TBPDV_CFE_ITEM V WHERE V.ID = T.ITEM_ID), 0)) WHERE T.TIPO_DEVOLUCAO_TROCA IN (1,2);


UPDATE TBPDV_DEVOLUCAO_TROCA_ITEM T SET T.TAMANHO = IIF(T.TIPO_DOCUMENTO = '1', COALESCE((SELECT FIRST 1 V.TAMANHO FROM TBNFE_ITEM V WHERE V.CONTROLE = T.ITEM_ID), 0), COALESCE((SELECT FIRST 1 V.TAMANHO FROM TBPDV_CFE_ITEM V WHERE V.ID = T.ITEM_ID), 0)), T.PRODUTO_ID = IIF(T.TIPO_DOCUMENTO = '1', COALESCE((SELECT FIRST 1 V.PRODUTO_CODIGO FROM TBNFE_ITEM V WHERE V.CONTROLE = T.ITEM_ID), 0), COALESCE((SELECT FIRST 1 V.PRODUTO_ID FROM TBPDV_CFE_ITEM V WHERE V.ID = T.ITEM_ID), 0)) WHERE T.TIPO_DEVOLUCAO_TROCA IN (3);

