init
This commit is contained in:
+144
@@ -0,0 +1,144 @@
|
||||
DROP PROCEDURE IF EXISTS uspUpdateTanuloEpJuttatas
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE uspUpdateTanuloEpJuttatas
|
||||
@pTanevId int
|
||||
,@pMinErdemjegy float
|
||||
,@pJuttatasAlap int
|
||||
,@pTanuloId int = NULL
|
||||
,@pFelhasznaloId int
|
||||
,@pKifizetesDatuma datetime = NULL
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @intezmenyId int
|
||||
,@sorszam int
|
||||
|
||||
SELECT
|
||||
@intezmenyId = C_INTEZMENYID
|
||||
,@sorszam = C_SORSZAM
|
||||
FROM T_TANEV_OSSZES WHERE ID = @pTanevId
|
||||
|
||||
CREATE TABLE #JuttatasOkok (
|
||||
tanuloId int PRIMARY KEY
|
||||
,JogviszonyTipus int
|
||||
,MasodikSzakma char(1)
|
||||
,Kifizetve datetime
|
||||
,Szazalek int
|
||||
,ElutasitasOka int
|
||||
,Erdemjegy float
|
||||
,EpjId int
|
||||
)
|
||||
|
||||
INSERT INTO #JuttatasOkok (
|
||||
tanuloId
|
||||
,JogviszonyTipus
|
||||
,MasodikSzakma
|
||||
,Kifizetve
|
||||
,ElutasitasOka
|
||||
,Erdemjegy
|
||||
,Szazalek
|
||||
,EpjId
|
||||
)
|
||||
SELECT
|
||||
t.ID
|
||||
,ISNULL(o.C_JOGVISZONYTIPUSID, t.C_JOGVISZONYTIPUSID)
|
||||
,ISNULL(o.C_ISMASODIKTOBBSZAKMA,t.C_ISMASODIKTOBBSZAKMA)
|
||||
,epj.C_KIFIZETESDATUMA
|
||||
,dbo.fnGetTanuloEpjElutasitasOka(
|
||||
COALESCE(o.C_JOGVISZONYTIPUSID,t.C_JOGVISZONYTIPUSID,0)
|
||||
,ISNULL(o.C_ISMASODIKTOBBSZAKMA,t.C_ISMASODIKTOBBSZAKMA)
|
||||
,epj.C_ERDEMJEGY
|
||||
,@pMinErdemjegy
|
||||
,epj.C_KIFIZETESDATUMA
|
||||
,epj.ID) ElutasitasOka
|
||||
,epj.C_ERDEMJEGY
|
||||
,CASE
|
||||
WHEN epj.C_ERDEMJEGY >= @pMinErdemjegy AND epj.C_ERDEMJEGY < 3.00 THEN 133
|
||||
WHEN epj.C_ERDEMJEGY >= 3.00 AND epj.C_ERDEMJEGY < 4.00 THEN 184
|
||||
WHEN epj.C_ERDEMJEGY >= 4.00 AND epj.C_ERDEMJEGY < 4.50 THEN 243
|
||||
WHEN epj.C_ERDEMJEGY >= 4.50 THEN 302
|
||||
ELSE 0
|
||||
END Szazalek
|
||||
,epj.ID
|
||||
FROM T_TANULO_OSSZES t
|
||||
LEFT JOIN T_EPJTANULOIADAT_OSSZES epj ON epj.C_TANULOID = t.ID AND epj.C_ISAKTIV = 'T' AND epj.TOROLT = 'F'
|
||||
OUTER APPLY (
|
||||
SELECT TOP 1
|
||||
tcs.C_TANULOID
|
||||
,tta.C_ISMASODIKTOBBSZAKMA
|
||||
,tcs.C_JOGVISZONYTIPUSID
|
||||
FROM T_TANULOCSOPORT_OSSZES tcs
|
||||
INNER JOIN T_OSZTALY_OSSZES osz ON osz.ID = tcs.C_OSZTALYCSOPORTID AND osz.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = osz.ID AND ocs.TOROLT = 'F' AND ocs.C_FELADATKATEGORIAID = 7553
|
||||
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.TOROLT = 'F'
|
||||
WHERE tcs.C_TANULOID = t.ID
|
||||
AND tcs.TOROLT = 'F'
|
||||
ORDER BY ISNULL(tcs.C_KILEPESDATUM,'22000101') DESC
|
||||
) o
|
||||
WHERE t.TOROLT = 'F'
|
||||
AND t.C_ALTANEVID = @pTanevId
|
||||
AND (@pTanuloId IS NULL OR t.ID = @pTanuloId)
|
||||
|
||||
IF @pKifizetesDatuma IS NOT NULL
|
||||
BEGIN
|
||||
UPDATE epj
|
||||
SET C_KIFIZETESDATUMA = @pKifizetesDatuma
|
||||
,LASTCHANGED = GETDATE()
|
||||
,MODIFIER = @pFelhasznaloId
|
||||
FROM T_EPJTANULOIADAT_OSSZES epj
|
||||
WHERE epj.TOROLT = 'F'
|
||||
AND epj.C_ISAKTIV = 'T'
|
||||
AND (@pTanuloId IS NULL OR epj.C_TANULOID = @pTanuloId)
|
||||
AND epj.C_TANEVID = @pTanevId
|
||||
AND epj.C_KIFIZETESDATUMA IS NULL
|
||||
END
|
||||
|
||||
UPDATE j
|
||||
SET C_ISAKTIV = 'F'
|
||||
,LASTCHANGED = GETDATE()
|
||||
,MODIFIER = @pFelhasznaloId
|
||||
FROM T_JUTTATAS_OSSZES j
|
||||
WHERE (@pTanuloId IS NULL OR j.C_TANULOID = @pTanuloId)
|
||||
AND j.C_JUTTATASTIPUSID = 8617
|
||||
AND j.C_ISAKTIV = 'T'
|
||||
AND j.C_TANEVID = @pTanevId
|
||||
|
||||
--SELECT * FROM #JuttatasOkok
|
||||
|
||||
INSERT INTO T_JUTTATAS (
|
||||
C_ELUTASITASOKA
|
||||
,C_ISAKTIV
|
||||
,C_ISJOGOSULT
|
||||
,C_JUTTATASTIPUSID
|
||||
,C_OSSZEG
|
||||
,C_TANULOID
|
||||
|
||||
,C_INTEZMENYID
|
||||
,C_TANEVID
|
||||
,TOROLT
|
||||
,SERIAL
|
||||
,LASTCHANGED
|
||||
,CREATED
|
||||
,MODIFIER
|
||||
,CREATOR
|
||||
)
|
||||
SELECT
|
||||
j.ElutasitasOka AS C_ELUTASITASOKA
|
||||
,'T' AS C_ISAKTIV
|
||||
,IIF(j.ElutasitasOka = 0, 'T', 'F') AS C_ISJOGOSULT
|
||||
,8617 AS C_JUTTATASTIPUSID -- egyszeri pályakezdési juttatás
|
||||
,IIF(j.ElutasitasOka = 0, @pJuttatasAlap*1.0/100*j.Szazalek, NULL) AS C_OSSZEG
|
||||
,j.tanuloId AS C_TANULOID
|
||||
,@intezmenyId AS C_INTEZMENYID
|
||||
,@pTanevId AS C_TANEVID
|
||||
,'F' AS TOROLT
|
||||
,0 AS SERIAL
|
||||
,GETDATE() AS LASTCHANGED
|
||||
,GETDATE() AS CREATED
|
||||
,@pFelhasznaloId AS MODIFIER
|
||||
,@pFelhasznaloId AS CREATOR
|
||||
FROM #JuttatasOkok j
|
||||
|
||||
END
|
||||
Reference in New Issue
Block a user