46 lines
1.8 KiB
Transact-SQL
46 lines
1.8 KiB
Transact-SQL
DROP PROCEDURE IF EXISTS uspGetAllSchemaKikuldendoHazifeladat
|
|
GO
|
|
|
|
CREATE PROCEDURE uspGetAllSchemaKikuldendoHazifeladat
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
SELECT TOP(5000) WITH TIES
|
|
hf.ID
|
|
,hf.C_XEROPANBUNDLEID AS XeropanBundleId
|
|
,i.C_AZONOSITO AS IntezmenyAzonosito
|
|
,tv.ID AS TanevId
|
|
,tt.C_NEV AS TantargyNev
|
|
,fh.ID AS TanuloId
|
|
,fh.C_IDPEGYEDIAZONOSITO AS IdpUniqueId
|
|
,fh.C_NYOMTATASINEV AS TanuloNev
|
|
,hf.C_FELADATTIPUSID AS FeladatTipusId
|
|
,hf.C_DATUM AS Datum
|
|
,hf.C_ORASZAM AS OraSzam
|
|
FROM T_DKT_FELADAT hf
|
|
INNER JOIN T_TANEV tv ON tv.ID = hf.C_TANEVID
|
|
AND tv.C_AKTIV = 'T'
|
|
AND tv.TOROLT = 'F'
|
|
INNER JOIN T_INTEZMENY i ON i.ID = tv.C_INTEZMENYID
|
|
AND i.TOROLT = 'F'
|
|
INNER JOIN T_TANTARGY tt ON tt.ID = hf.C_TANTARGYID
|
|
AND tt.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = hf.C_OSZTALYCSOPORTID
|
|
AND ocs.TOROLT = 'F'
|
|
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID
|
|
AND ((tcs.C_BELEPESDATUM <= hf.C_BEADASHATARIDO
|
|
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > hf.C_BEADASHATARIDO)) OR hf.C_BEADASHATARIDO IS NULL)
|
|
AND tcs.C_BELEPESDATUM < GETDATE() AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= GETDATE())
|
|
AND tcs.TOROLT = 'F'
|
|
INNER JOIN T_FELHASZNALO fh ON fh.ID = tcs.C_TANULOID
|
|
AND fh.TOROLT = 'F'
|
|
WHERE hf.TOROLT = 'F'
|
|
AND hf.C_ISERTESITESKIKULDVE = 'F'
|
|
--NOTE: A "DATEADD(hh, -7, GETDATE())"-ra azért van szükség, mert enélkül éjfélkor küldenénk ki a felhasználóknak push notification-ökat, így viszont eltoljuk reggel 7 órára, hogy ne éjfélkor bombázzuk őket push-okkal.
|
|
AND (hf.C_LATHATOSAGIDOPONT IS NOT NULL AND CAST(hf.C_LATHATOSAGIDOPONT AS DATE) <= DATEADD(hh, -7, GETDATE()))
|
|
ORDER BY hf.C_DATUM, hf.ID
|
|
|
|
END
|
|
|
|
GO
|