160 lines
5.2 KiB
C#
160 lines
5.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
using System.Data;
|
|
using System.IO;
|
|
using Telerik.Web.UI;
|
|
using System.Text;
|
|
|
|
namespace VRS.Management.VSAT
|
|
{
|
|
//成绩通过率
|
|
public partial class ResultPass : BaseListPage
|
|
{
|
|
DataService.BLL.pro_result bll = new DataService.BLL.pro_result();
|
|
|
|
protected override void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (!IsPostBack)
|
|
{
|
|
BindResultSubject(dp_subject_name, "");
|
|
DataLoad();
|
|
}
|
|
}
|
|
|
|
protected override void DataLoad()
|
|
{
|
|
var data = getDataSet();
|
|
dataList.DataSource = data;
|
|
dataList.Rebind();
|
|
}
|
|
|
|
public DataSet getDataSet()
|
|
{
|
|
var start_date = start.SelectedDate.HasValue ? start.SelectedDate.Value.ToString("yyyy-MM-dd") : "";
|
|
var end_date = end.SelectedDate.HasValue ? end.SelectedDate.Value.ToString("yyyy-MM-dd") : "";
|
|
if (!string.IsNullOrEmpty(end_date))
|
|
{
|
|
end_date = DateTime.Parse(end_date).AddDays(1).ToString("yyyy-MM-dd");
|
|
}
|
|
var query = new StringBuilder(" 1 = 1 ");
|
|
if (!string.IsNullOrWhiteSpace(start_date))
|
|
{
|
|
query.AppendFormat(" AND examine_time >= '{0}' ", start_date);
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(end_date))
|
|
{
|
|
query.AppendFormat(" AND examine_time < '{0}' ", end_date);
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(dp_subject_name.SelectedValue))
|
|
{
|
|
query.AppendFormat(" AND subject_name = '{0}' ", dp_subject_name.SelectedValue);
|
|
}
|
|
|
|
var data = bll.GetPassRate(query.ToString());
|
|
return data;
|
|
}
|
|
|
|
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();
|
|
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)
|
|
{
|
|
bll.Delete(IdInput.Value);
|
|
|
|
DataLoad();
|
|
}
|
|
|
|
public void getvalue()
|
|
{
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 导出excel
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnExport_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
var data = getDataSet().Tables[0];
|
|
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 < data.Rows.Count; i++)
|
|
{
|
|
var item = data.Rows[i];
|
|
var row = table.NewRow();
|
|
row["科目名称"] = item["subject_name"].ToString();
|
|
row["总人数"] = item["total"].ToString();
|
|
row["及格人数"] = item["pass"].ToString();
|
|
row["不及格人数"] = item["fail"].ToString();
|
|
var pass_rate = decimal.Parse(item["pass_rate"].ToString());
|
|
var rate = Math.Round(pass_rate * 100, 2).ToString();
|
|
row["及格率"] = rate + "%";
|
|
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();
|
|
|
|
}
|
|
}
|
|
} |