StableVersion4.3/HL_FristAidPlatform_Trauma/Form_GradeStatisics.cs

374 lines
13 KiB
C#
Raw Permalink Normal View History

2024-03-11 09:47:34 +08:00
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);
}
}
}