/// <summary>
        ///  更新一条数据
        /// </summary>
        public int Update(Entities.CallRecord_ORIG_Business model)
        {
            //触发器,入库CallRecord_ORIG_Task表
            TriggerCallRecord_ORIG_Task(model.CallID, model.BusinessID);

            SqlParameter[] parameters =
            {
                new SqlParameter("@RecID",        SqlDbType.Int,        4),
                new SqlParameter("@CallID",       SqlDbType.BigInt,     8),
                new SqlParameter("@BGID",         SqlDbType.Int,        4),
                new SqlParameter("@SCID",         SqlDbType.Int,        4),
                new SqlParameter("@BusinessID",   SqlDbType.NVarChar, 200),
                new SqlParameter("@CreateUserID", SqlDbType.Int,        4),
                new SqlParameter("@CreateTime",   SqlDbType.DateTime)
            };
            parameters[0].Direction = ParameterDirection.Output;
            parameters[1].Value     = model.CallID;
            parameters[2].Value     = model.BGID;
            parameters[3].Value     = model.SCID;
            parameters[4].Value     = model.BusinessID;
            parameters[5].Value     = model.CreateUserID;
            parameters[6].Value     = model.CreateTime;

            SqlHelper.ExecuteNonQuery(CONNECTIONSTRINGS, CommandType.StoredProcedure, P_CALLRECORD_ORIG_BUSINESS_UPDATE, parameters);
            int num = (int)parameters[0].Value;

            return(num);
        }
        /// 转换实体类
        /// <summary>
        /// 转换实体类
        /// </summary>
        /// <param name="row"></param>
        /// <returns></returns>
        private Entities.CallRecord_ORIG_Business LoadSingleCallRecord_ORIG_Business(DataRow row)
        {
            Entities.CallRecord_ORIG_Business model = new Entities.CallRecord_ORIG_Business();

            if (row["RecID"].ToString() != "")
            {
                model.RecID = long.Parse(row["RecID"].ToString());
            }
            if (row["CallID"].ToString() != "")
            {
                model.CallID = Int64.Parse(row["CallID"].ToString());
            }
            if (row["BGID"].ToString() != "")
            {
                model.BGID = int.Parse(row["BGID"].ToString());
            }
            if (row["SCID"].ToString() != "")
            {
                model.SCID = int.Parse(row["SCID"].ToString());
            }
            model.BusinessID = row["BusinessID"].ToString();
            if (row["CreateUserID"].ToString() != "")
            {
                model.CreateUserID = int.Parse(row["CreateUserID"].ToString());
            }
            if (row["CreateTime"].ToString() != "")
            {
                model.CreateTime = DateTime.Parse(row["CreateTime"].ToString());
            }
            return(model);
        }
