public static string GetStatsClassHW_KP(string Class, string ResourceToResourceFolder_Id, string UserId, string KPName, string KPScoreAvgRate)
        {
            try
            {
                Class = Class.Filter();
                ResourceToResourceFolder_Id = ResourceToResourceFolder_Id.Filter();
                UserId         = UserId.Filter();
                KPName         = KPName.Filter();
                KPScoreAvgRate = KPScoreAvgRate.Filter();
                string TempDate  = string.Empty;
                string StrWhere  = string.Empty;
                string ClassName = string.Empty;
                if (!string.IsNullOrEmpty(KPName))
                {
                    StrWhere += " and KPName like '%" + KPName.TrimEnd() + "%'";
                }
                if (!string.IsNullOrEmpty(KPScoreAvgRate))
                {
                    StrWhere += " and KPScoreAvgRate<" + KPScoreAvgRate.TrimEnd() + "";
                }
                // string Temp = "<tr><td>数列的极限</td><td>20</td><td>90%</td><td><a href="##">第1题</a><a href="##">第3题</a></td></tr>";
                string Temp            = "<tr><td>{0}</td><td>{1}</td><td>{2}%</td><td>{3}</td><td><a href='{4}' target='_blank'>查看</a></td></tr>";
                string KPNames         = string.Empty;
                string KPScoreAvgRates = string.Empty;
                //name: '一班',data: [83, 78, 98, 93, 56, 84, 65, 104, 91, 83]
                DataTable dtTQ_S = new BLL_TestQuestions_Score().GetList("ResourceToResourceFolder_Id='" + ResourceToResourceFolder_Id + "' order by TestQuestions_Num,TestQuestions_OrderNum ").Tables[0];

                if (Class == "-1")
                {
                    HttpContext.Current.Session["StatsClassClassId"] = "-1";
                    BLL_StatsTeacherHW_KP          bllTeacherHW_KP  = new BLL_StatsTeacherHW_KP();
                    List <Model_StatsTeacherHW_KP> TeacherHW_KPList = new List <Model_StatsTeacherHW_KP>();

                    TeacherHW_KPList = bllTeacherHW_KP.GetModelList("TeacherID='" + UserId + "' and ResourceToResourceFolder_Id='" + ResourceToResourceFolder_Id + "'" + StrWhere + " order by TestQuestionNums  ");
                    foreach (var item in TeacherHW_KPList)
                    {
                        TempDate += string.Format(Temp
                                                  , item.KPName
                                                  , item.KPScoreSum.ToString().clearLastZero()
                                                  , item.KPScoreAvgRate.ToString().clearLastZero()
                                                  , GetTQNum(dtTQ_S, item.KPName, item.ResourceToResourceFolder_Id, item.TestQuestionNumStrs, item.TestQuestionNums)
                                                  , "HisKlgAnalysisSource.aspx?SubjectID=" + item.SubjectID + "&ClassID=&KPName=" + Rc.Common.DBUtility.DESEncrypt.Encrypt(item.KPName.ToString()) + "&DateData=&DateType=month&TeacherId=" + item.TeacherID
                                                  );
                        KPScoreAvgRates += item.KPScoreAvgRate.ToString().clearLastZero() + ",";
                        KPNames         += item.KPName + ",";
                    }
                    if (TempDate == "")
                    {
                        return("");
                    }
                    else
                    {
                        return(TempDate + "|全部班级|" + KPScoreAvgRates.TrimEnd(',') + "|" + KPNames.TrimEnd(','));
                    }
                }
                else
                {
                    HttpContext.Current.Session["StatsClassClassId"] = Class;
                    BLL_StatsClassHW_KP          bllClassHW_KP  = new BLL_StatsClassHW_KP();
                    List <Model_StatsClassHW_KP> ClassHW_KPList = new List <Model_StatsClassHW_KP>();
                    ClassHW_KPList = bllClassHW_KP.GetModelList("ClassID='" + Class + "' and ResourceToResourceFolder_Id='" + ResourceToResourceFolder_Id + "' " + StrWhere + " order by TestQuestionNums ");
                    foreach (var item in ClassHW_KPList)
                    {
                        TempDate += string.Format(Temp
                                                  , item.KPName
                                                  , item.KPScoreSum.ToString().clearLastZero()
                                                  , item.KPScoreAvgRate.ToString().clearLastZero()
                                                  , GetTQNum(dtTQ_S, item.KPName, item.ResourceToResourceFolder_Id, item.TestQuestionNumStrs, item.TestQuestionNums)
                                                  , "HisKlgAnalysisSource.aspx?SubjectID=" + item.SubjectID + "&ClassID=" + item.ClassID + "&KPName=" + Rc.Common.DBUtility.DESEncrypt.Encrypt(item.KPName.ToString()) + "&DateData=" + pfunction.ConvertToLongDateTime(item.HomeWorkCreateTime.ToString(), "yyyy-MM") + "&DateType=month&TeacherId=" + item.TeacherID
                                                  );
                        KPScoreAvgRates += item.KPScoreAvgRate.ToString().clearLastZero() + ",";
                        KPNames         += item.KPName + ",";
                        ClassName        = item.ClassName;
                    }
                    if (TempDate == "")
                    {
                        return("");
                    }
                    else
                    {
                        return(TempDate + "|" + ClassName + "|" + KPScoreAvgRates.TrimEnd(',') + "|" + KPNames.TrimEnd(','));
                    }
                }
            }
            catch (Exception)
            {
                return("");
            }
        }
        public static string GetHWList(string TeacherID, string SubjectID, string ClassID, string KPName, string DateData, string DateType)
        {
            try
            {
                TeacherID = TeacherID.Filter();
                SubjectID = SubjectID.Filter();
                ClassID   = ClassID.Filter();
                KPName    = KPName = Rc.Common.DBUtility.DESEncrypt.Decrypt(KPName);
                DateData  = DateData.Filter();
                DateType  = DateType.Filter();
                string strWhere = "TeacherID ='" + TeacherID + "'";
                if (!string.IsNullOrEmpty(SubjectID))
                {
                    strWhere += " AND SubjectID ='" + SubjectID + "'";
                }
                if (!string.IsNullOrEmpty(ClassID))
                {
                    strWhere += " AND ClassID ='" + ClassID + "'";
                }
                if (!string.IsNullOrEmpty(KPName))
                {
                    strWhere += " AND KPName ='" + KPName + "'";
                }
                if (!string.IsNullOrEmpty(DateData))
                {
                    switch (DateType)
                    {
                    case "month":
                        strWhere += " AND CONVERT(varchar(7),HomeWorkCreateTime,120)='" + DateData + "'";
                        break;

                    case "halfyear":
                        strWhere += " AND dbo.[f_GetDatePartHalfYear](CONVERT(varchar(10),HomeWorkCreateTime,120))='" + DateData + "'";
                        break;

                    case "quarter":
                        strWhere += " AND dbo.[f_GetDatePartQuarter](CONVERT(varchar(10),HomeWorkCreateTime,120))='" + DateData + "'";
                        break;
                    }
                }
                DataTable dt = new DataTable();
                if (string.IsNullOrEmpty(ClassID))//从老师表读取数据
                {
                    dt = new BLL_StatsTeacherHW_KP().GetList(strWhere + " ORDER BY Resource_Name DESC").Tables[0];
                }
                else
                {
                    dt = new BLL_StatsClassHW_KP().GetList(strWhere + " ORDER BY HomeWorkCreateTime DESC").Tables[0];
                }
                List <object> listReturn = new List <object>();
                int           inum       = 1;
                string        temp       = string.Empty;
                string        strxAxis   = string.Empty;
                string        strSeries  = string.Empty;
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DataTable dtTQ_S = new BLL_TestQuestions_Score().GetList("ResourceToResourceFolder_Id='" + dt.Rows[i]["ResourceToResourceFolder_Id"] + "' and ContentText='" + KPName + "' order by TestQuestions_Num,TestQuestions_OrderNum ").Tables[0];

                    string TQNums    = string.Empty;
                    string TQStr     = dt.Rows[i]["TestQuestionNumStrs"].ToString();
                    string TQNumsStr = dt.Rows[i]["TestQuestionNums"].ToString();
                    if (!string.IsNullOrEmpty(TQStr))
                    {
                        string[] strArr    = TQStr.Split(',');
                        string[] strNumArr = TQNumsStr.Split(',');
                        for (int j = 0; j < strArr.Length; j++)
                        {
                            string testIndex = string.Empty;
                            if (dtTQ_S.Rows.Count > 0 && (dtTQ_S.Rows[j]["TestType"].ToString() == "clozeTest" || dtTQ_S.Rows[j]["TestType"].ToString() == "fill"))
                            {
                                testIndex = string.IsNullOrEmpty(dtTQ_S.Rows[j]["testIndex"].ToString()) ? "" : "-" + dtTQ_S.Rows[j]["testIndex"].ToString();
                            }
                            TQNums += string.Format("<a href='../teacher/HomeworkPreviewT.aspx?ResourceToResourceFolder_Id={0}#{2}' target=\"_blank\">第{1}题", dt.Rows[i]["ResourceToResourceFolder_Id"].ToString()
                                                    , strArr[j].TrimEnd('.') + testIndex
                                                    , strNumArr[j].TrimEnd('.'));
                        }
                    }
                    strxAxis  += ((!string.IsNullOrEmpty(dt.Rows[i]["Resource_Name"].ToString())) ? dt.Rows[i]["Resource_Name"].ToString().ReplaceForFilter() : "-") + ",";
                    strSeries += dt.Rows[i]["KPScoreAvgRate"].ToString() + ",";
                    listReturn.Add(new
                    {
                        HomeWork_Name      = dt.Rows[i]["Resource_Name"].ToString().ReplaceForFilter(),
                        HomeWorkCreateTime = string.IsNullOrEmpty(ClassID) ? pfunction.ConvertToLongDateTime(dt.Rows[i]["CreateTime"].ToString(), "yyyy-MM-dd HH:mm") : pfunction.ConvertToLongDateTime(dt.Rows[i]["HomeWorkCreateTime"].ToString(), "yyyy-MM-dd HH:mm"),
                        KPScoreSum         = dt.Rows[i]["KPScoreSum"].ToString().clearLastZero(),
                        KPScoreAvgRate     = (!string.IsNullOrEmpty(dt.Rows[i]["KPScoreAvgRate"].ToString())) ? dt.Rows[i]["KPScoreAvgRate"].ToString().clearLastZero() + "%" : "-",
                        TestQuestionNums   = TQNums,
                        ClassID            = string.IsNullOrEmpty(ClassID) ? "" : ClassID
                    });
                    inum++;
                }
                if (inum > 1)
                {
                    return(JsonConvert.SerializeObject(new
                    {
                        err = "null",
                        list = listReturn,
                        strxAxisCategories = strxAxis.TrimEnd(','),
                        strSeriesData = strSeries.TrimEnd(','),
                        DataCount = dt.Rows.Count
                    }));
                }
                else
                {
                    return(JsonConvert.SerializeObject(new
                    {
                        err = "暂无数据"
                    }));
                }
            }
            catch (Exception ex)
            {
                return(JsonConvert.SerializeObject(new
                {
                    err = ex.Message.ToString()
                }));
            }
        }