IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[NAHCIVAN_GELIR_DURUM]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION [dbo].NAHCIVAN_GELIR_DURUM
GO
CREATE FUNCTION [dbo].[NAHCIVAN_GELIR_DURUM] (@BasTarih  datetime,@BitTarih datetime)  
RETURNS table AS  
return 


WITH NAHCIVAN_GELIR_RAPORU_CG
AS (
	SELECT HESAPISLID RecNo
		,*
	FROM (
		SELECT 'GENEL' TUR
			,VWHDOSYA.HDACIKLAMA AS HDGELISSEBEBI
			,SUM(VWYATIS.ADET) ADET
			,VWHESAPISL.HESAPISLID
			,VWHDOSYA.MDLTEDAVITURU
			,VWHDOSYA.HDTARIH
			,VWHDOSYA.GSSCIKISTARIHI
			,UNVANI
			,HTCKIMLIKNO
			,ADISOYADI + ' ' + HBABAADI AS ADISOYADI
			,HDTARIHI
			,HEVADRES
			,[dbo].[HDOSYA_ICD_LISTE](VWHDOSYA.HDOSYAID) AS TUMTANILAR
			,[dbo].[HDOSYA_ICD_LISTE_ONTANI](VWHDOSYA.HDOSYAID) AS ONTANILAR
			,[dbo].[HDOSYA_ICD_LISTE_KESINTANI](VWHDOSYA.HDOSYAID) AS KESINTANILAR
			,VWHESAPISL.ITEMADI
			,VWHESAPISL.ITEMFIYATI
			,VWHESAPISL.UYGDRADI
			,VWHESAPISL.ITEMKODU2
			,VWHESAPISL.UYGDRID
			,VWHESAPISL.FIYAT
			,DRYLISANS
			,VWHDOSYA.HKIMLIKID
			,VWHDOSYA.HDOSYAID
			,VWHDOSYA.PROVIZYONNO
			,ANNEDOGUMDOSYANO
		FROM VWHDOSYA(NOLOCK)
		INNER JOIN VWHESAPISL(NOLOCK) ON VWHDOSYA.HDOSYAID = VWHESAPISL.HDOSYAID
		LEFT JOIN VWYATIS(NOLOCK) ON VWYATIS.HDOSYAID = VWHDOSYA.HDOSYAID
		INNER JOIN TDRKIMLIK(NOLOCK) ON VWHESAPISL.UYGDRID = TDRKIMLIK.DRID
		INNER JOIN VWHESAPISLDRM(NOLOCK) ON VWHESAPISLDRM.HESAPISLID = VWHESAPISL.HESAPISLID
		WHERE VWHDOSYA.MDLTEDAVITURU = 'A'
			AND VWHESAPISL.IPTAL = 0
			AND VWHESAPISLDRM.DURUM = 2
			AND ANNEDOGUMDOSYANO IS NULL
			AND DBO.TARIHAL(VWHDOSYA.HDTARIH) >= @BasTarih
			AND DBO.TARIHAL(VWHDOSYA.HDTARIH) <= @BitTarih
		GROUP BY VWHDOSYA.HDOSYAID
			,VWHDOSYA.HDACIKLAMA
			,VWYATIS.ADET
			,VWHESAPISL.HESAPISLID
			,VWHDOSYA.MDLTEDAVITURU
			,VWHDOSYA.HDTARIH
			,VWHDOSYA.GSSCIKISTARIHI
			,UNVANI
			,HTCKIMLIKNO
			,ADISOYADI
			,HBABAADI
			,HDTARIHI
			,HEVADRES
			,VWHESAPISL.ITEMADI
			,VWHESAPISL.ITEMFIYATI
			,VWHESAPISL.UYGDRADI
			,VWHESAPISL.ITEMKODU2
			,VWHESAPISL.UYGDRID
			,VWHESAPISL.FIYAT
			,DRYLISANS
			,VWHDOSYA.HKIMLIKID
			,VWHDOSYA.PROVIZYONNO
			,ANNEDOGUMDOSYANO
		
		UNION ALL
		
		SELECT 'GENEL'
			,VWHDOSYA.HDACIKLAMA AS HDGELISSEBEBI
			,SUM(VWYATIS.ADET) ADET
			,VWHESAPISL.HESAPISLID
			,VWHDOSYA.MDLTEDAVITURU
			,VWHDOSYA.HDTARIH
			,VWHDOSYA.GSSCIKISTARIHI
			,UNVANI
			,HTCKIMLIKNO
			,ADISOYADI + ' ' + HBABAADI AS ADISOYADI
			,HDTARIHI
			,HEVADRES
			,[dbo].[HDOSYA_ICD_LISTE](VWHDOSYA.HDOSYAID) AS TUMTANILAR
			,[dbo].[HDOSYA_ICD_LISTE_ONTANI](VWHDOSYA.HDOSYAID) AS ONTANILAR
			,[dbo].[HDOSYA_ICD_LISTE_KESINTANI](VWHDOSYA.HDOSYAID) AS KESINTANILAR
			,VWHESAPISL.ITEMADI
			,VWHESAPISL.ITEMFIYATI
			,VWHESAPISL.UYGDRADI
			,VWHESAPISL.ITEMKODU2
			,VWHESAPISL.UYGDRID
			,VWHESAPISL.FIYAT
			,DRYLISANS
			,VWHDOSYA.HKIMLIKID
			,VWHDOSYA.HDOSYAID
			,VWHDOSYA.PROVIZYONNO
			,ANNEDOGUMDOSYANO
		FROM VWHDOSYA(NOLOCK)
		INNER JOIN VWHESAPISL(NOLOCK) ON VWHDOSYA.HDOSYAID = VWHESAPISL.HDOSYAID
		INNER JOIN TDRKIMLIK(NOLOCK) ON VWHESAPISL.UYGDRID = TDRKIMLIK.DRID
		INNER JOIN VWYATIS(NOLOCK) ON VWYATIS.HDOSYAID = VWHDOSYA.HDOSYAID
		INNER JOIN VWHESAPISLDRM(NOLOCK) ON VWHESAPISLDRM.HESAPISLID = VWHESAPISL.HESAPISLID
		WHERE VWHDOSYA.MDLTEDAVITURU <> 'A'
			AND VWHESAPISL.IPTAL = 0
			AND VWHESAPISLDRM.DURUM = 2
			AND ANNEDOGUMDOSYANO IS NULL
			AND DBO.TARIHAL(VWHDOSYA.GSSCIKISTARIHI) >= @BasTarih
			AND DBO.TARIHAL(VWHDOSYA.GSSCIKISTARIHI) <= @BitTarih		
		GROUP BY VWHDOSYA.HDOSYAID
			,VWHDOSYA.HDACIKLAMA
			,VWYATIS.ADET
			,VWHESAPISL.HESAPISLID
			,VWHDOSYA.MDLTEDAVITURU
			,VWHDOSYA.HDTARIH
			,VWHDOSYA.GSSCIKISTARIHI
			,UNVANI
			,HTCKIMLIKNO
			,ADISOYADI
			,HBABAADI
			,HDTARIHI
			,HEVADRES
			,VWHESAPISL.ITEMADI
			,VWHESAPISL.ITEMFIYATI
			,VWHESAPISL.UYGDRADI
			,VWHESAPISL.ITEMKODU2
			,VWHESAPISL.UYGDRID
			,VWHESAPISL.FIYAT
			,DRYLISANS
			,VWHDOSYA.HKIMLIKID
			,VWHDOSYA.PROVIZYONNO
			,ANNEDOGUMDOSYANO
		) AS T
	)
