374 lines
13 KiB
C#
374 lines
13 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.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;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 每页大小
|
|||
|
/// </summary>
|
|||
|
private int pageSize = 100;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 所有记录条数
|
|||
|
/// </summary>
|
|||
|
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<GradeStatisicsModel> list = DBHelpClass.GetList<GradeStatisicsModel>(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<int> lst = new List<int>();
|
|||
|
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
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
public string TypeName { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
public List<GradeInfo> GradeInfos { get; set; }
|
|||
|
}
|
|||
|
|
|||
|
public class ModelList
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
private class GradeInfo
|
|||
|
{
|
|||
|
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
public int Number { get; set; }
|
|||
|
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
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);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|