init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,593 @@
|
|||
-- =============================================
|
||||
-- Description: <Tanulo KIFIR import>
|
||||
-- =============================================
|
||||
DROP PROCEDURE IF EXISTS [dbo].[uspTanuloKifirImport]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[uspTanuloKifirImport]
|
||||
@pIntezmenyId INT
|
||||
,@pTanevId INT
|
||||
,@pUserId INT
|
||||
,@pImportJson NVARCHAR(MAX)
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE
|
||||
@tableNameList NVARCHAR(2000) = 'T_FELHASZNALO_OSSZES'
|
||||
,@actualJson NVARCHAR(MAX) = ''
|
||||
|
||||
,@lastChangedDateTime DATETIME = GETDATE()
|
||||
|
||||
--NOTE: A törlés azért false, mert a tanuló importálásoknál soha nem törlünk!
|
||||
EXECUTE [dbo].[uspDynamicImportJsonSplit] @pIntezmenyId = @pIntezmenyId, @pTanevId = @pTanevId, @pUserId = @pUserId, @pImportJson = @pImportJson, @pIsTorles = 0, @pIsSubTable = 0, @pTableNameList = @tableNameList
|
||||
|
||||
--NOTE: Tanulo temp tábla incializálása
|
||||
CREATE TABLE #TanuloTempTable (
|
||||
ID INT
|
||||
,C_ELOZOINTEZMENY NVARCHAR(255)
|
||||
,C_ALLAMIGONDOZOTT CHAR(1)
|
||||
,C_BEILLESZKEDESINEHEZSEG CHAR(1)
|
||||
,C_BEJARO CHAR(1)
|
||||
,C_EVISMETLO CHAR(1)
|
||||
,C_JOGVISZONYATSZUNETELTETO CHAR(1)
|
||||
,C_MAGANTANULO CHAR(1)
|
||||
,C_POLGARISZERZODESES CHAR(1)
|
||||
,C_SZAKMAIGYAKORLATON CHAR(1)
|
||||
,C_SZOCIALISTAMOGATAS CHAR(1)
|
||||
,C_TANDIJATFIZETO CHAR(1)
|
||||
,C_TANKOTELEZETT CHAR(1)
|
||||
,C_TANULOSZERZODESES CHAR(1)
|
||||
,C_TERITESIDIJATFIZETO CHAR(1)
|
||||
,C_TESTNEVELESTIPUSA INT
|
||||
,C_VENDEG CHAR(1)
|
||||
,C_BTMPROBLEMAS CHAR(1)
|
||||
,C_DIAKSPORTKOROS CHAR(1)
|
||||
,C_HALMOZOTTANFOGYATEKOS CHAR(1)
|
||||
,C_HATRANYOSHELYZETU INT
|
||||
,C_KOLLEGIUMIELLATASOS CHAR(1)
|
||||
,C_SAJATOSNEVELESU CHAR(1)
|
||||
,C_VESZELYEZTETETT CHAR(1)
|
||||
,C_BEILLESZKEDESIPROBLEMAVALKUZ CHAR(1)
|
||||
,C_MAGATARTASIPROBLEMAVALKUZD CHAR(1)
|
||||
,C_TANULASIPROBLEMADISZGRAFIA CHAR(1)
|
||||
,C_TANULASIPROBLEMAVALKUZD CHAR(1)
|
||||
,C_TANULASIPROBLEMAVALKUZDDISZK CHAR(1)
|
||||
,C_TANULASIPROBLEMAVALKUZDDISZL CHAR(1)
|
||||
,C_KOZEPFOKUOKTATASBATIZENHATOD CHAR(1)
|
||||
,C_MENEDEKJOGGALRENDELKEZO CHAR(1)
|
||||
,C_EGYEBDONTO CHAR(1)
|
||||
,C_MEGALLAPODASOS CHAR(1)
|
||||
,C_OSZTV CHAR(1)
|
||||
,C_SZETVAGAZAT CHAR(1)
|
||||
,C_SZKTV CHAR(1)
|
||||
,C_TECHNIKUSIEVFOLYAM CHAR(1)
|
||||
,C_EGYUTTMUKODESES CHAR(1)
|
||||
,C_ISKOLAIKERETEKKOZOTT CHAR(1)
|
||||
,C_ISSZAKMAIGYAKORLATHIANY CHAR(1)
|
||||
,C_ISKIFIRIMPORTALT CHAR(1)
|
||||
,C_FELVETELTANEVEID INT
|
||||
|
||||
,C_ALINTEZMENYID INT
|
||||
,C_ALTANEVID INT
|
||||
,TOROLT CHAR(1)
|
||||
,SERIAL INT
|
||||
,LASTCHANGED DATETIME
|
||||
,CREATED DATETIME
|
||||
,MODIFIER INT
|
||||
,CREATOR INT
|
||||
,ELOZOTANEVIREKORDID INT
|
||||
,Operation INT
|
||||
)
|
||||
|
||||
INSERT INTO
|
||||
#TanuloTempTable
|
||||
SELECT
|
||||
Felhasznalo.ID
|
||||
,TanuloJsonData.C_ELOZOINTEZMENY
|
||||
,TanuloJsonData.C_ALLAMIGONDOZOTT
|
||||
,TanuloJsonData.C_BEILLESZKEDESINEHEZSEG
|
||||
,TanuloJsonData.C_BEJARO
|
||||
,TanuloJsonData.C_EVISMETLO
|
||||
,TanuloJsonData.C_JOGVISZONYATSZUNETELTETO
|
||||
,TanuloJsonData.C_MAGANTANULO
|
||||
,TanuloJsonData.C_POLGARISZERZODESES
|
||||
,TanuloJsonData.C_SZAKMAIGYAKORLATON
|
||||
,TanuloJsonData.C_SZOCIALISTAMOGATAS
|
||||
,TanuloJsonData.C_TANDIJATFIZETO
|
||||
,TanuloJsonData.C_TANKOTELEZETT
|
||||
,TanuloJsonData.C_TANULOSZERZODESES
|
||||
,TanuloJsonData.C_TERITESIDIJATFIZETO
|
||||
,TanuloJsonData.C_TESTNEVELESTIPUSA
|
||||
,TanuloJsonData.C_VENDEG
|
||||
,TanuloJsonData.C_BTMPROBLEMAS
|
||||
,TanuloJsonData.C_DIAKSPORTKOROS
|
||||
,TanuloJsonData.C_HALMOZOTTANFOGYATEKOS
|
||||
,TanuloJsonData.C_HATRANYOSHELYZETU
|
||||
,TanuloJsonData.C_KOLLEGIUMIELLATASOS
|
||||
,TanuloJsonData.C_SAJATOSNEVELESU
|
||||
,TanuloJsonData.C_VESZELYEZTETETT
|
||||
,TanuloJsonData.C_BEILLESZKEDESIPROBLEMAVALKUZ
|
||||
,TanuloJsonData.C_MAGATARTASIPROBLEMAVALKUZD
|
||||
,TanuloJsonData.C_TANULASIPROBLEMADISZGRAFIA
|
||||
,TanuloJsonData.C_TANULASIPROBLEMAVALKUZD
|
||||
,TanuloJsonData.C_TANULASIPROBLEMAVALKUZDDISZK
|
||||
,TanuloJsonData.C_TANULASIPROBLEMAVALKUZDDISZL
|
||||
,TanuloJsonData.C_KOZEPFOKUOKTATASBATIZENHATOD
|
||||
,TanuloJsonData.C_MENEDEKJOGGALRENDELKEZO
|
||||
,TanuloJsonData.C_EGYEBDONTO
|
||||
,TanuloJsonData.C_MEGALLAPODASOS
|
||||
,TanuloJsonData.C_OSZTV
|
||||
,TanuloJsonData.C_SZETVAGAZAT
|
||||
,TanuloJsonData.C_SZKTV
|
||||
,TanuloJsonData.C_TECHNIKUSIEVFOLYAM
|
||||
,TanuloJsonData.C_EGYUTTMUKODESES
|
||||
,TanuloJsonData.C_ISKOLAIKERETEKKOZOTT
|
||||
,TanuloJsonData.C_ISSZAKMAIGYAKORLATHIANY
|
||||
,TanuloJsonData.C_ISKIFIRIMPORTALT
|
||||
,TanuloJsonData.C_FELVETELTANEVEID
|
||||
|
||||
,TanuloJsonData.C_ALINTEZMENYID
|
||||
,TanuloJsonData.C_ALTANEVID
|
||||
,TanuloJsonData.TOROLT
|
||||
,TanuloJsonData.SERIAL
|
||||
,TanuloJsonData.LASTCHANGED
|
||||
,TanuloJsonData.CREATED
|
||||
,TanuloJsonData.MODIFIER
|
||||
,TanuloJsonData.CREATOR
|
||||
,TanuloJsonData.ELOZOTANEVIREKORDID
|
||||
,TanuloJsonData.Operation
|
||||
FROM OPENJSON(@pImportJson, N'lax $.ImportJson.T_TANULO_OSSZES')
|
||||
WITH (
|
||||
ID INT '$.ID'
|
||||
,C_ELOZOINTEZMENY NVARCHAR(255) '$.C_ELOZOINTEZMENY'
|
||||
,C_ALLAMIGONDOZOTT CHAR(1) '$.C_ALLAMIGONDOZOTT'
|
||||
,C_BEILLESZKEDESINEHEZSEG CHAR(1) '$.C_BEILLESZKEDESINEHEZSEG'
|
||||
,C_BEJARO CHAR(1) '$.C_BEJARO'
|
||||
,C_EVISMETLO CHAR(1) '$.C_EVISMETLO'
|
||||
,C_JOGVISZONYATSZUNETELTETO CHAR(1) '$.C_JOGVISZONYATSZUNETELTETO'
|
||||
,C_MAGANTANULO CHAR(1) '$.C_MAGANTANULO'
|
||||
,C_POLGARISZERZODESES CHAR(1) '$.C_POLGARISZERZODESES'
|
||||
,C_SZAKMAIGYAKORLATON CHAR(1) '$.C_SZAKMAIGYAKORLATON'
|
||||
,C_SZOCIALISTAMOGATAS CHAR(1) '$.C_SZOCIALISTAMOGATAS'
|
||||
,C_TANDIJATFIZETO CHAR(1) '$.C_TANDIJATFIZETO'
|
||||
,C_TANKOTELEZETT CHAR(1) '$.C_TANKOTELEZETT'
|
||||
,C_TANULOSZERZODESES CHAR(1) '$.C_TANULOSZERZODESES'
|
||||
,C_TERITESIDIJATFIZETO CHAR(1) '$.C_TERITESIDIJATFIZETO'
|
||||
,C_TESTNEVELESTIPUSA INT '$.C_TESTNEVELESTIPUSA'
|
||||
,C_VENDEG CHAR(1) '$.C_VENDEG'
|
||||
,C_BTMPROBLEMAS CHAR(1) '$.C_BTMPROBLEMAS'
|
||||
,C_DIAKSPORTKOROS CHAR(1) '$.C_DIAKSPORTKOROS'
|
||||
,C_HALMOZOTTANFOGYATEKOS CHAR(1) '$.C_HALMOZOTTANFOGYATEKOS'
|
||||
,C_HATRANYOSHELYZETU INT '$.C_HATRANYOSHELYZETU'
|
||||
,C_KOLLEGIUMIELLATASOS CHAR(1) '$.C_KOLLEGIUMIELLATASOS'
|
||||
,C_SAJATOSNEVELESU CHAR(1) '$.C_SAJATOSNEVELESU'
|
||||
,C_VESZELYEZTETETT CHAR(1) '$.C_VESZELYEZTETETT'
|
||||
,C_BEILLESZKEDESIPROBLEMAVALKUZ CHAR(1) '$.C_BEILLESZKEDESIPROBLEMAVALKUZ'
|
||||
,C_MAGATARTASIPROBLEMAVALKUZD CHAR(1) '$.C_MAGATARTASIPROBLEMAVALKUZD'
|
||||
,C_TANULASIPROBLEMADISZGRAFIA CHAR(1) '$.C_TANULASIPROBLEMADISZGRAFIA'
|
||||
,C_TANULASIPROBLEMAVALKUZD CHAR(1) '$.C_TANULASIPROBLEMAVALKUZD'
|
||||
,C_TANULASIPROBLEMAVALKUZDDISZK CHAR(1) '$.C_TANULASIPROBLEMAVALKUZDDISZK'
|
||||
,C_TANULASIPROBLEMAVALKUZDDISZL CHAR(1) '$.C_TANULASIPROBLEMAVALKUZDDISZL'
|
||||
,C_KOZEPFOKUOKTATASBATIZENHATOD CHAR(1) '$.C_KOZEPFOKUOKTATASBATIZENHATOD'
|
||||
,C_MENEDEKJOGGALRENDELKEZO CHAR(1) '$.C_MENEDEKJOGGALRENDELKEZO'
|
||||
,C_EGYEBDONTO CHAR(1) '$.C_EGYEBDONTO'
|
||||
,C_MEGALLAPODASOS CHAR(1) '$.C_MEGALLAPODASOS'
|
||||
,C_OSZTV CHAR(1) '$.C_OSZTV'
|
||||
,C_SZETVAGAZAT CHAR(1) '$.C_SZETVAGAZAT'
|
||||
,C_SZKTV CHAR(1) '$.C_SZKTV'
|
||||
,C_TECHNIKUSIEVFOLYAM CHAR(1) '$.C_TECHNIKUSIEVFOLYAM'
|
||||
,C_EGYUTTMUKODESES CHAR(1) '$.C_EGYUTTMUKODESES'
|
||||
,C_ISKOLAIKERETEKKOZOTT CHAR(1) '$.C_ISKOLAIKERETEKKOZOTT'
|
||||
,C_ISSZAKMAIGYAKORLATHIANY CHAR(1) '$.C_ISSZAKMAIGYAKORLATHIANY'
|
||||
,C_ISKIFIRIMPORTALT CHAR(1) '$.C_ISKIFIRIMPORTALT'
|
||||
,C_FELVETELTANEVEID INT '$.C_FELVETELTANEVEID'
|
||||
|
||||
,C_ALINTEZMENYID INT '$.C_INTEZMENYID'
|
||||
,C_ALTANEVID INT '$.C_TANEVID'
|
||||
,TOROLT CHAR(1) '$.TOROLT'
|
||||
,SERIAL INT '$.SERIAL'
|
||||
,LASTCHANGED DATETIME '$.LASTCHANGED'
|
||||
,CREATED DATETIME '$.CREATED'
|
||||
,MODIFIER INT '$.MODIFIER'
|
||||
,CREATOR INT '$.CREATOR'
|
||||
,ELOZOTANEVIREKORDID INT '$.ELOZOTANEVIREKORDID'
|
||||
,Operation INT '$.Operation'
|
||||
|
||||
,Vezeteknev NVARCHAR(255) '$.Vezeteknev'
|
||||
,Keresztnev NVARCHAR(255) '$.Keresztnev'
|
||||
,SzuletesiHely NVARCHAR(50) '$.SzuletesiHely'
|
||||
,SzuletesiIdo DATETIME '$.SzuletesiIdo'
|
||||
,OktatasiAzonosito NVARCHAR(20) '$.OktatasiAzonosito'
|
||||
) TanuloJsonData
|
||||
LEFT JOIN
|
||||
T_FELHASZNALO_OSSZES Felhasznalo ON
|
||||
--NOTE: A leküldött adat már teljesen jól formázott, de a db-ben lehetnek rossz adatok. Az összehasonlításhoz ezt csináljuk:
|
||||
-- Kisbetűsítjük -> Lecseréljük a NO BREAK SPACE-eket, SPACE-ekre -> Lecseréljük az összes többszörös szóközt egyre -> Trimmelünk
|
||||
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(Felhasznalo.C_VEZETEKNEV),CHAR(160),CHAR(32)),CHAR(9),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)) = LOWER(TanuloJsonData.Vezeteknev)
|
||||
AND REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(Felhasznalo.C_UTONEV),CHAR(160),CHAR(32)),CHAR(9),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)) = LOWER(TanuloJsonData.Keresztnev)
|
||||
AND REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(Felhasznalo.C_SZULETESIHELY),CHAR(160),CHAR(32)),CHAR(9),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)) = LOWER(TanuloJsonData.SzuletesiHely)
|
||||
AND Felhasznalo.C_SZULETESIDATUM = TanuloJsonData.SzuletesiIdo
|
||||
AND Felhasznalo.C_OKTATASIAZONOSITO = TanuloJsonData.OktatasiAzonosito
|
||||
AND Felhasznalo.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Felhasznalo.C_TANEVID = @pTanevId
|
||||
AND Felhasznalo.TOROLT = 'F'
|
||||
|
||||
--NOTE: Cim temp tábla incializálása
|
||||
CREATE TABLE #CimTempTable (
|
||||
ID INT
|
||||
,C_CIMTIPUSA INT
|
||||
,C_IRANYITOSZAM NVARCHAR(20)
|
||||
,C_VAROS NVARCHAR(50)
|
||||
,C_KOZTERULET NVARCHAR(40)
|
||||
,C_KOZTERULETJELLEGENEV NVARCHAR(100)
|
||||
,C_HAZSZAM NVARCHAR(30)
|
||||
,C_ORSZAG INT
|
||||
,C_ALAPERTELMEZETT CHAR(1)
|
||||
,C_EMELET NVARCHAR(40)
|
||||
,C_AJTO NVARCHAR(30)
|
||||
,C_FELHASZNALOID INT
|
||||
|
||||
,C_INTEZMENYID INT
|
||||
,C_TANEVID INT
|
||||
,TOROLT CHAR(1)
|
||||
,SERIAL INT
|
||||
,LASTCHANGED DATETIME
|
||||
,CREATED DATETIME
|
||||
,MODIFIER INT
|
||||
,CREATOR INT
|
||||
,ELOZOTANEVIREKORDID INT
|
||||
,Operation INT
|
||||
)
|
||||
|
||||
INSERT INTO
|
||||
#CimTempTable
|
||||
SELECT
|
||||
CimJsonData.ID
|
||||
,CimJsonData.C_CIMTIPUSA
|
||||
,CimJsonData.C_IRANYITOSZAM
|
||||
,CimJsonData.C_VAROS
|
||||
,CimJsonData.C_KOZTERULET
|
||||
,CimJsonData.C_KOZTERULETJELLEGENEV
|
||||
,CimJsonData.C_HAZSZAM
|
||||
,CimJsonData.C_ORSZAG
|
||||
,CimJsonData.C_ALAPERTELMEZETT
|
||||
,CimJsonData.C_EMELET
|
||||
,CimJsonData.C_AJTO
|
||||
,Felhasznalo.ID
|
||||
|
||||
,CimJsonData.C_INTEZMENYID
|
||||
,CimJsonData.C_TANEVID
|
||||
,CimJsonData.TOROLT
|
||||
,CimJsonData.SERIAL
|
||||
,CimJsonData.LASTCHANGED
|
||||
,CimJsonData.CREATED
|
||||
,CimJsonData.MODIFIER
|
||||
,CimJsonData.CREATOR
|
||||
,CimJsonData.ELOZOTANEVIREKORDID
|
||||
,CimJsonData.Operation
|
||||
FROM OPENJSON(@pImportJson, N'lax $.ImportJson.T_CIM_OSSZES')
|
||||
WITH (
|
||||
ID INT '$.ID'
|
||||
,C_CIMTIPUSA INT '$.C_CIMTIPUSA'
|
||||
,C_IRANYITOSZAM NVARCHAR(20) '$.C_IRANYITOSZAM'
|
||||
,C_VAROS NVARCHAR(50) '$.C_VAROS'
|
||||
,C_KOZTERULET NVARCHAR(40) '$.C_KOZTERULET'
|
||||
,C_KOZTERULETJELLEGENEV NVARCHAR(100) '$.C_KOZTERULETJELLEGENEV'
|
||||
,C_HAZSZAM NVARCHAR(30) '$.C_HAZSZAM'
|
||||
,C_ORSZAG INT '$.C_ORSZAG'
|
||||
,C_ALAPERTELMEZETT CHAR(1) '$.C_ALAPERTELMEZETT'
|
||||
,C_EMELET NVARCHAR(40) '$.C_EMELET'
|
||||
,C_AJTO NVARCHAR(30) '$.C_AJTO'
|
||||
|
||||
,C_INTEZMENYID INT '$.C_INTEZMENYID'
|
||||
,C_TANEVID INT '$.C_TANEVID'
|
||||
,TOROLT CHAR(1) '$.TOROLT'
|
||||
,SERIAL INT '$.SERIAL'
|
||||
,LASTCHANGED DATETIME '$.LASTCHANGED'
|
||||
,CREATED DATETIME '$.CREATED'
|
||||
,MODIFIER INT '$.MODIFIER'
|
||||
,CREATOR INT '$.CREATOR'
|
||||
,ELOZOTANEVIREKORDID INT '$.ELOZOTANEVIREKORDID'
|
||||
,Operation INT '$.Operation'
|
||||
|
||||
,Vezeteknev NVARCHAR(255) '$.Vezeteknev'
|
||||
,Keresztnev NVARCHAR(255) '$.Keresztnev'
|
||||
,SzuletesiHely NVARCHAR(50) '$.SzuletesiHely'
|
||||
,SzuletesiIdo DATETIME '$.SzuletesiIdo'
|
||||
,OktatasiAzonosito NVARCHAR(20) '$.OktatasiAzonosito'
|
||||
) CimJsonData
|
||||
LEFT JOIN
|
||||
T_FELHASZNALO_OSSZES Felhasznalo ON
|
||||
--NOTE: A leküldött adat már teljesen jól formázott, de a db-ben lehetnek rossz adatok. Az összehasonlításhoz ezt csináljuk:
|
||||
-- Kisbetűsítjük -> Lecseréljük a NO BREAK SPACE-eket, SPACE-ekre -> Lecseréljük az összes többszörös szóközt egyre -> Trimmelünk
|
||||
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(Felhasznalo.C_VEZETEKNEV),CHAR(160),CHAR(32)),CHAR(9),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)) = LOWER(CimJsonData.Vezeteknev)
|
||||
AND REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(Felhasznalo.C_UTONEV),CHAR(160),CHAR(32)),CHAR(9),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)) = LOWER(CimJsonData.Keresztnev)
|
||||
AND REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(Felhasznalo.C_SZULETESIHELY),CHAR(160),CHAR(32)),CHAR(9),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)) = LOWER(CimJsonData.SzuletesiHely)
|
||||
AND Felhasznalo.C_SZULETESIDATUM = CimJsonData.SzuletesiIdo
|
||||
AND Felhasznalo.C_OKTATASIAZONOSITO = CimJsonData.OktatasiAzonosito
|
||||
AND Felhasznalo.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Felhasznalo.C_TANEVID = @pTanevId
|
||||
AND Felhasznalo.TOROLT = 'F'
|
||||
|
||||
--NOTE: Email temp tábla incializálása
|
||||
CREATE TABLE #EmailTempTable (
|
||||
ID INT
|
||||
,C_EMAILTIPUSA INT
|
||||
,C_EMAILCIM NVARCHAR(200)
|
||||
,C_ALAPERTELMEZETT CHAR(1)
|
||||
,C_ISPUBLIC CHAR(1)
|
||||
,C_FELHASZNALOID INT
|
||||
,C_ISHIBASANMEGADVA char(1)
|
||||
|
||||
,C_INTEZMENYID INT
|
||||
,C_TANEVID INT
|
||||
,TOROLT CHAR(1)
|
||||
,SERIAL INT
|
||||
,LASTCHANGED DATETIME
|
||||
,CREATED DATETIME
|
||||
,MODIFIER INT
|
||||
,CREATOR INT
|
||||
,ELOZOTANEVIREKORDID INT
|
||||
,Operation INT
|
||||
)
|
||||
|
||||
INSERT INTO
|
||||
#EmailTempTable
|
||||
SELECT
|
||||
EmailJsonData.ID
|
||||
,EmailJsonData.C_EMAILTIPUSA
|
||||
,EmailJsonData.C_EMAILCIM
|
||||
,EmailJsonData.C_ALAPERTELMEZETT
|
||||
,EmailJsonData.C_ISPUBLIC
|
||||
,Felhasznalo.ID
|
||||
,EmailJsonData.C_ISHIBASANMEGADVA
|
||||
|
||||
,EmailJsonData.C_INTEZMENYID
|
||||
,EmailJsonData.C_TANEVID
|
||||
,EmailJsonData.TOROLT
|
||||
,EmailJsonData.SERIAL
|
||||
,EmailJsonData.LASTCHANGED
|
||||
,EmailJsonData.CREATED
|
||||
,EmailJsonData.MODIFIER
|
||||
,EmailJsonData.CREATOR
|
||||
,EmailJsonData.ELOZOTANEVIREKORDID
|
||||
,EmailJsonData.Operation
|
||||
FROM OPENJSON(@pImportJson, N'lax $.ImportJson.T_EMAIL_OSSZES')
|
||||
WITH (
|
||||
ID INT '$.ID'
|
||||
,C_EMAILTIPUSA INT '$.C_EMAILTIPUSA'
|
||||
,C_EMAILCIM NVARCHAR(200) '$.C_EMAILCIM'
|
||||
,C_ALAPERTELMEZETT CHAR(1) '$.C_ALAPERTELMEZETT'
|
||||
,C_ISPUBLIC CHAR(1) '$.C_ISPUBLIC'
|
||||
,C_ISHIBASANMEGADVA CHAR(1) '$.C_ISHIBASANMEGADVA'
|
||||
|
||||
,C_INTEZMENYID INT '$.C_INTEZMENYID'
|
||||
,C_TANEVID INT '$.C_TANEVID'
|
||||
,TOROLT CHAR(1) '$.TOROLT'
|
||||
,SERIAL INT '$.SERIAL'
|
||||
,LASTCHANGED DATETIME '$.LASTCHANGED'
|
||||
,CREATED DATETIME '$.CREATED'
|
||||
,MODIFIER INT '$.MODIFIER'
|
||||
,CREATOR INT '$.CREATOR'
|
||||
,ELOZOTANEVIREKORDID INT '$.ELOZOTANEVIREKORDID'
|
||||
,Operation INT '$.Operation'
|
||||
|
||||
,Vezeteknev NVARCHAR(255) '$.Vezeteknev'
|
||||
,Keresztnev NVARCHAR(255) '$.Keresztnev'
|
||||
,SzuletesiHely NVARCHAR(50) '$.SzuletesiHely'
|
||||
,SzuletesiIdo DATETIME '$.SzuletesiIdo'
|
||||
,OktatasiAzonosito NVARCHAR(20) '$.OktatasiAzonosito'
|
||||
) EmailJsonData
|
||||
LEFT JOIN
|
||||
T_FELHASZNALO_OSSZES Felhasznalo ON
|
||||
--NOTE: A leküldött adat már teljesen jól formázott, de a db-ben lehetnek rossz adatok. Az összehasonlításhoz ezt csináljuk:
|
||||
-- Kisbetűsítjük -> Lecseréljük a NO BREAK SPACE-eket, SPACE-ekre -> Lecseréljük az összes többszörös szóközt egyre -> Trimmelünk
|
||||
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(Felhasznalo.C_VEZETEKNEV),CHAR(160),CHAR(32)),CHAR(9),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)) = LOWER(EmailJsonData.Vezeteknev)
|
||||
AND REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(Felhasznalo.C_UTONEV),CHAR(160),CHAR(32)),CHAR(9),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)) = LOWER(EmailJsonData.Keresztnev)
|
||||
AND REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(Felhasznalo.C_SZULETESIHELY),CHAR(160),CHAR(32)),CHAR(9),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)) = LOWER(EmailJsonData.SzuletesiHely)
|
||||
AND Felhasznalo.C_SZULETESIDATUM = EmailJsonData.SzuletesiIdo
|
||||
AND Felhasznalo.C_OKTATASIAZONOSITO = EmailJsonData.OktatasiAzonosito
|
||||
AND Felhasznalo.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Felhasznalo.C_TANEVID = @pTanevId
|
||||
AND Felhasznalo.TOROLT = 'F'
|
||||
|
||||
--NOTE: Ha van bejövő cím állandó lakcím típusú a json-ben, akkor az ehhez a címhez tartozó felhasználó összes címének C_ALAPERTELMEZETT mezőjét false-ra állítjuk és a bejövő lesz a egyedül true!
|
||||
UPDATE
|
||||
Cim
|
||||
SET
|
||||
Cim.C_ALAPERTELMEZETT = 'F'
|
||||
,Cim.SERIAL = Cim.SERIAL + 1
|
||||
,Cim.LASTCHANGED = @lastChangedDateTime
|
||||
,Cim.MODIFIER = @pUserId
|
||||
FROM
|
||||
T_FELHASZNALO_OSSZES Felhasznalo
|
||||
INNER JOIN
|
||||
#CimTempTable ON
|
||||
#CimTempTable.C_INTEZMENYID = Felhasznalo.C_INTEZMENYID
|
||||
AND #CimTempTable.C_TANEVID = Felhasznalo.C_TANEVID
|
||||
AND #CimTempTable.TOROLT = 'F'
|
||||
AND #CimTempTable.C_FELHASZNALOID = Felhasznalo.ID
|
||||
INNER JOIN
|
||||
T_CIM_OSSZES Cim ON
|
||||
Cim.C_INTEZMENYID = Felhasznalo.C_INTEZMENYID
|
||||
AND Cim.C_TANEVID = Felhasznalo.C_TANEVID
|
||||
AND Cim.TOROLT = 'F'
|
||||
AND Cim.C_FELHASZNALOID = Felhasznalo.ID
|
||||
AND Cim.C_ALAPERTELMEZETT = 'T'
|
||||
WHERE
|
||||
Felhasznalo.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Felhasznalo.C_TANEVID = @pTanevId
|
||||
AND Felhasznalo.TOROLT = 'F'
|
||||
|
||||
--NOTE: Ha van bejövő email a json-ben, akkor az ehhez a email-hez tartozó felhasználó összes email-jének C_ALAPERTELMEZETT mezőjét false-ra állítjuk és a bejövő lesz a egyedül true!
|
||||
UPDATE
|
||||
Email
|
||||
SET
|
||||
Email.C_ALAPERTELMEZETT = 'F'
|
||||
,Email.SERIAL = Email.SERIAL + 1
|
||||
,Email.LASTCHANGED = @lastChangedDateTime
|
||||
,Email.MODIFIER = @pUserId
|
||||
FROM
|
||||
T_FELHASZNALO_OSSZES Felhasznalo
|
||||
INNER JOIN
|
||||
#EmailTempTable ON
|
||||
#EmailTempTable.C_INTEZMENYID = Felhasznalo.C_INTEZMENYID
|
||||
AND #EmailTempTable.C_TANEVID = Felhasznalo.C_TANEVID
|
||||
AND #EmailTempTable.TOROLT = 'F'
|
||||
AND #EmailTempTable.C_FELHASZNALOID = Felhasznalo.ID
|
||||
INNER JOIN
|
||||
T_EMAIL_OSSZES Email ON
|
||||
Email.C_INTEZMENYID = Felhasznalo.C_INTEZMENYID
|
||||
AND Email.C_TANEVID = Felhasznalo.C_TANEVID
|
||||
AND Email.TOROLT = 'F'
|
||||
AND Email.C_FELHASZNALOID = Felhasznalo.ID
|
||||
AND Email.C_ALAPERTELMEZETT = 'T'
|
||||
WHERE
|
||||
Felhasznalo.C_INTEZMENYID = @pIntezmenyId
|
||||
AND Felhasznalo.C_TANEVID = @pTanevId
|
||||
AND Felhasznalo.TOROLT = 'F'
|
||||
|
||||
--Tanulók beszúrása
|
||||
SET @actualJson = ' { "ImportJson":{ "T_TANULO_OSSZES":' + (
|
||||
SELECT
|
||||
Tanulo.ID
|
||||
,Tanulo.C_ELOZOINTEZMENY
|
||||
,Tanulo.C_ALLAMIGONDOZOTT
|
||||
,Tanulo.C_BEILLESZKEDESINEHEZSEG
|
||||
,Tanulo.C_BEJARO
|
||||
,Tanulo.C_EVISMETLO
|
||||
,Tanulo.C_JOGVISZONYATSZUNETELTETO
|
||||
,Tanulo.C_MAGANTANULO
|
||||
,Tanulo.C_POLGARISZERZODESES
|
||||
,Tanulo.C_SZAKMAIGYAKORLATON
|
||||
,Tanulo.C_SZOCIALISTAMOGATAS
|
||||
,Tanulo.C_TANDIJATFIZETO
|
||||
,Tanulo.C_TANKOTELEZETT
|
||||
,Tanulo.C_TANULOSZERZODESES
|
||||
,Tanulo.C_TERITESIDIJATFIZETO
|
||||
,Tanulo.C_TESTNEVELESTIPUSA
|
||||
,Tanulo.C_VENDEG
|
||||
,Tanulo.C_BTMPROBLEMAS
|
||||
,Tanulo.C_DIAKSPORTKOROS
|
||||
,Tanulo.C_HALMOZOTTANFOGYATEKOS
|
||||
,Tanulo.C_HATRANYOSHELYZETU
|
||||
,Tanulo.C_KOLLEGIUMIELLATASOS
|
||||
,Tanulo.C_SAJATOSNEVELESU
|
||||
,Tanulo.C_VESZELYEZTETETT
|
||||
,Tanulo.C_BEILLESZKEDESIPROBLEMAVALKUZ
|
||||
,Tanulo.C_MAGATARTASIPROBLEMAVALKUZD
|
||||
,Tanulo.C_TANULASIPROBLEMADISZGRAFIA
|
||||
,Tanulo.C_TANULASIPROBLEMAVALKUZD
|
||||
,Tanulo.C_TANULASIPROBLEMAVALKUZDDISZK
|
||||
,Tanulo.C_TANULASIPROBLEMAVALKUZDDISZL
|
||||
,Tanulo.C_KOZEPFOKUOKTATASBATIZENHATOD
|
||||
,Tanulo.C_MENEDEKJOGGALRENDELKEZO
|
||||
,Tanulo.C_EGYEBDONTO
|
||||
,Tanulo.C_MEGALLAPODASOS
|
||||
,Tanulo.C_OSZTV
|
||||
,Tanulo.C_SZETVAGAZAT
|
||||
,Tanulo.C_SZKTV
|
||||
,Tanulo.C_TECHNIKUSIEVFOLYAM
|
||||
,Tanulo.C_EGYUTTMUKODESES
|
||||
,Tanulo.C_ISKOLAIKERETEKKOZOTT
|
||||
,Tanulo.C_ISSZAKMAIGYAKORLATHIANY
|
||||
,Tanulo.C_ISKIFIRIMPORTALT
|
||||
,Tanulo.C_FELVETELTANEVEID
|
||||
|
||||
,Tanulo.C_ALINTEZMENYID
|
||||
,Tanulo.C_ALTANEVID
|
||||
,Tanulo.TOROLT
|
||||
,Tanulo.SERIAL
|
||||
,Tanulo.LASTCHANGED
|
||||
,Tanulo.CREATED
|
||||
,Tanulo.MODIFIER
|
||||
,Tanulo.CREATOR
|
||||
,Tanulo.ELOZOTANEVIREKORDID
|
||||
,Tanulo.Operation
|
||||
FROM
|
||||
#TanuloTempTable AS Tanulo
|
||||
FOR JSON PATH,INCLUDE_NULL_VALUES
|
||||
)
|
||||
|
||||
SET @actualJson = @actualJson + ' } }'
|
||||
|
||||
--NOTE: A törlés azért false, mert a tanuló importálásoknál soha nem törlünk!
|
||||
EXECUTE [dbo].[uspDynamicImport] @pIntezmenyId = @pIntezmenyId, @pTanevId = @pTanevId, @pUserId = @pUserId, @pImportJson = @actualJson, @pIsTorles = 0, @pIsSubTable = 1
|
||||
DROP TABLE IF EXISTS #TanuloTempTable
|
||||
|
||||
--Címek beszúrása
|
||||
SET @actualJson = ' { "ImportJson":{ "T_CIM_OSSZES":' + (
|
||||
SELECT
|
||||
Cim.ID
|
||||
,Cim.C_CIMTIPUSA
|
||||
,Cim.C_IRANYITOSZAM
|
||||
,Cim.C_VAROS
|
||||
,Cim.C_KOZTERULET
|
||||
,Cim.C_KOZTERULETJELLEGENEV
|
||||
,Cim.C_HAZSZAM
|
||||
,Cim.C_ORSZAG
|
||||
,Cim.C_ALAPERTELMEZETT
|
||||
,Cim.C_EMELET
|
||||
,Cim.C_AJTO
|
||||
,Cim.C_FELHASZNALOID
|
||||
|
||||
,Cim.C_INTEZMENYID
|
||||
,Cim.C_TANEVID
|
||||
,Cim.TOROLT
|
||||
,Cim.SERIAL
|
||||
,Cim.LASTCHANGED
|
||||
,Cim.CREATED
|
||||
,Cim.MODIFIER
|
||||
,Cim.CREATOR
|
||||
,Cim.ELOZOTANEVIREKORDID
|
||||
,Cim.Operation
|
||||
FROM
|
||||
#CimTempTable AS Cim
|
||||
FOR JSON PATH,INCLUDE_NULL_VALUES
|
||||
)
|
||||
|
||||
SET @actualJson = @actualJson + ' } }'
|
||||
|
||||
--NOTE: A törlés azért false, mert a tanuló importálásoknál soha nem törlünk!
|
||||
EXECUTE [dbo].[uspDynamicImport] @pIntezmenyId = @pIntezmenyId, @pTanevId = @pTanevId, @pUserId = @pUserId, @pImportJson = @actualJson, @pIsTorles = 0, @pIsSubTable = 0
|
||||
DROP TABLE IF EXISTS #CimTempTable
|
||||
|
||||
--Emailek beszúrása
|
||||
SET @actualJson = ' { "ImportJson":{ "T_EMAIL_OSSZES":' + (
|
||||
SELECT
|
||||
Email.ID
|
||||
,Email.C_EMAILTIPUSA
|
||||
,Email.C_EMAILCIM
|
||||
,Email.C_ALAPERTELMEZETT
|
||||
,Email.C_ISPUBLIC
|
||||
,Email.C_FELHASZNALOID
|
||||
,Email.C_ISHIBASANMEGADVA
|
||||
|
||||
,Email.C_INTEZMENYID
|
||||
,Email.C_TANEVID
|
||||
,Email.TOROLT
|
||||
,Email.SERIAL
|
||||
,Email.LASTCHANGED
|
||||
,Email.CREATED
|
||||
,Email.MODIFIER
|
||||
,Email.CREATOR
|
||||
,Email.ELOZOTANEVIREKORDID
|
||||
,Email.Operation
|
||||
FROM
|
||||
#EmailTempTable AS Email
|
||||
FOR JSON PATH,INCLUDE_NULL_VALUES
|
||||
)
|
||||
|
||||
SET @actualJson = @actualJson + ' } }'
|
||||
|
||||
--NOTE: A törlés azért false, mert a tanuló importálásoknál soha nem törlünk!
|
||||
EXECUTE [dbo].[uspDynamicImport] @pIntezmenyId = @pIntezmenyId, @pTanevId = @pTanevId, @pUserId = @pUserId, @pImportJson = @actualJson, @pIsTorles = 0, @pIsSubTable = 0
|
||||
DROP TABLE IF EXISTS #EmailTempTable
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue