StableVersion4.3/HL_FristAidPlatform_Trauma/Form_HospitalizationTimeSta...

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;
}
}
}