コード例 #1
0
        //合格型导出
        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());
        }
コード例 #2
0
        //合格型导出
        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());
        }