Esempio n. 3
0
 /// 维护成绩表
 /// <summary>
 /// 维护成绩表
 /// </summary>
 /// <param name="sInfoData"></param>
 /// <param name="userID"></param>
 /// <param name="QS_RTID"></param>
 /// <param name="status"></param>
 /// <returns></returns>
 private int InsertOrUpdateResult(QS_ResultData sInfoData, int userID, out int QS_RTID, QSResultStatus status, string tableEndName)
 {
     Entities.QS_Result model = null;
     //由于易湃外呼业务签入cc系统,易湃不入库CallRecordInfo表,所以此处改成从CallRecord_ORIG_Business取录音创建坐席 modify by qizq 2014-4-17
     Entities.CallRecord_ORIG_Business callModel = BLL.CallRecord_ORIG_Business.Instance.GetByCallID(Convert.ToInt64(sInfoData.CallID), tableEndName);
     //说明是初次
     if (sInfoData.QS_RID == "0")
     {
         if (status == QSResultStatus.Submitted)
         {
             if (BLL.QS_Result.Instance.HasScored(sInfoData.CallID))
             {
                 // "此话务已评分过分了,不能再次评分!";
                 QS_RTID = 0;
                 return(-9999);
             }
         }
         model = new Entities.QS_Result();
         model.CallReCordID     = Convert.ToInt64(sInfoData.CallID);
         model.CallID           = Convert.ToInt64(sInfoData.CallID);
         model.QS_RTID          = Convert.ToInt32(sInfoData.QS_RTID);
         model.SeatID           = callModel.CreateUserID.ToString();
         model.ScoreType        = Convert.ToInt32(sInfoData.ScoreType);
         model.CreateTime       = System.DateTime.Now;
         model.CreateUserID     = userID;
         model.QualityAppraisal = sInfoData.QualityAppraisal;
         model.Status           = (Int32)status;
         model.QS_RID           = BLL.QS_Result.Instance.Insert(model, tableEndName);
         if (model.QS_RID == -9999)
         {
             // "此话务已评分过分了,不能再次评分!";
             QS_RTID = 0;
             return(-9999);
         }
     }
     //再次保存
     else
     {
         model = BLL.QS_Result.Instance.GetQS_Result(Convert.ToInt32(sInfoData.QS_RID));
         model.QualityAppraisal = sInfoData.QualityAppraisal;
         model.ModifyTime       = System.DateTime.Now;
         model.ModifyUserID     = userID;
         model.ScoreType        = Convert.ToInt32(sInfoData.ScoreType);
         model.Status           = (Int32)status;
         BLL.QS_Result.Instance.Update(model);
     }
     //返回结果
     QS_RTID = model.QS_RTID;
     return(model.QS_RID);
 }
 /// 根据CallID,更新业务数据,businessID为业务ID,BGID为分组ID,SCID为分类ID
 /// <summary>
 /// 根据CallID,更新业务数据,businessID为业务ID,BGID为分组ID,SCID为分类ID
 /// </summary>
 /// <param name="Verifycode"></param>
 /// <param name="callID"></param>
 /// <param name="businessID"></param>
 /// <param name="BGID"></param>
 /// <param name="SCID"></param>
 /// <param name="createuserid"></param>
 /// <param name="msg"></param>
 /// <returns></returns>
 public int UpdateBusinessDataByCallID(Int64 callID, string businessID, int BGID, int SCID, int createuserid, ref string msg)
 {
     msg = "";
     try
     {
         //插入更新数据,操作现表
         if (BLL.CallRecord_ORIG_Business.Instance.IsExistsByCallID(callID))
         {
             BLL.Loger.Log4Net.Info("[BLL.UpdateBusinessDataByCallID]在系统中已经存在业务数据,更新!callID=" + callID);
             Entities.CallRecord_ORIG_Business model = new Entities.CallRecord_ORIG_Business();
             model.CallID       = callID;
             model.BGID         = BGID;
             model.SCID         = SCID;
             model.BusinessID   = businessID;
             model.CreateUserID = createuserid;
             model.CreateTime   = DateTime.Now;
             int recID = BLL.CallRecord_ORIG_Business.Instance.Update(model);
             BLL.Loger.Log4Net.Info("[BLL.UpdateBusinessDataByCallID]更新完毕:callID=" + callID);
             return(recID);
         }
         else
         {
             BLL.Loger.Log4Net.Info("[BLL.UpdateBusinessDataByCallID]准备插入数据:callID=" + callID);
             Entities.CallRecord_ORIG_Business model = new Entities.CallRecord_ORIG_Business();
             model.CallID       = callID;
             model.BGID         = BGID;
             model.SCID         = SCID;
             model.BusinessID   = businessID;
             model.CreateUserID = createuserid;
             model.CreateTime   = DateTime.Now;
             int recID = BLL.CallRecord_ORIG_Business.Instance.Insert(model);
             model.RecID = recID;
             BLL.Loger.Log4Net.Info("[BLL.UpdateBusinessDataByCallID]插入完毕:callID=" + callID);
             return(recID);
         }
     }
     catch (Exception ex)
     {
         msg = ex.Message;
         BLL.Loger.Log4Net.Info("[BLL.UpdateBusinessDataByCallID]出错!callID=" + callID + ",errorMsg:" + msg);
         return(-1);
     }
 }
