using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Telerik.Web.UI; namespace VRS.Management { public partial class UnitManage : BaseListPage { DataService.BLL.admin_user bll = new DataService.BLL.admin_user(); DataService.BLL.admin_log log = new DataService.BLL.admin_log(); DataService.BLL.admin_user bll_user = new DataService.BLL.admin_user(); DataService.BLL.admin_unit bll_unit = new DataService.BLL.admin_unit(); protected override void Page_Load(object sender, EventArgs e) { base.Page_Load(sender, e); if (!IsPostBack) { /* var user = DataService.BLL.admin_user.load_login(); var userModel = bll_user.GetModel(user.user_id); if (!bll_user.IsAdministrator(userModel)) { HttpContext.Current.Response.Cookies["admin_user_token"].Expires = DateTime.Now.AddMinutes(-1); Response.Redirect("~/Login.aspx"); } */ //excel.HRef = "~/Upload/Excel/教员管理模板.xls"; excel.HRef = "~/Upload/Excel/用户管理模板.xls"; //BindDepName(cbxDepName); // //BindDeviceType("sign_dep", ddlDep, ""); var user = DataService.BLL.admin_user.load_login(); var userModel = bll.GetModel(user.user_id); if (bll.IsAdministrator(userModel)) { tr_city.Visible = true; BindProvince(ddp_province, ""); } else { tr_city.Visible = false; } DataLoad(); } } protected void ddp_province_SelectedIndexChanged(object sender, Telerik.Web.UI.DropDownListEventArgs e) { BindCity(ddp_city, ddp_province.SelectedValue, ""); //ddp_unit.SelectedIndex = 0; //ddp_unit.Items.Clear(); DataLoad(); } protected void ddp_city_SelectedIndexChanged(object sender, Telerik.Web.UI.DropDownListEventArgs e) { //BindUnit(ddp_unit, ddp_city.SelectedValue, ""); DataLoad(); } protected override void DataLoad() { //StringBuilder query = new StringBuilder(" 1 = 1 and id_card!='admin' "); // 过滤总管理员 var query = new StringBuilder(" 1 = 1 "); if (!string.IsNullOrWhiteSpace(unit_name.Text.Trim())) { query.AppendFormat(" AND unit_name LIKE '%{0}%' ", unit_name.Text.Trim()); } var user_login = DataService.BLL.admin_user.load_login(); var userModel = bll_user.GetModel(user_login.user_id); if (bll.IsAdministrator(userModel)) { if (!string.IsNullOrWhiteSpace(ddp_province.SelectedValue)) { query.AppendFormat(" AND province_id = '{0}' ", ddp_province.SelectedValue); } if (!string.IsNullOrWhiteSpace(ddp_city.SelectedValue)) { query.AppendFormat(" AND city_id = '{0}' ", ddp_city.SelectedValue); } } else //老师只能看到自己的学生 { /* query.AppendFormat(" AND province_id = '{0}' ", userModel.province_id); query.AppendFormat(" AND city_id = '{0}' ", userModel.city_id); */ } if (!string.IsNullOrWhiteSpace(unit_addr.Text.Trim())) { query.AppendFormat(" AND unit_addr LIKE '%{0}%' ", unit_addr.Text.Trim()); } var data = bll_unit.GetModelList(query.ToString()); /* var list_result = new List(); foreach (var user in data) { if (!bll.IsAdministrator(user)) { user.IsAdministrator = false; if (!string.IsNullOrEmpty(user.unit_id) && string.IsNullOrEmpty(user.unit_name)) { var unit = bll_unit.GetModel(user.unit_id); if (null != unit) { user.unit_name = unit.unit_name; user.province = unit.province; user.city = unit.city; } } list_result.Add(user); } else { user.IsAdministrator = true; //list_result.Add(user); } } dataList.DataSource = list_result; */ dataList.DataSource = data; dataList.Rebind(); } protected override void GridList_PageIndexChanged(object sender, GridPageChangedEventArgs e) { DataLoad(); } protected override void GridList_PageSizeChanged(object sender, GridPageSizeChangedEventArgs e) { DataLoad(); } protected override void GridList_SortCommand(object sender, GridSortCommandEventArgs e) { DataLoad(); } protected override void GrdList_DeleteCommand(object sender, GridCommandEventArgs e) { string Id = (e.Item as GridDataItem).OwnerTableView.DataKeyValues[e.Item.ItemIndex]["Id"].ToString(); if (Id.Equals("admin")) { RadAjaxManager1.Alert("admin账户无法删除!"); return; } bll.Delete(Id); DataLoad(); } protected override void AjaxManager_AjaxRequest(object sender, AjaxRequestEventArgs e) { } protected void btnSelect_Click(object sender, EventArgs e) { DataLoad(); } protected void btnDelete_Click(object sender, EventArgs e) { var model = bll_unit.GetModel(IdInput.Value); if (bll_unit.Delete(IdInput.Value)) { log.write_log("删除成功。" + "单位名称:" + model.unit_name + ",ID:" + IdInput.Value); DataLoad(); } } /// /// 导出excel /// /// /// protected void btnExportALL_Click(object sender, EventArgs e) { var list = dataList.SelectedItems.Count; List list_result = new List(); foreach (var obj in dataList.SelectedItems) { GridDataItem item = obj as GridDataItem; var result_id = item.GetDataKeyValue("user_id").ToString(); var model = bll.GetModel(result_id); if (null != model) { list_result.Add(model); } } int count = list_result.Count; string filePath = Server.MapPath("~/Download/"); if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } string fileName = string.Format("{0}.xls", "用户管理_" + DateTime.Now.ToString("yyyyMMddHHmmss")); filePath = filePath + fileName; StringBuilder query = new StringBuilder(" 1 = 1 and login_name!='admin' "); /* if (!string.IsNullOrWhiteSpace(login_name.Text.Trim())) { query.AppendFormat(" AND login_name LIKE '%{0}%' ", login_name.Text.Trim()); } */ /* if (!string.IsNullOrWhiteSpace(real_name.Text.Trim())) { query.AppendFormat(" AND real_name LIKE '%{0}%' ", real_name.Text.Trim()); } */ DataTable source; var data = bll.GetList(query.ToString()); source = data.Tables[0]; //学号 姓名 性别 身份证号 出生日期 专业 年级 手机号码 备注 var table = new DataTable(); //table.Columns.Add("账号"); table.Columns.Add("部门"); table.Columns.Add("姓名"); table.Columns.Add("性别"); table.Columns.Add("身份证号"); //table.Columns.Add("出生日期"); //table.Columns.Add("专业"); //table.Columns.Add("年级"); //table.Columns.Add("手机号码"); //table.Columns.Add("备注"); for (var i = 0; i < source.Rows.Count; i++) { var row = table.NewRow(); var res = source.Rows[i]; //row["账号"] = res["login_name"]; row["部门"] = res["dep_name"]; row["姓名"] = res["real_name"]; row["性别"] = res["sex"]; row["身份证号"] = res["id_card"]; /* var dtBirth = DateTime.Now; if (DateTime.TryParse(res["birth_date"].ToString(), out dtBirth)) { row["出生日期"] = dtBirth.ToString("yyyy-MM-dd"); } */ //row["专业"] = res["major"]; //row["年级"] = res["grade"]; //row["手机号码"] = res["mobile"]; // row["备注"] = res["r1"]; table.Rows.Add(row); } VRS.Util.Import.DateTableToExcel(table, filePath); FileInfo fileInfo = new FileInfo(filePath); Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName); Response.AddHeader("Content-Length", fileInfo.Length.ToString()); Response.AddHeader("Content-Transfer-Encoding", "binary"); Response.ContentType = "application/octet-stream"; Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312"); Response.WriteFile(fileInfo.FullName); Response.Flush(); Response.End(); } /// /// 导出excel /// /// /// protected void btnExport_Click(object sender, EventArgs e) { var list = dataList.SelectedItems.Count; List list_result = new List(); foreach (var obj in dataList.SelectedItems) { GridDataItem item = obj as GridDataItem; var result_id = item.GetDataKeyValue("unit_id").ToString(); var model = bll_unit.GetModel(result_id); if (null != model) { list_result.Add(model); } } int count = list_result.Count; if (count <= 0) { return; } string filePath = Server.MapPath("~/Download/"); if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } string fileName = string.Format("{0}.xls", "单位列表_" + DateTime.Now.ToString("yyyyMMddHHmmss")); filePath = filePath + fileName; //学号 姓名 性别 身份证号 出生日期 专业 年级 手机号码 备注 var table = new DataTable(); table.Columns.Add("省"); table.Columns.Add("市"); table.Columns.Add("单位名称"); table.Columns.Add("单位地址"); table.Columns.Add("法人"); for (var i = 0; i < list_result.Count; i++) { var item = list_result[i]; var row = table.NewRow(); //row["账号"] = res["login_name"]; row["省"] = item.province; row["市"] = item.city; row["单位名称"] = item.unit_name; row["单位地址"] = item.unit_addr; row["法人"] = item.legal_person; table.Rows.Add(row); } VRS.Util.Import.DateTableToExcel(table, filePath); FileInfo fileInfo = new FileInfo(filePath); Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName); Response.AddHeader("Content-Length", fileInfo.Length.ToString()); Response.AddHeader("Content-Transfer-Encoding", "binary"); Response.ContentType = "application/octet-stream"; Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312"); Response.WriteFile(fileInfo.FullName); Response.Flush(); Response.End(); } } }