------------------------------------MySQL----------------------------------------------------------------------------------


UPDATE MOVIMENTO_ITEM I

INNER JOIN PLANO_CONTAS_CFOP PCP ON PCP.ID_PLANO_CONTAS = I.ID_PLANO_CONTAS AND PCP.CST_ICMS = I.TRIB_ICMS_CST AND PCP.OPERACAO = 0

INNER JOIN MOVIMENTO M ON M.ID_MOVIMENTO = I.ID_MOVIMENTO

INNER JOIN PESSOA P ON P.ID_PESSOA = M.ID_PESSOA

INNER JOIN CIDADE CD ON CD.ID_CIDADE = P.ID_CIDADE    

    SET I.ID_CFOP = PCP.ID_CFOP

WHERE CD.UF = 'TO' AND I.ID_CFOP IS NULL;


UPDATE MOVIMENTO_ITEM I

INNER JOIN PLANO_CONTAS_CFOP PCP ON PCP.ID_PLANO_CONTAS = I.ID_PLANO_CONTAS AND PCP.CST_ICMS = I.TRIB_ICMS_CST AND PCP.OPERACAO = 1

INNER JOIN MOVIMENTO M ON M.ID_MOVIMENTO = I.ID_MOVIMENTO

INNER JOIN PESSOA P ON P.ID_PESSOA = M.ID_PESSOA

INNER JOIN CIDADE CD ON CD.ID_CIDADE = P.ID_CIDADE    

    SET I.ID_CFOP = PCP.ID_CFOP

WHERE CD.UF <> 'TO' AND I.ID_CFOP IS NULL;


UPDATE MOVIMENTO_ITEM SET ID_CFOP = '{EF0B93E9-8B4E-428B-A572-FA2C4B9B2A10}' WHERE ID_CFOP = '{F9D44F9F-106C-44E4-ADA8-DA90AD576DC6}';

UPDATE MOVIMENTO_ITEM SET ID_CFOP = '{B2F66C44-609B-4F36-AA20-13F791989D67}' WHERE ID_CFOP = '{4D3968A7-39AC-4893-8231-602335840BCA}';


--------------------------------------------IBExpert----------------------------------------------------------------------------


UPDATE MOVIMENTO_ITEM SET ID_CFOP =

    (

        SELECT

            PCP.ID_CFOP

        FROM MOVIMENTO_ITEM I

        INNER JOIN PLANO_CONTAS_CFOP PCP ON PCP.ID_PLANO_CONTAS = I.ID_PLANO_CONTAS AND PCP.CST_ICMS = I.TRIB_ICMS_CST AND PCP.OPERACAO = 0

        INNER JOIN MOVIMENTO M ON M.COD_MOVIMENTO = I.COD_MOVIMENTO

        INNER JOIN PESSOA P ON P.ID_PESSOA = M.ID_PESSOA

        INNER JOIN CIDADE CD ON CD.ID_CIDADE = P.ID_CIDADE

        WHERE CD.UF = 'MA' AND MOVIMENTO_ITEM.COD_MOVIMENTO_ITEM = I.COD_MOVIMENTO_ITEM

    )

WHERE ID_CFOP IS NULL;


UPDATE MOVIMENTO_ITEM SET ID_CFOP =

    (

        SELECT

            PCP.ID_CFOP

        FROM MOVIMENTO_ITEM I

        INNER JOIN PLANO_CONTAS_CFOP PCP ON PCP.ID_PLANO_CONTAS = I.ID_PLANO_CONTAS AND PCP.CST_ICMS = I.TRIB_ICMS_CST AND PCP.OPERACAO = 1

        INNER JOIN MOVIMENTO M ON M.COD_MOVIMENTO = I.COD_MOVIMENTO

        INNER JOIN PESSOA P ON P.ID_PESSOA = M.ID_PESSOA

        INNER JOIN CIDADE CD ON CD.ID_CIDADE = P.ID_CIDADE  

        WHERE CD.UF <> 'MA' AND MOVIMENTO_ITEM.COD_MOVIMENTO_ITEM = I.COD_MOVIMENTO_ITEM 

    )

WHERE ID_CFOP IS NULL;


UPDATE MOVIMENTO_ITEM SET ID_CFOP = '{EF0B93E9-8B4E-428B-A572-FA2C4B9B2A10}' WHERE ID_CFOP = '{F9D44F9F-106C-44E4-ADA8-DA90AD576DC6}';

UPDATE MOVIMENTO_ITEM SET ID_CFOP = '{B2F66C44-609B-4F36-AA20-13F791989D67}' WHERE ID_CFOP = '{4D3968A7-39AC-4893-8231-602335840BCA}';