/// <summary> /// 电话呼出挂断 /// </summary> /// <param name="msg"></param> private void Released(out string msg) { msg = string.Empty; string HistoryLogID = ""; Int64 RecID = 0; //录音表主键格式正确 if (Int64.TryParse(CallRecordID, out RecID)) { //取本地录音记录 Entities.CallRecordInfo model = BLL.CallRecordInfo.Instance.GetCallRecordInfo(RecID); if (model != null && model.RecID > 0) { ////给录音结束时间付值 ////model.EndTime = System.DateTime.Now; //model.EndTime = Convert.ToDateTime(RequestEstablishEndTime); //System.DateTime begintime = new DateTime(); ////如果录音开始时间为合法时间 //if (model.BeginTime != null && model.BeginTime != BitAuto.ISDC.CC2012.Entities.Constants.Constant.DATE_INVALID_VALUE) //{ // if (DateTime.TryParse(model.BeginTime.ToString(), out begintime)) // { // //取录音结束时间与开始时间直接的通话时长描述 // //TimeSpan s = System.DateTime.Now - begintime; // TimeSpan s = Convert.ToDateTime(model.EndTime) - begintime; // model.TallTime = Convert.ToInt32(s.TotalSeconds); // } //} DateTime endTime = DateTime.Now; model.TallTime = 0; if (DateTime.TryParse(RequestEstablishEndTime, out endTime)) { if (model.BeginTime != null && model.BeginTime != BitAuto.ISDC.CC2012.Entities.Constants.Constant.DATE_INVALID_VALUE) { TimeSpan tsSpan = (TimeSpan)(endTime - model.BeginTime); model.TallTime = (int)tsSpan.TotalSeconds; } } model.EndTime = endTime; model.SessionID = RecordID; model.AudioURL = RecordIDURL; int result = 0; result = BLL.CallRecordInfo.Instance.Update(model); //更新录音结束时间成功 if (result > 0) { //调用接口更新宇高数据 //没有提交过,插入CustHistoryLog } } } //返回处理记录主键 msg = "{'success':'yes','recordid':'" + HistoryLogID + "'}"; }
public string ShowCallRecord() { string returnStr = string.Empty; if (!string.IsNullOrEmpty(RequestTaskID)) { Entities.CallRecordInfo callRecordInfo = BLL.CallRecordInfo.Instance.GetCallRecordInfoByTaskID(RequestTaskID); if (callRecordInfo != null) { returnStr = "<a href=\"" + callRecordInfo.AudioURL + "\" style=\"vertical-align:middle\"> <img src=\"/Images/callTel.png\" border=\"0\" /></a>"; } } return(returnStr); }
public string DataSource = "";//数据来源,1-Excel新增,2-CRM库 #endregion protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (!string.IsNullOrEmpty(RequestTID)) { RequestCRID = BLL.Util.GetCurrentRequestFormInt("CRID"); if (RequestCRID < 0) { Entities.CallRecordInfo model = BLL.CallRecordInfo.Instance.GetCallRecordInfoByTaskID(RequestTID); if (model != null) { RequestCRID = (int)model.RecID; } } BindData(); } } }
public string ShowCallRecord(string action, string taskId, string callRecordID, string audioURL) { string returnStr = " "; //如果是申请转出,显示呼入的录音 if (action == "120001") { Entities.CallRecordInfo callRecordInfo = BLL.CallRecordInfo.Instance.GetCallRecordInfoByTaskID(taskId); if (callRecordInfo != null) { returnStr = "<a href=\"" + callRecordInfo.AudioURL + "\"> <img src=\"/Images/callTel.png\" border=\"0\" /></a>"; } } //如果是呼出,显示呼出的录音 else if (action == "120007" || action == "120003") { if (!string.IsNullOrEmpty(callRecordID) && callRecordID != "-2") { returnStr = "<a href=\"" + audioURL + "\"> <img src=\"/Images/callTel.png\" border=\"0\" /></a>"; } } return(returnStr); }
/// <summary> ///工单外呼电话呼出接通。 ///2040-06-18 毕帆 返回数据添加WORID值 /// </summary> /// <param name="msg"></param> private void Established(out string msg) { msg = string.Empty; Entities.CallRecordInfo model = new Entities.CallRecordInfo(); //通话流水号 model.SessionID = RecordID; //坐席分机号 model.ExtensionNum = UserName; //对方号码 model.PhoneNum = CallerNum; //呼出号码 model.ANI = CalledNum; //呼出 model.CallStatus = 2; //录音开始时间 model.BeginTime = System.DateTime.Now; DateTime beginTime = DateTime.Now; if (DateTime.TryParse(RequestEstablishBeginTime, out beginTime)) { } model.BeginTime = beginTime; //录音地址 model.AudioURL = RecordIDURL; //CRM客户ID model.CustID = CustID; //客户名称 model.CustName = CustName; model.CreateTime = System.DateTime.Now; int loginID = BLL.Util.GetLoginUserID(); model.CreateUserID = loginID; //联系人 model.Contact = Contact; //任务ID model.TaskID = TaskID; model.TallTime = 0; //坐席振铃时长 int AgentRingTime = 0; if (int.TryParse(NetworkRTimeSpan, out AgentRingTime)) { model.AgentRingTime = AgentRingTime; } //客户振铃时长 int CustomRingTime = 0; if (int.TryParse(EstablishTimeSpan, out CustomRingTime)) { model.CustomRingTime = CustomRingTime; } int _newcustid; if (int.TryParse(NewCustID, out _newcustid)) { model.CCCustID = _newcustid.ToString(); } //工单取业务组,分类 int _bgid = BLL.SurveyCategory.Instance.GetSelfBGIDByUserID(loginID); //登陆者所在业务组ID int _scid = BLL.SurveyCategory.Instance.GetSelfSCIDByUserID(loginID); //登陆者所在业务组下的工单分类ID model.BGID = _bgid; model.SCID = _scid; //西门子callid Int64 _callID = 0; if (Int64.TryParse(CallID, out _callID)) { } model.CallID = _callID; int RecID = BLL.CallRecordInfo.Instance.Insert(model); //插入工单回复信息 Entities.WorkOrderRevert workorderrevert = new Entities.WorkOrderRevert(); workorderrevert.OrderID = model.TaskID; workorderrevert.CreateTime = DateTime.Now; workorderrevert.CreateUserID = model.CreateUserID; workorderrevert.CallID = model.CallID; workorderrevert.ReceiverDepartName = BitAuto.YanFa.SysRightManager.Common.UserInfo.Instance.GetDistrictNameByUserID(Convert.ToInt32(model.CreateUserID)); long ival = BLL.WorkOrderRevert.Instance.Insert(workorderrevert); BLL.Loger.Log4Net.Info("【工单外呼】准备调用接口CallRecordServiceHelper.Instance.UpdateBusinessDataByCallID开始"); //调用webservice,保存callid,业务id,业务组,分类对应关系 //int Result = CallRecordServiceHelper.Instance.UpdateBusinessDataByCallID(model.CallID, model.TaskID, model.BGID, model.SCID, Convert.ToInt32(model.CreateUserID), ref msg); int Result = BLL.CallRecord_ORIG_Business.Instance.UpdateBusinessDataByCallID(model.CallID, model.TaskID, model.BGID, model.SCID, Convert.ToInt32(model.CreateUserID), ref msg); BLL.Loger.Log4Net.Info("【工单外呼】准备调用接口CallRecordServiceHelper.Instance.UpdateBusinessDataByCallID结束返回值Result=" + Result); msg = "{'success':'yes','recordid':'" + RecID + "','WORID':'" + ival + "'}"; }
private Entities.CallRecordInfo LoadSingleCallRecordInfo(DataRow row) { Entities.CallRecordInfo model = new Entities.CallRecordInfo(); if (row["RecID"].ToString() != "") { model.RecID = long.Parse(row["RecID"].ToString()); } model.SessionID = row["SessionID"].ToString(); model.ExtensionNum = row["ExtensionNum"].ToString(); model.PhoneNum = row["PhoneNum"].ToString(); model.ANI = row["ANI"].ToString(); if (row["CallStatus"].ToString() != "") { model.CallStatus = int.Parse(row["CallStatus"].ToString()); } if (row["BeginTime"].ToString() != "") { model.BeginTime = DateTime.Parse(row["BeginTime"].ToString()); } if (row["EndTime"].ToString() != "") { model.EndTime = DateTime.Parse(row["EndTime"].ToString()); } if (row["TallTime"].ToString() != "") { model.TallTime = int.Parse(row["TallTime"].ToString()); } model.AudioURL = row["AudioURL"].ToString(); model.CustID = row["CustID"].ToString(); if (row["CreateTime"].ToString() != "") { model.CreateTime = DateTime.Parse(row["CreateTime"].ToString()); } if (row["CreateUserID"].ToString() != "") { model.CreateUserID = int.Parse(row["CreateUserID"].ToString()); } model.CustName = row["CustName"].ToString(); model.Contact = row["Contact"].ToString(); if (row["TaskTypeID"].ToString() != "") { model.TaskTypeID = int.Parse(row["TaskTypeID"].ToString()); } if (row["TaskID"].ToString() != "") { model.TaskID = row["TaskID"].ToString(); } if (row["SkillGroup"].ToString() != "") { model.SkillGroup = row["SkillGroup"].ToString(); } if (row["AgentRingTime"].ToString() != "") { model.AgentRingTime = int.Parse(row["AgentRingTime"].ToString()); } if (row["CustomRingTime"].ToString() != "") { model.CustomRingTime = int.Parse(row["CustomRingTime"].ToString()); } if (row["AfterWorkTime"].ToString() != "") { model.AfterWorkTime = int.Parse(row["AfterWorkTime"].ToString()); } if (row["AfterWorkBeginTime"].ToString() != "") { model.AfterWorkBeginTime = DateTime.Parse(row["AfterWorkBeginTime"].ToString()); } //newcustid,DMSMemberID,NewMemberID,CstMemberID,NewCstMemberID if (row["newcustid"].ToString() != "") { model.CCCustID = row["newcustid"].ToString(); } if (row["DMSMemberID"].ToString() != "") { model.DMSMemberID = row["DMSMemberID"].ToString(); } if (row["NewMemberID"].ToString() != "") { model.CCMemberID = row["NewMemberID"].ToString(); } if (row["CstMemberID"].ToString() != "") { model.CSTMemberID = row["CstMemberID"].ToString(); } if (row["NewCstMemberID"].ToString() != "") { model.CC_CSTMemberID = row["NewCstMemberID"].ToString(); } if (row["RVID"].ToString() != "") { model.RVID = int.Parse(row["RVID"].ToString()); } if (row["BGID"].ToString() != "") { model.BGID = int.Parse(row["BGID"].ToString()); } if (row["SCID"].ToString() != "") { model.SCID = int.Parse(row["SCID"].ToString()); } if (row["CallID"].ToString() != "") { model.CallID = Int64.Parse(row["CallID"].ToString()); } return(model); }
/// <summary> /// 增加一条数据 /// </summary> public int Insert(Entities.CallRecordInfo model) { SqlParameter[] parameters = { new SqlParameter("@RecID", SqlDbType.Int, 8), new SqlParameter("@SessionID", SqlDbType.VarChar, 50), new SqlParameter("@ExtensionNum", SqlDbType.VarChar, 20), new SqlParameter("@PhoneNum", SqlDbType.VarChar, 50), new SqlParameter("@ANI", SqlDbType.VarChar, 50), new SqlParameter("@CallStatus", SqlDbType.Int, 4), new SqlParameter("@BeginTime", SqlDbType.DateTime), new SqlParameter("@EndTime", SqlDbType.DateTime), new SqlParameter("@TallTime", SqlDbType.Int, 4), new SqlParameter("@AudioURL", SqlDbType.VarChar, 800), new SqlParameter("@CustID", SqlDbType.VarChar, 20), new SqlParameter("@CreateTime", SqlDbType.DateTime), new SqlParameter("@CreateUserID", SqlDbType.Int, 4), new SqlParameter("@CustName", SqlDbType.VarChar, 50), new SqlParameter("@Contact", SqlDbType.VarChar, 50), new SqlParameter("@TaskTypeID", SqlDbType.Int), new SqlParameter("@TaskID", SqlDbType.VarChar, 50), new SqlParameter("@SkillGroup", SqlDbType.VarChar, 200), new SqlParameter("@AgentRingTime", SqlDbType.VarChar, 200), new SqlParameter("@CustomRingTime", SqlDbType.VarChar, 200), new SqlParameter("@AfterWorkTime", SqlDbType.VarChar, 200), new SqlParameter("@AfterWorkBeginTime", SqlDbType.DateTime), new SqlParameter("@NewCustID", SqlDbType.Int), new SqlParameter("@BGID", SqlDbType.Int), new SqlParameter("@SCID", SqlDbType.Int), new SqlParameter("@CallID", SqlDbType.BigInt, 8) }; parameters[0].Direction = ParameterDirection.Output; parameters[1].Value = model.SessionID; parameters[2].Value = model.ExtensionNum; parameters[3].Value = model.PhoneNum; parameters[4].Value = model.ANI; parameters[5].Value = model.CallStatus; parameters[6].Value = model.BeginTime; parameters[7].Value = model.EndTime; parameters[8].Value = model.TallTime; parameters[9].Value = model.AudioURL; parameters[10].Value = model.CustID; parameters[11].Value = model.CreateTime; parameters[12].Value = model.CreateUserID; parameters[13].Value = model.CustName; parameters[14].Value = model.Contact; parameters[15].Value = model.TaskTypeID; parameters[16].Value = model.TaskID; parameters[17].Value = model.SkillGroup; parameters[18].Value = model.AgentRingTime; parameters[19].Value = model.CustomRingTime; parameters[20].Value = model.AfterWorkTime; parameters[21].Value = model.AfterWorkBeginTime; parameters[22].Value = Convert.ToInt32(model.CCCustID); parameters[23].Value = model.BGID; parameters[24].Value = model.SCID; parameters[25].Value = model.CallID; SqlHelper.ExecuteNonQuery(CONNECTIONSTRINGS, CommandType.StoredProcedure, P_CALLRECORDINFO_INSERT, parameters); return((int)parameters[0].Value); }
/// <summary> /// 更新一条数据 /// </summary> public int Update(Entities.CallRecordInfo model) { SqlParameter[] parameters = { new SqlParameter("@RecID", SqlDbType.Int, 8), new SqlParameter("@SessionID", SqlDbType.VarChar, 50), new SqlParameter("@ExtensionNum", SqlDbType.VarChar, 20), new SqlParameter("@PhoneNum", SqlDbType.VarChar, 50), new SqlParameter("@ANI", SqlDbType.VarChar, 50), new SqlParameter("@CallStatus", SqlDbType.Int, 4), new SqlParameter("@BeginTime", SqlDbType.DateTime), new SqlParameter("@EndTime", SqlDbType.DateTime), new SqlParameter("@TallTime", SqlDbType.Int, 4), new SqlParameter("@AudioURL", SqlDbType.VarChar, 800), new SqlParameter("@CustID", SqlDbType.VarChar, 20), new SqlParameter("@CustName", SqlDbType.VarChar, 50), new SqlParameter("@Contact", SqlDbType.VarChar, 50), new SqlParameter("@TaskTypeID", SqlDbType.Int), new SqlParameter("@TaskID", SqlDbType.VarChar, 50), new SqlParameter("@SkillGroup", SqlDbType.VarChar, 200), new SqlParameter("@AgentRingTime", SqlDbType.VarChar, 200), new SqlParameter("@CustomRingTime", SqlDbType.VarChar, 200), new SqlParameter("@AfterWorkTime", SqlDbType.VarChar, 200), new SqlParameter("@AfterWorkBeginTime", SqlDbType.DateTime), new SqlParameter("@NewCustID", SqlDbType.Int, 4), new SqlParameter("@DMSMemberID", SqlDbType.VarChar, 50), new SqlParameter("@NewMemberID", SqlDbType.Int, 4), new SqlParameter("@CSTMemberID", SqlDbType.VarChar, 10), new SqlParameter("@NewCSTMemberID", SqlDbType.Int, 4), new SqlParameter("@RVID", SqlDbType.Int, 4), new SqlParameter("@BGID", SqlDbType.Int, 4), new SqlParameter("@SCID", SqlDbType.Int, 4), new SqlParameter("@CallID", SqlDbType.BigInt, 8) }; parameters[0].Value = model.RecID; parameters[1].Value = model.SessionID; parameters[2].Value = model.ExtensionNum; parameters[3].Value = model.PhoneNum; parameters[4].Value = model.ANI; parameters[5].Value = model.CallStatus; parameters[6].Value = model.BeginTime; parameters[7].Value = model.EndTime; parameters[8].Value = model.TallTime; parameters[9].Value = model.AudioURL; parameters[10].Value = model.CustID; parameters[11].Value = model.CustName; parameters[12].Value = model.Contact; parameters[13].Value = model.TaskTypeID; parameters[14].Value = model.TaskID; parameters[15].Value = model.SkillGroup; parameters[16].Value = model.AgentRingTime; parameters[17].Value = model.CustomRingTime; parameters[18].Value = model.AfterWorkTime; parameters[19].Value = model.AfterWorkBeginTime; parameters[20].Value = model.CCCustID; parameters[21].Value = model.DMSMemberID; parameters[22].Value = model.CCMemberID; parameters[23].Value = model.CSTMemberID; parameters[24].Value = model.CC_CSTMemberID; parameters[25].Value = model.RVID; parameters[26].Value = model.BGID; parameters[27].Value = model.SCID; parameters[28].Value = model.CallID; return(SqlHelper.ExecuteNonQuery(CONNECTIONSTRINGS, CommandType.StoredProcedure, P_CALLRECORDINFO_UPDATE, parameters)); }
/// <summary> /// 更新一条数据 /// </summary> public int Update(Entities.CallRecordInfo model) { return(Dal.CallRecordInfo.Instance.Update(model)); }
/// <summary> /// 增加一条数据 /// </summary> public int Insert(Entities.CallRecordInfo model) { return(Dal.CallRecordInfo.Instance.Insert(model)); }