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_ReferralStaisics : XtraForm { private int curPage = 1; private int type = 0; /// /// 每页大小 /// private int pageSize = 100; /// /// 所有记录条数 /// private int totalNumber = 0; public Form_ReferralStaisics() { InitializeComponent(); } private void Form_ReferralStaisics_Load(object sender, EventArgs e) { time_starTime.TimeValue = DateTime.Now.AddMonths(-5).ToString(); time_endTime.TimeValue = DateTime.Now.ToString(); GetReferralStatisics(); GetReferralStatisicsList(); } private void simpleButton2_Click(object sender, EventArgs e) { GetReferralStatisics(); GetReferralStatisicsList(); } public void GetReferralStatisics() { string starTime = time_starTime.TimeValue.ToString() == "" ? "" : time_starTime.TimeValue.ToString(); string endTime = time_endTime.TimeValue.ToString() == "" ? "" : time_endTime.TimeValue.ToString(); ReferralStatisicsModel model = DBHelpClass.GetDateModel(string.Format("api/service/T_Service_Trauma_MassiveDataStatistics/GetReferralStatisics?hospitalGuid={0}&starTime={1}&endTime={2}", Information.Hospital.GUID, starTime, endTime)); if (model != null) { lbl_TotalNumber.Text = model.TotalNumber.ToString(); lbl_TransferIntoNumber.Text = model.TransferIntoNumber.ToString(); lbl_TransferOutNumber.Text = model.TransferOutNumber.ToString(); chartControl1.Series.Clear(); chartControl1.Titles.Clear(); Series series = new Series("占比统计", ViewType.Pie); ; int TransferIntoNumber = (int)(((double)model.TransferIntoNumber / (double)model.TotalNumber) * 100); series.Points.Add(new SeriesPoint("接受外院转诊病人比例", TransferIntoNumber)); int TransferOutNumber = (int)(((double)model.TransferOutNumber / (double)model.TotalNumber) * 100); series.Points.Add(new SeriesPoint("转诊治疗创伤病人比例", TransferOutNumber)); ChartTitle chartTitle1 = new ChartTitle(); chartTitle1.Text = "转诊占比统计"; chartControl1.Titles.Add(chartTitle1); series.Label.TextPattern = "{A}: {VP:p0}"; ((PieSeriesLabel)series.Label).Position = PieSeriesLabelPosition.TwoColumns; ((PieSeriesLabel)series.Label).ResolveOverlappingMode = ResolveOverlappingMode.Default; chartControl1.Series.AddRange(series); } } public void GetReferralStatisicsList() { string starTime = time_starTime.TimeValue == null ? "" : time_starTime.TimeValue.ToString(); string endTime = time_endTime.TimeValue == null ? "" : time_endTime.TimeValue.ToString(); string Url = string.Format("api/service/T_Service_TraumaPatient/GetReferralStatisicsList?hospitalGuid={0}&starTime={1}&endTime={2}&type={3}&pageIndex={4}&pageSize={5}", Information.Hospital.GUID, starTime, endTime, 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; gridView1.BestFitColumns(); totalNumber = DBHelpClass.TotalNumber; userControlForPage.RefreshPager(pageSize, totalNumber, curPage);//更新分页控件显示。 } /// /// /// public class ReferralStatisicsModel { /// /// 总人数 /// public int TotalNumber { get; set; } /// /// 接受外院转入总人数 /// public int TransferIntoNumber { get; set; } /// /// 转出总人数 /// public int TransferOutNumber { get; set; } } private void lbl_highIntegrity_Click(object sender, EventArgs e) { lbl_highIntegrity.BackColor = Color.FromArgb(0, 96, 250); lbl_middleIntegrity.BackColor = Color.FromArgb(224, 224, 224); type = 0; GetReferralStatisicsList(); } private void lbl_middleIntegrity_Click(object sender, EventArgs e) { lbl_middleIntegrity.BackColor = Color.FromArgb(0, 96, 250); lbl_highIntegrity.BackColor = Color.FromArgb(224, 224, 224); type = 1; GetReferralStatisicsList(); } private void userControlForPage_myPagerEvents(int curPage, int pageSize) { this.curPage = curPage; this.pageSize = pageSize; GetReferralStatisicsList(); } 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") { int value = PublicClass.ToInt32(e.Value, -1); switch (value) { case 1: e.DisplayText = "创伤"; break; case 2: e.DisplayText = "胸痛"; break; case 3: e.DisplayText = "卒中"; break; case 4: e.DisplayText = "其他"; break; } } } private void simpleButton5_Click(object sender, EventArgs e) { time_starTime.TimeValue = DateTime.Now.AddMonths(-2).ToString(); time_endTime.TimeValue = DateTime.Now.ToString(); GetReferralStatisics(); GetReferralStatisicsList(); } private void simpleButton1_Click(object sender, EventArgs e) { time_starTime.TimeValue = DateTime.Now.AddMonths(-5).ToString(); time_endTime.TimeValue = DateTime.Now.ToString(); GetReferralStatisics(); GetReferralStatisicsList(); } private void simpleButton4_Click(object sender, EventArgs e) { time_starTime.TimeValue = DateTime.Now.AddMonths(-11).ToString(); time_endTime.TimeValue = DateTime.Now.ToString(); GetReferralStatisics(); GetReferralStatisicsList(); } } }