SELECT SATIRX SATIRNO
	,*
FROM NAHCIVAN_GELIR_RAPORU_CG
INNER JOIN (
	SELECT HDOSYA.HDOSYAID HDOSYAID_GENEL
		,0 AS SATIRX
	FROM HDOSYA
	
	) HK ON HK.HDOSYAID_GENEL = NAHCIVAN_GELIR_RAPORU_CG.HDOSYAID
/*******/
UNION ALL

SELECT -999
	,VWHESAPISL.HESAPISLID
	,'Bebek Dosyası(Anne Dosya No: ' + CAST(ANNEDOGUMDOSYANO AS NVARCHAR) + ')' TUR
	,VWHDOSYA.HDACIKLAMA AS HDGELISSEBEBI
	,SUM(VWYATIS.ADET) ADET
	,VWHESAPISL.HESAPISLID
	,VWHDOSYA.MDLTEDAVITURU
	,VWHDOSYA.HDTARIH
	,VWHDOSYA.GSSCIKISTARIHI
	,UNVANI
	,HTCKIMLIKNO
	,ADISOYADI + ' ' + HBABAADI AS ADISOYADI
	,HDTARIHI
	,HEVADRES
	,[dbo].[HDOSYA_ICD_LISTE](VWHDOSYA.HDOSYAID) AS TUMTANILAR
	,[dbo].[HDOSYA_ICD_LISTE_ONTANI](VWHDOSYA.HDOSYAID) AS ONTANILAR
	,[dbo].[HDOSYA_ICD_LISTE_KESINTANI](VWHDOSYA.HDOSYAID) AS KESINTANILAR
	,VWHESAPISL.ITEMADI
	,VWHESAPISL.ITEMFIYATI
	,VWHESAPISL.UYGDRADI
	,VWHESAPISL.ITEMKODU2
	,VWHESAPISL.UYGDRID
	,VWHESAPISL.FIYAT
	,DRYLISANS
	,VWHDOSYA.HKIMLIKID
	,ANNEDOGUMDOSYANO
	,VWHDOSYA.PROVIZYONNO
	,ANNEDOGUMDOSYANO
	,VWHDOSYA.HDOSYAID
	,-999
