StableVersion4.3/HL_FristAidPlatform_Trauma/Form_ReferralStaisics.cs

202 lines
7.8 KiB
C#

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;
/// <summary>
/// 每页大小
/// </summary>
private int pageSize = 100;
/// <summary>
/// 所有记录条数
/// </summary>
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<ReferralStatisicsModel>(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);//更新分页控件显示。
}
/// <summary>
///
/// </summary>
public class ReferralStatisicsModel
{
/// <summary>
/// 总人数
/// </summary>
public int TotalNumber { get; set; }
/// <summary>
/// 接受外院转入总人数
/// </summary>
public int TransferIntoNumber { get; set; }
/// <summary>
/// 转出总人数
/// </summary>
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();
}
}
}