StableVersion4.3/HL_FristAidPlatform_Apoplexy/Statistics/Form_AverageEntityRate.cs

162 lines
7.3 KiB
C#

using DevExpress.XtraCharts;
using DevExpress.XtraEditors;
using HL_FristAidPlatform_DTO;
using HL_FristAidPlatform_Public;
using System;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
namespace HL_FristAidPlatform_Apoplexy
{
public partial class Form_AverageEntityRate : XtraForm
{
public DateTime dt = DateTime.Now;
public Form_AverageEntityRate()
{
InitializeComponent();
}
private void Form_ThrombolysisIntracranialHemorrhageRate_Load(object sender, EventArgs e)
{
time_starTime.TimeValue = dt.Year + "-01".ToString();
time_endTime.TimeValue = dt.Year + "-12".ToString();
BindData();
}
private void BindData()
{
string startTime = "";
string endTime = "";
if (!string.IsNullOrEmpty(time_starTime.TimeValue.ToString()) && !string.IsNullOrEmpty(time_endTime.TimeValue.ToString()))
{
startTime = Convert.ToDateTime(time_starTime.TimeValue).ToString("yyyy-MM");
endTime = Convert.ToDateTime(time_endTime.TimeValue).ToString("yyyy-MM");
}
var tuple = DBHelpClass.GetList<DiseaseModelDTO>(string.Format("api/service/T_Service_Apoplexy_ThrombolysisRate/GetAverageEntityRate?startTime={0}&endTime={1}&type={2}", startTime, endTime, 1));
chartControl1.Series.Clear();
Series series = new Series("脑梗死", ViewType.Bar);
Series series1 = new Series("短暂性脑缺血发作", ViewType.Bar);
Series series2 = new Series("脑内出血", ViewType.Bar);
Series series3 = new Series("蛛网膜下腔出血", ViewType.Bar);
Series series4 = new Series("其他未能分类的卒中", ViewType.Bar);
foreach (var item in tuple)
{
if (item.age == "40岁以下")
{
series.Points.Add(new SeriesPoint(item.age, item.value1));
series1.Points.Add(new SeriesPoint(item.age, item.value2));
series2.Points.Add(new SeriesPoint(item.age, item.value3));
series3.Points.Add(new SeriesPoint(item.age, item.value4));
series4.Points.Add(new SeriesPoint(item.age, item.value5));
}
if (item.age == "40-50岁")
{
series.Points.Add(new SeriesPoint(item.age, item.value1));
series1.Points.Add(new SeriesPoint(item.age, item.value2));
series2.Points.Add(new SeriesPoint(item.age, item.value3));
series3.Points.Add(new SeriesPoint(item.age, item.value4));
series4.Points.Add(new SeriesPoint(item.age, item.value5));
}
if (item.age == "50-60岁")
{
series.Points.Add(new SeriesPoint(item.age, item.value1));
series1.Points.Add(new SeriesPoint(item.age, item.value2));
series2.Points.Add(new SeriesPoint(item.age, item.value3));
series3.Points.Add(new SeriesPoint(item.age, item.value4));
series4.Points.Add(new SeriesPoint(item.age, item.value5));
}
if (item.age == "60-70岁")
{
series.Points.Add(new SeriesPoint(item.age, item.value1));
series1.Points.Add(new SeriesPoint(item.age, item.value2));
series2.Points.Add(new SeriesPoint(item.age, item.value3));
series3.Points.Add(new SeriesPoint(item.age, item.value4));
series4.Points.Add(new SeriesPoint(item.age, item.value5));
}
if (item.age == "70岁以上")
{
series.Points.Add(new SeriesPoint(item.age, item.value1));
series1.Points.Add(new SeriesPoint(item.age, item.value2));
series2.Points.Add(new SeriesPoint(item.age, item.value3));
series3.Points.Add(new SeriesPoint(item.age, item.value4));
series4.Points.Add(new SeriesPoint(item.age, item.value5));
}
}
//BarSeriesView bsv = (BarSeriesView)series1.View;
//bsv.BarWidth = 0.25;
//BarSeriesView bsv1 = (BarSeriesView)series2.View;
//bsv1.BarWidth = 0.25;
//BarSeriesView bsv2 = (BarSeriesView)series3.View;
//bsv2.BarWidth = 0.25;
//BarSeriesView bsv3 = (BarSeriesView)series4.View;
//bsv3.BarWidth = 0.25;
//BarSeriesView bsv4 = (BarSeriesView)series.View;
//bsv4.BarWidth = 0.25;
chartControl1.Series.AddRange(new Series[] { series, series1, series2, series3, series4 });
XYDiagram xyDia = chartControl1.Diagram as XYDiagram;
xyDia.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual;
int max = 0;
for (int i = 0; i < tuple.Count; i++)
{
if (tuple[i].value1 > max)
max = tuple[i].value1;
if (tuple[i].value2 > max)
max = tuple[i].value2;
if (tuple[i].value3 > max)
max = tuple[i].value3;
if (tuple[i].value4 > max)
max = tuple[i].value4;
if (tuple[i].value5 > max)
max = tuple[i].value5;
}
int tempone = max / 5;
int temptwo = max % 5;
if (temptwo == 0)
{
max = tempone * 5;
}
else
{
max = (tempone + 1) * 5;
}
if (max == 0)
max = 10;
xyDia.AxisY.WholeRange.MaxValue = max;
xyDia.AxisY.NumericScaleOptions.GridOffset = 0;
xyDia.AxisY.NumericScaleOptions.GridSpacing = max / 5;
}
private void sButton_ThisMonth_Click(object sender, EventArgs e)
{
sButton_ThisMonth.Appearance.BackColor = Color.FromArgb(43, 133, 228);
sButton_ThisYear.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_Query.Appearance.BackColor = Color.FromArgb(114, 165, 231);
time_starTime.TimeValue = dt.AddYears(-1).Year + "-01".ToString();
time_endTime.TimeValue = dt.AddYears(-1).Year + "-12".ToString();
BindData();
}
private void sButton_ThisYear_Click(object sender, EventArgs e)
{
sButton_ThisYear.Appearance.BackColor = Color.FromArgb(43, 133, 228);
sButton_ThisMonth.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_Query.Appearance.BackColor = Color.FromArgb(114, 165, 231);
time_starTime.TimeValue = dt.Year + "-01".ToString();
time_endTime.TimeValue = dt.Year + "-12".ToString();
BindData();
}
private void sButton_Query_Click(object sender, EventArgs e)
{
sButton_Query.Appearance.BackColor = Color.FromArgb(43, 133, 228);
sButton_ThisMonth.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_ThisYear.Appearance.BackColor = Color.FromArgb(114, 165, 231);
BindData();
}
}
}