125 lines
7.3 KiB
C#
125 lines
7.3 KiB
C#
|
using DevExpress.XtraCharts;
|
|||
|
using DevExpress.XtraEditors;
|
|||
|
using HL_FristAidPlatform_Public;
|
|||
|
using System;
|
|||
|
using System.Data;
|
|||
|
using System.Linq;
|
|||
|
|
|||
|
namespace HL_FristAidPlatform_Apoplexy
|
|||
|
{
|
|||
|
public partial class Form_StatisticsHome : XtraForm
|
|||
|
{
|
|||
|
public Form_StatisticsHome()
|
|||
|
{
|
|||
|
////设定按字体来缩放控件
|
|||
|
//this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
|||
|
////设定字体大小为12px
|
|||
|
//this.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(134)));
|
|||
|
InitializeComponent();
|
|||
|
}
|
|||
|
|
|||
|
private void Form_StatisticsHome_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
DataTable EmergencyRoomDataTable = new DataTable();
|
|||
|
DataTable ThrombolysisDataTable = new DataTable();
|
|||
|
DataTable InterveneDataTable = new DataTable();
|
|||
|
DataTable PatientDataTable = new DataTable();
|
|||
|
//没有所有院区权限 只获取当前院区数据
|
|||
|
if (!PublicHelp.IsHaveAllDistrictRight(Information.User.ID))
|
|||
|
{
|
|||
|
EmergencyRoomDataTable = DBHelpClass.Get("api/service/T_Service_Apoplexy_EmergencyRoom/GetModelByReport?where=DeleteFlag=0 and ReportType=0 and PatientGuid in (select GUID from T_Service_Patient where HospitalGuid='" + Information.Hospital.GUID + "')");
|
|||
|
ThrombolysisDataTable = DBHelpClass.Get("api/service/T_Service_EMR_Thrombolysis/GetModelByReport?where=DeleteFlag=0 and ReportType=0 and PatientGuid in (select GUID from T_Service_Patient where HospitalGuid='" + Information.Hospital.GUID + "')");
|
|||
|
InterveneDataTable = DBHelpClass.Get("api/service/T_Service_EMR_Intervene/GetModelByReport?where=DeleteFlag=0 and ReportType=0 and PatientGuid in (select GUID from T_Service_Patient where HospitalGuid='" + Information.Hospital.GUID + "')");
|
|||
|
PatientDataTable = DBHelpClass.Get("api/service/T_Service_Patient/GetModelByReport?where=HospitalGuid='" + Information.Hospital.GUID + "'");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
EmergencyRoomDataTable = DBHelpClass.Get("api/service/T_Service_Apoplexy_EmergencyRoom/GetModelByReport?where=DeleteFlag=0 and ReportType=0");
|
|||
|
ThrombolysisDataTable = DBHelpClass.Get("api/service/T_Service_EMR_Thrombolysis/GetModelByReport?where=DeleteFlag=0 and ReportType=0");
|
|||
|
InterveneDataTable = DBHelpClass.Get("api/service/T_Service_EMR_Intervene/GetModelByReport?where=DeleteFlag=0 and ReportType=0");
|
|||
|
PatientDataTable = DBHelpClass.Get("api/service/T_Service_Patient/GetModelByReport?where=1=1");
|
|||
|
}
|
|||
|
|
|||
|
DataTable data = new DataTable("table1");
|
|||
|
data.Columns.Add("Name", typeof(string));
|
|||
|
data.Columns.Add("Value", typeof(int));
|
|||
|
var query = from t in EmergencyRoomDataTable.AsEnumerable()
|
|||
|
group t by new { t1 = t.Field<string>("Diagnose") } into m
|
|||
|
select new
|
|||
|
{
|
|||
|
name = m.Key.t1,
|
|||
|
count = m.Count()
|
|||
|
};
|
|||
|
foreach (var item in query.ToList())
|
|||
|
{
|
|||
|
data.Rows.Add(item.name, item.count);
|
|||
|
}
|
|||
|
Series series = new Series("卒中病种统计", ViewType.Bar);
|
|||
|
series.ValueDataMembers[0] = "Value";
|
|||
|
series.ArgumentDataMember = "Name";
|
|||
|
chartControl1.DataSource = data;
|
|||
|
chartControl1.Series.Add(series);
|
|||
|
series.LegendTextPattern = "{A}:{V}";
|
|||
|
series.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True;//显示标注标签
|
|||
|
|
|||
|
DataTable dataThrombolysis = new DataTable("table1");
|
|||
|
dataThrombolysis.Columns.Add("Name", typeof(string));
|
|||
|
dataThrombolysis.Columns.Add("Value", typeof(int));
|
|||
|
double average = 0;
|
|||
|
for (int i = 0; i < ThrombolysisDataTable.Rows.Count; i++)
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(ThrombolysisDataTable.Rows[i]["DNT"].ToString()))
|
|||
|
{
|
|||
|
average += Convert.ToDouble(ThrombolysisDataTable.Rows[i]["DNT"].ToString());
|
|||
|
dataThrombolysis.Rows.Add(ThrombolysisDataTable.Rows[i]["DNT"], average / (i + 1));
|
|||
|
}
|
|||
|
}
|
|||
|
Series seriesThrombolysis = new Series("DNT平均时间", ViewType.Line);
|
|||
|
seriesThrombolysis.ValueDataMembers[0] = "Value";
|
|||
|
seriesThrombolysis.ArgumentDataMember = "Name";
|
|||
|
seriesThrombolysis.DataSource = dataThrombolysis;
|
|||
|
chartControl_Patient.Series.Add(seriesThrombolysis);
|
|||
|
seriesThrombolysis.LegendTextPattern = "{A}:{V}";
|
|||
|
seriesThrombolysis.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True;//显示标注标签
|
|||
|
|
|||
|
DataTable dataIntervene = new DataTable("table1");
|
|||
|
dataIntervene.Columns.Add("Name", typeof(string));
|
|||
|
dataIntervene.Columns.Add("Value", typeof(int));
|
|||
|
double average1 = 0;
|
|||
|
for (int i = 0; i < InterveneDataTable.Rows.Count; i++)
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(InterveneDataTable.Rows[i]["DPT"].ToString()))
|
|||
|
{
|
|||
|
average1 += Convert.ToDouble(InterveneDataTable.Rows[i]["DPT"].ToString());
|
|||
|
dataIntervene.Rows.Add(InterveneDataTable.Rows[i]["DPT"], average1 / (i + 1));
|
|||
|
}
|
|||
|
}
|
|||
|
Series seriesIntervene = new Series("DPT平均时间", ViewType.Line);
|
|||
|
seriesIntervene.ValueDataMembers[0] = "Value";
|
|||
|
seriesIntervene.ArgumentDataMember = "Name";
|
|||
|
seriesIntervene.DataSource = dataIntervene;
|
|||
|
chartControl3.Series.Add(seriesIntervene);
|
|||
|
seriesIntervene.LegendTextPattern = "{A}:{V}";
|
|||
|
seriesIntervene.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True;//显示标注标签
|
|||
|
|
|||
|
DataTable dataIntervene1 = new DataTable("table1");
|
|||
|
dataIntervene1.Columns.Add("Name", typeof(string));
|
|||
|
dataIntervene1.Columns.Add("Value", typeof(double));
|
|||
|
dataIntervene1.Rows.Add("卒中其他治疗总数", PatientDataTable.Rows.Count - InterveneDataTable.Rows.Count);
|
|||
|
dataIntervene1.Rows.Add("卒中动脉溶栓/取栓/动脉桥接取栓总数", InterveneDataTable.Rows.Count);
|
|||
|
Series seriesIntervene1 = new Series("卒中动脉溶栓/取栓/动脉桥接取栓统计", ViewType.Doughnut);
|
|||
|
seriesIntervene1.ValueDataMembers[0] = "Value";
|
|||
|
seriesIntervene1.ArgumentDataMember = "Name";
|
|||
|
seriesIntervene1.DataSource = dataIntervene1;
|
|||
|
chartControl2.Series.Add(seriesIntervene1);
|
|||
|
seriesIntervene1.LegendTextPattern = "{A}:{V}";
|
|||
|
seriesIntervene1.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True;//显示标注标签
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|