FROM VWHDOSYA(NOLOCK)
INNER JOIN VWHESAPISL(NOLOCK) ON VWHDOSYA.HDOSYAID = VWHESAPISL.HDOSYAID
LEFT JOIN VWYATIS(NOLOCK) ON VWYATIS.HDOSYAID = VWHDOSYA.HDOSYAID
INNER JOIN TDRKIMLIK(NOLOCK) ON VWHESAPISL.UYGDRID = TDRKIMLIK.DRID
INNER JOIN VWHESAPISLDRM(NOLOCK) ON VWHESAPISLDRM.HESAPISLID = VWHESAPISL.HESAPISLID
WHERE VWHDOSYA.MDLTEDAVITURU = 'A'
	AND VWHESAPISL.IPTAL = 0
	AND VWHESAPISLDRM.DURUM = 2
	AND VWHDOSYA.ANNEDOGUMDOSYANO IS NOT NULL
	AND EXISTS (
		SELECT *
		FROM NAHCIVAN_GELIR_RAPORU_CG
		WHERE NAHCIVAN_GELIR_RAPORU_CG.HDOSYAID = VWHDOSYA.ANNEDOGUMDOSYANO
		)
GROUP BY VWHDOSYA.HDOSYAID
	,VWHDOSYA.HDACIKLAMA
	,VWYATIS.ADET
	,VWHESAPISL.HESAPISLID
	,VWHDOSYA.MDLTEDAVITURU
	,VWHDOSYA.HDTARIH
	,VWHDOSYA.GSSCIKISTARIHI
	,UNVANI
	,HTCKIMLIKNO
	,ADISOYADI
	,HBABAADI
	,HDTARIHI
	,HEVADRES
	,VWHESAPISL.ITEMADI
	,VWHESAPISL.ITEMFIYATI
	,VWHESAPISL.UYGDRADI
	,VWHESAPISL.ITEMKODU2
	,VWHESAPISL.UYGDRID
	,VWHESAPISL.FIYAT
	,DRYLISANS
	,VWHDOSYA.HKIMLIKID
	,VWHDOSYA.PROVIZYONNO
	,ANNEDOGUMDOSYANO

UNION ALL

