
/****** Object:  UserDefinedFunction [dbo].[ApiStanUrzadzenia]    Script Date: 07.09.2021 13:35:42 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

--select * from dbo.Urzadzenia where Identyfikator='BG02480'

CREATE FUNCTION [dbo].[ApiStanUrzadzenia]
(
	@UrzadzenieId int
	
)
RETURNS  nvarchar(20)
AS
BEGIN
/*
declare @UrzadzenieId int;
set @UrzadzenieId =194;
 */
 declare @Res nvarchar(20);
 set @Res='Wolne';

 declare @Wypozyczane int;

 select  @Wypozyczane= u.Wypozyczane
 --, ISNULL(PrzyjeteDoWypozyczalni.Data,0) Przyjete 
 from dbo.Urzadzenia u
 /*
 LEFT OUTER JOIN dbo.Features PrzyjeteDoWypozyczalni ON PrzyjeteDoWypozyczalni.ParentType='Urzadzenia'
 and PrzyjeteDoWypozyczalni.Name = 'PrzyjeteDoWypozyczalni' and PrzyjeteDoWypozyczalni.Lp=0 and PrzyjeteDoWypozyczalni.Parent = u.ID 
 */
 where ID=@UrzadzenieId

 IF( @Wypozyczane=0) 
 set @Res='Sprzedane'
 ELSE
 BEGIN
 declare @stan varchar(20);
 declare @kategoria varchar(20)
 set @kategoria='Wolne';
select  @stan = sz.Nazwa,@kategoria =  ISNULL(kategoria.Data,'Wolne') from dbo.UrzadzeniaUzyte uu 
JOIN dbo.Zadania z ON uu.Zadanie = z.ID and z.Rodzaj=4 
JOIN dbo.StanyZadania sz ON sz.ID = uu.StanZadania and sz.Aktywny=1
JOIN dbo.Features kategoria ON kategoria.ParentType='Zadania' and kategoria.Parent=z.ID and kategoria.Lp=0 and kategoria.Name='KategoriaWypożyczenia'
where 

uu.Urzadzenie = @UrzadzenieId
ORDER BY uu.Id DESC

if ( @stan='Zarezerwowane')
set @Res='Rezerwacja'
ELSE 
 set @Res= @kategoria;
 END

return @Res;
END


GO


