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.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace HL_FristAidPlatform_Trauma { public partial class Form_GradeStatisics : XtraForm { private int curPage = 1; private int type = 0; /// /// 每页大小 /// private int pageSize = 100; /// /// 所有记录条数 /// private int totalNumber = 0; public Form_GradeStatisics() { InitializeComponent(); } private void Form_GradeStatisics_Load(object sender, EventArgs e) { lbl_TI.BackColor = Color.FromArgb(0, 96, 250); lbl_GCS.BackColor = Color.FromArgb(224, 224, 224); lbl_ISS.BackColor = Color.FromArgb(224, 224, 224); time_starTime.TimeValue = DateTime.Now.AddMonths(-5).ToString(); time_endTime.TimeValue = DateTime.Now.ToString(); GetGradeStatisicsList(); GetUNGradStaisicsList(type); } public void GetGradeStatisicsList() { try { int type = radi_month.Checked == true ? 0 : 1; chartControl1.Series.Clear(); chartControl1.Titles.Clear(); ChartTitle chartTitle1 = new ChartTitle(); chartTitle1.Text = "TI、GCS、ISS评分占比统计"; chartControl1.Titles.Add(chartTitle1); Series series1 = new Series("TI", ViewType.Spline); Series series2 = new Series("GCS", ViewType.Spline); Series series3 = new Series("ISS", ViewType.Spline); List list = DBHelpClass.GetList(string.Format("api/service/T_Service_Trauma_MassiveDataStatistics/GetGradeStatisicsList?hospitalGuid={0}&starTime={1}&endTime={2}", Information.Hospital.GUID, Convert.ToDateTime(time_starTime.TimeValue).ToString("yyyy-MM"), Convert.ToDateTime(time_endTime.TimeValue).ToString("yyyy-MM"))); int max = 0; List lst = new List(); if (list != null && list.Count > 0) { for (int i = 0; i < list.Count; i++) { if (list[i].TypeName == "TI") { for (int j = 0; j < list[i].GradeInfos.Count; j++) { lst.Add(list[i].GradeInfos[j].Number); series1.Points.Add(new SeriesPoint(list[i].GradeInfos[j].TimeDate, list[i].GradeInfos[j].Number)); } } if (list[i].TypeName == "GCS") { for (int j = 0; j < list[i].GradeInfos.Count; j++) { lst.Add(list[i].GradeInfos[j].Number); series2.Points.Add(new SeriesPoint(list[i].GradeInfos[j].TimeDate, list[i].GradeInfos[j].Number)); } } if (list[i].TypeName == "ISS") { for (int j = 0; j < list[i].GradeInfos.Count; j++) { lst.Add(list[i].GradeInfos[j].Number); series3.Points.Add(new SeriesPoint(list[i].GradeInfos[j].TimeDate, list[i].GradeInfos[j].Number)); } } } } chartControl1.Series.AddRange(series1, series2, series3); ((LineSeriesView)series1.View).MarkerVisibility = DefaultBoolean.True; ((LineSeriesView)series1.View).LineMarkerOptions.Kind = MarkerKind.Circle; XYDiagram xyDia = chartControl1.Diagram as XYDiagram; xyDia.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual; xyDia.AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Month; if (lst != null && lst.Count > 0) { for (int i = 0; i < lst.Count; i++) { if (int.Parse(lst[i] + "") > max) { max = int.Parse(lst[i] + ""); } } } 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 GetUNGradStaisicsList(int type) { string Url = string.Format("api/service/T_Service_TraumaPatient/GetUNGradStaisicsList?hospitalGuid={0}&starTime={1}&endTime={2}&type={3}&pageIndex={4}&pageSize={5}", Information.Hospital.GUID, Convert.ToDateTime(time_starTime.TimeValue).ToString("yyyy-MM"), Convert.ToDateTime(time_endTime.TimeValue).ToString("yyyy-MM"), type, curPage, pageSize); DataTable dt = DBHelpClass.Get(Url); gridControl1.DataSource = dt; gridView1.Appearance.EvenRow.BackColor = Color.FromArgb(245, 245, 245); gridView1.Appearance.OddRow.BackColor = Color.FromArgb(255, 255, 255); gridView1.OptionsView.EnableAppearanceEvenRow = true; gridView1.OptionsView.EnableAppearanceOddRow = true; totalNumber = DBHelpClass.TotalNumber; userControlForPage.RefreshPager(pageSize, totalNumber, curPage);//更新分页控件显示。 } private void lbl_TI_Click(object sender, EventArgs e) { lbl_TI.BackColor = Color.FromArgb(0, 96, 250); lbl_GCS.BackColor = Color.FromArgb(224, 224, 224); lbl_ISS.BackColor = Color.FromArgb(224, 224, 224); type = 0; GetUNGradStaisicsList(type); } private void lbl_GCS_Click(object sender, EventArgs e) { lbl_GCS.BackColor = Color.FromArgb(0, 96, 250); lbl_TI.BackColor = Color.FromArgb(224, 224, 224); lbl_ISS.BackColor = Color.FromArgb(224, 224, 224); type = 1; GetUNGradStaisicsList(type); } private void lbl_ISS_Click(object sender, EventArgs e) { lbl_ISS.BackColor = Color.FromArgb(0, 96, 250); lbl_GCS.BackColor = Color.FromArgb(224, 224, 224); lbl_TI.BackColor = Color.FromArgb(224, 224, 224); type = 2; GetUNGradStaisicsList(type); } private class GradeStatisicsModel { /// /// /// public string TypeName { get; set; } /// /// /// public List GradeInfos { get; set; } } public class ModelList { } private class GradeInfo { /// /// /// public int Number { get; set; } /// /// /// public string TimeDate { get; set; } } private void simpleButton2_Click(object sender, EventArgs e) { time_starTime.TimeValue = DateTime.Now.AddMonths(-2).ToString(); time_endTime.TimeValue = DateTime.Now.ToString(); GetGradeStatisicsList(); GetUNGradStaisicsList(type); } private void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e) { if (e.Column.FieldName == "Gender") { int value = PublicClass.ToInt32(e.Value, -1); switch (value) { case 0: e.DisplayText = "未知"; break; case 1: e.DisplayText = "男"; break; case 2: e.DisplayText = "女"; break; } } if (e.Column.FieldName == "MPDSType") { string value = e.Value.ToString(); switch (value) { case "1": e.DisplayText = "创伤"; break; case "2": e.DisplayText = "卒中"; break; case "3": e.DisplayText = "胸痛"; break; case "4": e.DisplayText = "其他"; break; } } if (e.Column.FieldName == "ComeHosptialWay") { string value = e.Value.ToString(); switch (value) { case "1": e.DisplayText = "呼救救护车"; break; case "2": e.DisplayText = "外院转诊"; break; case "3": e.DisplayText = "自行来院"; break; case "4": e.DisplayText = "院内发病"; break; case "5": e.DisplayText = "其他"; break; } } if (e.Column.FieldName == "IllnessLevel") { string value = e.Value.ToString(); switch (value) { case "1": e.DisplayText = "濒危"; break; case "2": e.DisplayText = "危重"; break; case "3": e.DisplayText = "急症"; break; case "4": e.DisplayText = "非急症"; break; case "5": e.DisplayText = "已死亡"; break; } } if (e.Column.FieldName == "Whereabouts") { string value = e.Value.ToString(); switch (value) { case "1": e.DisplayText = "离院"; break; case "2": e.DisplayText = "住院"; break; case "3": e.DisplayText = "转院"; break; case "4": e.DisplayText = "死亡"; break; case "5": e.DisplayText = "急诊留观"; break; case "6": e.DisplayText = "其他"; break; } } if (e.Column.FieldName == "Grave") { int value = PublicClass.ToInt32(e.Value, -1); switch (value) { case 0: e.DisplayText = "否"; break; case 1: e.DisplayText = "是"; break; } } } private void userControlForPage_myPagerEvents(int curPage, int pageSize) { this.curPage = curPage; this.pageSize = pageSize; GetUNGradStaisicsList(type); } private void simpleButton3_Click(object sender, EventArgs e) { GetGradeStatisicsList(); GetUNGradStaisicsList(type); } private void simpleButton1_Click(object sender, EventArgs e) { time_starTime.TimeValue = DateTime.Now.AddMonths(-5).ToString(); time_endTime.TimeValue = DateTime.Now.ToString(); GetGradeStatisicsList(); GetUNGradStaisicsList(type); } private void simpleButton4_Click(object sender, EventArgs e) { time_starTime.TimeValue = DateTime.Now.AddMonths(-11).ToString(); time_endTime.TimeValue = DateTime.Now.ToString(); GetGradeStatisicsList(); GetUNGradStaisicsList(type); } } }