コード例 #1
0
        /// <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 + "'}";
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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();
                }
            }
        }
コード例 #4
0
        public string ShowCallRecord(string action, string taskId, string callRecordID, string audioURL)
        {
            string returnStr = "&nbsp;";

            //如果是申请转出,显示呼入的录音
            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);
        }
コード例 #5
0
        /// <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 + "'}";
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        /// <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);
        }
コード例 #8
0
        /// <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));
        }
コード例 #9
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public int Update(Entities.CallRecordInfo model)
 {
     return(Dal.CallRecordInfo.Instance.Update(model));
 }
コード例 #10
0
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public int Insert(Entities.CallRecordInfo model)
 {
     return(Dal.CallRecordInfo.Instance.Insert(model));
 }