//插入 客户历史信息处理日志(动作记录) public void InsertCustHistoryLogByAction(string taskID, string comment, int action) { CustHistoryLog model_Log = new CustHistoryLog(); model_Log.TaskID = taskID; model_Log.Action = action; model_Log.Comment = comment; model_Log.SolveTime = DateTime.Now; model_Log.SolveUserID = BLL.Util.GetLoginUserID(); model_Log.SolveUserEID = BLL.Util.GetLoginUserID(); //CustHistoryLog 作废 2016-3-1 强斐 //InsertCustHistoryLog(model_Log); string _action = string.Empty; switch (model_Log.Action) { case (int)Entities.Action.ActionSumbit: _action = "提交"; break; case (int)Entities.Action.ActionTurnOut: _action = "转出"; break; case (int)Entities.Action.ActionApplyTurn: _action = "申请转出"; break; case (int)Entities.Action.ActionTurnOver: _action = "结束"; break; case (int)Entities.Action.ActionAgreeApplyTurn: _action = "同意转出"; break; } BLL.Util.InsertUserLog("【CustHistoryLog】客户历史信息处理日志表【插入】【动作记录】任务ID:【" + model_Log.TaskID + "】受理人:【" + model_Log.SolveUserEID.GetValueOrDefault(-2) + "】动作:【" + _action + "】的记录"); }
//插入 CustHistoryLog表 private void InsertCustHistoryLog(CustHistoryLog model) { if (model != null) { BLL.CustHistoryLog.Instance.Insert(model); //日志 string action = string.Empty; switch (model.Action) { case (int)Entities.Action.ActionSumbit: action = "提交"; break; case (int)Entities.Action.ActionTurnOut: action = "转出"; break; case (int)Entities.Action.ActionApplyTurn: action = "申请转出"; break; case (int)Entities.Action.ActionTurnOver: action = "结束"; break; case (int)Entities.Action.ActionAgreeApplyTurn: action = "同意转出"; break; } string status = string.Empty; switch (model.Status) { case (int)Entities.ProcessStatus.ProcessSolve: status = "已解决"; break; case (int)Entities.ProcessStatus.ProcessUnresolved: status = "未解决"; break; case (int)Entities.ProcessStatus.ProcessNotSolve: status = "不解决"; break; } BLL.Util.InsertUserLog("【外部提交】客户历史信息处理日志表【插入】任务ID:【" + model.TaskID + "】受理人:【" + BLL.Util.GetEmployeeNameByEID(int.Parse(model.SolveUserEID.ToString())) + "】处理意见:【" + model.Comment + "】动作:【" + action + "】处理状态:【" + status + "】pid:【" + model.Pid + "】的记录", int.Parse(RequestLoginEID)); } }
//提交 外部使用(插入客户历史信息处理日志) private void CustHistoryLogExternalSubmit(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;//记录动作 默认:提交 //1 判断是否存在“转到受理人ID(ToNextSolveUserEID)”存在:向当前受理人表插入一条记录 int nextSolveEID; if (RequestToNextSolveUserEID != "") { if (int.TryParse(RequestToNextSolveUserEID, out nextSolveEID)) { //判断登陆者权限 如果权限有高级操作权限,则不需要修改自己的记录 自己添加提交 //坐席权限 //修改:当前受理人表(修改自己的记录) 状态改为0 无效 QueryTaskCurrentSolveUser query_TCSUpdate = new QueryTaskCurrentSolveUser(); query_TCSUpdate.TaskID = RequestCHITaskID; query_TCSUpdate.CurrentSolveUserEID = int.Parse(RequestLoginEID); 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); } // 插入:当前受理人表 (插入转到受理人的记录) TaskCurrentSolveUser model_TCS = new TaskCurrentSolveUser(); model_TCS.TaskID = RequestCHITaskID; model_TCS.CurrentSolveUserEID = nextSolveEID; //model_TCS.CurrentSolveUserID = getUserEID(nextSolveEID); model_TCS.Status = 1; model_TCS.CreateTime = DateTime.Now; int _loginerEID; if (int.TryParse(RequestLoginEID, out _loginerEID)) { model_TCS.CreateUserAdName = BLL.Util.GetEmployeeDomainAccountByEid(_loginerEID); } InsertTaskCurrentSolveUser(model_TCS); action = (int)Entities.Action.ActionTurnOut;//动作:转出 //发送邮件 sendEmailByType(2, RequestCHITaskID, nextSolveEID, model_CustHistoryInfo.CustID, _loginerEID); //sendEmail(RequestCHITaskID, nextSolveEID, model_CustHistoryInfo.CustID); } else { msg = "{'result':'no','msg':'转到下一个受理人ID出错,操作失败!'}"; return; } } //2 插入处理信息到CustHistoryLog表 CustHistoryLog model = new CustHistoryLog(); model.TaskID = RequestCHITaskID; //model.SolveUserID = BLL.Util.GetLoginUserID(); model.SolveUserEID = int.Parse(RequestLoginEID); 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); } int _loginEID; if (int.TryParse(RequestLoginEID, out _loginEID)) { long pid = getPIDByNextSolveEID(RequestCHITaskID, _loginEID); if (pid != 0) { model.Pid = pid; } } 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 = _loginEID; BLL.CustHistoryTemplateMapping.Instance.Insert(model_templateMappingNew); } } msg = "{'result':'yes','msg':'操作成功'}"; }
//提交(插入客户历史信息处理日志) 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':'操作成功'}"; }