IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FNMED_YATIS_HASTAUZERINDEKI_STOKLAR]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION [dbo].FNMED_YATIS_HASTAUZERINDEKI_STOKLAR
GO

create FUNCTION [dbo].[FNMED_YATIS_HASTAUZERINDEKI_STOKLAR]
(	
	@SUBEID INT, @BASTAR DATETIME, @BITTAR DATETIME
)
RETURNS TABLE 
AS
RETURN 
(
 SELECT VWHDOSYA.BOLUMADI,VWHDOSYA.ADISOYADI,Q.* FROM ( 
     SELECT STOKID, ADI As STOKAD, DEPOID,DEPOADI, SKTARIHI,  SUM(GCADET) AS MIKTAR,HDOSYAID FROM VWSTOKISL (NOLOCK) 
       WHERE EXISTS 
	   (
	     SELECT HDOSYAID FROM [HYATIS] WITH(NOLOCK) WHERE DBO.TARIHAL(HYCIKISTARIH)>=@BASTAR AND  DBO.TARIHAL(HYCIKISTARIH)<=@BITTAR AND
	       SUBEID=@SUBEID AND DURUM=2 AND HYATIS.HDOSYAID=VWSTOKISL.HDOSYAID
	   )   
	  GROUP BY STOKID,ADI, DEPOID,DEPOADI, SKTARIHI,HDOSYAID ) Q LEFT JOIN  VWHDOSYA  ON VWHDOSYA.HDOSYAID=Q.HDOSYAID  WHERE MIKTAR>0 
      --ORDER BY STOKID,DEPOADI, SKTARIHI
)
GO


--SELECT * FROM dbo.[FNMED_YATIS_HASTAUZERINDEKI_STOKLAR](1, '01.29.2018', '10.31.2019') ORDER BY STOKID,DEPOADI, SKTARIHI
