StableVersion4.3/HL_ChestPain_Statistics/Form_ChestPain_Statistics_A...

146 lines
5.9 KiB
C#

using DevExpress.XtraCharts;
using DevExpress.XtraEditors;
using HL_FristAidPlatform_Public;
using System;
using System.Data;
using System.Linq;
namespace HL_FristAidPlatform_ChestPain_Statistics
{
public partial class Form_ChestPain_Statistics_Analysis : XtraForm
{
public Form_ChestPain_Statistics_Analysis()
{
InitializeComponent();
}
/// <summary>
/// 窗体加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form_ChestPain_Statistics_Analysis_Load(object sender, EventArgs e)
{
dateEdit_Start.TimeValue = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.ToShortDateString() + " 00:00:00";
dateEdit_End.TimeValue = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.AddMonths(3).AddDays(-1).ToShortDateString() + " 23:59:59";
Statistics();
}
/// <summary>
/// 统计按钮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void simpleButton_Report_Click(object sender, EventArgs e)
{
Statistics();
}
/// <summary>
/// 统计方法
/// </summary>
private void Statistics()
{
chartControl_Pie.Series.Clear();
string Url = string.Format("api/service/T_Service_ChestPain_Prehospital/GetWhere?startTime={0}&endTime={1}", dateEdit_Start.TimeValue, dateEdit_End.TimeValue);
DataTable dataTable = DBHelpClass.Get(Url);
DataTable data = new DataTable("table1");
data.Columns.Add("Name", typeof(string));
data.Columns.Add("Value", typeof(int));
if (dataTable != null)
{
var query = from t in dataTable.AsEnumerable()
group t by new { t1 = t.Field<string>("Content") } into m
select new
{
name = m.Key.t1,
count = m.Count()
};
foreach (var item in query.ToList())
{
data.Rows.Add(item.name, item.count);
}
Series series = new Series("病因构成分析", ViewType.Pie);
series.ValueDataMembers[0] = "Value";
series.ArgumentDataMember = "Name";
series.DataSource = data;
chartControl_Pie.Series.Add(series);
series.LegendTextPattern = "{A}:{V} 例";
series.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True;//显示标注标签
}
}
/// <summary>
/// 本年度
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void simpleButton_ThisYear_Click(object sender, EventArgs e)
{
dateEdit_Start.TimeValue = new DateTime(DateTime.Now.Year, 1, 1).ToShortDateString() + " 00:00:00";
dateEdit_End.TimeValue = new DateTime(DateTime.Now.Year, 12, 31).ToShortDateString() + " 23:59:59";
Statistics();
}
/// <summary>
/// 上半年
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void simpleButton_UpHalfYear_Click(object sender, EventArgs e)
{
dateEdit_Start.TimeValue = new DateTime(DateTime.Now.Year, 1, 1).ToShortDateString() + " 00:00:00";
dateEdit_End.TimeValue = new DateTime(DateTime.Now.Year, 6, 30).ToShortDateString() + " 23:59:59";
Statistics();
}
/// <summary>
/// 下半年
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void simpleButton_DownHalfYear_Click(object sender, EventArgs e)
{
dateEdit_Start.TimeValue = new DateTime(DateTime.Now.Year, 7, 1).ToShortDateString() + " 00:00:00";
dateEdit_End.TimeValue = new DateTime(DateTime.Now.Year, 12, 31).ToShortDateString() + " 23:59:59";
Statistics();
}
/// <summary>
/// 本季度
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void simpleButton_ThisQuarter_Click(object sender, EventArgs e)
{
dateEdit_Start.TimeValue = DateTime.Now.AddMonths(0 - (DateTime.Now.Month - 1) % 3).AddDays(1 - DateTime.Now.Day).ToShortDateString() + " 00:00:00";
dateEdit_End.TimeValue = DateTime.Now.AddMonths(0 - (DateTime.Now.Month - 1) % 3).AddDays(1 - DateTime.Now.Day).AddMonths(3).AddDays(-1).ToShortDateString() + " 23:59:59";
Statistics();
}
/// <summary>
/// 本月度
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void simpleButton_ThisMonth_Click(object sender, EventArgs e)
{
dateEdit_Start.TimeValue = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.ToShortDateString() + " 00:00:00";
dateEdit_End.TimeValue = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.AddMonths(1).AddDays(-1).ToShortDateString() + " 23:59:59";
Statistics();
}
/// <summary>
/// 本周
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void simpleButton_ThisWeek_Click(object sender, EventArgs e)
{
dateEdit_Start.TimeValue = DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString() + " 00:00:00";
dateEdit_End.TimeValue = DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString() + " 23:59:59";
Statistics();
}
}
}