StableVersion4.3/SC_FristAidPlatform_ChestPa.../Form_Index.cs

185 lines
7.0 KiB
C#

using DevExpress.Utils;
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.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace SC_FristAidPlatform_ChestPainUnit
{
public partial class Form_Index : XtraForm
{
public Form_Index()
{
InitializeComponent();
}
private void Form_Index_Load(object sender, EventArgs e)
{
try
{
List<CaseStatisticsModel> lst = DBHelpClass.GetList<CaseStatisticsModel>(string.Format("api/service/ChestPainUnit/GetCaseStatistics?hospitalGuid={0}", Information.Hospital.GUID));
if (lst != null && lst.Count > 0)
{
for (int i = 0; i < lst.Count; i++)
{
lbl_ToDayCaseCount.Text = lst[0].Count.ToString();
lbl_ThisMonthCount.Text = lst[1].Count.ToString();
lbl_ThisYear.Text = lst[2].Count.ToString();
lbl_Total.Text = lst[3].Count.ToString();
lbl_ThisMothReportCount.Text = lst[4].Count.ToString();
lbl_ToatlReportCount.Text = lst[5].Count.ToString();
}
}
ChestPainUnitHospitalModel model = DBHelpClass.GetDateModel<ChestPainUnitHospitalModel>(string.Format("api/service/ChestPainUnit/GetChestPainUnitHospitalModel?hospitalGuid={0}", Information.Hospital.GUID));
if (model != null)
{
lbl_TotalThree.Text = model.TotalThree.ToString();
lbl_TotalOne.Text = model.TotalOne.ToString();
lbl_TotalTwo.Text = model.TotalTwo.ToString();
lbl_TotalFour.Text = model.TotalFour.ToString();
}
GetFMCTOECGAVG();
GetTroponinAVG();
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "加载:\r\n" + ex);
}
}
public void GetFMCTOECGAVG()
{
try
{
ChartTitle titles = new ChartTitle();
titles.Text = "首次医疗接触到首份心电图完成平时耗时统计";
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<DateTimeAVGModel> lst = DBHelpClass.GetList<DateTimeAVGModel>(string.Format("api/service/ChestPainUnit/GetFMCTOECGAVG?hospitalGuid={0}&startTime={1}&endTime={2}", Information.Hospital.GUID, DateTime.Now.AddMonths(-11).ToString("yyyy-MM-dd"), DateTime.Now.ToString("yyyy-MM-dd")));
chartControl1.Series.Clear();
Series series1 = new Series("平均耗时", ViewType.Spline);
series1.Points.Clear();
if (lst != null && lst.Count > 0)
{
for (int i = 0; i < lst.Count; i++)
{
series1.Points.Add(new SeriesPoint(lst[i].Month, lst[i].AVGTime));
}
chartControl1.Series.AddRange(series1);
}
//DevExpress.XtraCharts.XYDiagram xyDiagram1 = (XYDiagram)this.chartControl1.Diagram;
//xyDiagram1.AxisY.Range.MinValueInternal = 0;
//((LineSeriesView)series1.View).MarkerVisibility = DefaultBoolean.True;
//((LineSeriesView)series1.View).LineMarkerOptions.Kind = MarkerKind.Circle;
}
catch (Exception)
{
throw;
}
}
public void GetTroponinAVG()
{
try
{
ChartTitle titles = new ChartTitle();
titles.Text = "肌钙蛋白抽血完成至出报告时间统计";
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<DateTimeAVGModel> lst = DBHelpClass.GetList<DateTimeAVGModel>(string.Format("api/service/ChestPainUnit/GetTroponinAVG?hospitalGuid={0}&startTime={1}&endTime={2}", Information.Hospital.GUID, DateTime.Now.AddMonths(-11).ToString("yyyy-MM-dd"), DateTime.Now.ToString("yyyy-MM-dd")));
chartControl2.Series.Clear();
Series series1 = new Series("平均耗时", ViewType.Bar);
series1.Points.Clear();
if (lst != null && lst.Count > 0)
{
for (int i = 0; i < lst.Count; i++)
{
series1.Points.Add(new SeriesPoint(lst[i].Month, lst[i].AVGTime));
}
chartControl2.Series.AddRange(series1);
BarSeriesView bsv1 = (BarSeriesView)series1.View;
bsv1.BarWidth = 0.5;
XYDiagram xyDia = chartControl2.Diagram as XYDiagram;
xyDia.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual;
xyDia.AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Month;
}
}
catch (Exception)
{
throw;
}
}
public class CaseStatisticsModel
{
public string Name { get; set; }
public int Count { get; set; }
}
/// <summary>
/// 胸痛单元来院方式统计实体类
/// </summary>
public class ChestPainUnitHospitalModel
{
/// <summary>
/// 自行来院数量
/// </summary>
public int TotalOne { get; set; }
/// <summary>
/// 救护车来院数量
/// </summary>
public int TotalTwo { get; set; }
/// <summary>
/// 院内发病数量
/// </summary>
public int TotalThree { get; set; }
/// <summary>
/// 没有来院方式数量
/// </summary>
public int TotalFour { get; set; }
}
public class DateTimeAVGModel
{
/// <summary>
/// 月份
/// </summary>
public string Month { get; set; }
/// <summary>
/// 平均用时
/// </summary>
public int AVGTime { get; set; }
}
}
}