190 lines
8.2 KiB
C#
190 lines
8.2 KiB
C#
using DevExpress.XtraCharts;
|
|
using DevExpress.XtraEditors;
|
|
using HL_FristAidPlatform_DTO;
|
|
using HL_FristAidPlatform_Public;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Drawing;
|
|
|
|
namespace HL_FristAidPlatform_Trauma
|
|
{
|
|
public partial class Form_HospitalizationTimeStatistics : XtraForm
|
|
{
|
|
public Form_HospitalizationTimeStatistics()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
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
|
|
{
|
|
GetHospitalizationTimeStatistics(timeControl1.TimeValue, timeControl2.TimeValue);
|
|
}
|
|
}
|
|
}
|
|
|
|
private void Form_HospitalizationTimeStatistics_Load(object sender, EventArgs e)
|
|
{
|
|
DateTime dt = DateTime.Now; //当前时间
|
|
DateTime startMonth = dt.AddMonths(-5).AddDays(1 - dt.Day);//本月月初
|
|
DateTime endMonth = startMonth.AddMonths(6); //本月月末
|
|
timeControl1.TimeValue = startMonth.ToString();
|
|
timeControl2.TimeValue = endMonth.AddMonths(-1).ToString();
|
|
GetHospitalizationTimeStatistics(startMonth.ToString(), endMonth.ToString());
|
|
}
|
|
|
|
private void GetHospitalizationTimeStatistics(string startTime, string endTime)
|
|
{
|
|
try
|
|
{
|
|
List<TraumaHospitalizationTimeModelDTO> list = DBHelpClass.GetList<TraumaHospitalizationTimeModelDTO>(string.Format("api/service/T_Service_Trauma_HospitalizationTime/GetHospitalizationTimeStatistics?hospitalGuid={0}&startTime={1}&endTime={2}&flag={3}", Information.Hospital.GUID, startTime, endTime, 0));
|
|
|
|
chartControl1.Series.Clear();
|
|
chartControl1.Titles.Clear();
|
|
ChartTitle titles1 = new ChartTitle();
|
|
titles1.Text = "严重创伤病人平均住院时间";
|
|
titles1.TextColor = Color.FromArgb(23, 35, 61);
|
|
titles1.Indent = 1;
|
|
//titles1.Font = new Font("微软雅黑", 16, FontStyle.Regular);
|
|
titles1.Dock = ChartTitleDockStyle.Top;
|
|
titles1.Indent = 0;
|
|
//titles1.Alignment = StringAlignment.Center;
|
|
chartControl1.Titles.Add(titles1);
|
|
|
|
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++)
|
|
{
|
|
series1.Points.Add(new SeriesPoint(list[i].Month, list[i].AvgHospitalizationDays + ""));
|
|
}
|
|
chartControl1.Series.AddRange(series1);
|
|
XYDiagram xyDia = chartControl1.Diagram as XYDiagram;
|
|
xyDia.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual;
|
|
xyDia.AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Month;
|
|
((XYDiagram)(chartControl1.Diagram)).EnableAxisXScrolling = true;//启用横轴滚动条
|
|
}
|
|
|
|
chartControl2.Series.Clear();
|
|
chartControl2.Titles.Clear();
|
|
ChartTitle titles2 = new ChartTitle();
|
|
titles2.Text = "严重创伤病人平均ICU住院时间";
|
|
titles2.TextColor = Color.FromArgb(23, 35, 61);
|
|
titles2.Indent = 1;
|
|
// titles2.Font = new Font("微软雅黑", 16, FontStyle.Regular);
|
|
titles2.Dock = ChartTitleDockStyle.Top;
|
|
titles2.Indent = 0;
|
|
// titles2.Alignment = StringAlignment.Center;
|
|
chartControl2.Titles.Add(titles2);
|
|
|
|
chartControl2.Series.Clear();
|
|
Series series2 = new Series("平均时间", ViewType.Spline);
|
|
series2.Points.Clear();
|
|
|
|
if (list != null && list.Count > 0)
|
|
{
|
|
for (int i = 0; i < list.Count; i++)
|
|
{
|
|
series2.Points.Add(new SeriesPoint(list[i].Month, list[i].AvgICUDays + ""));
|
|
}
|
|
chartControl2.Series.AddRange(series2);
|
|
XYDiagram xyDia = chartControl2.Diagram as XYDiagram;
|
|
xyDia.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual;
|
|
xyDia.AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Month;
|
|
((XYDiagram)(chartControl2.Diagram)).EnableAxisXScrolling = true;//启用横轴滚动条
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
private void simpleButton3_Click(object sender, EventArgs e)
|
|
{
|
|
string startTime = initdatetime(timeControl1.TimeValue + "");
|
|
string endTime = initdatetime(timeControl2.TimeValue + "");
|
|
|
|
if (string.IsNullOrEmpty(startTime))
|
|
{
|
|
XtraMessageBox.Show("开始时间不能为空!");
|
|
return;
|
|
}
|
|
if (string.IsNullOrEmpty(endTime))
|
|
{
|
|
XtraMessageBox.Show("截至时间不能为空!");
|
|
return;
|
|
}
|
|
if (!string.IsNullOrEmpty(endTime) && !string.IsNullOrEmpty(startTime))
|
|
{
|
|
if (DateTime.Compare(Convert.ToDateTime(startTime), Convert.ToDateTime(endTime).AddMonths(1)) > 0)
|
|
{
|
|
XtraMessageBox.Show("开始时间不能大于截至时间!");
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
GetHospitalizationTimeStatistics(startTime, Convert.ToDateTime(endTime).AddMonths(1) + "");
|
|
}
|
|
}
|
|
}
|
|
|
|
private void simpleButton5_Click(object sender, EventArgs e)
|
|
{
|
|
DateTime dt = DateTime.Now; //当前时间
|
|
DateTime startMonth = dt.AddMonths(-2).AddDays(1 - dt.Day);//本月月初
|
|
DateTime endMonth = startMonth.AddMonths(3); //本月月末
|
|
timeControl1.TimeValue = startMonth.ToString();
|
|
timeControl2.TimeValue = endMonth.AddMonths(-1).ToString();
|
|
GetHospitalizationTimeStatistics(startMonth.ToString(), endMonth.ToString());
|
|
}
|
|
|
|
private void simpleButton2_Click(object sender, EventArgs e)
|
|
{
|
|
DateTime dt = DateTime.Now; //当前时间
|
|
DateTime startMonth = dt.AddMonths(-5).AddDays(1 - dt.Day);//本月月初
|
|
DateTime endMonth = startMonth.AddMonths(6); //本月月末
|
|
timeControl1.TimeValue = startMonth.ToString();
|
|
timeControl2.TimeValue = endMonth.AddMonths(-1).ToString();
|
|
GetHospitalizationTimeStatistics(startMonth.ToString(), endMonth.ToString());
|
|
}
|
|
|
|
private void simpleButton4_Click(object sender, EventArgs e)
|
|
{
|
|
DateTime dt = DateTime.Now; //当前时间
|
|
DateTime startMonth = dt.AddMonths(-11).AddDays(1 - dt.Day);//本月月初
|
|
DateTime endMonth = startMonth.AddMonths(12); //本月月末
|
|
timeControl1.TimeValue = startMonth.ToString();
|
|
timeControl2.TimeValue = endMonth.AddMonths(-1).ToString();
|
|
GetHospitalizationTimeStatistics(startMonth.ToString(), endMonth.ToString());
|
|
}
|
|
private string initdatetime(string datetime)
|
|
{
|
|
string str = datetime.Replace("年", "-").Replace("月", "-") + "01";
|
|
return str;
|
|
}
|
|
}
|
|
}
|