/**saece medisoft personel baglantısı olan yerlerde izin oto personel gitmesi için güncellenmeli */
ALTER  PROCEDURE [dbo].[SP_IZIN_KAYDET]  
   @SICILID INT,
   @TARIH DATETIME,
   @BASTARIH DATETIME,
   @SONTARIH DATETIME,
   @IZINTURU NVARCHAR(30),
   @IZINTIPI NVARCHAR(30),
   @BASSAAT DATETIME,
   @SONSAAT DATETIME,
   @ACIKLAMA NVARCHAR(50)
AS
BEGIN
   DECLARE  @IZINGUN FLOAT

   IF (@BASTARIH=@SONTARIH)
     SET @IZINGUN = DATEDIFF(HOUR,@BASSAAT,@SONSAAT) / 8.00 ---SAATİ PERSONELİN BORDRO TİPİNDEKİ PARAMETREDEN OKUMAK GEREKEBİLİR
   ELSE
	  SELECT @IZINGUN = COUNT(*)-SUM(ISNULL(TAKVIM.TATIL,0))
		FROM TAKVIM
	   WHERE DATEPART(WEEKDAY,TAKVIM.TARIH)<>1
	     AND TARIH>=@BASTARIH
		 AND TARIH<@SONTARIH

  INSERT INTO PIZIN (SICILID,TARIH,IZINTUR,IZINTIPID,IZINTIPI,IZINBAS,IZINSON,ACIKLAMA,BASSAAT,SONSAAT,IZINGUN,IZINDONEMYIL)
  VALUES(@SICILID, @TARIH, @IZINTURU, 1, @IZINTIPI, @BASTARIH, @SONTARIH, @ACIKLAMA, @BASSAAT, @SONSAAT, @IZINGUN, YEAR(@BASTARIH));

  DECLARE @IZINID INT

  SET @IZINID=SCOPE_IDENTITY()

  UPDATE PIZIN SET
			IZINHAK    = F.TOPLAMYILLIKHAKEDILENIZIN,
			IZINKULLAN = F.TKULLANILANIZIN
     FROM PIZIN,
	   (SELECT TOPLAMYILLIKHAKEDILENIZIN, TKULLANILANIZIN FROM FN_PERSONEL_IZIN_DURUMU(@IZINID,@SICILID,@BASTARIH)) AS F
     WHERE IZINID=@IZINID

   SELECT 'OK' AS SONUC

END