using DevExpress.XtraCharts; using DevExpress.XtraEditors; using HL_FristAidPlatform_Public; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace SC_FristAidPlatform_ChestPainUnit { public partial class Form_StatisticsSTEMI : XtraForm { public Form_StatisticsSTEMI() { InitializeComponent(); } private void Form_StatisticsSTEMI_Load(object sender, EventArgs e) { //DateTime dt = DateTime.Now; //当前时间 //DateTime startMonth = dt.AddDays(1 - dt.Day);//本月月初 //DateTime endMonth = startMonth.AddMonths(1).AddDays(-1); //本月月末 //timeControl1.TimeValue = startMonth.ToString("yyyy-MM-dd HH:mm"); //timeControl2.TimeValue = endMonth.ToString("yyyy-MM-dd HH:mm"); timeControl1.TimeValue = DateTime.Now.AddMonths(-12).ToString("yyyy-MM-dd HH:mm"); timeControl2.TimeValue = DateTime.Now.ToString("yyyy-MM-dd HH:mm"); GetSTEMIStatistics1(timeControl1.TimeValue, timeControl2.TimeValue); GetSTEMIStatistics2(timeControl1.TimeValue, timeControl2.TimeValue); } public void GetSTEMIStatistics1(string startTime,string endTime) { try { int max = 0; int sum = 0; chartControl1.Series.Clear(); chartControl1.Titles.Clear(); ChartTitle titles = new ChartTitle(); titles.Text = "STEMI患者到院后30分钟内在本机构溶栓统计"; titles.TextColor = Color.FromArgb(23, 35, 61); titles.Indent = 1; titles.Font = new Font("微软雅黑", 16, FontStyle.Regular); titles.Dock = ChartTitleDockStyle.Top; titles.Indent = 0; titles.Alignment = StringAlignment.Center; chartControl1.Titles.Add(titles); List list = DBHelpClass.GetList(string.Format("api/service/ChestPainUnitController2/GetCaseStatisticsSTEMI?hospitalGuid={0}&startTime={1}&endTime={2}", Information.Hospital.GUID, startTime, endTime)); chartControl1.Series.Clear(); Series series1 = new Series("个数统计", ViewType.Spline); series1.Points.Clear(); if (list != null && list.Count > 0) { for (int i = 0; i < list.Count; i++) { sum = 0; for (int j = 0; j < list.Count(); j++) { sum += list.Count; } if (sum > max) max = sum; series1.Points.Add(new SeriesPoint(list[i].Month, list[i].Count)); } chartControl1.Series.AddRange(series1); XYDiagram xyDia = chartControl1.Diagram as XYDiagram; xyDia.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual; xyDia.AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Month; 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; ((XYDiagram)(chartControl1.Diagram)).EnableAxisXScrolling = true;//启用横轴滚动条 } } catch (Exception ex) { throw ex; } } public void GetSTEMIStatistics2(string startTime, string endTime) { try { int max = 0; int sum = 0; chartControl2.Series.Clear(); chartControl2.Titles.Clear(); ChartTitle titles = new ChartTitle(); titles.Text = "STEMI患者实施转运PCI和转运溶栓30分钟内转出统计"; titles.TextColor = Color.FromArgb(23, 35, 61); titles.Indent = 1; titles.Font = new Font("微软雅黑", 16, FontStyle.Regular); titles.Dock = ChartTitleDockStyle.Top; titles.Indent = 0; titles.Alignment = StringAlignment.Center; chartControl2.Titles.Add(titles); List list = DBHelpClass.GetList(string.Format("api/service/ChestPainUnitController2/GetCaseStatisticsSTEMITransfer?hospitalGuid={0}&startTime={1}&endTime={2}", Information.Hospital.GUID, startTime, endTime)); chartControl2.Series.Clear(); Series series1 = new Series("个数统计", ViewType.Spline); series1.Points.Clear(); if (list != null && list.Count > 0) { for (int i = 0; i < list.Count; i++) { sum = 0; for (int j = 0; j < list.Count(); j++) { sum += list.Count; } if (sum > max) max = sum; series1.Points.Add(new SeriesPoint(list[i].Month, list[i].Count)); } chartControl2.Series.AddRange(series1); XYDiagram xyDia = chartControl2.Diagram as XYDiagram; xyDia.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual; xyDia.AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Month; 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; ((XYDiagram)(chartControl2.Diagram)).EnableAxisXScrolling = true;//启用横轴滚动条 } } catch (Exception ex) { throw ex; } } public class CaseStatisticsSTEMIModel { /// /// 月份 /// public string Month { get; set; } /// /// 个数 /// public string Count { get; set; } } private void simpleButton1_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(timeControl1.TimeValue)) { XtraMessageBox.Show("开始时间不能为空!"); return; } if (string.IsNullOrEmpty(timeControl2.TimeValue)) { XtraMessageBox.Show("截至时间不能为空!"); return; } if (!string.IsNullOrEmpty(timeControl2.TimeValue)&& !string.IsNullOrEmpty(timeControl1.TimeValue)) { if (DateTime.Compare(Convert.ToDateTime(timeControl1.TimeValue), Convert.ToDateTime(timeControl2.TimeValue)) > 0) { XtraMessageBox.Show("开始时间不能大于截至时间!"); return; } else { GetSTEMIStatistics1(timeControl1.TimeValue, timeControl2.TimeValue); GetSTEMIStatistics2(timeControl1.TimeValue, timeControl2.TimeValue); } } } } }