Esempio n. 5
0
        //插入话务总表跟业务分组中间表记录
        public void InsertCallRecord_ORIG_Business(out string msg)
        {
            msg = string.Empty;
            int loginID = BLL.Util.GetLoginUserID();

            Entities.CallRecord_ORIG_Business callrecordorgbusiness = new Entities.CallRecord_ORIG_Business();

            callrecordorgbusiness.CreateUserID = loginID;

            //工单取业务组,分类
            int _bgid = BLL.SurveyCategory.Instance.GetSelfBGIDByUserID(loginID); //登陆者所在业务组ID
            int _scid = BLL.SurveyCategory.Instance.GetSelfSCIDByUserID(loginID); //登陆者所在业务组下的工单分类ID

            callrecordorgbusiness.BGID = _bgid;
            callrecordorgbusiness.SCID = _scid;

            //西门子callid
            Int64 _callID = 0;

            if (Int64.TryParse(CallID, out _callID))
            {
            }
            callrecordorgbusiness.CallID     = _callID;
            callrecordorgbusiness.CreateTime = DateTime.Now;
            callrecordorgbusiness.BusinessID = TaskID;

            //update by lihf on 2014-01-23
            //工单处理页外呼时 也需根据先判是否有该录音记录,防止重复数据
            int RecID = 0;

            //查询现在表
            if (!BLL.CallRecord_ORIG_Business.Instance.IsExistsByCallID(_callID))
            {
                RecID = BLL.CallRecord_ORIG_Business.Instance.Insert(callrecordorgbusiness);
            }
            else
            {
                RecID = BLL.CallRecord_ORIG_Business.Instance.Update(callrecordorgbusiness);
            }
            msg = "{'success':'yes','recordid':'" + RecID + "'}";
        }
Esempio n. 6
0
        private void VerifyData()
        {
            string sysId  = ConfigurationUtil.GetAppSettingValue("ThisSysID");
            int    userId = BLL.Util.GetLoginUserID();

            FirstTrialButton = BitAuto.YanFa.SysRightManager.Common.UserInfo.Instance.CheckRight("SYS024BUT600102", sysId, userId);
            RecheckButton    = BitAuto.YanFa.SysRightManager.Common.UserInfo.Instance.CheckRight("SYS024BUT600103", sysId, userId);
            AppealButton     = BitAuto.YanFa.SysRightManager.Common.UserInfo.Instance.CheckRight("SYS024BUT600106", sysId, userId);

            int rid = 0;

            if (int.TryParse(RequestQS_RID, out rid))
            {
                Entities.QS_Result info = BLL.QS_Result.Instance.GetQS_Result(rid);
                if (info != null)
                {
                    //由于易湃外呼业务签入cc系统,易湃不入库CallRecordInfo表,所以此处改成从CallRecord_ORIG_Business取录音创建坐席 modify by qizq 2014-4-17
                    Entities.CallRecord_ORIG_Business callRecordInfo = BLL.CallRecord_ORIG_Business.Instance.GetByCallID(Convert.ToInt64(info.CallID), tableEndName);
                    //Entities.CallRecordInfo callRecordInfo = BLL.CallRecordInfo.Instance.GetCallRecordInfoByCallID(info.CallID);
                    if (callRecordInfo != null)
                    {
                        //判断单据状态,如果不是待复审,不能复审
                        Entities.QS_RulesTable QS_RulesTableModel = BLL.QS_RulesTable.Instance.GetQS_RulesTable(info.QS_RTID);
                        if (QS_RulesTableModel != null)
                        {
                            TableName = QS_RulesTableModel.Name;
                            if (QS_RulesTableModel.ScoreType == 2)
                            {
                                TableName += "(致命项数" + QS_RulesTableModel.DeadItemNum + ",非致命项数" + QS_RulesTableModel.NoDeadItemNum + ")";
                            }
                        }

                        //如果具有申诉权限,并且当前人不是此录音的创建人员,关闭此页面
                        if (AppealButton && callRecordInfo.CreateUserID != BLL.Util.GetLoginUserID() & !RecheckButton & !AppealButton)
                        {
                            Response.Write(@"<script language='javascript'>alert('您没有权限查看此评分!');try {
                  window.external.MethodScript('/browsercontrol/closepage');
            } catch (e) {
                window.opener = null; window.open('', '_self'); window.close();
            };</script>");
                        }
                        //如果不是本人录音,申诉按钮不显示
                        if (AppealButton && callRecordInfo.CreateUserID != BLL.Util.GetLoginUserID())
                        {
                            AppealButton = false;
                        }
                        this.ucCallRecordView.QS_RID       = info.QS_RID;
                        this.ucCallRecordView.CallID       = info.CallID;
                        this.ucCallRecordView.tableEndName = tableEndName;
                    }
                    Status = info.Status.ToString();
                    switch (Status)
                    {
                    case "20003":
                        Title = "录音质检成绩初审";
                        this.UCScoreTableView.QS_RID  = info.QS_RID;
                        this.UCScoreTableView.QS_RTID = info.QS_RTID;
                        break;

                    case "20004":
                        Title = "录音质检成绩复审";
                        this.ucTableDispose.CallID  = info.CallID;
                        this.ucTableDispose.QS_RID  = info.QS_RID;
                        this.ucTableDispose.QS_RTID = info.QS_RTID;
                        break;

                    default:
                        Title = "录音质检成绩查看";
                        this.UCScoreTableView.QS_RID  = info.QS_RID;
                        this.UCScoreTableView.QS_RTID = info.QS_RTID;
                        break;
                    }
                }
                else
                {
                    Response.Write(@"<script language='javascript'>alert('不存在此评分!');try {
                  window.external.MethodScript('/browsercontrol/closepage');
            } catch (e) {
                window.opener = null; window.open('', '_self',''); window.close();
            };</script>");
                }
            }
            else
            {
                Response.Write(@"<script language='javascript'>alert('参数有误!');try {
                  window.external.MethodScript('/browsercontrol/closepage');
            } catch (e) {
                window.opener = null; window.open('', '_self',''); window.close();
            };</script>");
            }
        }
