with filtrados_cfe as ( select d.data_emissao, d.data from public.document as 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 where ds.status = '1' and d.cnpj_issuer = '11976306000102' and d.type in ('CFE_0_8', 'CFE_0_7', 'CFE_0_6', 'CFE_00_6', 'CFE_00_7') and d.data @? '$.infCFe.det[*].prod.ncm ? (@ == 24021000 || @ == "24021000" || @ == 24022000 || @ == "24022000" || @ == 24029000 || @ == "24029000")' and d.data_emissao between '2025-01-01' and '2025-01-31' ), filtrados_nfce as ( select d.data_emissao, d.data from public.document as 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 where ds.status = '1' and d.cnpj_issuer = '11976306000102' and d.type in ('NFCE', 'NFCE_3_1', 'NFCE_4_0') and d.data @? '$.nfe.infNFe.det[*].prod.ncm ? (@ == 24021000 || @ == "24021000" || @ == 24022000 || @ == "24022000" || @ == 24029000 || @ == "24029000")' and d.data_emissao between '2025-01-01' and '2025-01-31' ), explodidos as ( select fc.data_emissao as dataEmissao, (i.prod ->> 'vprod')::numeric as baseCalculoPisProduto from filtrados_cfe as fc cross join lateral jsonb_to_recordset(fc.data -> 'infCFe' -> 'det') as i(prod jsonb) where i.prod ->> 'ncm' in ('24021000', '24022000', '24029000') union all select fn.data_emissao, (j.prod ->> 'vprod')::numeric from filtrados_nfce as fn cross join lateral jsonb_to_recordset(fn.data -> 'nfe' -> 'infNFe' -> 'det') as j(prod jsonb) where j.prod ->> 'ncm' in ('24021000', '24022000', '24029000') ) select to_char(date(dataEmissao), 'YYYY-MM') as periodo, SUM(baseCalculoPisProduto) as valorBaseCalculo, SUM(baseCalculoPisProduto) * 3.42 as valorBasePisSt, SUM(baseCalculoPisProduto) * 3.42 * 0.0065 as valorPisSt, SUM(baseCalculoPisProduto) * 0.0065 as valorPisVarejo, SUM(baseCalculoPisProduto) * (3.42 - 1) as valorDiferencaBasePis, SUM(baseCalculoPisProduto) * 3.42 * 0.0065 - SUM(baseCalculoPisProduto) * 0.0065 as valorPisRestituir, SUM(baseCalculoPisProduto) * 2.9169 as valorBaseCofinsSt, SUM(baseCalculoPisProduto) * 2.9169 * 0.03 as valorCofinsSt, SUM(baseCalculoPisProduto) * 0.03 as valorCofinsVarejo, SUM(baseCalculoPisProduto) * (2.9169 - 1) as valorDiferencaBaseCofins, SUM(baseCalculoPisProduto) * 2.9169 * 0.03 - SUM(baseCalculoPisProduto) * 0.03 as valorCofinsRestituir from explodidos group by 1; |
6
|
7
|
1
|
|
0.00
|