kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20190118151418_OM_829_III/uspDeleteEgyediNap.sql
2024-03-13 00:33:46 +01:00

81 lines
No EOL
2.6 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS uspDeleteEgyediNap
GO
CREATE PROCEDURE uspDeleteEgyediNap
@pTanevRendjeId INT
,@pIsKezzelRogzitesTorles CHAR(1)
AS BEGIN
SET NOCOUNT ON
DECLARE @napDatuma DATETIME, @osszesOsztalyraVonatkozik CHAR(1);
SELECT @napDatuma = C_DATUM, @osszesOsztalyraVonatkozik = C_OSSZESCSOPORTRAVONATKOZIK FROM T_TANEVRENDJE_OSSZES WHERE ID = @pTanevRendjeId
IF(@pIsKezzelRogzitesTorles = 'T')
BEGIN
IF(@osszesOsztalyraVonatkozik= 'T')
BEGIN
UPDATE T_ORARENDIORA
SET
TOROLT = 'T'
WHERE
C_EGYEDINAP = 'T' AND C_ORAERVENYESSEGKEZDETE = @napDatuma AND C_ORAERVENYESSEGVEGE = @napDatuma
END
ELSE
BEGIN
UPDATE oo
SET
oo.TOROLT = 'T'
FROM T_ORARENDIORA_OSSZES AS oo
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE AS ocstr ON ocstr.C_OSZTALYCSOPORTID = oo.C_OSZTALYCSOPORTID
WHERE
oo.C_EGYEDINAP = 'T' AND oo.C_ORAERVENYESSEGKEZDETE = @napDatuma AND oo.C_ORAERVENYESSEGVEGE = @napDatuma
END
END
ELSE
BEGIN
IF(@osszesOsztalyraVonatkozik= 'T')
BEGIN
UPDATE T_ORARENDIORA
SET
TOROLT = 'T'
WHERE
C_EGYEDINAP = 'T' AND C_ORAERVENYESSEGKEZDETE = @napDatuma AND C_ORAERVENYESSEGVEGE = @napDatuma
AND C_ISKEZZELFELVETTEGYEDINAP = 'F'
UPDATE oo
SET
oo.C_HETNAPJA = nn.C_ALAPHETNAPJA
,oo.C_EGYEDINAP = 'F'
FROM T_TANEVRENDJE_OSSZES AS tr
INNER JOIN T_NAPTARINAP_OSSZES nn ON nn.C_NAPDATUMA = tr.C_DATUM
INNER JOIN T_ORARENDIORA_OSSZES AS oo ON oo.C_EGYEDINAP = 'T' AND oo.C_ORAERVENYESSEGKEZDETE = @napDatuma AND oo.C_ORAERVENYESSEGVEGE = @napDatuma AND oo.TOROLT = 'F' AND oo.C_ISKEZZELFELVETTEGYEDINAP = 'T'
WHERE
tr.ID = @pTanevRendjeId
END
ELSE
BEGIN
UPDATE oo
SET
oo.TOROLT = 'T'
FROM T_ORARENDIORA_OSSZES AS oo
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE AS ocstr ON ocstr.C_OSZTALYCSOPORTID = oo.C_OSZTALYCSOPORTID
WHERE
oo.C_EGYEDINAP = 'T' AND oo.C_ORAERVENYESSEGKEZDETE = @napDatuma AND oo.C_ORAERVENYESSEGVEGE = @napDatuma
AND C_ISKEZZELFELVETTEGYEDINAP = 'F'
UPDATE oo
SET
oo.C_HETNAPJA = nn.C_ALAPHETNAPJA
,oo.C_EGYEDINAP = 'F'
FROM T_TANEVRENDJE_OSSZES AS tr
INNER JOIN T_NAPTARINAP_OSSZES nn ON nn.C_NAPDATUMA = tr.C_DATUM
INNER JOIN T_ORARENDIORA_OSSZES AS oo ON oo.C_EGYEDINAP = 'T' AND oo.C_ORAERVENYESSEGKEZDETE = @napDatuma AND oo.C_ORAERVENYESSEGVEGE = @napDatuma AND oo.TOROLT = 'F' AND oo.C_ISKEZZELFELVETTEGYEDINAP = 'T'
INNER JOIN T_OSZTALYCSOPORT_TANEVRENDJE AS ocstr ON ocstr.C_OSZTALYCSOPORTID = oo.C_OSZTALYCSOPORTID
WHERE
tr.ID = @pTanevRendjeId
END
END
END