You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
117 lines
13 KiB
117 lines
13 KiB
USE [Vertragsverwaltung_20160404]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[sp_generate_activity] Script Date: 02.12.2016 09:08:53 ******/
|
|
DROP PROCEDURE [dbo].[sp_generate_activity]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[sp_generate_activity] Script Date: 02.12.2016 09:08:55 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER OFF
|
|
GO
|
|
|
|
|
|
|
|
-- =============================================
|
|
-- Author: Stefan Hutter
|
|
-- Create date: 29.01.2009
|
|
-- Description: Aktivitäten aus Ereignissen generieren
|
|
-- =============================================
|
|
CREATE PROCEDURE [dbo].[sp_generate_activity]
|
|
@mitarbeiternr int=0,
|
|
@datum varchar(20)=''
|
|
as
|
|
|
|
declare @steuerdatum datetime
|
|
declare @tmp varchar(50)
|
|
IF @datum='' begin
|
|
--select @steuerdatum=convert(varchar(10),getdate(),104)
|
|
select @steuerdatum =getdate()
|
|
print @steuerdatum
|
|
end else begin
|
|
select @steuerdatum=@datum
|
|
print @steuerdatum
|
|
end
|
|
insert joblog (logentry) values (@steuerdatum)
|
|
--------------------------------------------------------------------
|
|
-- Vertragsablauf
|
|
--------------------------------------------------------------------
|
|
declare @vdate datetime
|
|
set @vdate = FLOOR( CAST( @steuerdatum AS FLOAT ) )
|
|
|
|
Insert into Aktivitaet
|
|
SELECT 0 as EreignisNr, 1 AS AktivitaetStatusNr, 15, @steuerdatum AS Ausgeloest_am,
|
|
'Vertragsstatus prüfen' AS Ereignis, '' AS Kostenart, 0,
|
|
@steuerdatum as Termin,'' as Beschreibung, '' as Bemerkung,
|
|
0 as SecurityLevelNr, 1 AS aktiv, GETDATE() AS erstellt_am, GETDATE() AS mutiert_am, 9999 AS mutierer,
|
|
'' as Kuendigungsfrist, Vertragselement.Vertragselementnr as vertragselementnr
|
|
from dbo.vertragselement
|
|
where vertragselement.aktiv=1 and dbo.vertragselement.vertragsablauf = @vdate
|
|
|
|
--------------------------------------------------------------------
|
|
-- Gekündigt per
|
|
--------------------------------------------------------------------
|
|
|
|
Insert into Aktivitaet
|
|
SELECT 0 as EreignisNr, 1 AS AktivitaetStatusNr, 15, @steuerdatum AS Ausgeloest_am,
|
|
'Vertragsstatus prüfen' AS Ereignis, '' AS Kostenart, 0,
|
|
@steuerdatum as Termin,'' as Beschreibung, '' as Bemerkung,
|
|
0 as SecurityLevelNr, 1 AS aktiv, GETDATE() AS erstellt_am, GETDATE() AS mutiert_am, 9999 AS mutierer,
|
|
'' as Kuendigungsfrist, Vertragselement.Vertragselementnr as vertragselementnr
|
|
from dbo.vertragselement
|
|
where vertragselement.aktiv=1 and dateadd(d,1,dbo.vertragselement.Gekuendigt_per) = @vdate
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
-- Einmalige Ereignisse
|
|
--------------------------------------------------------------------
|
|
insert into aktivitaet
|
|
|
|
SELECT dbo.Vertragsereignis.EreignisNr, 1 AS AktivitaetStatusNr, dbo.Periodizitaet.PeriodizitaetNr, @steuerdatum AS Ausgeloest_am,
|
|
dbo.Ereignistyp.Bezeichnung AS Ereignis, dbo.Kostenart.Bezeichnung AS Kostenart, dbo.Vertragsereignis.Betrag,
|
|
|
|
dbo.check_generate_activity(dbo.vertragsereignis.datum, dbo.vertragsereignis.datum,@steuerdatum,
|
|
dbo.vertragsereignis.vorlaufzeit,dbo.vertragsereignis.periodizitaetnr,
|
|
dbo.Ereignistyp.Aktivitaeten_generieren, dbo.vertragsereignis.kuendigungsfristnr,dbo.ereignistyp.kuendigung,1,1) as Termin,
|
|
dbo.Vertragsereignis.Bezeichnung AS Beschreibung, dbo.Vertragsereignis.Beschreibung AS Bemerkung,
|
|
dbo.Vertragsereignis.SecurityLevelNr, 1 AS aktiv, GETDATE() AS erstellt_am, GETDATE() AS mutiert_am, 9999 AS mutierer,
|
|
dbo.get_kuendigungsfrist(dbo.vertragsereignis.kuendigungsfristnr,dbo.ereignistyp.kuendigung) as Kuendigungsfrist,0 as vertragselementnr
|
|
FROM dbo.Vertragsereignis INNER JOIN
|
|
dbo.Periodizitaet ON dbo.Vertragsereignis.PeriodizitaetNr = dbo.Periodizitaet.PeriodizitaetNr INNER JOIN
|
|
dbo.Ereignistyp ON dbo.Vertragsereignis.EreignistypNr = dbo.Ereignistyp.Ereignistypnr INNER JOIN
|
|
dbo.Kostenart ON dbo.Vertragsereignis.KostenartNr = dbo.Kostenart.KostenartNr
|
|
WHERE dbo.Ereignistyp.Aktivitaeten_generieren = 1 and dbo.vertragsereignis.aktiv=1
|
|
--and
|
|
and dbo.check_generate_activity(dbo.vertragsereignis.Datum, dbo.vertragsereignis.datum,@steuerdatum,
|
|
dbo.vertragsereignis.vorlaufzeit,dbo.vertragsereignis.periodizitaetnr,
|
|
dbo.Ereignistyp.Aktivitaeten_generieren, dbo.vertragsereignis.kuendigungsfristnr,dbo.ereignistyp.kuendigung,0,1)='1'
|
|
and dbo.vertragsereignis.periodizitaetnr=15
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
-- Periodische
|
|
--------------------------------------------------------------------
|
|
|
|
Insert into aktivitaet
|
|
SELECT dbo.Vertragsereignis.EreignisNr, 1 AS AktivitaetStatusNr, dbo.Periodizitaet.PeriodizitaetNr, @steuerdatum AS Ausgeloest_am,
|
|
dbo.Ereignistyp.Bezeichnung AS Ereignis, dbo.Kostenart.Bezeichnung AS Kostenart, dbo.Vertragsereignis.Betrag,
|
|
dbo.check_generate_activity(dbo.vertragsereignis.start, dbo.vertragsereignis.ende,@steuerdatum,
|
|
dbo.vertragsereignis.vorlaufzeit,dbo.vertragsereignis.periodizitaetnr,
|
|
dbo.Ereignistyp.Aktivitaeten_generieren, dbo.vertragsereignis.kuendigungsfristnr,dbo.ereignistyp.kuendigung,1,0) as Termin,
|
|
--'' as termin,
|
|
dbo.Vertragsereignis.Bezeichnung AS Beschreibung, dbo.Vertragsereignis.Beschreibung AS Bemerkung,
|
|
dbo.Vertragsereignis.SecurityLevelNr, 1 AS aktiv, GETDATE() AS erstellt_am, GETDATE() AS mutiert_am, 9999 AS mutierer,
|
|
dbo.get_kuendigungsfrist(dbo.vertragsereignis.kuendigungsfristnr,dbo.ereignistyp.kuendigung) as Kuendigungsfrist, 0 as vertragselementnr
|
|
FROM dbo.Vertragsereignis INNER JOIN
|
|
dbo.Periodizitaet ON dbo.Vertragsereignis.PeriodizitaetNr = dbo.Periodizitaet.PeriodizitaetNr INNER JOIN
|
|
dbo.Ereignistyp ON dbo.Vertragsereignis.EreignistypNr = dbo.Ereignistyp.Ereignistypnr INNER JOIN
|
|
dbo.Kostenart ON dbo.Vertragsereignis.KostenartNr = dbo.Kostenart.KostenartNr
|
|
WHERE dbo.vertragsereignis.periodizitaetnr<>15 and dbo.vertragsereignis.periodizitaetnr<>0 and
|
|
dbo.check_generate_activity(dbo.vertragsereignis.start, dbo.vertragsereignis.ende,@steuerdatum,
|
|
dbo.vertragsereignis.vorlaufzeit,dbo.vertragsereignis.periodizitaetnr,
|
|
dbo.Ereignistyp.Aktivitaeten_generieren, dbo.vertragsereignis.kuendigungsfristnr,dbo.ereignistyp.kuendigung,0,0)='1'
|
|
and dbo.vertragsereignis.aktiv=1
|
|
|
|
insert joblog (logentry) values ('ende')
|
|
GO
|