//绑定数据 private void BindData() { if (RequestTaskID != "") { DataTable dt = new DataTable(); QueryCustHistoryInfo query = new QueryCustHistoryInfo(); query.TaskID = RequestTaskID; int count; dt = BLL.CustHistoryInfo.Instance.GetCustHistoryInfo(query, "", 1, 10000, Entities.CustHistoryInfo.SelectFieldStr, out count); if (dt.Rows.Count > 0) { switch (int.Parse(dt.Rows[0]["QuestionQuality"].ToString())) { case (int)Entities.QuestionNature.NatureCommon: QuestionQuality.InnerText = "普通"; break; case (int)Entities.QuestionNature.NatureUrgent: QuestionQuality.InnerText = "紧急"; break; } LastTreatmentTime.InnerText = CommonFunction.GetDateTimeStrForPage(dt.Rows[0]["LastTreatmentTime"].ToString()); if (dt.Rows[0]["IsComplaint"].ToString().ToLower() == "true") { chkIsComplaint.Checked = true; } //如果该任务已结束,则隐藏按钮 if (int.Parse(dt.Rows[0]["ProcessStatus"].ToString()) == (int)Entities.EnumTaskStatus.TaskStatusOver) { ulProcess.Visible = false; divDeal.Visible = false; spanBtnSubmit.Visible = false; //spanHighOper.Visible = false; //chkIsComplaint.Attributes.Add("disabled", "disabled"); } else { bool right_AgreeTurnOut = BLL.Util.CheckRight(BLL.Util.GetLoginUserID(), "SYS024BUT1101"); bool right_TaskTurnOver = BLL.Util.CheckRight(BLL.Util.GetLoginUserID(), "SYS024BUT1102"); //如果有高级操作权限再判断 if (right_AgreeTurnOut && right_TaskTurnOver) { //判断是否是第一次转出,如果不是,则隐藏同意转出按钮 QueryCustHistoryLog query_Log = new QueryCustHistoryLog(); query_Log.TaskID = RequestTaskID; query_Log.Action = (int)Entities.Action.ActionAgreeApplyTurn; DataTable dt_Log = BLL.CustHistoryLog.Instance.GetCustHistoryLog(query_Log, "", 1, 10000, out count); if (dt_Log.Rows.Count > 0) { btnTurnOut.Visible = false; } } } } } }
private void BindData() { QueryCustHistoryLog query = new QueryCustHistoryLog(); if (RequestTaskID != "") { query.TaskID = RequestTaskID; DataTable dt = BLL.CustHistoryLog.Instance.GetCustHistoryLogHaveCallRecord(query, "SolveTime asc", 1, 10000, out RecordCount); repeaterTableList.DataSource = dt; repeaterTableList.DataBind(); } }
//根据转到受理人EID 获取到主键 返回PID private long getPIDByNextSolveEID(string taskID, int toNextSolveEID) { long pid = 0; int count; QueryCustHistoryLog query_Log = new QueryCustHistoryLog(); query_Log.TaskID = taskID; query_Log.ToNextSolveUserEID = toNextSolveEID; DataTable dt_Log = BLL.CustHistoryLog.Instance.GetCustHistoryLog(query_Log, " SolveTime Desc", 1, 10000, out count); if (dt_Log.Rows.Count > 0) { pid = long.Parse(dt_Log.Rows[0]["RecID"].ToString()); } return(pid); }
/// <summary> /// 是否存在该记录 /// </summary> public bool IsExistsByRecID(long RecID) { QueryCustHistoryLog query = new QueryCustHistoryLog(); query.RecID = RecID; DataTable dt = new DataTable(); int count = 0; dt = GetCustHistoryLog(query, string.Empty, 1, 1, out count); if (count > 0) { return(true); } else { return(false); } }
/// <summary> /// 得到一个对象实体 /// </summary> public Entities.CustHistoryLog GetCustHistoryLog(long RecID) { QueryCustHistoryLog query = new QueryCustHistoryLog(); query.RecID = RecID; DataTable dt = new DataTable(); int count = 0; dt = GetCustHistoryLog(query, string.Empty, 1, 1, out count); if (count > 0) { return(LoadSingleCustHistoryLog(dt.Rows[0])); } else { return(null); } }
/// <summary> /// 按照查询条件查询 /// </summary> /// <param name="query">查询条件</param> /// <param name="order">排序</param> /// <param name="currentPage">页号,-1不分页</param> /// <param name="pageSize">每页记录数</param> /// <param name="totalCount">总行数</param> /// <returns>集合</returns> public DataTable GetCustHistoryLogHaveCallRecord(QueryCustHistoryLog query, string order, int currentPage, int pageSize, out int totalCount) { string where = string.Empty; if (query.TaskID != Constant.STRING_INVALID_VALUE) { where += " AND a.TaskID='" + StringHelper.SqlFilter(query.TaskID) + "'"; } if (query.Action != Constant.INT_INVALID_VALUE) { where += " AND a.Action =" + query.Action; } if (query.ToNextSolveUserID != Constant.INT_INVALID_VALUE) { where += " AND a.ToNextSolveUserID=" + query.ToNextSolveUserID; } if (query.ToNextSolveUserEID != Constant.INT_INVALID_VALUE) { where += " AND a.ToNextSolveUserEID=" + query.ToNextSolveUserEID; } DataSet ds; SqlParameter[] parameters = { new SqlParameter("@where", SqlDbType.NVarChar, 40000), new SqlParameter("@order", SqlDbType.NVarChar, 200), new SqlParameter("@pagesize", SqlDbType.Int, 4), new SqlParameter("@indexpage", SqlDbType.Int, 4), new SqlParameter("@totalRecorder", SqlDbType.Int, 4) }; parameters[0].Value = where; parameters[1].Value = order; parameters[2].Value = pageSize; parameters[3].Value = currentPage; parameters[4].Direction = ParameterDirection.Output; ds = SqlHelper.ExecuteDataset(CONNECTIONSTRINGS, CommandType.StoredProcedure, P_CustHistoryLog_SelectHaveCall, parameters); totalCount = (int)(parameters[4].Value); return(ds.Tables[0]); }
//判断是否进行过转发,如果没有 隐藏处理记录 private bool HiddenDiv() { QueryCustHistoryLog query_Log = new QueryCustHistoryLog(); query_Log.TaskID = RequestTaskID; int count; DataTable dt = BLL.CustHistoryLog.Instance.GetCustHistoryLog(query_Log, "", 1, 10000, out count); if (dt.Rows.Count == 0) { divLine.Style.Add("display", "none"); ulDeal.Style.Add("display", "none"); divDeal.Style.Add("display", "none"); return(false); } else { return(true); } }
/// <summary> /// 按照查询条件查询 /// </summary> /// <param name="query">查询条件</param> /// <param name="order">排序</param> /// <param name="currentPage">页号,-1不分页</param> /// <param name="pageSize">每页记录数</param> /// <param name="totalCount">总行数</param> /// <returns>集合</returns> public DataTable GetCustHistoryLogHaveCallRecord(QueryCustHistoryLog query, string order, int currentPage, int pageSize, out int totalCount) { return(Dal.CustHistoryLog.Instance.GetCustHistoryLogHaveCallRecord(query, order, currentPage, pageSize, out totalCount)); }
//提交(插入客户历史信息处理日志) private void CustHistoryLogSubmit(out string msg) { msg = string.Empty; if (RequestCHITaskID == "") { msg = "{'result':'no','msg':'没有任务ID,操作失败!'}"; return; } Entities.CustHistoryInfo model_CustHistoryInfo = getModelCustHistoryInfoByTaskID(RequestCHITaskID); if (model_CustHistoryInfo == null) { msg = "{'result':'no','msg':'没有找到该条任务记录,操作失败!'}"; return; } int action = (int)Entities.Action.ActionSumbit;//记录动作 默认:提交 //0 判断如果是有高级操作按钮的人操作,则在提交时将其他当前受理人的表中记录状态改为无效0 bool right_AgreeTurnOut = BLL.Util.CheckRight(BLL.Util.GetLoginUserID(), "SYS024BUT1101"); bool right_TaskTurnOver = BLL.Util.CheckRight(BLL.Util.GetLoginUserID(), "SYS024BUT1102"); if (right_AgreeTurnOut && right_TaskTurnOver) { QueryTaskCurrentSolveUser query_taskCurrentSolveUser = new QueryTaskCurrentSolveUser(); query_taskCurrentSolveUser.TaskID = model_CustHistoryInfo.TaskID; query_taskCurrentSolveUser.Status = 1; int count; DataTable dt_taskCurrentSolveUser = BLL.TaskCurrentSolveUser.Instance.GetTaskCurrentSolveUser(query_taskCurrentSolveUser, "", 1, 10000, out count); for (int i = 0; i < dt_taskCurrentSolveUser.Rows.Count; i++) { UpdateTaskCurrentSolveUser(dt_taskCurrentSolveUser.Rows[i]["RecID"].ToString(), 0); } } //1 判断是否存在“转到受理人ID(ToNextSolveUserEID)”存在:向当前受理人表插入一条记录 int nextSolveEID; if (RequestToNextSolveUserEID != "") { if (int.TryParse(RequestToNextSolveUserEID, out nextSolveEID)) { //判断登陆者权限 如果权限有高级操作权限,则不需要修改自己的记录 自己添加提交 //坐席权限 if (!right_AgreeTurnOut && !right_TaskTurnOver) { //修改:当前受理人表(修改自己的记录) 状态改为0 无效 QueryTaskCurrentSolveUser query_TCSUpdate = new QueryTaskCurrentSolveUser(); query_TCSUpdate.TaskID = model_CustHistoryInfo.TaskID; query_TCSUpdate.CurrentSolveUserEID = BLL.Util.GetLoginUserID(); query_TCSUpdate.Status = 1; int count; DataTable dt_TCSUpdate = BLL.TaskCurrentSolveUser.Instance.GetTaskCurrentSolveUser(query_TCSUpdate, "", 1, 10000, out count); if (dt_TCSUpdate.Rows.Count == 0) { msg = "{'result':'no','msg':'您不是当前受理人,操作失败!'}"; return; } for (int i = 0; i < dt_TCSUpdate.Rows.Count; i++) { UpdateTaskCurrentSolveUser(dt_TCSUpdate.Rows[i]["RecID"].ToString(), 0); } } if (right_AgreeTurnOut && right_TaskTurnOver) { //因为是高级权限操作,先判断是否已经转出过,如果没有同意转出而直接点击提交,则向Log表插入一条同意转出的动作记录 //1 判断是否是第一次转出,如果是,则插入一条同意转出的动作记录 QueryCustHistoryLog query_Log = new QueryCustHistoryLog(); query_Log.TaskID = model_CustHistoryInfo.TaskID; int totalCount; query_Log.Action = (int)Entities.Action.ActionAgreeApplyTurn; DataTable dt_Log = BLL.CustHistoryLog.Instance.GetCustHistoryLog(query_Log, "", 1, 10000, out totalCount); if (dt_Log.Rows.Count == 0) { //2 插入 客户历史信息处理日志 (动作记录) InsertCustHistoryLogByAction(model_CustHistoryInfo.TaskID, RequestComment, (int)Entities.Action.ActionAgreeApplyTurn);//动作:同意转出 } //3 修改客户历史记录信息表的记录:是否确定投诉 可修改,是否确认发送邮件 必须修改为true,任务状态 必须修改为“处理中” model_CustHistoryInfo.IsSendEmail = true; if (RequestIsComplaint != "") { model_CustHistoryInfo.IsComplaint = bool.Parse(RequestIsComplaint); } model_CustHistoryInfo.ProcessStatus = (int)Entities.EnumTaskStatus.TaskStatusNow; UpdateCustHistoryInfo(model_CustHistoryInfo); } // 插入:当前受理人表 (插入转到受理人的记录) TaskCurrentSolveUser model_TCS = new TaskCurrentSolveUser(); model_TCS.TaskID = model_CustHistoryInfo.TaskID; model_TCS.CurrentSolveUserEID = nextSolveEID; model_TCS.CurrentSolveUserID = getUserEID(nextSolveEID); model_TCS.Status = 1; model_TCS.CreateTime = DateTime.Now; model_TCS.CreateUserAdName = BLL.Util.GetDomainAccountByLimitEID(BLL.Util.GetLoginUserID()); InsertTaskCurrentSolveUser(model_TCS); action = (int)Entities.Action.ActionTurnOut;//动作:转出 //发送邮件 sendEmailByType(2, model_CustHistoryInfo.TaskID, nextSolveEID, model_CustHistoryInfo.CustID, BLL.Util.GetLoginUserID()); } else { msg = "{'result':'no','msg':'转到下一个受理人ID出错,操作失败!'}"; return; } } //2 插入处理信息到CustHistoryLog表 CustHistoryLog model = new CustHistoryLog(); //modify by qizq 2013-1-4首先判断是否是通话中 if (IsCalling == "1") { if (HistoryLogID == "") { //通话中提交把本地录音主键付给实体 long CallRecordReCID = 0; if (CallRecordID != "") { if (long.TryParse(CallRecordID, out CallRecordReCID)) { model.CallRecordID = CallRecordReCID; } } } } // model.TaskID = model_CustHistoryInfo.TaskID; model.SolveUserID = BLL.Util.GetLoginUserID(); model.SolveUserEID = BLL.Util.GetLoginUserID(); model.SolveTime = DateTime.Now; model.Comment = RequestComment; model.Action = action; int status; if (int.TryParse(RequestCHLStatus, out status)) { model.Status = status; } int toNextSolveUserEID; if (int.TryParse(RequestToNextSolveUserEID, out toNextSolveUserEID)) { model.ToNextSolveUserEID = toNextSolveUserEID; model.ToNextSolveUserID = getUserEID(toNextSolveUserEID); } long pid = getPIDByNextSolveEID(model_CustHistoryInfo.TaskID, BLL.Util.GetLoginUserID()); if (pid != 0) { model.Pid = pid; } //modify by qizq 2013-1-4不是在通话中,处理记录已存在更新处理记录 if (IsCalling != "1" && HistoryLogID != "") { //通话中提交把本地录音主键付给实体 long CallRecordReCID = 0; if (CallRecordID != "") { if (long.TryParse(CallRecordID, out CallRecordReCID)) { model.CallRecordID = CallRecordReCID; } } long HistoryLogIDLog = 0; if (long.TryParse(HistoryLogID, out HistoryLogIDLog)) { model.RecID = HistoryLogIDLog; } //CustHistoryLog 作废 2016-3-1 强斐 //UpdateCustHistoryLog(model); } else { //CustHistoryLog 作废 2016-3-1 强斐 //InsertCustHistoryLog(model); } //查找登陆人的客户历史关联邮件模板的记录 QueryCustHistoryTemplateMapping query_templateMappingOld = new QueryCustHistoryTemplateMapping(); query_templateMappingOld.TaskID = model.TaskID; query_templateMappingOld.SolveUserEID = model.SolveUserEID; int templateCount; DataTable dt_templateMappingOld = BLL.CustHistoryTemplateMapping.Instance.GetCustHistoryTemplateMapping(query_templateMappingOld, "", 1, 10000, out templateCount); if (dt_templateMappingOld.Rows.Count > 0) { int _templateID; if (int.TryParse(dt_templateMappingOld.Rows[0]["TemplateID"].ToString(), out _templateID)) { //插入(下一个受理人)到客户历史关联邮件模板 CustHistoryTemplateMapping model_templateMappingNew = new CustHistoryTemplateMapping(); model_templateMappingNew.TaskID = query_templateMappingOld.TaskID; model_templateMappingNew.TemplateID = _templateID; model_templateMappingNew.SolveUserEID = toNextSolveUserEID; model_templateMappingNew.CreateTime = DateTime.Now; model_templateMappingNew.CreateUserID = BLL.Util.GetLoginUserID(); BLL.CustHistoryTemplateMapping.Instance.Insert(model_templateMappingNew); } } msg = "{'result':'yes','msg':'操作成功'}"; }