IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[SPWEB_KURUMDOSYA]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE SPWEB_KURUMDOSYA
GO

CREATE PROCEDURE [dbo].[SPWEB_KURUMDOSYA]
@cariid nvarchar(30), @tcno nvarchar(20), @isim nvarchar(50), @soyisim nvarchar(50), @baslangictarihi nvarchar(50), @bitistarihi nvarchar(50), @pdfdosyaolanlar INT, @tumu BIT
AS
BEGIN
	DECLARE @CARINO INT = dbo.FN_BASIT_ID_SIFRE_AC(@cariid)
	EXEC SPWEB_LOGLA 'kurumDOSYAtetkikler',@CARINO,'Dosya Tetkik listesini çekti',''


	DECLARE @BASLANGICTARIHIAL DATETIME = CONVERT(DATETIME,CONVERT(DATE,DATEADD(MONTH,-3,GETDATE())))
	DECLARE @BITISTARIHIAL DATETIME = CONVERT(DATETIME,CONVERT(DATE,DATEADD(DAY,1,GETDATE())))
	
	
	IF @baslangictarihi<>''  
	BEGIN
		SET @BASLANGICTARIHIAL = CONVERT(DATETIME,@baslangictarihi)
	END

	IF @bitistarihi<>''  
	BEGIN
		SET @BITISTARIHIAL = CONVERT(DATETIME,@bitistarihi)
	END

	IF @tumu=1 or @tcno<>'' or @isim<>'' or @soyisim<>''
	BEGIN
		SET @BASLANGICTARIHIAL = CONVERT(DATETIME,CONVERT(DATE,DATEADD(YEAR,-3,GETDATE())))
		SET @BITISTARIHIAL = CONVERT(DATETIME,CONVERT(DATE,DATEADD(DAY,1,GETDATE())))
	END

	SELECT	HKIMLIK.HADI+' '+HKIMLIK.HSOYADI as hastaismi,
			SUBELER.SUBEADI AS sube,					
			HDOSYA.HDOSYAID AS dosyano,
			RIGHT(('00'+cast(datepart(day,HDOSYA.HDTARIH) as varchar)),2)+'/'+RIGHT(('00'+cast(datepart(month,HDOSYA.HDTARIH) as varchar)),2)+'/'+cast(datepart(year,HDOSYA.HDTARIH) as varchar) AS dosyatarih,			
			CASE WHEN SUM(CASE WHEN HOSGBDOKUMAN.DOKUMANBASE64 IS NOT NULL THEN 1 ELSE 0 END)>0 THEN 1 ELSE 0 END AS pdfdosyavar,
			CASE WHEN SUM(CASE WHEN (HTETKIK.DURUM=2 OR HTETKIK.TETKDURUMID=7) AND HESAPISL.IPTAL=0 AND HESAPISL.ONAYLI=1 AND HESAPISL.TEKLIF=0  THEN 0 ELSE 1 END)>0 THEN 1 ELSE 0 END AS tamamlanmadi
	FROM	HDOSYA WITH(NOLOCK) 
	JOIN	HTETKIKKART WITH(NOLOCK) ON HTETKIKKART.HDOSYAID = HDOSYA.HDOSYAID
	JOIN	HTETKIK ON HTETKIK.HTETKIKKARTID = HTETKIKKART.HTETKIKKARTID
	JOIN	HESAPISL WITH(NOLOCK) ON HESAPISL.HESAPISLID = HTETKIK.HESAPISLID
	JOIN	HKIMLIK WITH(NOLOCK) ON HKIMLIK.HKIMLIKID = HDOSYA.HKIMLIKID	
	JOIN	SUBELER WITH(NOLOCK) ON SUBELER.SUBEID=HDOSYA.SUBEID	
	JOIN	CARI WITH(NOLOCK) ON CARI.CARIID = HDOSYA.HKCARIID
	LEFT JOIN HOSGBDOKUMAN ON HOSGBDOKUMAN.HDOSYAID = HDOSYA.HDOSYAID
	WHERE	HDOSYA.HKCARIID=@CARINO
		AND HDOSYA.HDTARIH>@BASLANGICTARIHIAL
		AND HDOSYA.HDTARIH<@BITISTARIHIAL
		AND (@tcno='' OR HKIMLIK.HTCKIMLIKNO=@tcno)
		AND (@isim='' OR HKIMLIK.HADI LIKE @isim+'%')
		AND (@soyisim='' OR HKIMLIK.HSOYADI LIKE @soyisim+'%')
		AND (@pdfdosyaolanlar=0 OR (@pdfdosyaolanlar=1 AND HOSGBDOKUMAN.DOKUMANBASE64 IS NOT NULL))
	GROUP BY HKIMLIK.HADI,HKIMLIK.HSOYADI,SUBELER.SUBEADI,HDOSYA.HDOSYAID,HDOSYA.HDTARIH
	
END
GO

IF EXISTS (SELECT [name] FROM [sys].[database_principals] WHERE [type] = N'S' AND [name] = N'mediwebuser')
BEGIN
	BEGIN TRY
		GRANT EXECUTE ON [dbo].[SPWEB_KURUMDOSYA] TO [mediwebuser]
	END TRY
	BEGIN CATCH
	END CATCH
END
GO


