| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
-
- /****** Object: Trigger [dbo].[Table_UpdateCallRecordList] Script Date: 05/29/2018 17:41:31 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
-
-
- -- =============================================
- -- Author: <赵鹏举>
- -- Create date: <2016-04-07>
- -- Description: <外线呼入后,转入到坐席,更新业务库通话记录表中通话信息>
- -- Author: <郑兵兵>
- -- Update date: <2018-05-30>
- -- Description: <通话记录表增加坐席组的记录,方便分组查询记录使用>
- -- =============================================
- ALTER TRIGGER [dbo].[Table_UpdateCallRecordList] ON [dbo].[rep_ext_call_in]
- AFTER INSERT
- AS
- BEGIN
- DECLARE @callId bigint
- declare @calltype int --呼入类型(0内线呼入1外线呼入2坐席转移呼入3三方呼入)
- declare @userid int
- declare @username nvarchar(50)
- declare @usercode nvarchar(50)
- declare @seatcode nvarchar(50)
- --读取插入记录的类型和坐席
- SELECT @callId=INSERTED.CallId,@calltype=INSERTED.CallType,@usercode=cast(INSERTED.CalleeAgentID as varchar(50)) FROM INSERTED
- --读取坐席对应信息
- select @userid=F_Userid,@username=F_UserName from T_Sys_UserAccount where F_UserCode=@usercode
- --读取坐席对应坐席组
- select @seatcode=dbo.GetSeatCodeByUserCode(@usercode)
-
- if @calltype=1
- begin
- UPDATE dbo.T_Call_CallRecords SET
- IvrEndTime=INSERTED.TimeAlerting ,--IVR结束时间 就是振铃开始时间
- IvrLongTime=DATEDIFF(SECOND,IvrStartTime,INSERTED.TimeAlerting),--IVR时长
- WaitEndTime=INSERTED.TimeAlerting ,--排队等待结束时间 就是振铃开始时间
- WaitLongTime= DATEDIFF(SECOND,WaitStartTime,INSERTED.TimeAlerting),--IVR时长
- RingStartTime = INSERTED.TimeAlerting ,--振铃时间
- RingEndTime = DATEADD(s, INSERTED.PeriodAlerting, INSERTED.TimeAlerting) ,--振铃结束时间
- TalkStartTime = INSERTED.TimeAnswer ,--应答时间
- TalkEndTime = DATEADD(s, INSERTED.PeriodTalking, INSERTED.TimeAnswer),--通话结束时间
- RingLongTime=INSERTED.PeriodAlerting,--振铃时长
- TalkLongTime=INSERTED.PeriodTalking,--通话时长
- UserId=@userid,--坐席id
- UserName=@username,--坐席姓名
- UserCode=CalleeAgentID,--坐席工号
- ExtNumber=CalleeNum,--坐席分机
- FilePath=RecFileName,--录音地址
- LongTime=DATEDIFF(SECOND,inserted.TimeAlerting,inserted.TimeHangUp),--总时长
- actionid=inserted.ActionID,
- actiontype=1,
- groupcode=@seatcode
- FROM INSERTED
- WHERE T_Call_CallRecords.CallId = cast(INSERTED.CallId as varchar(50)) and T_Call_CallRecords.actiontype<2 and T_Call_CallRecords.CallType=0
- end
- else
- begin
- INSERT INTO T_Call_CallRecords(CallId,CallNumber,CallType,CallState,DealType,
- BeginTime,IvrStartTime,IvrEndTime,RingStartTime,RingEndTime,
- TalkStartTime,TalkEndTime,EndTime,RingLongTime,TalkLongTime,LongTime,
- UserId,UserName,UserCode,FilePath,ExtNumber,actionid,actiontype,
- IsDeal,OperateType,MYD,groupcode)
- select cast(CallId as varchar(50)),CallerNum,0,IsAnswer,6,
- TimeAlerting,TimeAlerting,TimeAlerting,TimeAlerting,DATEADD(s, PeriodAlerting, TimeAlerting),
- TimeAnswer,DATEADD(s, PeriodTalking, TimeAnswer),TimeHangUp,PeriodAlerting,PeriodTalking,DATEDIFF(SECOND,TimeAlerting,TimeHangUp),
- @userid,@username,CalleeAgentID,RecFileName,CalleeNum,inserted.ActionID,calltype,
- 0,0,0,@seatcode from INSERTED
- end
-
-
- END
-
|