//合格型导出 private string ExportByQualifiedType(int qs_rtid) { #region 表头 //需要导出的table StringBuilder sbTableStr = new StringBuilder(); int apprisalCount = 0;//质检评价数 sbTableStr.Append("<table style='BORDER-COLLAPSE: collapse' borderColor=#000000 height=40 cellPadding=1 align=center border=1>"); sbTableStr.Append("<tr>"); string[] columnStr = "对话时间,评分时间,姓名,对话ID,消息次数,所属分组,工单ID,是否合格,致命错误数,非致命错误数".Split(','); for (int i = 0; i < columnStr.Length; i++) { //前面基础信息列 sbTableStr.Append("<td style='background-color:Orange'>" + columnStr[i] + "</td>"); } Entities.QueryQS_Result query_result = new Entities.QueryQS_Result(); query_result.QS_RTID = qs_rtid; DataTable dt_Standard = BLL.QS_Result.Instance.GetStandardByQualifiedType(query_result); DataRow[] dr_Dead = dt_Standard.Select("IsIsDead=1"); //致命项 放在一起 for (int i = 0; i < dr_Dead.Length; i++) { //致命项列 sbTableStr.Append("<td style='background-color:Yellow'>" + dr_Dead[i]["ScoringStandardName"].ToString() + "</td>"); } DataRow[] dr_NoDead = dt_Standard.Select("IsIsDead=0");//非致命项 放在一起 for (int i = 0; i < dr_NoDead.Length; i++) { //非致命项列 sbTableStr.Append("<td style='background-color:Green'>" + dr_NoDead[i]["ScoringStandardName"].ToString() + "</td>"); } //质检评价 if (dt_Standard.Rows.Count > 0) { if (dt_Standard.Rows[0]["HaveQAppraisal"].ToString() == "1") { sbTableStr.Append("<td style='background-color:Gray'>质检评价</td>"); apprisalCount = 1; } } sbTableStr.Append("</tr>"); #endregion #region 输出统计结果 DataTable dt_BaseInfo = GetResult(); DataTable dt_ResultDetail = GetQuaResultDetail(qs_rtid); //根据质检成绩表ID循环得到答案 for (int i = 0; i < dt_BaseInfo.Rows.Count; i++) { sbTableStr.Append("<tr>"); //对话时间 string BeginTime = string.Empty; DateTime dtime; if (DateTime.TryParse(dt_BaseInfo.Rows[i]["BeginTime"].ToString(), out dtime)) { BeginTime = dtime.ToString("yyyy-MM-dd HH:mm:ss"); } //评分时间 string CreateTime = string.Empty; if (DateTime.TryParse(dt_BaseInfo.Rows[i]["Result_CreateTime"].ToString(), out dtime)) { CreateTime = dtime.ToString("yyyy-MM-dd HH:mm:ss"); } //坐席 string TrueName = dt_BaseInfo.Rows[i]["AgentUserName"].ToString(); //会话ID string CSID = dt_BaseInfo.Rows[i]["CSID"].ToString(); //消息次数 string Count = dt_BaseInfo.Rows[i]["Count"].ToString(); //所属分组 string GroupName = dt_BaseInfo.Rows[i]["BGName"].ToString(); //工单ID string OrderID = dt_BaseInfo.Rows[i]["OrderID"].ToString(); //是否合格 string IsQualifiedStr = ""; if (dt_BaseInfo.Rows[i]["IsQualified"].ToString() == "1") { IsQualifiedStr = "合格"; } else if (dt_BaseInfo.Rows[i]["IsQualified"].ToString() == "-1") { IsQualifiedStr = "不合格"; } //致命项 string DeadNum = nums[0].ToString(); //非致命项 string NotDeadNum = nums[1].ToString(); sbTableStr.Append("<td style='vnd.ms-excel.numberformat:@'>" + BeginTime + "</td><td style='vnd.ms-excel.numberformat:@'>" + CreateTime + "</td>" + "<td>" + TrueName + "</td>" + "<td style='vnd.ms-excel.numberformat:@'>" + CSID + "</td>" + "<td>" + Count + "</td>" + "<td>" + GroupName + "</td>" + "<td>" + OrderID + "</td>" + "<td>" + IsQualifiedStr + "</td>" + "<td>" + DeadNum + "</td>" + "<td>" + NotDeadNum + "</td>"); string answer = string.Empty; string base_QSRID = dt_BaseInfo.Rows[i]["QS_RID"].ToString().Trim(); for (int k = 0; k < dr_Dead.Length; k++) { DataRow[] dr_standard = null; if (dt_ResultDetail.Rows.Count > 0 && base_QSRID != "") { //评分详细信息 dr_standard = dt_ResultDetail.Select("QS_RID=" + base_QSRID + " and QS_CID=" + dr_Dead[k]["QS_CID"].ToString() + " and QS_IID=" + dr_Dead[k]["QS_IID"].ToString() + " and QS_SID=" + dr_Dead[k]["QS_SID"].ToString()); } if (dr_standard != null && dr_standard.Length > 0) { //如果为-2,则是更新过的,否则肯定是有值 sbTableStr.Append("<td>" + (dr_standard[0]["QS_MID_End"].ToString() != "-2" ? "1" : string.Empty) + "</td>"); } else { sbTableStr.Append("<td></td>"); } } for (int k = 0; k < dr_NoDead.Length; k++) { DataRow[] dr_standard = null; if (dt_ResultDetail.Rows.Count > 0 && base_QSRID != "") { //评分详细信息 dr_standard = dt_ResultDetail.Select("QS_RID=" + base_QSRID + " and QS_CID=" + dr_NoDead[k]["QS_CID"].ToString() + " and QS_IID=" + dr_NoDead[k]["QS_IID"].ToString() + " and QS_SID=" + dr_NoDead[k]["QS_SID"].ToString()); } if (dr_standard != null && dr_standard.Length > 0) { //如果为-2,则是更新过的,否则肯定是有值 sbTableStr.Append("<td>" + (dr_standard[0]["QS_MID_End"].ToString() != "-2" ? "1" : string.Empty) + "</td>"); } else { sbTableStr.Append("<td></td>"); } } //如果有质检评价,显示出来 if (apprisalCount == 1) { sbTableStr.Append("<td>" + dt_BaseInfo.Rows[i]["QualityAppraisal"].ToString() + "</td>"); } sbTableStr.Append("</tr>"); } #endregion sbTableStr.Append("</table>"); return(sbTableStr.ToString()); }
//合格型导出 private string ExportByQualifiedType() { int _qs_rtid = int.Parse(RequestScoreTable); DataTable dt_BaseInfo = GetQuaResult(); DataTable dt_ResultDetail = GetQuaResultDetail(_qs_rtid); DataTable newDt = new DataTable(); int apprisalCount = 0;//质检评价数 //需要导出的table StringBuilder sbTableStr = new StringBuilder(); sbTableStr.Append("<table style='BORDER-COLLAPSE: collapse' borderColor=#000000 height=40 cellPadding=1 align=center border=1>"); sbTableStr.Append("<tr>"); string[] columnStr = "通话时间,评分时间,姓名,录音ID,通话时长(秒),所属分组,分类,任务ID,是否合格,致命错误数,非致命错误数".Split(','); for (int i = 0; i < columnStr.Length; i++) { //前面基础信息列 sbTableStr.Append("<td style='background-color:Orange'>" + columnStr[i] + "</td>"); } Entities.QueryQS_Result query_result = new Entities.QueryQS_Result(); query_result.QS_RTID = _qs_rtid; DataTable dt_Standard = BLL.QS_Result.Instance.GetStandardByQualifiedType(query_result); DataRow[] dr_Dead = dt_Standard.Select("IsIsDead=1");//致命项 放在一起 for (int i = 0; i < dr_Dead.Length; i++) { //致命项列 sbTableStr.Append("<td style='background-color:Yellow'>" + dr_Dead[i]["ScoringStandardName"].ToString() + "</td>"); } DataRow[] dr_NoDead = dt_Standard.Select("IsIsDead=0");//非致命项 放在一起 for (int i = 0; i < dr_NoDead.Length; i++) { //非致命项列 sbTableStr.Append("<td style='background-color:Green'>" + dr_NoDead[i]["ScoringStandardName"].ToString() + "</td>"); } //质检评价 if (dt_Standard.Rows.Count > 0) { if (dt_Standard.Rows[0]["HaveQAppraisal"].ToString() == "1") { sbTableStr.Append("<td style='background-color:Gray'>质检评价</td>"); apprisalCount = 1; } } sbTableStr.Append("</tr>"); //根据质检成绩表ID循环得到答案 for (int i = 0; i < dt_BaseInfo.Rows.Count; i++) { sbTableStr.Append("<tr>"); //基础信息 string CallTime = string.Empty; DateTime dtime; if (DateTime.TryParse(dt_BaseInfo.Rows[i]["CallTime"].ToString(), out dtime)) { CallTime = dtime.ToString("yyyy-MM-dd HH:mm:ss"); } string TrueName = dt_BaseInfo.Rows[i]["TrueName"].ToString(); string GroupName = dt_BaseInfo.Rows[i]["GroupName"].ToString(); string CategoryName = dt_BaseInfo.Rows[i]["CategoryName"].ToString(); DateTime dtCTime; string CreateTime = string.Empty; if (DateTime.TryParse(dt_BaseInfo.Rows[i]["CreateTime"].ToString(), out dtCTime)) { CreateTime = dtCTime.ToString("yyyy-MM-dd HH:mm:ss"); } string TallTime = dt_BaseInfo.Rows[i]["TallTime"].ToString(); string CallRecordID = dt_BaseInfo.Rows[i]["CallID"].ToString(); string TaskID = dt_BaseInfo.Rows[i]["BusinessID"].ToString(); string IsQualifiedStr = dt_BaseInfo.Rows[i]["IsQualifiedStr"].ToString(); string DeadNum = dt_BaseInfo.Rows[i]["DeadNum"].ToString(); string NotDeadNum = dt_BaseInfo.Rows[i]["NoDeadNum"].ToString(); sbTableStr.Append("<td style='vnd.ms-excel.numberformat:@'>" + CallTime + "</td><td style='vnd.ms-excel.numberformat:@'>" + CreateTime + "</td>" + "<td>" + TrueName + "</td>" + "<td style='vnd.ms-excel.numberformat:@'>" + CallRecordID + "</td>" + "<td>" + TallTime + "</td>" + "<td>" + GroupName + "</td>" + "<td>" + CategoryName + "</td>" + "<td>" + TaskID + "</td>" + "<td>" + IsQualifiedStr + "</td>" + "<td>" + DeadNum + "</td>" + "<td>" + NotDeadNum + "</td>"); string answer = string.Empty; string base_QSRID = dt_BaseInfo.Rows[i]["QS_RID"].ToString().Trim(); for (int k = 0; k < dr_Dead.Length; k++) { DataRow[] dr_standard = null; if (dt_ResultDetail.Rows.Count > 0 && base_QSRID != "") { //评分详细信息 dr_standard = dt_ResultDetail.Select("QS_RID=" + base_QSRID + " and QS_CID=" + dr_Dead[k]["QS_CID"].ToString() + " and QS_IID=" + dr_Dead[k]["QS_IID"].ToString() + " and QS_SID=" + dr_Dead[k]["QS_SID"].ToString()); } if (dr_standard != null && dr_standard.Length > 0) { //如果为-2,则是更新过的,否则肯定是有值 sbTableStr.Append("<td>" + (dr_standard[0]["QS_MID_End"].ToString() != "-2" ? "1" : string.Empty) + "</td>"); } else { sbTableStr.Append("<td></td>"); } } for (int k = 0; k < dr_NoDead.Length; k++) { DataRow[] dr_standard = null; if (dt_ResultDetail.Rows.Count > 0 && base_QSRID != "") { //评分详细信息 dr_standard = dt_ResultDetail.Select("QS_RID=" + base_QSRID + " and QS_CID=" + dr_NoDead[k]["QS_CID"].ToString() + " and QS_IID=" + dr_NoDead[k]["QS_IID"].ToString() + " and QS_SID=" + dr_NoDead[k]["QS_SID"].ToString()); } if (dr_standard != null && dr_standard.Length > 0) { //如果为-2,则是更新过的,否则肯定是有值 sbTableStr.Append("<td>" + (dr_standard[0]["QS_MID_End"].ToString() != "-2" ? "1" : string.Empty) + "</td>"); } else { sbTableStr.Append("<td></td>"); } } //如果有质检评价,显示出来 if (apprisalCount == 1) { sbTableStr.Append("<td>" + dt_BaseInfo.Rows[i]["QualityAppraisal"].ToString() + "</td>"); } sbTableStr.Append("</tr>"); } sbTableStr.Append("</table>"); return(sbTableStr.ToString()); }