kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20170327110702_Init/Stored procedures/sp_GetFaliujsagBejegyzesek.sql
2024-03-13 00:33:46 +01:00

74 lines
2.9 KiB
Transact-SQL

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF OBJECT_ID('[dbo].[sp_GetFaliujsagBejegyzesek]') IS NOT NULL BEGIN
DROP PROCEDURE [dbo].[sp_GetFaliujsagBejegyzesek]
END
GO
-- =============================================
-- Author: Kelemen Attila
-- Create date: 2016. 03. 06.
-- Description: Felhasználóhoz tartozó faliújságbejegyzések és tanévrendje események lekérdezése
-- =============================================
CREATE PROCEDURE [dbo].[sp_GetFaliujsagBejegyzesek]
@userID int,
@date DateTime
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
select T_FALIUJSAGBEJEGYZES.ID,
T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGKEZDETE Erv_kezd,
T_FALIUJSAGBEJEGYZES.C_CIM Cim,
T_FALIUJSAGBEJEGYZES.C_BEJEGYZES Szoveg,
T_FELHASZNALO.C_NYOMTATASINEV Bejegyzo,
T_FELHASZNALO.C_PROFILKEP ProfilKep,
Statusz.StatuszID Munkakor
from T_FALIUJSAGBEJEGYZES
inner join T_FELHASZNALO ON T_FALIUJSAGBEJEGYZES.C_BEJEGYZOID = T_FELHASZNALO.ID
left join
(select C_ALKALMAZOTTID userID, max(T_MUNKAUGYIADATOK.C_MUNKAKORTIPUSA) StatuszID from T_MUNKAUGYIADATOK
WHERE T_MUNKAUGYIADATOK.TOROLT='F' Group by C_ALKALMAZOTTID) Statusz
on Statusz.userID = T_FELHASZNALO.ID
left join T_CIMZETT_FALIUJSAGBEJEGYZES on T_FALIUJSAGBEJEGYZES.ID=T_CIMZETT_FALIUJSAGBEJEGYZES.C_FALIUJSAGBEJEGYZESID
WHERE (T_FALIUJSAGBEJEGYZES.C_GLOBALIS='T' OR T_CIMZETT_FALIUJSAGBEJEGYZES.C_CIMZETTID = @userID)
AND T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGKEZDETE <= @date
AND (T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGVEGE IS NULL OR T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGVEGE >= @date)
AND T_FALIUJSAGBEJEGYZES.TOROLT='F'
UNION
SELECT T_FALIUJSAGBEJEGYZES.ID,
T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGKEZDETE Erv_kezd,
T_FALIUJSAGBEJEGYZES.C_CIM Cim,
T_FALIUJSAGBEJEGYZES.C_BEJEGYZES Szoveg,
T_FELHASZNALO.C_NYOMTATASINEV Bejegyzo,
T_FELHASZNALO.C_PROFILKEP ProfilKep,
Statusz.StatuszID Munkakor
FROM T_FALIUJSAGBEJEGYZES
inner join T_FELHASZNALO ON T_FALIUJSAGBEJEGYZES.C_BEJEGYZOID = T_FELHASZNALO.ID
left join
(select C_ALKALMAZOTTID userID, max(T_MUNKAUGYIADATOK.C_MUNKAKORTIPUSA) StatuszID from T_MUNKAUGYIADATOK
WHERE T_MUNKAUGYIADATOK.TOROLT='F' Group by C_ALKALMAZOTTID) Statusz
on Statusz.userID = T_FELHASZNALO.ID
WHERE
EXISTS (select 1 from T_TANULOCSOPORT
inner join T_OSZTALYCSOPORT_FALIUJSAGBEJE on T_TANULOCSOPORT.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_FALIUJSAGBEJE.C_OSZTALYCSOPORTID
where T_TANULOCSOPORT.TOROLT ='F'
AND T_TANULOCSOPORT.C_TANULOID = @userID
AND T_TANULOCSOPORT.C_BELEPESDATUM < GETDATE()
AND (T_TANULOCSOPORT.C_KILEPESDATUM IS NULL OR T_TANULOCSOPORT.C_KILEPESDATUM >= GETDATE())
AND T_OSZTALYCSOPORT_FALIUJSAGBEJE.C_FALIUJSAGBEJEGYZESID = T_FALIUJSAGBEJEGYZES.ID
)
AND T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGKEZDETE <= @date
AND (T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGVEGE IS NULL OR T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGVEGE >= @date)
AND T_FALIUJSAGBEJEGYZES.TOROLT='F'
ORDER BY Erv_kezd DESC
END