-- Posição de Liquidez - Geral
-- 3.2.4 - RESULTADO DO MES - Ajustes do Estoque
SELECT	(SELECT	COALESCE(SUM(me.valor * (POSITION(CAST('1' AS CHAR) IN CAST(tme.entrada_saida AS CHAR(1))) * 2 - 1)), 0)
	FROM	movimento_estoque AS me
		INNER JOIN tipo_movimento_estoque AS tme ON (tme.id_tipo_movimento_estoque = me.id_tipo_movimento_estoque)
	WHERE	me.data_movimento BETWEEN DATE(DATE_TRUNC('MONTH', :Data)) AND :Data
	AND	me.id_empresa IN (:IdEmpresaMultSlc)
	AND	tme.movimento_automatico = 'N')
	+
	((SELECT COALESCE(SUM(me.valor), 0)
	FROM	nota_fiscal_entrada AS nfe
		INNER JOIN item_nfe AS infe ON (infe.id_nota_fiscal_entrada = nfe.id_nota_fiscal_entrada)
		INNER JOIN movimento_estoque AS me ON (me.id_movimento_estoque = infe.id_movimento_estoque)
	WHERE	nfe.entrada BETWEEN DATE(DATE_TRUNC('MONTH', :Data)) AND :Data
	AND	nfe.id_empresa IN (:IdEmpresaMultSlc)
	AND	nfe.situacao = 1)
	-
	(SELECT	COALESCE(SUM(pnfe.valor), 0)
	FROM	nota_fiscal_entrada AS nfe
		INNER JOIN parcela_nfe AS pnfe ON (pnfe.id_nota_fiscal_entrada = nfe.id_nota_fiscal_entrada)
	WHERE	nfe.entrada BETWEEN DATE(DATE_TRUNC('MONTH', :Data)) AND :Data
	AND	nfe.id_empresa IN (:IdEmpresaMultSlc)
	AND	nfe.situacao = 1
	AND	NOT pnfe.id_titulo_financeiro IS NULL)
	+
	(SELECT COALESCE(SUM((infe.total_produto + infe.icms_substituicao + infe.rateio_seguro + infe.rateio_despesa_acessoria + infe.ipi)), 0)
	FROM	nota_fiscal_entrada AS nfe
		INNER JOIN item_nfe AS infe ON (infe.id_nota_fiscal_entrada = nfe.id_nota_fiscal_entrada)
	WHERE	nfe.entrada BETWEEN DATE(DATE_TRUNC('MONTH', :Data)) AND :Data
	AND	nfe.id_empresa IN (:IdEmpresaMultSlc)
	AND	nfe.situacao = 1
	AND	NOT infe.id_despesa IS NULL)
	
	+
	(SELECT COALESCE(SUM((infe.rateio_frete)), 0)
	FROM	nota_fiscal_entrada AS nfe
		INNER JOIN item_nfe AS infe ON (infe.id_nota_fiscal_entrada = nfe.id_nota_fiscal_entrada)
	WHERE	nfe.entrada BETWEEN DATE(DATE_TRUNC('MONTH', :Data)) AND :Data
	AND	nfe.id_empresa IN (:IdEmpresaMultSlc)
	AND	nfe.situacao = 1
	AND	NOT infe.id_despesa IS NULL
	AND infe.id_nota_fiscal_entrada NOT IN (SELECT nfe.id_nota_fiscal_entrada 
										FROM nota_fiscal_entrada AS nfe
										INNER JOIN sis_referencia_registro AS rr ON (rr.id_chave_registro_b = nfe.id_nota_fiscal_entrada)
										INNER JOIN conhecimento_transporte AS ct ON (ct.id_conhecimento_transporte = rr.id_chave_registro_a AND entrada_saida = 1)))
	-
	(SELECT	COALESCE(SUM(infe.rateio_frete), 0)
	FROM	nota_fiscal_entrada AS nfe
		INNER JOIN item_nfe AS infe ON (infe.id_nota_fiscal_entrada = nfe.id_nota_fiscal_entrada)
		INNER JOIN sis_referencia_registro AS rr ON (rr.id_chave_registro_b = nfe.id_nota_fiscal_entrada)
		INNER JOIN conhecimento_transporte AS ct ON (ct.id_conhecimento_transporte = rr.id_chave_registro_a AND entrada_saida = 1)
	WHERE	nfe.entrada BETWEEN DATE(DATE_TRUNC('MONTH', :Data)) AND :Data
	AND	nfe.id_empresa IN (:IdEmpresaMultSlc)
	AND	nfe.situacao = 1
	AND	ct.tipo_frete != 1)) AS ajuste_estoque
