/// 审核保存 /// <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); }
/// 审核保存 /// <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); }
/// 维护成绩表 /// <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);