Esempio n. 7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                int userId = BLL.Util.GetLoginUserID();
                if (!BLL.Util.CheckRight(userId, "SYS024BUT600104"))
                {
                    Response.Write(BLL.Util.GetNotAccessMsgPage("您没有访问该页面的权限"));
                    Response.End();
                }
                if (QS_RTID != 0 && CallID != 0)
                {
                    if (QS_RID <= 0)
                    {
                        QS_RID = BLL.QS_Result.Instance.GetRidByCallidAndRtid(QS_RTID, CallID);
                    }

                    Entities.QS_RulesTable tablemodel = BLL.QS_RulesTable.Instance.GetQS_RulesTable(QS_RTID);
                    //由于易湃外呼业务录音不入CC的CallRecordInfo表,所以取CallRecord_ORIG_Business来判断录音是否存在 modify by qizq 2014-4-17
                    //Entities.CallRecordInfo callmodel = BLL.CallRecordInfo.Instance.GetCallRecordInfoByCallID(CallID);
                    Entities.CallRecord_ORIG_Business callmodel = BLL.CallRecord_ORIG_Business.Instance.GetByCallID(CallID, tableEndName);
                    if (tablemodel != null && callmodel != null)
                    {
                        TableName = tablemodel.Name;
                        if (tablemodel.ScoreType == 2)
                        {
                            TableName += "(致命项数" + tablemodel.DeadItemNum + ",非致命项数" + tablemodel.NoDeadItemNum + ")";
                        }
                        bool flag = true;
                        if (QS_RID != 0)
                        {
                            Entities.QS_Result modelQS_Result = BLL.QS_Result.Instance.GetQS_Result(QS_RID);
                            if (modelQS_Result != null && modelQS_Result.Status == (Int32)Entities.QSResultStatus.WaitScore)
                            {
                            }
                            else
                            {
                                flag = false;
                            }
                        }
                        if (flag)
                        {
                            QualityStandardEditID.QS_RTID  = QS_RTID;
                            QualityStandardEditID.QS_RID   = QS_RID;
                            QualityStandardEditID.CallID   = CallID;
                            UCCallRecordView1.QS_RID       = QS_RID;
                            UCCallRecordView1.CallID       = CallID;
                            UCCallRecordView1.tableEndName = tableEndName;
                        }
                        else
                        {
                            Response.Write(@"<script language='javascript'>javascript:alert('当前评分成绩不是待评分状态!');try {
                 window.external.MethodScript('/browsercontrol/closepage');
            } catch (e) {
                window.opener = null; window.open('', '_self'); window.close();
            };</script>");
                        }
                    }
                    else
                    {
                        Response.Write(@"<script language='javascript'>javascript:alert('评分表不存在或录音不存在!');try {
                 window.external.MethodScript('/browsercontrol/closepage');
            } catch (e) {
                window.opener = null; window.open('', '_self'); window.close();
            };</script>");
                    }
                }
                else
                {
                    Response.Write(@"<script language='javascript'>javascript:alert('页面请求参数不正确!');try {
                 window.external.MethodScript('/browsercontrol/closepage');
            } catch (e) {
                window.opener = null; window.open('', '_self'); window.close();
            };</script>");
                }
            }
        }
        private void BindData()
        {
            #region 成绩结果
            if (QS_RID != 0)
            {
                Entities.QS_Result model = BLL.QS_Result.Instance.GetQS_Result(QS_RID);
                if (model != null)
                {
                    if (model.ScoreType == 1 || model.ScoreType == 3)
                    {
                        tdScore.InnerText = model.Score.ToString().Replace(".0", "") + "分";
                    }
                    else
                    {
                        tdScore.InnerText = model.IsQualified == 1 ? "合格" : "不合格";
                    }

                    if (model.Status != (int)QSResultStatus.WaitScore)
                    {
                        this.tdScore.Visible = true;
                    }
                }
            }


            #endregion

            #region 录音
            Entities.CallRecord_ORIG          origM     = BLL.CallRecord_ORIG.Instance.GetCallRecord_ORIGByCallID(CallID, tableEndName);
            Entities.CallRecord_ORIG_Business businessM = BLL.CallRecord_ORIG_Business.Instance.GetByCallID(CallID, tableEndName);
            if (origM != null && businessM != null)
            {
                this.spCallID.InnerText    = origM.CallID.ToString();
                this.spLiuShui.InnerHtml   = string.Format("<a href='/KnowledgeLib/Personalization/DownLoadFilePage.aspx?theAction=1&theUrl={1}'>{0}</a>", origM.SessionID, HttpUtility.UrlEncode(origM.AudioURL));
                this.spUserName.InnerText  = BitAuto.YanFa.SysRightManager.Common.UserInfo.GerTrueName((int)businessM.CreateUserID);
                this.spBeginTime.InnerText = origM.EstablishedTime.ToString();
                this.spTimeLong.InnerText  = origM.TallTime.ToString();
                this.spCallType.InnerText  = BitAuto.ISDC.CC2012.BLL.Util.GetCallStatus(origM.CallStatus.Value.ToString());
                FileUrl = origM.AudioURL;

                this.spTaskID.InnerText = businessM.BusinessID;

                //分类名称
                Entities.SurveyCategory ScMode = BLL.SurveyCategory.Instance.GetSurveyCategory((int)businessM.SCID);
                if (ScMode != null)
                {
                    this.spSCName.InnerText = ScMode.Name;
                }
                //链接
                string url = BLL.CallRecord_ORIG_Business.Instance.GetTaskUrl(businessM.BusinessID, businessM.BGID.ToString(), businessM.SCID.ToString());
                url = BLL.CallRecord_ORIG_Business.Instance.GetViewUrl(businessM.BusinessID, url);
                this.spTaskID.InnerHtml = BLL.Util.GenBusinessURLByBGIDAndSCID(businessM.BGID.ToString(), businessM.SCID.ToString(), url, businessM.BusinessID, YPFanXianHBuyCarURL, EPEmbedCCHBuyCar_APPID);
            }

            //满意度加载
            int    ivrscore = BLL.IVRSatisfaction.Instance.GetIVRScoreBYCallID(CallID, tableEndName);
            string strScore = "";
            switch (ivrscore)
            {
            case 0:
                strScore = "未评价";
                break;

            case 1:
                strScore = "满意";
                break;

            case 2:
                strScore = "对问题处理结果不满意";
                break;

            case 3:
                strScore = "对客服代表服务不满意";
                break;

            case 10:
                strScore = "已解决,未评价";
                break;

            case 11:
                strScore = "已解决,满意";
                break;

            case 12:
                strScore = "已解决,对处理结果不满意";
                break;

            case 13:
                strScore = "已解决,对客服代表服务不满意";
                break;

            case 20:
                strScore = "未解决,未评价";
                break;

            case 21:
                strScore = "未解决,满意";
                break;

            case 22:
                strScore = "未解决,对处理结果不满意";
                break;

            case 23:
                strScore = "未解决,对客服代表服务不满意";
                break;

            default:
                break;
            }
            spIVRScore.InnerText = strScore;
            #endregion
        }
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public int Update(Entities.CallRecord_ORIG_Business model)
 {
     return(Dal.CallRecord_ORIG_Business.Instance.Update(model));
 }
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public int Insert(Entities.CallRecord_ORIG_Business model)
 {
     BLL.Loger.Log4Net.Info("[BLL]InsertCallRecord_ORIG_Business ...插入开始...CallID:" + model.CallID);
     return(Dal.CallRecord_ORIG_Business.Instance.Insert(model));
 }