128 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			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
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |