set leave Technician automatically
Hi, I created a sql procedure(FIRST LOOK) to automatically set up "LEAVE TECHNICIAN" from other software.
Q1: why is there a delay until SITES OF TECHNICIAN appear in the web interface TO BACKUPTECHNICIAN? After a few minutes everything seems okay in web interface, but the incidents are not automatically attributed to the BACKUPTECHNICIAN,why?
Q2: have a better solution for my problem?
ALTER procedure [dbo].[SetLeaveTechnician]
(@username1 varchar(50), @username2 varchar(50),@dataStart varchar(20),@dataEnd varchar(20),@ti int,@iddd varchar(20))
as
BEGIN
declare @idTechnician1 int
declare @idTechnician2 int
declare @idSiteT1 int
declare @idSiteT2 int
declare @idSiteTech2 int
declare @IdGrup int
declare @dataEndEpoch bigint
declare @dataStartEpoch bigint
declare @idDe int
declare @idSiteMapping int
declare @msObs varchar(100)
declare @dataCur bigint= convert(bigint, datediff(ss, '01.01.1970 02:00:00',GETDATE()))*1000
IF @username1<>'' and @username2<>'' and @dataStart<>'' and @dataEnd<>''
BEGIN
SET @idTechnician1 = (select USER_ID from AaaLogin where name like @username1)
SET @idTechnician2 = (select USER_ID from AaaLogin where name like @username2)
SET @dataEndEpoch = convert(bigint, datediff(ss, '01.01.1970 02:00:00',convert(datetime,@dataEnd,104 )))*1000-- gmt+2
SET @dataStartEpoch = convert(bigint, datediff(ss, '01.01.1970 02:00:00',convert(datetime,@dataStart,104 )))*1000--gmt+2
if @idTechnician1 is not null AND @idTechnician2 is not null
begin
SET @idSiteT1=(SELECT siteid from SiteToTechnician where sduserid=@idTechnician1)
SET @idSiteT2=(SELECT sited2 from SiteToTechnician where sduserid=@idTechnician1)
SET @idSiteTech2=(SELECT siteid from SiteToTechnician where sduserid=@idTechnician2)
SET @msObs =(select name from SDOrganization where org_id=@idSiteTech2) +' >>> '+ (select name from SDOrganization where org_id=@idSiteT1)+ CHAR(13) +' SPD '+ @iddd
SET @idDe=( SELECT MAX(LEAVEID)+1 FROM TechUnavailability)
insert into TechUnavailability (LEAVEID,CREATEDBY,CREATEDDATE,TECHNICIANID,LEAVETYPEID,BACKUPTECHNICIANID,COMMENTS)values(@idDe,850,@dataCur,@idTechnician1,@ti,@idTechnician2,@msObs)-- insert
WHILE (@dataStartEpoch<=@dataEndEpoch)
BEGIN
INSERT INTO DateUnAvailability (LEAVEID,LEAVEDATE) values (@idDe ,@dataStartEpoch)-- insert
set @dataStartEpoch=@dataStartEpoch+86400000
END
SET @idSiteMapping=(SELECT MAX(USERSITEMAPPINGID)+1 FROM UserSiteMapping)
IF @idSiteT1<>2
BEGIN
SELECT QUEUEID INTO #Temp FROM QueueDefinition where siteid = @idSiteT1
if @idSiteT2<>0
begin
insert INTO #Temp (QUEUEID) values ((select QUEUEID FROM QueueDefinition where siteid = @idSiteT2))-- insert
insert into UserSiteMapping(USERSITEMAPPINGID,USERID,SITEID,ISADMIN)values(@idSiteMapping,@idTechnician2,@idSiteT2,0)--insert
end
WHILE EXISTS (SELECT * FROM #Temp)
BEGIN
SELECT TOP 1 @IdGrup = QUEUEID FROM #Temp
INSERT INTO Queue_Technician (QUEUEID,TECHNICIANID) values (@idGrup,@idTechnician2) -- insert
INSERT INTO LeaveGroupTechniceanValability (QUEUEID,TECHNICIANID,VALABILITATE,iddd,LEAVEID,SITEIDMAPPING,SITEIDMAPPING2) values (@idGrup,@idTechnician2,@dataEndEpoch+86400000,@iddd,@idDe,@idSiteT1,@idSiteT2)
DELETE FROM #Temp WHERE QUEUEID = @IdGrup
END
drop table #Temp
insert into UserSiteMapping(USERSITEMAPPINGID,USERID,SITEID,ISADMIN)values(@idSiteMapping,@idTechnician2,@idSiteT1,0)--insert
END
----***********************************
END
END
END
New to ADSelfService Plus?