209 lines
8.4 KiB
C#
209 lines
8.4 KiB
C#
|
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<CaseStatisticsSTEMIModel> list = DBHelpClass.GetList<CaseStatisticsSTEMIModel>(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<CaseStatisticsSTEMIModel> list = DBHelpClass.GetList<CaseStatisticsSTEMIModel>(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
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 月份
|
|||
|
/// </summary>
|
|||
|
public string Month { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 个数
|
|||
|
/// </summary>
|
|||
|
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);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|