SELECT -999
	,VWHESAPISL.HESAPISLID
	,'Bebek Dosyası(Anne Dosya No: ' + CAST(ANNEDOGUMDOSYANO AS NVARCHAR) + ')'
	,VWHDOSYA.HDACIKLAMA AS HDGELISSEBEBI
	,SUM(VWYATIS.ADET) ADET
	,VWHESAPISL.HESAPISLID
	,VWHDOSYA.MDLTEDAVITURU
	,VWHDOSYA.HDTARIH
	,VWHDOSYA.GSSCIKISTARIHI
	,UNVANI
	,HTCKIMLIKNO
	,ADISOYADI + ' ' + HBABAADI AS ADISOYADI
	,HDTARIHI
	,HEVADRES
	,[dbo].[HDOSYA_ICD_LISTE](VWHDOSYA.HDOSYAID) AS TUMTANILAR
	,[dbo].[HDOSYA_ICD_LISTE_ONTANI](VWHDOSYA.HDOSYAID) AS ONTANILAR
	,[dbo].[HDOSYA_ICD_LISTE_KESINTANI](VWHDOSYA.HDOSYAID) AS KESINTANILAR
	,VWHESAPISL.ITEMADI
	,VWHESAPISL.ITEMFIYATI
	,VWHESAPISL.UYGDRADI
	,VWHESAPISL.ITEMKODU2
	,VWHESAPISL.UYGDRID
	,VWHESAPISL.FIYAT
	,DRYLISANS
	,VWHDOSYA.HKIMLIKID
	,ANNEDOGUMDOSYANO
	,VWHDOSYA.PROVIZYONNO
	,ANNEDOGUMDOSYANO
	,VWHDOSYA.HDOSYAID
	,-999
FROM VWHDOSYA(NOLOCK)
INNER JOIN VWHESAPISL(NOLOCK) ON VWHDOSYA.HDOSYAID = VWHESAPISL.HDOSYAID
INNER JOIN TDRKIMLIK(NOLOCK) ON VWHESAPISL.UYGDRID = TDRKIMLIK.DRID
INNER JOIN VWYATIS(NOLOCK) ON VWYATIS.HDOSYAID = VWHDOSYA.HDOSYAID
INNER JOIN VWHESAPISLDRM(NOLOCK) ON VWHESAPISLDRM.HESAPISLID = VWHESAPISL.HESAPISLID
WHERE VWHDOSYA.MDLTEDAVITURU <> 'A'
	AND VWHESAPISL.IPTAL = 0
	AND VWHESAPISLDRM.DURUM = 2
	AND VWHDOSYA.ANNEDOGUMDOSYANO IS NOT NULL
	AND EXISTS (
		SELECT *
		FROM NAHCIVAN_GELIR_RAPORU_CG
		WHERE NAHCIVAN_GELIR_RAPORU_CG.HDOSYAID = VWHDOSYA.ANNEDOGUMDOSYANO
		)
GROUP BY VWHDOSYA.HDOSYAID
	,VWHDOSYA.HDACIKLAMA
	,VWYATIS.ADET
	,VWHESAPISL.HESAPISLID
	,VWHDOSYA.MDLTEDAVITURU
	,VWHDOSYA.HDTARIH
	,VWHDOSYA.GSSCIKISTARIHI
	,UNVANI
	,HTCKIMLIKNO
	,ADISOYADI
	,HBABAADI
	,HDTARIHI
	,HEVADRES
	,VWHESAPISL.ITEMADI
	,VWHESAPISL.ITEMFIYATI
	,VWHESAPISL.UYGDRADI
	,VWHESAPISL.ITEMKODU2
	,VWHESAPISL.UYGDRID
	,VWHESAPISL.FIYAT
	,DRYLISANS
	,VWHDOSYA.HKIMLIKID
	,VWHDOSYA.PROVIZYONNO
	,ANNEDOGUMDOSYANO
/*****/

--ORDER BY NAHCIVAN_GELIR_RAPORU_CG.HDOSYAID	,HDTARIH ASC