/// <summary> /// 更新调度结果 /// </summary> /// <param name="action"></param> /// <param name="dispathcNumber"></param> /// <param name="dispatchedNumbers"></param> /// <param name="result"></param> /// <returns></returns> public static bool UpdateLog(CommControl.PublicEnums.EnumNormalCmd action, long dispathcNumber, string dispatchedNumbers, bool result) { bool b = false; try { List<DB_Talk.Model.Data_DispatchLog> lst = new DB_Talk.BLL.Data_DispatchLog().GetModelList( string.Format("DispatchNumber={0} and DispatchTypeID='{1}' and DispatchedNumbers='{2}' and i_State=0 order by dt_datetime desc", dispathcNumber, action.GetHashCode(), dispatchedNumbers)); if (lst != null && lst.Count > 0) { bool isFisrt = true; foreach (DB_Talk.Model.Data_DispatchLog item in lst) { if (result) { if (isFisrt==true) { item.i_Result = 1; isFisrt = false; } } else { item.i_Result = 0; } item.i_State = 1; b = new DB_Talk.BLL.Data_DispatchLog().Update(item); } } } catch (Exception) { } return b; }
/// <summary>得到通话记录</summary> private void GetTalkLog() { DateTime begin = DateTime.Now.AddDays(-Pub._configModel.TalkLogSearchDays);//一个月之前 DateTime end = DateTime.Now; string strSQL = string.Format( "boxid={0} and managerID={1} and (DispatchTypeID={2} or DispatchTypeID={3} or DispatchTypeID={4}) and dt_datetime>='{5}' and dt_datetime<='{6}'", Pub.manageModel.BoxID, Pub.manageModel.ID, CommControl.PublicEnums.EnumNormalCmd.Call.GetHashCode(), CommControl.PublicEnums.EnumNormalCmd.SelectAnser.GetHashCode(), CommControl.PublicEnums.EnumNormalCmd.SelectLemcAnser.GetHashCode(), begin, end ); dgvCalled.Rows.Clear(); dgvNoDoneCall.Rows.Clear(); dgvDoneCall.Rows.Clear(); StringBuilder sb = new StringBuilder(); List<DB_Talk.Model.Data_DispatchLog> lstLog = new DB_Talk.BLL.Data_DispatchLog().GetModelListByCount(3000, strSQL, "id desc"); for (int i = lstLog.Count - 1; i >= 0; i--) { DB_Talk.Model.Data_DispatchLog item = lstLog[i]; // sb.Clear(); string dispatchName = Pub.GetDispatchNameByNumber(item.DispatchNumber); CommControl.PublicEnums.EnumNormalCmd type = (CommControl.PublicEnums.EnumNormalCmd)item.DispatchTypeID; string memerbName = GetMemberName(item.DispatchedNumbers); switch (type) { case PublicEnums.EnumNormalCmd.None: break; case PublicEnums.EnumNormalCmd.Call: //if (item.i_Result == 1) //{ // sb.Append(string.Format("{0}拨打{1}成功", dispatchName, item.DispatchedNumbers)); //} //else //{ // sb.Append(string.Format("{0}拨打{1}失败", dispatchName, item.DispatchedNumbers)); //} dgvCalled.Rows.Insert(0,memerbName, item.DispatchedNumbers, item.dt_DateTime); break; case PublicEnums.EnumNormalCmd.SelectAnser: if (item.i_Result == 1) { //sb.Append(string.Format("{0}接听{1}成功", dispatchName, item.DispatchedNumbers)); dgvDoneCall.Rows.Insert(0, memerbName, item.DispatchedNumbers, item.dt_DateTime); } else { // sb.Append(string.Format("{0}接听{1}失败", dispatchName, item.DispatchedNumbers)); dgvNoDoneCall.Rows.Insert(0, memerbName, item.DispatchedNumbers, item.dt_DateTime); } break; case PublicEnums.EnumNormalCmd.SelectLemcAnser: if (item.i_Result == 1) { dgvDoneCall.Rows.Insert(0, memerbName, item.DispatchedNumbers, item.dt_DateTime); //sb.Append(string.Format("{0}接听紧急{1}成功", dispatchName, item.DispatchedNumbers)); } else { // sb.Append(string.Format("{0}接听紧急{1}失败", dispatchName, item.DispatchedNumbers)); dgvNoDoneCall.Rows.Insert(0, memerbName, item.DispatchedNumbers, item.dt_DateTime); } break; default: break; } if (sb.Length > 0) { // logTalk.AddMsgNoDateTime(sb.ToString(), item.dt_DateTime.Value); } } if (dgvCalled.Rows.Count>0) { dgvCalled.CurrentCell = dgvCalled.Rows[0].Cells[0]; } if (dgvNoDoneCall.Rows.Count > 0) { dgvNoDoneCall.CurrentCell = dgvNoDoneCall.Rows[0].Cells[0]; } if (dgvDoneCall.Rows.Count > 0) { dgvDoneCall.CurrentCell = dgvDoneCall.Rows[0].Cells[0]; } }
/// <summary> /// 得到调度记录 /// </summary> /// <param name="action"></param> /// <param name="dispathcNumber"></param> /// <param name="dispatchedNumbers"></param> /// <returns></returns> public static DB_Talk.Model.Data_DispatchLog GetDispatchLog(CommControl.PublicEnums.EnumNormalCmd action, long dispathcNumber) { try { List<DB_Talk.Model.Data_DispatchLog> lst = new DB_Talk.BLL.Data_DispatchLog().GetModelList( string.Format("DispatchNumber={0} and DispatchTypeID='{1}' and i_State=0 order by dt_datetime desc", dispathcNumber, action.GetHashCode())); bool b = false; if (lst.Count > 0) { return lst[0]; } } catch (Exception) { } return null; }