1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
-- =============================================
-- Author: Julien Brasselet
-- Update date: 05/12/2007
-- Description: Insertion d'une absence dans le planning d'antenne
-- =============================================
ALTER PROCEDURE [dbo].[AN_InsererAbsence]
@idAntenne int,
@idAgent int,
@codeAbsence char(10),
@dateEntiere char(25)
AS
declare @idMa int,
@idJour int,
@idPlng int,
@heure int,
@indice int
BEGIN
SET NOCOUNT ON;
set @idPlng = 0
set @indice = 1
set @heure = SUBSTRING(@dateEntiere,12,2)
SELECT @idMa = ID_MA
FROM MOTIF_ABSENCE
WHERE CODE_MA= @codeAbsence
SELECT @idJour = TableTemps_ID
FROM TableTemps
WHERE TableTemps_DateEntiere= @dateEntiere
SELECT @idPlng = IDPLNGANTENNE
FROM PLNG_ANTENNE
WHERE TableTemps_ID = @idJour
AND id_agent = @idAgent
IF @idPlng > 0
BEGIN
--UPDATE
UPDATE plng_antenne
SET id_ma = @idMa,
id_activite = NULL
WHERE id_agent = @idAgent
AND TableTemps_ID = @idJour
AND id_antenne = @idAntenne
IF @heure = 8 OR @heure = 14
BEGIN
WHILE @indice < 4
BEGIN
SET @idJour = @idJour + 1
SET @indice = @indice + 1
UPDATE plng_antenne
SET id_ma = @idMa,
id_activite = NULL
WHERE id_agent = @idAgent
AND TableTemps_ID = @idJour
AND id_antenne = @idAntenne
END
END
END
ELSE
BEGIN
--INSERT
INSERT INTO plng_antenne (id_agent,id_ma,TableTemps_ID,id_antenne)
VALUES (@idAgent,@idMa,@idJour,@idAntenne)
IF @heure = 8 OR @heure = 14
BEGIN
WHILE @indice < 4
BEGIN
SET @idJour = @idJour + 1
SET @indice = @indice + 1
INSERT INTO plng_antenne (id_agent,id_ma,TableTemps_ID,id_antenne)
VALUES (@idAgent,@idMa,@idJour,@idAntenne)
END
END
END
END |
Partager