214 lines
9.3 KiB
Transact-SQL
214 lines
9.3 KiB
Transact-SQL
--NOTE: Ezt az sql-t kell lefuttatni ahhoz, hogy megjelenjen egy általunk felvett faliújság bejegyzés a tanulók és gondviselők felületén, illetve a push notification küldést.
|
|
-- Amiket át kell írni:
|
|
-- - @ervKezdete(opcionális): Az érvényesség kezdete, hogy mikortól jelenjen meg a faliújságbejegyzés. Alapból az aktuális dátum, de lehet későbbre is időzíteni.
|
|
-- - @ervVege: Az érvényesség kezdete, hogy meddig jelenjen meg a faliújságbejegyzés.
|
|
-- - @ertesitesKuldve: Ha 'F', akkor fogunk küldeni push notification-t. Ha 'T', akkor nem fogunk küldeni push notification-t.
|
|
-- - @targy: A faliújság bejegyzés tárgya.
|
|
-- - @tartalom: Az üzenet tartalma. Ide html tag-ek nélkül kell, mivel ezt a mobil jeleníti meg. A mobil megjeleníti szépen az entereket, úgyhogy a bekezdések elválasztásához azokat használjuk.
|
|
-- - @tartalomWeb: Az üzenet tartalma. Ide html tak-ekkel kell, mivel ezt web-es felület jeleníti meg. Az alábbi tegeket használjuk formázásra:
|
|
-- - <br />: Sortörés
|
|
-- - <a style="color: blue;" href="{url}" target="_blank">{az url helyett megjelenő szöveg}</a>
|
|
|
|
CREATE TABLE #tanuloLista (
|
|
C_INTEZMENYAZONOSITO nvarchar(30) NOT NULL
|
|
,C_OKTATASIAZONOSITO nvarchar(20) NOT NULL
|
|
,C_IDPGUID uniqueidentifier NOT NULL
|
|
)
|
|
-- teszt miatt:
|
|
INSERT INTO #tanuloLista(C_INTEZMENYAZONOSITO, C_OKTATASIAZONOSITO, C_IDPGUID) VALUES ('demolive','75807254221','C1D42E62-C815-4E06-8747-026AEC182811')
|
|
INSERT INTO #tanuloLista(C_INTEZMENYAZONOSITO, C_OKTATASIAZONOSITO, C_IDPGUID) VALUES ('demolive','76316223145','8FD884EF-B9EA-46A2-BE38-71DAD02A01A6')
|
|
INSERT INTO #tanuloLista(C_INTEZMENYAZONOSITO, C_OKTATASIAZONOSITO, C_IDPGUID) VALUES ('demolive','75255108774','B35D049A-E76D-4FFB-A1CA-8C89C63338A4')
|
|
INSERT INTO #tanuloLista(C_INTEZMENYAZONOSITO, C_OKTATASIAZONOSITO, C_IDPGUID) VALUES ('demolive','71525113303','A9D05940-0828-426A-979C-EC13D7BFF47A')
|
|
INSERT INTO #tanuloLista(C_INTEZMENYAZONOSITO, C_OKTATASIAZONOSITO, C_IDPGUID) VALUES ('demolive','73643841888','0861B36A-891E-4A62-A774-C564F7D3A298')
|
|
INSERT INTO #tanuloLista(C_INTEZMENYAZONOSITO, C_OKTATASIAZONOSITO, C_IDPGUID) VALUES ('demolive','78014233403','BD31349A-6831-443B-A786-B4B5BDDE1A07')
|
|
INSERT INTO #tanuloLista(C_INTEZMENYAZONOSITO, C_OKTATASIAZONOSITO, C_IDPGUID) VALUES ('demolive','76683500716','222C5266-42DE-4BB2-8F0C-31A230DCE544')
|
|
GO
|
|
|
|
/* FaliUjsag */
|
|
DECLARE
|
|
@rendszeruzenetId int
|
|
,@faliujsagUzenedId int
|
|
,@intezmenyId int
|
|
,@tanevid int
|
|
,@targy nvarchar(max)
|
|
,@tartalom nvarchar(max)
|
|
,@ervKezdete datetime
|
|
,@ervVege datetime
|
|
,@ertesitesKuldve char(1)
|
|
,@tartalomWeb nvarchar(max)
|
|
|
|
SET @ervKezdete = '20201126 10:00'
|
|
SET @ervVege = '20201211 23:59:59'
|
|
SET @ertesitesKuldve = 'F'
|
|
SET @targy = 'Miniszterelnöki köszöntő levél szakképzési ösztöndíjasok részére'
|
|
|
|
SET @tartalom = N'
|
|
Tisztelt Szakképzős Tanuló!
|
|
|
|
Kérjük, olvassa el Orbán Viktor miniszterelnök úr köszöntő levelét, amelyet a https://tudasbazis.ekreta.hu/download/attachments/2424949/DM_szakk%C3%A9pz%C5%91s%20tanul%C3%B3k%202020.11..pdf?api=v2 linkre kattintva tölthet le!
|
|
'
|
|
|
|
SET @tartalomWeb = N'
|
|
<p>Tisztelt Szakképzős Tanuló!</p>
|
|
<p style="text-align: justify;">Kérjük, olvassa el Orbán Viktor miniszterelnök úr köszöntő levelét, amelyet <a style="color: blue;" href="https://tudasbazis.ekreta.hu/download/attachments/2424949/DM_szakk%C3%A9pz%C5%91s%20tanul%C3%B3k%202020.11..pdf?api=v2" target="_blank"><strong>IDE</strong></a> kattintva tölthet le!</p>
|
|
'
|
|
|
|
DECLARE IntCursor CURSOR LOCAL FOR
|
|
SELECT i.ID , tv.ID, MIN(fh.ID)
|
|
FROM T_INTEZMENY i
|
|
INNER JOIN T_TANEV tv On tv.C_INTEZMENYID = i.ID AND tv.TOROLT = 'F' AND tv.C_AKTIV = 'T'
|
|
INNER JOIN T_FELHASZNALO fh ON fh.C_TANEVID = tv.ID AND fh.TOROLT = 'F' AND fh.C_NYOMTATASINEV = N'Rendszerüzenet'
|
|
WHERE i.TOROLT = 'F'
|
|
AND i.C_AZONOSITO IN (select distinct C_INTEZMENYAZONOSITO COLLATE Hungarian_CI_AI from #tanuloLista)
|
|
GROUP BY i.ID , tv.ID
|
|
|
|
OPEN IntCursor
|
|
FETCH NEXT FROM IntCursor INTO @intezmenyId, @tanevid, @rendszeruzenetId
|
|
|
|
WHILE @@FETCH_STATUS = 0 BEGIN
|
|
|
|
IF NOT EXISTS (SELECT 1 FROM T_TANULOESEMENY WHERE C_TANEVID = @tanevid AND C_TARGY = @targy AND TOROLT = 'F' AND C_FELJEGYZOID = @rendszeruzenetId) BEGIN
|
|
INSERT INTO T_TANULOESEMENY (
|
|
C_KEZDETE
|
|
,C_MEGJEGYZES
|
|
,C_TARTALOM
|
|
,C_TARTALOMWEB
|
|
,C_TIPUS
|
|
,C_TARGY
|
|
,C_FALIUJSAGMEGJELENES
|
|
,C_MINDENKINEK
|
|
,C_VEGE
|
|
,C_ROGZITESDATUMA
|
|
,C_ISERTESITESELKULDVE
|
|
,C_FELJEGYZOID
|
|
,C_TANTARGYID
|
|
,C_TANITASIORAID
|
|
,C_INTEZMENYID
|
|
,C_TANEVID
|
|
,TOROLT
|
|
,SERIAL
|
|
,LASTCHANGED
|
|
,CREATED
|
|
,MODIFIER
|
|
,CREATOR
|
|
,ELOZOTANEVIREKORDID
|
|
) SELECT
|
|
@ervKezdete AS C_KEZDETE -- datetime
|
|
,'Rendszerüzenet' AS C_MEGJEGYZES -- nvarchar(255)
|
|
,@tartalom AS C_TARTALOM -- * nvarchar(max)
|
|
,@tartalomWeb AS C_TARTALOMWEB -- nvarchar(max)
|
|
,5482 AS C_TIPUS -- * int
|
|
,@targy AS C_TARGY -- * nvarchar(255)
|
|
,'T' AS C_FALIUJSAGMEGJELENES -- char(1)
|
|
,'T' AS C_MINDENKINEK -- char(1)
|
|
,@ervVege AS C_VEGE -- datetime
|
|
,GETDATE() AS C_ROGZITESDATUMA -- * datetime
|
|
,@ertesitesKuldve AS C_ISERTESITESELKULDVE -- * char(1)
|
|
,@RendszeruzenetId AS C_FELJEGYZOID -- * int
|
|
,NULL AS C_TANTARGYID -- int
|
|
,NULL AS C_TANITASIORAID -- int
|
|
,@intezmenyId AS C_INTEZMENYID -- * int
|
|
,@tanevid AS C_TANEVID -- * int
|
|
,'F' AS TOROLT -- * char(1)
|
|
,0 AS SERIAL -- * int
|
|
,GETDATE() AS LASTCHANGED -- * datetime
|
|
,GETDATE() AS CREATED -- * datetime
|
|
,NULL AS MODIFIER -- int
|
|
,NULL AS CREATOR -- int
|
|
,NULL AS ELOZOTANEVIREKORDID -- int
|
|
|
|
SET @faliujsagUzenedId = SCOPE_IDENTITY()
|
|
|
|
--INSERT INTO T_OSZTALYCSOPORT_TANULOESEMENY (C_OSZTALYCSOPORTID, C_TANULOESEMENYID)
|
|
--SELECT ID, @faliujsagUzenedId
|
|
--FROM T_OSZTALY WHERE TOROLT = 'F' AND C_ALTANEVID = @tanevid
|
|
|
|
INSERT INTO T_TANULO_TANULOESEMENY (C_TANULOID, C_TANULOESEMENYID)
|
|
SELECT t.ID, @faliujsagUzenedId
|
|
FROM T_TANULO t
|
|
INNER JOIN T_FELHASZNALO f ON f.ID = t.ID AND f.TOROLT = 'F'
|
|
INNER JOIN T_INTEZMENY i ON i.ID = @intezmenyId AND i.TOROLT = 'F'
|
|
INNER JOIN #tanuloLista tl ON tl.C_INTEZMENYAZONOSITO COLLATE Hungarian_CI_AI = i.C_AZONOSITO COLLATE Hungarian_CI_AI
|
|
AND tl.C_IDPGUID = f.C_IDPEGYEDIAZONOSITO
|
|
--AND tl.C_OKTATASIAZONOSITO COLLATE Hungarian_CI_AI = f.C_OKTATASIAZONOSITO COLLATE Hungarian_CI_AI
|
|
WHERE t.TOROLT = 'F' AND t.C_ALTANEVID = @tanevid
|
|
|
|
END
|
|
--OPEN IntCursor
|
|
FETCH NEXT FROM IntCursor INTO @intezmenyId, @tanevid, @rendszeruzenetId
|
|
|
|
END -- while
|
|
GO
|
|
/* END FaliUjsag */
|
|
|
|
/* Popup */
|
|
IF NOT EXISTS (SELECT 1 FROM [dbo].[T_DASHBOARDUZENET] WHERE C_EGYEDIAZONOSITO = 'POPUP_SZAKK_OSZTONDIJ_1126')
|
|
BEGIN
|
|
|
|
INSERT INTO [dbo].[T_DASHBOARDUZENET] (C_CIM, C_EGYEDIAZONOSITO, C_ERVENYESSEGKEZDETE, C_ERVENYESSEGVEGE, C_KIEMELTIDOSZAKVEGE, C_SORREND, C_TARTALOM, C_DASHBOARDUZENETKATEGORIAID, C_ISPOPUP)
|
|
VALUES (N'Miniszterelnöki köszöntő levél szakképzési ösztöndíjasok részére',N'POPUP_SZAKK_OSZTONDIJ_1126','2020-11-26 10:00','2020-12-04 23:59:59',NULL,0
|
|
,N'<div>
|
|
<p>Tisztelt Szakképzős Tanuló!</p>
|
|
<p style="text-align: justify;">Kérjük, olvassa el Orbán Viktor miniszterelnök úr köszöntő levelét, amelyet <a href="https://tudasbazis.ekreta.hu/download/attachments/2424949/DM_szakk%C3%A9pz%C5%91s%20tanul%C3%B3k%202020.11..pdf?api=v2" target="_blank"><strong>IDE</strong></a> kattintva tölthet le!</p>
|
|
</div>'
|
|
,10,'T')
|
|
|
|
END
|
|
|
|
-- Tanulók
|
|
INSERT INTO T_DASHBOARDUZENETFELHASZNALO (
|
|
C_MEGJELENITESEKSZAMA
|
|
,C_UTOLSOMEGTEKINTESIDEJE
|
|
,C_EGYEDIMUVELET
|
|
,C_DASHBOARDUZENETID
|
|
,C_FELHASZNALOID
|
|
,C_INTEZMENYID
|
|
,C_TANEVID
|
|
,TOROLT
|
|
,SERIAL
|
|
,LASTCHANGED
|
|
,CREATED
|
|
,MODIFIER
|
|
,CREATOR
|
|
,ELOZOTANEVIREKORDID
|
|
,C_GONDVISELOID
|
|
) SELECT
|
|
1 AS C_MEGJELENITESEKSZAMA -- * int
|
|
,NULL AS C_UTOLSOMEGTEKINTESIDEJE -- datetime
|
|
,NULL AS C_EGYEDIMUVELET -- nvarchar(255)
|
|
,d.ID AS C_DASHBOARDUZENETID -- * int
|
|
,t.ID AS C_FELHASZNALOID -- * int
|
|
,t.C_ALINTEZMENYID AS C_INTEZMENYID -- * int
|
|
,t.C_ALTANEVID AS C_TANEVID -- * int
|
|
,'F' AS TOROLT -- * char(1)
|
|
,0 AS SERIAL -- * int
|
|
,GETDATE() AS LASTCHANGED -- * datetime
|
|
,GETDATE() AS CREATED -- * datetime
|
|
,NULL AS MODIFIER -- int
|
|
,NULL AS CREATOR -- int
|
|
,NULL AS ELOZOTANEVIREKORDID -- int
|
|
,NULL AS C_GONDVISELOID -- int
|
|
FROM T_TANULO t
|
|
INNER JOIN T_FELHASZNALO f ON f.ID = t.ID AND f.TOROLT = 'F'
|
|
INNER JOIN T_INTEZMENY i ON i.ID = t.C_ALINTEZMENYID AND i.TOROLT = 'F'
|
|
INNER JOIN T_TANEV tv ON tv.ID = t.C_ALTANEVID AND tv.C_INTEZMENYID = i.ID AND tv.TOROLT = 'F' AND tv.C_AKTIV = 'T'
|
|
INNER JOIN #tanuloLista tl ON tl.C_INTEZMENYAZONOSITO COLLATE Hungarian_CI_AI = i.C_AZONOSITO COLLATE Hungarian_CI_AI
|
|
AND tl.C_IDPGUID = f.C_IDPEGYEDIAZONOSITO
|
|
--AND tl.C_OKTATASIAZONOSITO COLLATE Hungarian_CI_AI = f.C_OKTATASIAZONOSITO COLLATE Hungarian_CI_AI
|
|
INNER JOIN T_DASHBOARDUZENET d ON d.C_EGYEDIAZONOSITO = 'POPUP_SZAKK_OSZTONDIJ_1126'
|
|
WHERE
|
|
t.TOROLT = 'F'
|
|
AND NOT EXISTS(
|
|
SELECT du.ID, du.C_DASHBOARDUZENETID, du.C_FELHASZNALOID FROM T_DASHBOARDUZENETFELHASZNALO du
|
|
WHERE du.C_INTEZMENYID = i.ID
|
|
AND du.C_TANEVID = tv.ID
|
|
AND du.C_DASHBOARDUZENETID = d.ID
|
|
AND du.C_FELHASZNALOID = t.ID
|
|
AND du.C_GONDVISELOID is null
|
|
)
|
|
|
|
GO
|
|
/* END Popup */
|
|
|
|
DROP TABLE #tanuloLista
|
|
GO
|