-- Nota Fiscal Eletrônica - DANFE
-- Parcelas
SELECT	
	ARRAY_TO_STRING(ARRAY_AGG(
	(CASE WHEN ((SELECT COUNT(1) FROM parcela_nfs AS p WHERE p.id_nota_fiscal_saida = nfs.id_nota_fiscal_saida) = 1 AND nfs.emissao = (SELECT p.vencimento FROM parcela_nfs AS p WHERE p.id_nota_fiscal_saida = nfs.id_nota_fiscal_saida))
	THEN ('Pagamento à Vista') ELSE (
	('Parc.' || CHR(58) || ' ' || pnfs.numero || ' Venc.' || CHR(58) || ' ' ||
		CASE WHEN pnfs.vencimento > nfs.emissao THEN TO_CHAR(pnfs.vencimento, 'dd/MM/yyyy') ELSE 'Pagamento à Vista' END|| ' Valor' || CHR(58) || ' ' ||
	TRIM(REPLACE(TO_CHAR(pnfs.valor, 'L999G999D99'), 'R$', ''))  || ' |')) END)
	ORDER BY pnfs.vencimento), ' ' ) AS todas_parcelas
FROM	parcela_nfs AS pnfs
INNER JOIN nota_fiscal_saida AS nfs ON (nfs.id_nota_fiscal_saida = pnfs.id_nota_fiscal_saida)
WHERE pnfs.id_nota_fiscal_saida = :Id
GROUP BY
	pnfs.id_nota_fiscal_saida;