StableVersion4.3/HL_FristAidPlatform_Trauma/Form_Index.cs

182 lines
8.0 KiB
C#

using DevExpress.XtraEditors;
using HL_FristAidPlatform_DTO;
using HL_FristAidPlatform_Public;
using Newtonsoft.Json;
using System;
using System.Data;
using System.Drawing;
using System.IO;
using System.Threading;
using System.Windows.Forms;
namespace HL_FristAidPlatform_Trauma
{
public partial class Form_Index : XtraForm
{
public Form_Index()
{
InitializeComponent();
}
/// <summary>
/// 窗体加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form_Index_Load(object sender, EventArgs e)
{
TraumaHomePageStatisticsDTO dto = JsonConvert.DeserializeObject<TraumaHomePageStatisticsDTO>(DBHelpClass.GetDateOfStr(string.Format("api/service/T_Service_Trauma_MassiveDataStatistics/GetTraumaHomePageStatistics?hospitalGuid={0}", Information.Hospital.GUID)));
if (dto != null)
{
lbl_ToDayCaseCount.Text = dto.ToDayCount.ToString();
lbl_ThisMonthCount.Text = dto.MonthCount.ToString();
lbl_ThisYear.Text = dto.YearCount.ToString();
lbl_GraveCount.Text = dto.TotalCount.ToString();
lbl_Total.Text = dto.GraveCount.ToString();
lbl_GCSCount.Text = "GCS完成比率:" + dto.GCSCount + "%";
lbl_TICount.Text = "TI完成比率:" + dto.TICount + "%";
lbl_ISSCount.Text = "ISS完成比率:" + dto.ISSCount + "%";
lbl_TransferINCount.Text = dto.TransferINCount + "%";
lbl_TransferOutCount.Text = dto.TransferOutCount + "%";
}
//创伤病人病死率
DataTable data = new DataTable();
data.Columns.Add("name", typeof(string));
data.Columns.Add("value", typeof(int));
DataTable b = DBHelpClass.GetJsonText("api/service/T_Service_Trauma_MassiveDataStatistics/GetCaseFatalityRate");
foreach (DataColumn item in b.Columns)
{
if (!string.IsNullOrEmpty(int.Parse(b.Rows[0][0] + "") + "") && int.Parse(b.Rows[0][0] + "") != 0)
{
int number = (int.Parse(b.Rows[0][1] + "") * 100) / int.Parse(b.Rows[0][0] + "");
int number1 = 100 - number;
if (item.ColumnName == "总人数")
{
data.Rows.Add("未死亡占比", number1);
}
if (item.ColumnName == "死亡人数")
{
data.Rows.Add("死亡占比", number);
}
}
}
chartControl2.Series["Series1"].ArgumentDataMember = "name";
chartControl2.Series["Series1"].ValueDataMembers[0] = "value";
chartControl2.Series["Series1"].DataSource = data;
//院前急救转运时间
DataTable data1 = new DataTable();
data1.Columns.Add("name", typeof(string));
data1.Columns.Add("value", typeof(int));
DataTable a = DBHelpClass.GetJsonText("api/service/T_Service_Trauma_MassiveDataStatistics/GetTransferTime");
DataTable data2 = new DataTable();
data2.Columns.Add("name", typeof(string));
data2.Columns.Add("value", typeof(int));
int j = 1;
int avg = 0;
foreach (DataRow item in a.Rows)
{
data1.Rows.Add(j++, int.Parse(item[0] + "" == "" ? "0" : item[0] + ""));
avg += int.Parse(item[0] + "" == "" ? "0" : item[0] + "");
}
chartControl1.Series["患者转运时间"].ArgumentDataMember = "name";
chartControl1.Series["患者转运时间"].ValueDataMembers[0] = "value";
chartControl1.Series["患者转运时间"].DataSource = data1;
for (int name = 1; name < j; name++)
{
data2.Rows.Add(name, avg / j);
}
chartControl1.Series["平均时间"].ValueDataMembers[0] = "value";
chartControl1.Series["平均时间"].ArgumentDataMember = "name";
chartControl1.Series["平均时间"].DataSource = data2;
//t.Elapsed += new System.Timers.ElapsedEventHandler(Execute);//到达时间的时候执行事件;
//t.AutoReset = true;
//t.Enabled = true;
//t.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
TraumaHomePageStatisticsDTO dto = JsonConvert.DeserializeObject<TraumaHomePageStatisticsDTO>(DBHelpClass.GetDateOfStr(string.Format("api/service/T_Service_Trauma_MassiveDataStatistics/GetTraumaHomePageStatistics?hospitalGuid={0}", Information.Hospital.GUID)));
if (dto != null)
{
lbl_ToDayCaseCount.Text = dto.ToDayCount.ToString();
lbl_ThisMonthCount.Text = dto.MonthCount.ToString();
lbl_ThisYear.Text = dto.YearCount.ToString();
lbl_GraveCount.Text = dto.TotalCount.ToString();
lbl_Total.Text = dto.GraveCount.ToString();
lbl_GCSCount.Text = "GCS完成比率:" + dto.GCSCount + "%";
lbl_TICount.Text = "TI完成比率:" + dto.TICount + "%";
lbl_ISSCount.Text = "ISS完成比率:" + dto.ISSCount + "%";
lbl_TransferINCount.Text = dto.TransferINCount + "%";
lbl_TransferOutCount.Text = dto.TransferOutCount + "%";
}
//创伤病人病死率
DataTable data = new DataTable();
data.Columns.Add("name", typeof(string));
data.Columns.Add("value", typeof(int));
DataTable b = DBHelpClass.GetJsonText("api/service/T_Service_Trauma_MassiveDataStatistics/GetCaseFatalityRate");
foreach (DataColumn item in b.Columns)
{
if (!string.IsNullOrEmpty(int.Parse(b.Rows[0][0] + "") + "") && int.Parse(b.Rows[0][0] + "") != 0)
{
int number = (int.Parse(b.Rows[0][1] + "") * 100) / int.Parse(b.Rows[0][0] + "");
int number1 = 100 - number;
if (item.ColumnName == "总人数")
{
data.Rows.Add("未死亡占比", number1);
}
if (item.ColumnName == "死亡人数")
{
data.Rows.Add("死亡占比", number);
}
}
}
chartControl2.Series["Series1"].ArgumentDataMember = "name";
chartControl2.Series["Series1"].ValueDataMembers[0] = "value";
chartControl2.Series["Series1"].DataSource = data;
//院前急救转运时间
DataTable data1 = new DataTable();
data1.Columns.Add("name", typeof(string));
data1.Columns.Add("value", typeof(int));
DataTable a = DBHelpClass.GetJsonText("api/service/T_Service_Trauma_MassiveDataStatistics/GetTransferTime");
DataTable data2 = new DataTable();
data2.Columns.Add("name", typeof(string));
data2.Columns.Add("value", typeof(int));
int j = 1;
int avg = 0;
foreach (DataRow item in a.Rows)
{
data1.Rows.Add(j++, int.Parse(item[0] + "" == "" ? "0" : item[0] + ""));
avg += int.Parse(item[0] + "" == "" ? "0" : item[0] + "");
}
chartControl1.Series["患者转运时间"].ArgumentDataMember = "name";
chartControl1.Series["患者转运时间"].ValueDataMembers[0] = "value";
chartControl1.Series["患者转运时间"].DataSource = data1;
for (int name = 1; name < j; name++)
{
data2.Rows.Add(name, avg / j);
}
chartControl1.Series["平均时间"].ValueDataMembers[0] = "value";
chartControl1.Series["平均时间"].ArgumentDataMember = "name";
chartControl1.Series["平均时间"].DataSource = data2;
}
}
}