111 lines
3.9 KiB
C#
111 lines
3.9 KiB
C#
|
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<ApoplexyStatisticsModel> list = DBHelpClass.GetList<ApoplexyStatisticsModel>(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
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
public string Key { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
public string Value { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
public int Number { get; set; }
|
|||
|
}
|
|||
|
}
|
|||
|
}
|