StableVersion4.3/HL_FristAidPlatform_Trauma/Form_TraumaIntervalStatisti...

229 lines
9.8 KiB
C#
Raw Permalink Normal View History

2024-03-11 09:47:34 +08:00

using DevExpress.XtraCharts;
using DevExpress.XtraEditors;
using HL_FristAidPlatform_DTO;
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 HL_FristAidPlatform_Trauma
{
public partial class Form_TraumaIntervalStatistics : XtraForm
{
public Form_TraumaIntervalStatistics()
{
InitializeComponent();
}
private void Form_TraumaIntervalStatistics_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();
GetTraumaIntervalStatistics(startMonth.ToString(), endMonth.ToString());
}
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
{
GetTraumaIntervalStatistics(timeControl1.TimeValue, timeControl2.TimeValue);
}
}
}
private void GetTraumaIntervalStatistics(string startTime, string endTime)
{
try
{
List<TraumaIntervalStatisticsModelDTO> list = DBHelpClass.GetList<TraumaIntervalStatisticsModelDTO>(string.Format("api/service/T_Service_Trauma_TraumaInterval/GetTraumaIntervalStatistics?hospitalGuid={0}&startTime={1}&endTime={2}", Information.Hospital.GUID, startTime, endTime));
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].AvgBloodTransfusion + ""));
}
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 = "人工气道建立时间";
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].AvgArtificialAirway + ""));
}
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;//启用横轴滚动条
}
chartControl3.Series.Clear();
chartControl3.Titles.Clear();
ChartTitle titles3 = new ChartTitle();
titles3.Text = "紧急手术术前准备时间";
titles3.TextColor = Color.FromArgb(23, 35, 61);
titles3.Indent = 1;
// titles3.Font = new Font("微软雅黑", 16, FontStyle.Regular);
titles3.Dock = ChartTitleDockStyle.Top;
titles3.Indent = 0;
//titles3.Alignment = StringAlignment.Center;
chartControl3.Titles.Add(titles3);
chartControl3.Series.Clear();
Series series3 = new Series("平均时间", ViewType.Spline);
series3.Points.Clear();
if (list != null && list.Count > 0)
{
for (int i = 0; i < list.Count; i++)
{
series3.Points.Add(new SeriesPoint(list[i].Month, list[i].AvgEmergencyOperation + ""));
}
chartControl3.Series.AddRange(series3);
XYDiagram xyDia = chartControl3.Diagram as XYDiagram;
xyDia.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual;
xyDia.AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Month;
((XYDiagram)(chartControl3.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
{
GetTraumaIntervalStatistics(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();
GetTraumaIntervalStatistics(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();
GetTraumaIntervalStatistics(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();
GetTraumaIntervalStatistics(startMonth.ToString(), endMonth.ToString());
}
private string initdatetime(string datetime)
{
string str = datetime.Replace("年", "-").Replace("月", "-") + "01";
return str;
}
}
}