/// <summary> /// 创建所教班级的模型xml /// </summary> /// <param name="hid"></param> /// <param name="xdoc"></param> /// <param name="savepath"></param> /// <param name="months"></param> /// <returns></returns> public static string SetAllStuName(int hid, XmlDocument xdoc, string savepath, int weeks, string xmlfile) { string result = "这是默认值:创建失败!"; XmlNode root = xdoc.SelectSingleNode("classmodel"); XmlNodeList nodeListtest = root.ChildNodes; if (nodeListtest[0].Name != "student") { root = root.SelectSingleNode("students"); } if (root != null) { XmlNodeList nodeList = root.ChildNodes; int stucount = nodeList.Count; if (stucount > 0) { BLL.Signin gbll = new BLL.Signin(); DataTable allclassstu = gbll.GetQnameQip(hid, weeks); int allclassCount = allclassstu.Rows.Count; if (allclassCount > 0) { //string teststr = ClassModeSavePath(hid.ToString()) + @"\test" + hid + "all.xml"; //allclassstu.WriteXml(teststr);//测试输出 BLL.Room bll = new BLL.Room(); DataTable dtclass = bll.GetMyGradeClass(hid); int dtcscount = dtclass.Rows.Count; result = "信息提示:有签到的任教" + dtcscount.ToString() + "个班级共" + allclassstu.Rows.Count.ToString() + "人 |"; int right = 0; int wrong = 0; int miss = 0; for (int i = 0; i < dtcscount; i++) { string rgrade = dtclass.Rows[i]["Rgrade"].ToString(); string rclass = dtclass.Rows[i]["Rclass"].ToString(); string classname = rgrade + "年级" + rclass + "班"; DataView dv = allclassstu.DefaultView; dv.RowFilter = "Qgrade=" + rgrade + " and Qclass=" + rclass; DataTable dt = dv.ToTable(); //dt.Columns.Remove("Qgrade"); //dt.Columns.Remove("Qclass");//清理掉无用字段 //string testclassstr = ClassModeSavePath(hid.ToString()) + @"\test" + rgrade + "_" + rclass +".xml"; //dt.WriteXml(testclassstr);//测试输出 int thiscount = dt.Rows.Count; if (thiscount > 0) { try { SetStuName(dt, classname, savepath, xmlfile); //创建该班级的模型 right++; result = result + rgrade + "." + rclass + "(" + thiscount.ToString() + ")"; //生成该班级模型 } catch (Exception ex) { wrong++; result = result + rgrade + "." + rclass + "(??)"; string msgtype = "班级模型" + rgrade + "." + rclass + "班模型生成出错"; LearnSite.Common.Log.Addlog(msgtype, ex.Message); } } else { miss++; result = result + rgrade + "." + rclass + "(0)"; } } result = result + "<br/><br/>创建成功" + right.ToString() + "个班级模型xml文件,失效" + miss.ToString() + "个,出错" + wrong.ToString() + "个。"; DelUpXml(xmlfile);//删除上传的xml文件 } else { result = "没有在指定时间内签到的班级学生,无法根据签到IP生成相应的班级模型!"; } } else { result = "上传的原有班级模型xml文件中学生机为0,无法创建!"; } } else { result = "上传的原有班级模型xml文件中无classmodel根节点!"; } return(result); }