1 public void ProcessRequest(HttpContext context)
2 {
3 string dpid = context.Request.QueryString["DpID"];
4 StringBuilder users_xml = new StringBuilder();
5 users_xml.Append("<?xml version=\"1.0\" encoding=\"utf-8\" ?>");
6 users_xml.Append("<users>");
7 users_xml.Append(BuildTreeXML(dpid));
8 users_xml.Append("</users>");
9 context.Response.ContentType = "text/xml";
10 context.Response.Write(users_xml.ToString());
11 }
12
13 private string BuildTreeXML(string dpid)
14 {
15 StringBuilder users_xml = new StringBuilder();
16
17 //获取部门及其子部门(室、厅)
18 string sql = "select dpid from _department where dpcode like '%" + dpid + "%' and status = 'A' and isshow=1";
19 DbCommand dbCommand = IDE.DB.GetSqlStringCommand(sql);
20 DataSet ds = IDE.DB.ExecuteDataSet(dbCommand);
21 string dpids = "'";
22 for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
23 {
24 dpids += ds.Tables[0].Rows[i]["dpid"].ToString().Trim() + "','";
25 }
26
27 dpids = dpids.Substring(0, dpids.Length - 2);
28
29 //获取该部门的成员
30 sql = "select userid,username from _user where dpid in (" + dpids + ") and status = 'A' and isshow=1 order by username";
31 dbCommand = IDE.DB.GetSqlStringCommand(sql);
32 ds = IDE.DB.ExecuteDataSet(dbCommand);
33
34 string userid = "";
35 string username = "";
36
37 for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
38 {
39 userid = ds.Tables[0].Rows[i]["userid"].ToString().Trim();
40 username = ds.Tables[0].Rows[i]["username"].ToString().Trim();
41
42 users_xml.Append(string.Format("<user userid=\"{0}\" username=\"{1}\" />", userid, username));
43 }
44
45 return users_xml.ToString();
46 }