using DevExpress.XtraCharts; using DevExpress.XtraEditors; using HL_FristAidPlatform_Public; using System; using System.Collections.Generic; namespace HL_FristAidPlatform_Apoplexy { public partial class Form_ArterialPuncturerate : XtraForm { public string startTime; public string endTime; public Form_ArterialPuncturerate() { InitializeComponent(); } private void Form_ArterialPuncturerate_Load(object sender, EventArgs e) { timeControl1.TimeValue = DateTime.Now.AddMonths(-2).ToString("yyyy-MM-dd"); timeControl2.TimeValue = DateTime.Now.ToString("yyyy-MM-dd"); GetPunctureRate(Convert.ToDateTime(timeControl1.TimeValue), Convert.ToDateTime(timeControl2.TimeValue).AddDays(1), Information.Hospital.GUID); } public void GetPunctureRate(DateTime startT, DateTime endT, string hospitalGuid) { try { chartControl1.Series.Clear(); Series series1 = new Series("", ViewType.Bar); series1.Points.Clear(); string Url = string.Format("/api/service/T_Service_Apoplexy_Statistics/GetPunctureRate?startTime={0}&endTime={1}&hospitalGuid={2}", startT, endT, hospitalGuid); List list = DBHelpClass.GetList(Url); if (list != null) { for (int i = 0; i < list.Count; i++) { series1.Points.Add(new SeriesPoint("日期" + " " + list[i].Key.ToString(), new double[] { Convert.ToDouble(list[i].Value.ToString()) })); } } //调整柱状图柱体宽度 BarSeriesView bsv = (BarSeriesView)series1.View; bsv.BarWidth = 0.2; chartControl1.Series.Add(series1); XYDiagram xyDia = chartControl1.Diagram as XYDiagram; xyDia.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual; //设置数据在图表的格式 int max = 0; for (int i = 0; i < list.Count; i++) { if (double.Parse(list[i].Value) > max) max = (int)(double.Parse(list[i].Value)); } 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; } catch (Exception ex) { PublicClass.WriteErrorLog(this.Text, "获取脑梗死患者动脉穿刺率小于90分钟统计数据:\r\n" + ex); } } private void simpleButton1_Click(object sender, EventArgs e) { //DateTime start = Convert.ToDateTime(monthList[i] + "-01"); //DateTime end = Convert.ToDateTime(monthList[i]).AddMonths(1).AddDays(-1); startTime = timeControl1.TimeValue; endTime = timeControl2.TimeValue; GetPunctureRate(Convert.ToDateTime(startTime), Convert.ToDateTime(endTime).AddDays(1), Information.Hospital.GUID); } public class ApoplexyStatisticsModel { /// /// /// public string Key { get; set; } /// /// /// public string Value { get; set; } /// /// /// public int Number { get; set; } } } }