CNCEC_SUBQHSE_WUHUAN/SGGL/FineUIPro.Web/TestRun/DriverSchemeChart.aspx.cs

128 lines
5.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using BLL;
namespace FineUIPro.Web.TestRun
{
public partial class DriverSchemeChart : PageBase
{
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
}
#endregion
#region
/// <summary>
/// 统计分析
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void BtnAnalyse_Click(object sender, EventArgs e)
{
this.AnalyseData();
}
/// <summary>
/// 统计方法
/// </summary>
private void AnalyseData()
{
var forms = from x in Funs.DB.Solution_TestRunConstructSolution
where x.ProjectId == this.CurrUser.LoginProjectId
select x;
if (!string.IsNullOrEmpty(this.txtStartTime.Text.Trim()))
{
forms = forms.Where(x => x.CompileDate >= Funs.GetNewDateTime(this.txtStartTime.Text.Trim()));
}
if (!string.IsNullOrEmpty(this.txtEndTime.Text.Trim()))
{
forms = forms.Where(x => x.CompileDate <= Funs.GetNewDateTime(this.txtEndTime.Text.Trim()));
}
#region
if (this.drpChartType.SelectedValue != "Pie") //非饼形图
{
DataTable dtTime = new DataTable();
dtTime.Columns.Add("状态", typeof(string));
dtTime.Columns.Add("数量", typeof(string));
DataRow rowTime1 = dtTime.NewRow();
rowTime1["状态"] = "编制";
rowTime1["数量"] = forms.Where(x => x.State == Const.TestRunConstructSolution_Compile).Count();
dtTime.Rows.Add(rowTime1);
DataRow rowTime2 = dtTime.NewRow();
rowTime2["状态"] = "审核";
rowTime2["数量"] = forms.Where(x => x.State == Const.TestRunConstructSolution_Audit).Count();
dtTime.Rows.Add(rowTime2);
DataRow rowTime3 = dtTime.NewRow();
rowTime3["状态"] = "审批";
rowTime3["数量"] = forms.Where(x => x.State == Const.TestRunConstructSolution_Audit2).Count();
dtTime.Rows.Add(rowTime3);
DataRow rowTime4 = dtTime.NewRow();
rowTime4["状态"] = "发布";
rowTime4["数量"] = forms.Where(x => x.State == Const.TestRunConstructSolution_Complete).Count();
dtTime.Rows.Add(rowTime4);
DataRow rowTime5 = dtTime.NewRow();
rowTime5["状态"] = "重报";
rowTime5["数量"] = forms.Where(x => x.State == Const.TestRunConstructSolution_ReCompile).Count();
dtTime.Rows.Add(rowTime5);
this.ChartAccidentTime.CreateChart(BLL.ChartControlService.GetDataSourceChart(dtTime, "试车方案统计", this.drpChartType.SelectedValue, 1300, 550, this.ckbShow.Checked));
}
else //饼形图
{
DataTable dtTime = new DataTable();
dtTime.Columns.Add("状态", typeof(string));
dtTime.Columns.Add("数量", typeof(string));
DataRow rowTime1 = dtTime.NewRow();
rowTime1["状态"] = "编制";
rowTime1["数量"] = forms.Where(x => x.State == Const.TestRunConstructSolution_Compile).Count();
dtTime.Rows.Add(rowTime1);
DataRow rowTime2 = dtTime.NewRow();
rowTime2["状态"] = "审核";
rowTime2["数量"] = forms.Where(x => x.State == Const.TestRunConstructSolution_Audit).Count();
dtTime.Rows.Add(rowTime2);
DataRow rowTime3 = dtTime.NewRow();
rowTime3["状态"] = "审批";
rowTime3["数量"] = forms.Where(x => x.State == Const.TestRunConstructSolution_Audit2).Count();
dtTime.Rows.Add(rowTime3);
DataRow rowTime4 = dtTime.NewRow();
rowTime4["状态"] = "发布";
rowTime4["数量"] = forms.Where(x => x.State == Const.TestRunConstructSolution_Complete).Count();
dtTime.Rows.Add(rowTime4);
DataRow rowTime5 = dtTime.NewRow();
rowTime5["状态"] = "重报";
rowTime5["数量"] = forms.Where(x => x.State == Const.TestRunConstructSolution_ReCompile).Count();
dtTime.Rows.Add(rowTime5);
this.ChartAccidentTime.CreateChart(BLL.ChartControlService.GetDataSourceChart(dtTime, "试车方案统计", this.drpChartType.SelectedValue, 1300, 550, this.ckbShow.Checked));
}
#endregion
}
#endregion
#region
/// <summary>
/// 图形变换
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void drpChartType_SelectedIndexChanged(object sender, EventArgs e)
{
this.AnalyseData();
}
protected void ckbShow_CheckedChanged(object sender, CheckedEventArgs e)
{
this.AnalyseData();
}
#endregion
}
}