SELECT	e.nome AS empresa,

	mvt.data_movimento AS data_movimento,

	SUM(CASE WHEN (ivc.id_bico_combustivel IS NOT NULL AND tb.registrador_fiscal = 'FF') THEN ((ivc.total_bruto - (ivc.desconto + ivc.desconto_automatico + ivc.desconto_rateado + ivc.desconto_ajuste_rateado + ivc.desconto_automatico_rateado + ivc.desconto_fidelidade_rateado) + (ivc.acrescimo + ivc.acrescimo_automatico + ivc.acrescimo_rateado + ivc.acrescimo_ajuste_rateado + ivc.acrescimo_automatico_rateado))) END) AS Combustivel,
		
	SUM(CASE WHEN (ivc.id_bico_combustivel IS NULL AND (cp.CFOP = '5656' or cp.CFOP = '5667') AND tb.registrador_fiscal = 'FF') THEN ((ivc.total_bruto - (ivc.desconto + ivc.desconto_automatico + ivc.desconto_rateado + ivc.desconto_ajuste_rateado + ivc.desconto_automatico_rateado + ivc.desconto_fidelidade_rateado) + (ivc.acrescimo + ivc.acrescimo_automatico + ivc.acrescimo_rateado + ivc.acrescimo_ajuste_rateado + ivc.acrescimo_automatico_rateado))) END) AS Lubrificante,
	
	SUM(CASE WHEN (ivc.id_bico_combustivel IS NULL AND cp.CFOP <> '5656' AND cp.CFOP <> '5667' AND tb.registrador_fiscal = 'FF') THEN ((ivc.total_bruto - (ivc.desconto + ivc.desconto_automatico + ivc.desconto_rateado + ivc.desconto_ajuste_rateado + ivc.desconto_automatico_rateado + ivc.desconto_fidelidade_rateado) + (ivc.acrescimo + ivc.acrescimo_automatico + ivc.acrescimo_rateado + ivc.acrescimo_ajuste_rateado + ivc.acrescimo_automatico_rateado))) END) AS Outro,
	
	SUM(CASE WHEN (tb.aliquota = 7) THEN ((ivc.total_bruto - (ivc.desconto + ivc.desconto_automatico + ivc.desconto_rateado + ivc.desconto_ajuste_rateado + ivc.desconto_automatico_rateado + ivc.desconto_fidelidade_rateado) + (ivc.acrescimo + ivc.acrescimo_automatico + ivc.acrescimo_rateado + ivc.acrescimo_ajuste_rateado + ivc.acrescimo_automatico_rateado))) END) AS Tributado_7,
	
	SUM(CASE WHEN (tb.aliquota = 12) THEN ((ivc.total_bruto - (ivc.desconto + ivc.desconto_automatico + ivc.desconto_rateado + ivc.desconto_ajuste_rateado + ivc.desconto_automatico_rateado + ivc.desconto_fidelidade_rateado) + (ivc.acrescimo + ivc.acrescimo_automatico + ivc.acrescimo_rateado + ivc.acrescimo_ajuste_rateado + ivc.acrescimo_automatico_rateado))) END) AS Tributado_12,
		
	SUM(CASE WHEN (tb.aliquota = 18) THEN ((ivc.total_bruto - (ivc.desconto + ivc.desconto_automatico + ivc.desconto_rateado + ivc.desconto_ajuste_rateado + ivc.desconto_automatico_rateado + ivc.desconto_fidelidade_rateado) + (ivc.acrescimo + ivc.acrescimo_automatico + ivc.acrescimo_rateado + ivc.acrescimo_ajuste_rateado + ivc.acrescimo_automatico_rateado))) END) AS Tributado_18,

	SUM(CASE WHEN (tb.aliquota = 25) THEN ((ivc.total_bruto - (ivc.desconto + ivc.desconto_automatico + ivc.desconto_rateado + ivc.desconto_ajuste_rateado + ivc.desconto_automatico_rateado + ivc.desconto_fidelidade_rateado) + (ivc.acrescimo + ivc.acrescimo_automatico + ivc.acrescimo_rateado + ivc.acrescimo_ajuste_rateado + ivc.acrescimo_automatico_rateado))) END) AS Tributado_25,
	
	SUM(CASE WHEN (tb.aliquota not in (7,12,18,25) AND tb.aliquota > 0 ) THEN ((ivc.total_bruto - (ivc.desconto + ivc.desconto_automatico + ivc.desconto_rateado + ivc.desconto_ajuste_rateado + ivc.desconto_automatico_rateado + ivc.desconto_fidelidade_rateado) + (ivc.acrescimo + ivc.acrescimo_automatico + ivc.acrescimo_rateado + ivc.acrescimo_ajuste_rateado + ivc.acrescimo_automatico_rateado))) END) AS Tributado_Outras,
	
		
	SUM(CASE WHEN (tb.registrador_fiscal IN ('NN','II')) THEN ((ivc.total_bruto - (ivc.desconto + ivc.desconto_automatico + ivc.desconto_rateado + ivc.desconto_ajuste_rateado + ivc.desconto_automatico_rateado + ivc.desconto_fidelidade_rateado) + (ivc.acrescimo + ivc.acrescimo_automatico + ivc.acrescimo_rateado + ivc.acrescimo_ajuste_rateado + ivc.acrescimo_automatico_rateado))) END) AS Isento_Nao_Tribut,

	SUM(CASE WHEN (tb.aliquota > 0) THEN ((ivc.total_bruto - (ivc.desconto + ivc.desconto_automatico + ivc.desconto_rateado + ivc.desconto_ajuste_rateado + ivc.desconto_automatico_rateado + ivc.desconto_fidelidade_rateado) + (ivc.acrescimo + ivc.acrescimo_automatico + ivc.acrescimo_rateado + ivc.acrescimo_ajuste_rateado + ivc.acrescimo_automatico_rateado)) * (tb.aliquota / 100) ) END)  AS ICMS_Deb
		
	
FROM	movimento_venda_terminal AS mvt
	INNER JOIN venda_cf AS vc ON (vc.id_movimento_venda_terminal = mvt.id_movimento_venda_terminal)
	INNER JOIN item_venda_cf AS ivc ON (ivc.id_venda_cf = vc.id_venda_cf)
	LEFT  JOIN movimento_estoque AS me ON (me.id_movimento_estoque = ivc.id_movimento_estoque)
	INNER JOIN item AS i ON (ivc.id_item = i.id_item)
	INNER JOIN categoria_item AS ci ON (i.id_categoria_item = ci.id_categoria_item)
	INNER JOIN unidade_medida AS um ON (i.id_unidade_medida = um.id_unidade_medida)
	INNER JOIN sis_empresa AS e ON (e.id_empresa = mvt.id_empresa)
	LEFT JOIN cfop as cp ON (cp.id_cfop = ivc.id_cfop)
	LEFT JOIN cst as cs ON (cs.id_cst = ivc.id_cst_icms)
	LEFT JOIN tipo_tributacao AS tb ON (tb.id_tipo_tributacao = ivc.id_tipo_tributacao)	

WHERE	mvt.data_movimento BETWEEN :DataInicial AND :DataFinal
AND	mvt.id_empresa = :IdEmpresaObrigatorio
AND	(ivc.cancelado = 'N' AND vc.cancelada = 'N')

GROUP BY 1 , 2