/// 审核保存
        /// <summary>
        /// 审核保存
        /// </summary>
        /// <param name="userID"></param>
        /// <param name="sInfoData"></param>
        /// <param name="status"></param>
        /// <returns></returns>
        public override int AuditSave(int userID, QS_ResultData sInfoData, QSResultStatus status)
        {
            QS_IM_ResultInfo model = CommonBll.Instance.GetComAdoInfo <QS_IM_ResultInfo>(CommonFunction.ObjectToInteger(sInfoData.QS_RID));

            model.ModifyTime   = System.DateTime.Now;
            model.ModifyUserID = userID;
            model.ScoreType    = Convert.ToInt32(sInfoData.ScoreType);
            model.Status       = (Int32)status;
            model.StateResult  = 1;
            CommonBll.Instance.UpdateComAdoInfo <QS_IM_ResultInfo>(model);
            return(model.QS_RID.Value);
        }
Esempio n. 2
0
 /// 审核保存
 /// <summary>
 /// 审核保存
 /// </summary>
 /// <param name="userID"></param>
 /// <param name="sInfoData"></param>
 /// <param name="status"></param>
 /// <returns></returns>
 public override int AuditSave(int userID, QS_ResultData sInfoData, QSResultStatus status)
 {
     Entities.QS_Result model = null;
     model              = BLL.QS_Result.Instance.GetQS_Result(Convert.ToInt32(sInfoData.QS_RID));
     model.ModifyTime   = System.DateTime.Now;
     model.ModifyUserID = userID;
     model.ScoreType    = Convert.ToInt32(sInfoData.ScoreType);
     model.Status       = (Int32)status;
     model.StateResult  = 1;
     BLL.QS_Result.Instance.Update(model);
     return(model.QS_RID);
 }
        /// 审核
        /// <summary>
        /// 审核
        /// </summary>
        /// <param name="msg"></param>
        /// <param name="userID"></param>
        /// <param name="retQS_RID"></param>
        private void SubState(out string msg, int userID, out int retQS_RID)
        {
            QS_ResultData sInfoData;

            retQS_RID = 0;
            if (GetData(out msg, out sInfoData))
            {
                return;
            }

            try
            {
                int QS_RID = 0;
                //说明是初次提交
                if (sInfoData.QS_RID == "0")
                {
                    msg = "没有找到该评分结果";
                    return;
                }
                //再次保存
                else
                {
                    QSResultStatus status = QSResultStatus.Claimed;
                    QS_RID = AuditSave(userID, sInfoData, status);
                }
                //返回成绩表主键
                retQS_RID = QS_RID;
                //是否有致命项
                bool HaveDead = AuditResultDetail(userID, sInfoData, QS_RID);
                //保存成绩
                SaveScoreResult(sInfoData, HaveDead, QS_RID);
            }
            catch (Exception ex)
            {
                msg = ex.Message.ToString();
            }
        }
        /// 维护成绩表
        /// <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)
        {
            QS_IM_ResultInfo model = null;
            DataRow          dr    = BLL.QS_IM_Result.Instance.GetQS_IM_ResultForCSID(sInfoData.CSID);

            if (dr == null)
            {
                throw new Exception("会话不存在!");
            }
            //说明是初次
            if (sInfoData.QS_RID == "0")
            {
                if (status == QSResultStatus.Submitted)
                {
                    if (BLL.QS_IM_Result.Instance.HasScored(sInfoData.CSID))
                    {
                        // "此话务已评分过分了,不能再次评分!";
                        QS_RTID = 0;
                        return(-9999);
                    }
                }
                model = new QS_IM_ResultInfo();
                //QS_RID根据QS_Result表中的自增列生成,两个表的主键不能重复
                model.QS_RID           = BLL.QS_IM_Result.Instance.CreateQS_RID();
                model.CSID             = Convert.ToInt64(sInfoData.CSID);
                model.QS_RTID          = Convert.ToInt32(sInfoData.QS_RTID);
                model.SeatID           = dr["AgentUserID"].ToString();
                model.ScoreType        = Convert.ToInt32(sInfoData.ScoreType);
                model.CreateTime       = System.DateTime.Now;
                model.CreateUserID     = userID;
                model.QualityAppraisal = sInfoData.QualityAppraisal;
                model.Status           = (Int32)status;
                CommonBll.Instance.InsertComAdoInfo <QS_IM_ResultInfo>(model);
            }
            //再次保存
            else
            {
                model = CommonBll.Instance.GetComAdoInfo <QS_IM_ResultInfo>(CommonFunction.ObjectToInteger(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;
                CommonBll.Instance.UpdateComAdoInfo <QS_IM_ResultInfo>(model);
            }
            //返回结果
            QS_RTID = model.QS_RTID.Value;
            return(model.QS_RID.Value);
        }
Esempio n. 5
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);
 }
 /// 审核保存
 /// <summary>
 /// 审核保存
 /// </summary>
 /// <param name="userID"></param>
 /// <param name="sInfoData"></param>
 /// <param name="status"></param>
 /// <returns></returns>
 public abstract int AuditSave(int userID, QS_ResultData sInfoData, QSResultStatus status);