SELECT ds.status as situacao, CASE WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('1', '2', '3') THEN 'DEVOLUCAO' WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('5', '6', '7') THEN 'VENDA' ELSE 'DESCONHECIDO' end as tipoOperacao, d.data_emissao as dataEmissao, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'nnf' as numeroNotaFiscal, d.key, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'serie' as serie, d.cnpj_addressee as cnpjDestinatario, item.produto -> 'prod' ->> 'cprod' as codigoProduto, item.produto -> 'prod' ->> 'xprod' as descricaoProduto, item.produto -> 'prod' ->> 'cfop' as cfop, CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) as valorProduto, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) as valorBaseCalculoIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) as aliquotaIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) as valorIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc', item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc') AS NUMERIC) as valorBaseCalculoPisCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) as aliquotaPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as aliquotaCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) + CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as somatorioAliquotaPisCofins, ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) as valorRecolhidoPis, ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) as valorRecolhidoCofins, ( ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) + ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) as valorTotalRecolhidoPisCofins, ( CAST(COALESCE(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc', item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc') AS NUMERIC) - CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) ) as baseCalculoAposExclusaoAntesRevisao, ( ( CAST(COALESCE(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc', item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc') AS NUMERIC) - CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) ) * CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100 ) as valorPisAposExclusao, ( ( CAST(COALESCE(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc', item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc') AS NUMERIC) - CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) ) * CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100 ) as valorCofinsAposExclusao, ( ( ( ( CAST(COALESCE(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc', item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc') AS NUMERIC) - CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) ) ) * CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100 ) + ( ( ( CAST(COALESCE(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc', item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc') AS NUMERIC) - CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) ) ) * CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100 ) ) as valorTotalPisCofinsAntesRevisao, ( ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( ( ( CAST(COALESCE(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc', item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc') AS NUMERIC) - CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) ) ) * CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100 ) ) as pisRecuperarAntesRevisao, ( ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) - ( ( ( CAST(COALESCE(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc', item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc') AS NUMERIC) - CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) ) ) * CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100 ) ) as cofinsRecuperarAntesRevisao, ( ( ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( ( ( CAST(COALESCE(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc', item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc') AS NUMERIC) - CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) ) ) * CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100 ) ) + ( ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) - ( ( ( CAST(COALESCE(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc', item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc') AS NUMERIC) - CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) ) ) * CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100 ) ) ) as valorTotalRecuperarAntesRevisao, ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) - CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) + ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) ) as baseLiquidaIcmsPisCofins, ( ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) - CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) + ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) ) / ( 1 - ((CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) + CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC)) / 100) ) ) as novaBaseCalculoGrossupPisCofins, ( ( ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) - CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) + ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) ) / ( 1 - ((CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) + CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC)) / 100) ) ) * ( (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) + CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC)) / 100 ) ) as pisCofinsDevidoRecalculado, ( ( ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) + ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) - ( ( ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) - CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) + ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) ) / ( 1 - ((CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) + CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC)) / 100) ) ) * ( (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) + CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC)) / 100 ) ) ) as valorRecuperarAposRevisao, ( ( ( ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) + ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) - ( ( ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) - CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) + ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) ) / ( 1 - ((CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) + CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC)) / 100) ) ) * ( (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) + CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC)) / 100 ) ) ) - ( ( ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( ( ( CAST(COALESCE(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc', item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc') AS NUMERIC) - CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) ) ) * CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100 ) ) + ( ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) - ( ( ( CAST(COALESCE(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc', item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc') AS NUMERIC) - CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) ) ) * CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100 ) ) ) ) as ganhoRevisao, d.cnpj_issuer as cnpj FROM document d INNER JOIN document_status ds ON d.key = ds.key and d.cnpj_issuer = ds.cnpj_issuer and d.protocol = ds.protocol and d.nsu = ds.nsu and d.type = ds.type , jsonb_array_elements(d.data -> 'nfe' -> 'infNFe' -> 'det') WITH ORDINALITY item(produto) WHERE ds.status = '1' AND d.cnpj_issuer = ? AND d.type IN ('NFE_4_0', 'NFE_3_1') AND CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) <> 0 AND cast(coalesce(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) <> 0 AND d.data_emissao between ? and ? AND item.produto -> 'prod' ->> 'cfop' IN ( '5101', '5102', '5103', '5104', '5105', '5106', '5109', '5110', '5111', '5112', '5113', '5114', '5115', '5116', '5117', '5118', '5119', '5120', '5122', '5123', '5124', '5125', '5251', '5252', '5253', '5254', '5255', '5256', '5257', '5258', '5301', '5302', '5303', '5304', '5305', '5306', '5307', '5351', '5352', '5353', '5354', '5355', '5356', '5357', '5359', '5360', '5401', '5402', '5403', '5405', '5501', '5502', '5651', '5652', '5653', '5654', '5655', '5656', '5667', '5932', '6101', '6102', '6103', '6104', '6105', '6106', '6107', '6108', '6109', '6110', '6111', '6112', '6113', '6114', '6115', '6116', '6117', '6118', '6119', '6120', '6122', '6123', '6124', '6125', '6251', '6252', '6253', '6254', '6255', '6256', '6257', '6258', '6301', '6302', '6303', '6304', '6305', '6306', '6307', '6351', '6352', '6353', '6354', '6355', '6356', '6357', '6359', '6360', '6401', '6402', '6403', '6404', '6501', '6502', '6651', '6652', '6653', '6654', '6655', '6656', '6667', '6932', '7101', '7102', '7105', '7106', '7127', '7251', '7301', '7358', '7501', '7651', '7654', '7667', '1201', '1202', '1203', '1204', '1205', '1206', '1207', '1410', '1411', '1503', '1504', '1660', '1661', '1662', '2201', '2202', '2203', '2204', '2205', '2206', '2207', '2410', '2411', '2503', '2504', '2660', '2661', '2662', '3201', '3202', '3205', '3206', '3207', '3211', '3503' ) AND ( CAST(COALESCE(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc', item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc') AS NUMERIC) >= CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) ) limit ? |
11
|
24
|
3
|
|
0.00
|