159 lines
4.8 KiB
Transact-SQL
159 lines
4.8 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
|
|
|
|
-- =============================================
|
|
-- Description: <Felhasználóhoz tartozó faliújságbejegyzések és tanévrendje események lekérdezése>
|
|
-- =============================================
|
|
CREATE PROCEDURE [dbo].[sp_GetFaliujsagBejegyzesek]
|
|
@pUserId INT
|
|
,@pDate DATE
|
|
|
|
AS
|
|
BEGIN
|
|
|
|
-- SET NOCOUNT ON added to prevent extra result sets from
|
|
-- interfering with SELECT statements.
|
|
SET NOCOUNT ON;
|
|
|
|
SELECT
|
|
T_TANULOESEMENY.ID ID
|
|
,T_TANULOESEMENY.C_KEZDETE Erv_kezd
|
|
,T_TANULOESEMENY.C_TARGY Cim
|
|
,T_TANULOESEMENY.C_TARTALOM Szoveg
|
|
,T_FELHASZNALO.C_NYOMTATASINEV Bejegyzo
|
|
,T_FELHASZNALO.C_PROFILKEP ProfilKep
|
|
,Statusz.StatuszId Munkakor
|
|
FROM
|
|
T_TANULOESEMENY
|
|
INNER JOIN
|
|
T_FELHASZNALO ON
|
|
T_TANULOESEMENY.C_FELJEGYZOID = 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_TANULO_TANULOESEMENY ON
|
|
T_TANULO_TANULOESEMENY.C_TANULOID = @pUserId
|
|
AND T_TANULO_TANULOESEMENY.C_TANULOESEMENYID = T_TANULOESEMENY.ID
|
|
LEFT JOIN
|
|
T_OSZTALYCSOPORT_TANULOESEMENY ON
|
|
T_OSZTALYCSOPORT_TANULOESEMENY.C_OSZTALYCSOPORTID IN
|
|
(SELECT
|
|
C_OSZTALYCSOPORTID
|
|
FROM
|
|
T_TANULOCSOPORT
|
|
WHERE
|
|
T_TANULOCSOPORT.C_TANULOID = @pUserId
|
|
AND T_TANULOCSOPORT.C_BELEPESDATUM <= @pDate
|
|
AND (T_TANULOCSOPORT.C_KILEPESDATUM >= @pDate OR T_TANULOCSOPORT.C_KILEPESDATUM IS NULL))
|
|
AND T_OSZTALYCSOPORT_TANULOESEMENY.C_TANULOESEMENYID = T_TANULOESEMENY.ID
|
|
WHERE
|
|
(T_TANULOESEMENY.C_MINDENKINEK = 'T' OR T_OSZTALYCSOPORT_TANULOESEMENY.C_OSZTALYCSOPORTID IS NOT NULL OR T_TANULO_TANULOESEMENY.C_TANULOID = @pUserId)
|
|
AND T_TANULOESEMENY.C_KEZDETE <= @pDate
|
|
AND (T_TANULOESEMENY.C_VEGE IS NULL OR T_TANULOESEMENY.C_VEGE >= @pDate)
|
|
AND T_TANULOESEMENY.TOROLT = 'F'
|
|
AND (T_TANULOESEMENY.C_FALIUJSAGMEGJELENES = 'T' OR T_TANULOESEMENY.C_TIPUS = 5483)
|
|
|
|
UNION
|
|
|
|
SELECT
|
|
T_FALIUJSAGBEJEGYZES.ID 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 = @pUserId)
|
|
AND T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGKEZDETE <= @pDate
|
|
AND (T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGVEGE IS NULL OR T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGVEGE >= @pDate)
|
|
AND T_FALIUJSAGBEJEGYZES.TOROLT = 'F'
|
|
|
|
UNION
|
|
|
|
SELECT
|
|
T_FALIUJSAGBEJEGYZES.ID 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 = @pUserId
|
|
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 <= @pDate
|
|
AND (T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGVEGE IS NULL OR T_FALIUJSAGBEJEGYZES.C_ERVENYESSEGVEGE >= @pDate)
|
|
AND T_FALIUJSAGBEJEGYZES.TOROLT = 'F'
|
|
|
|
ORDER BY
|
|
Erv_kezd DESC
|
|
|
|
END
|
|
|
|
|
|
GO
|
|
|