StableVersion4.3/HL_ChestPain_Statistics/Form_ChestPain_Statistics.cs

165 lines
6.9 KiB
C#

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 : XtraForm
{
public Form_ChestPain_Statistics()
{
InitializeComponent();
}
/// <summary>
/// 加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form_ChestPain_Statistics_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_Count_Click(object sender, EventArgs e)
{
Statistics();
}
/// <summary>
/// 统计方法
/// </summary>
private void Statistics()
{
//if (chartControl1.Series.Count>1)
//{
// chartControl1.Series.Remove(chartControl1.Series[0]);
//}
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;
//PieSeriesLabel pieLabel = series.Label as PieSeriesLabel;
//if (pieLabel != null)
//{
// pieLabel.Position = PieSeriesLabelPosition.Outside;
// pieLabel.TextColor = (pieLabel.Position == PieSeriesLabelPosition.Outside) ? Color.Empty : Color.Black;
//}
//chartControl_Pie.Series.Add(series);
//series.LegendTextPattern = "{A}: {VP:P2} 例";
//series.LabelsVisibility = DefaultBoolean.True;//显示标注标签
//series.ChangeView(ViewType.Pie);//设置图标显示的类型
////设置标签的显示位置
//PieSeriesLabel label = (PieSeriesLabel)series.Label;
//label.Position = PieSeriesLabelPosition.Outside;
chartControl1.Series["Series1"].ValueDataMembers[0] = "Value";
chartControl1.Series["Series1"].ArgumentDataMember = "Name";
chartControl1.Series["Series1"].DataSource = data;
//if (chartControl1.Series.Count > 1)
// chartControl1.Series.Add(chartControl1.Series["Series1"]);
}
}
/// <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_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();
}
/// <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_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();
}
}
}