Fixtijden

Gewijzigd op Ma, 16 Nov, 2020 om 1:24 PM

USE [msdb]

GO

/****** Object:  Job [Fixtijden]    Script Date: 16-11-2020 13:15:06 ******/
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
/****** Object:  JobCategory [[Uncategorized (Local)]]    Script Date: 16-11-2020 13:15:06 ******/

IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1)

BEGIN
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
END

DECLARE @jobId BINARY(16)

EXEC @ReturnCode =  msdb.dbo.sp_add_job @job_name=N'Fixtijden', 
        @enabled=1, 
        @notify_level_eventlog=2, 
        @notify_level_email=0, 
        @notify_level_netsend=0, 
        @notify_level_page=0, 
        @delete_level=0, 
        @description=N'Deze job fixeert de in- en uitstaptijden op basis van de laatst bekende GPS positie', 
		@category_name=N'[Uncategorized (Local)]', 
		@owner_login_name=N'[SERVERNAAM]\Administrator', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

/****** Object:  Step [Berekenen]    Script Date: 16-11-2020 13:15:07 ******/

EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Berekenen', 
        @step_id=1, 
        @cmdexec_success_code=0, 
        @on_success_action=1, 
        @on_success_step_id=0, 
        @on_fail_action=2, 
        @on_fail_step_id=0, 
        @retry_attempts=0, 
        @retry_interval=0, 
        @os_run_priority=0, @subsystem=N'TSQL', 
        @command=N'update planning set pla_oph_fix = getdate() 
where pla_id IN (
select distinct pla_id from planning inner join ritstaten on lsn_id = pla_lsn inner join wagens on wag_id = lsn_wag_id
where (dbo.DistanceBetween(wag_latitude, wag_longitude, isnull(pla_oph_latitude,0), isnull(pla_oph_longitude,0)) < 0.1)
and pla_status = ''T''
AND (isnull(pla_oph_fix,0) = 0)
);

update planning set pla_best_fix = getdate() 
where pla_id IN (
select distinct pla_id from planning inner join ritstaten on lsn_id = pla_lsn inner join wagens on wag_id = lsn_wag_id
where (dbo.DistanceBetween(wag_latitude, wag_longitude, isnull(pla_best_latitude,0), isnull(pla_best_longitude,0)) < 0.1)
and pla_status = ''K''
AND (isnull(pla_best_fix,0) = 0)
);', 
        @database_name=N'PITANE_[TOSID]', 
        @flags=0

IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1

IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'15 seconden', 
        @enabled=1, 
        @freq_type=4, 
        @freq_interval=1, 
        @freq_subday_type=2, 
        @freq_subday_interval=15, 
        @freq_relative_interval=0, 
        @freq_recurrence_factor=0, 
        @active_start_date=20201113, 
        @active_end_date=99991231, 
        @active_start_time=0, 
        @active_end_time=235959, 
        @schedule_uid=N'41ffc21f-d936-4244-82ba-8abf26fb903e'

IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'

IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:

    IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION

EndSave:
GO


Was dit artikel nuttig?

Dat is fantastisch!

Hartelijk dank voor uw beoordeling

Sorry dat we u niet konden helpen

Hartelijk dank voor uw beoordeling

Laat ons weten hoe we dit artikel kunnen verbeteren!

Selecteer tenminste een van de redenen
CAPTCHA-verificatie is vereist.

Feedback verzonden

We stellen uw moeite op prijs en zullen proberen het artikel te verbeteren