using DevExpress.XtraCharts; using DevExpress.XtraEditors; using HL_FristAidPlatform_Public; using System; using System.Collections.Generic; using System.Windows.Forms; namespace HL_FristAidPlatform_Apoplexy { public partial class sum : XtraForm { public string startTime; public string endTime; public string aczlType; public int reportingStatus; //public DataTable dt; public sum() { InitializeComponent(); } private void sum_Load(object sender, EventArgs e) { timeControl1.TimeValue = DateTime.Now.AddMonths(-6).ToString("yyyy-MM-dd"); timeControl2.TimeValue = DateTime.Now.ToString("yyyy-MM-dd"); GetRS60(Convert.ToDateTime(timeControl1.TimeValue), Convert.ToDateTime(timeControl2.TimeValue).AddDays(1), Information.Hospital.GUID); GetRSZLDNTList(Convert.ToDateTime(timeControl1.TimeValue), Convert.ToDateTime(timeControl2.TimeValue).AddDays(1), Information.Hospital.GUID); } private void simpleButton1_Click(object sender, EventArgs e) { startTime = timeControl1.TimeValue; endTime = timeControl2.TimeValue; GetRS60(Convert.ToDateTime(startTime), Convert.ToDateTime(endTime).AddDays(1), Information.Hospital.GUID); GetRSZLDNTList(Convert.ToDateTime(startTime), Convert.ToDateTime(endTime).AddDays(1), Information.Hospital.GUID); } public void GetRS60(DateTime startT, DateTime endT, string hospitalGuid) { try { int type = 0; if (radio_DNT60.Checked == true) type = 0; if (radio_DNT35.Checked == true) type = 1; chartControl1.Series.Clear(); chartControl1.Titles.Clear(); Series series1= new Series("脑梗死患者静脉溶栓的DNT合格比例", ViewType.Pie); //series1.Points.Clear(); ChartTitle chartTitle2 = new ChartTitle(); if (type == 1) { chartTitle2.Text = "脑梗死患者静脉溶栓的DNT时间小于35分钟"; } if (type == 0) { chartTitle2.Text = "脑梗死患者静脉溶栓的DNT时间小于60分钟"; } chartControl1.Titles.Add(chartTitle2); string Url = string.Format("/api/service/T_Service_Apoplexy_Statistics/GetRSZLDNT?startTime={0}&endTime={1}&hospitalGuid={2}&type={3}", startT, endT, hospitalGuid, type); List list = DBHelpClass.GetList(Url); if (list != null) { for (int i = 0; i < list.Count; i++) { series1.Points.Add(new SeriesPoint("不合格数" + " " + list[i].rsCount.ToString() + "个", new double[] { Convert.ToInt32(list[i].rsCount.ToString()) })); series1.Points.Add(new SeriesPoint("合格数" + " " + list[i].rs60.ToString() + "个", new double[] { Convert.ToInt32(list[i].rs60.ToString()) })); } } series1.Label.TextPattern = "{A}: {VP:p0}"; ((PieSeriesLabel)series1.Label).Position = PieSeriesLabelPosition.TwoColumns; ((PieSeriesLabel)series1.Label).ResolveOverlappingMode = ResolveOverlappingMode.Default; chartControl1.Series.Add(series1); } catch (Exception ex) { PublicClass.WriteErrorLog(this.Text, "获取脑梗死患者静脉溶栓小于60分钟统计数据:\r\n" + ex); } } public void GetRSZLDNTList(DateTime startT, DateTime endT, string hospitalGuid) { try { int type = 0; if (radio_DNT60.Checked == true) type = 0; if (radio_DNT35.Checked == true) type = 1; string Url = string.Format("/api/service/T_Service_Apoplexy_Statistics/GetRSZLDNTList?startTime={0}&endTime={1}&hospitalGuid={2}&type={3}", startT, endT, hospitalGuid, type); List list = DBHelpClass.GetList(Url); if (list != null) { gridControl1.DataSource = list; } } catch (Exception ex) { PublicClass.WriteErrorLog(this.Text, "获取脑梗死患者静脉溶栓大于60分钟统计数据列表:\r\n" + ex); } } public class rs60DNT { public int rsCount { get; set; } public int rs60 { get; set; } } public class rs60upDNTList { public long ID { get; set; } public string GUID { get; set; } public string Name { get; set; } public string RSDNT { get; set; } public int Gender { get; set; } public string acZLType { get; set; } public int ReportingStatus { get; set; } public DateTime? CreationDate { get; set; } } private void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e) { if (e.Column.FieldName == "Gender") { if (e.Value != null) { switch (e.Value.ToString().Trim()) { case "1": e.DisplayText = "男"; break; case "2": e.DisplayText = "女"; break; default: e.DisplayText = "未知"; break; } } } } private void gridControl1_DoubleClick(object sender, EventArgs e) { try { ShowDetail(); } catch (Exception ex) { PublicClass.WriteErrorLog(this.Text, "DNT时间大于60分钟查看患者详情:\r\n" + ex); } } private void ShowDetail() { if (gridView1.DataRowCount > 0) { int selectRow = gridView1.GetSelectedRows()[0]; long PatientID = PublicClass.ToInt64(gridView1.GetRowCellValue(selectRow, "ID").ToString(), 0); string GUID = gridView1.GetRowCellValue(selectRow, "GUID").ToString(); //string HospitalGuid = gridView1.GetRowCellValue(selectRow, "HospitalGuid").ToString(); string aczlType = gridView1.GetRowCellValue(selectRow, "acZLType").ToString(); int reportingStatus = int.Parse(gridView1.GetRowCellValue(selectRow, "ReportingStatus").ToString()); string dntsum = "1"; if (PatientID > 0) { //string _patientGuid = "", long _patientWristStrap = 0, string _aczlType = "", int _reportingStatus = 0 Form_PatientDetail detail = new Form_PatientDetail(GUID, dntsum); detail.WindowState = FormWindowState.Maximized; detail.Owner = this; detail.Show(); //detail.ShowDialog(); //loading.HideMessage(); } } } private void radio_DNT60_CheckedChanged(object sender, EventArgs e) { if (radio_DNT60.Checked == true) { gridView1.GroupPanelText = "脑梗死患者静脉溶栓的DNT时间大于60分钟"; GetRS60(Convert.ToDateTime(startTime), Convert.ToDateTime(endTime).AddDays(1), Information.Hospital.GUID); GetRSZLDNTList(Convert.ToDateTime(startTime), Convert.ToDateTime(endTime).AddDays(1), Information.Hospital.GUID); } } private void radio_DNT35_CheckedChanged(object sender, EventArgs e) { if (radio_DNT35.Checked == true) { gridView1.GroupPanelText = "脑梗死患者静脉溶栓的DNT时间大于35分钟"; GetRS60(Convert.ToDateTime(startTime), Convert.ToDateTime(endTime).AddDays(1), Information.Hospital.GUID); GetRSZLDNTList(Convert.ToDateTime(startTime), Convert.ToDateTime(endTime).AddDays(1), Information.Hospital.GUID); } } private void gridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e) { if (e.Info.IsRowIndicator && e.RowHandle >= 0) e.Info.DisplayText = (e.RowHandle + 1).ToString(); } } }