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.
ITSM/.svn/pristine/ec/ec82a0b0c9df72ab9f6b63ba982...

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