StableVersion4.3/HL_FristAidPlatform_Apoplexy/Form_CerebralHemorrhage.cs

181 lines
7.2 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using DevExpress.XtraCharts;
using DevExpress.XtraEditors;
using HL_FristAidPlatform_Public;
using System;
using System.Collections.Generic;
using System.Data;
using System.Windows.Forms;
namespace HL_FristAidPlatform_Apoplexy
{
public partial class Form_CerebralHemorrhageNIHSS : XtraForm
{
#region 变量
/// <summary>
/// 当前页
/// </summary>
private int curPage = 1;
/// <summary>
/// 所有记录条数
/// </summary>
public int totalNumber = 0;
/// <summary>
/// 每页大小
/// </summary>
private int pageSize = 28;
/// <summary>
///Guid
/// </summary>
private string Guid;
#endregion 变量
public Form_CerebralHemorrhageNIHSS()
{
InitializeComponent();
}
private void Form_CerebralHemorrhageNIHSS_Load(object sender, EventArgs e)
{
timeControl_start.TimeValue = DateTime.Now.AddMonths(-1).ToString("yyyy-MM-dd");
timeControl_end.TimeValue = DateTime.Now.ToString("yyyy-MM-dd");
bing(curPage, Convert.ToDateTime(timeControl_start.TimeValue), Convert.ToDateTime(timeControl_end.TimeValue).AddDays(1));
}
private void button_CerebralHemorrhageNIHSS_Click(object sender, EventArgs e)
{
bing(curPage, Convert.ToDateTime(timeControl_start.TimeValue), Convert.ToDateTime(timeControl_end.TimeValue).AddDays(1));
}
public void bing(int curPage, DateTime time1, DateTime time2)
{
try
{
if (!string.IsNullOrEmpty(time1.ToString()) && !string.IsNullOrEmpty(time2.ToString()) && Convert.ToDateTime(time1) < Convert.ToDateTime(time2))
{
string Url = string.Format("api/service/T_Service_Apoplexy_CerebralHemorrhageNIHSS/GetModelByHT?startTime={0}&endTime={1}&hospitalGuid={2}",
time1, time2, Information.Hospital.GUID);
List<T_Service_Apoplexy_CerebralHemorrhageNIHSSModel> list = DBHelpClass.GetList<T_Service_Apoplexy_CerebralHemorrhageNIHSSModel>(Url);
chartControl1.Series.Clear();
Series series1 = new Series("", ViewType.Pie);
series1.Points.Clear();
if (list != null && list.Count > 0)
{
for (int i = 0; i < list.Count; i++)
{
labelControl4.Text = "卒中患者总人数:" + list[i].apoplexyCount.ToString();
labelControl3.Text = "已做入院NIHSS人数:" + list[i].nihssCount.ToString();
double n = 0;
if (list[i].apoplexyCount != 0 && list[i].nihssCount != 0)
{
n = list[i].nihssCount * 100 / list[i].apoplexyCount;
}
labelControl2.Text = "入院NIHSS评分率:" + n.ToString("f0") + "%";
series1.Points.Add(new SeriesPoint("入院NIHSS评分人数(未评)" + "", new double[] { (double)(list[i].apoplexyCount - list[i].nihssCount) }));
series1.Points.Add(new SeriesPoint("入院NIHSS评分人数(已评)" + "", new double[] { (double)list[i].nihssCount }));
}
}
series1.Label.TextPattern = "{A}: {VP:p0}";
((PieSeriesLabel)series1.Label).Position = PieSeriesLabelPosition.TwoColumns;
((PieSeriesLabel)series1.Label).ResolveOverlappingMode = ResolveOverlappingMode.Default;
chartControl1.Series.AddRange(series1);
string Url1 = string.Format("api/service/T_Service_Apoplexy_CerebralHemorrhageNIHSS/GetListByHospitalGuid?pageIndex={0}&pageSize={1}&startTime={2}&endTime={3}&hospitalGuid={4}",
curPage, pageSize, time1, time2, Information.Hospital.GUID);
DataTable dt = DBHelpClass.Get(Url1);
if (dt != null)
{
gridControl1.DataSource = dt;
totalNumber = DBHelpClass.TotalNumber;
userControlForPage1.RefreshPager(pageSize, totalNumber, curPage);//更新分页控件显示。
}
}
else
{
XtraMessageBox.Show("请选择正确的时间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "nihss评分率\r\n" + ex);
}
}
private void MyPagerEvents(int curPage, int pageSize)
{
this.curPage = curPage;
this.pageSize = pageSize;
bing(curPage, Convert.ToDateTime(timeControl_start.TimeValue), Convert.ToDateTime(timeControl_end.TimeValue));
}
public void ExportEvents(bool singlePage)//单页,所有
{
}
private void userControlForPage1_myPagerEvents(int curPage, int pageSize)
{
userControlForPage1.myPagerEvents += MyPagerEvents;
}
private void userControlForPage1_exportEvents(bool singlePage)
{
userControlForPage1.exportEvents += ExportEvents;
}
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 gridView1_DoubleClick(object sender, EventArgs e)
{
if (gridView1.DataRowCount > 0)
{
int selectRow = gridView1.GetSelectedRows()[0];
Guid = gridView1.GetRowCellValue(selectRow, "GUID").ToString();
if (Guid != null)
{
Form_PatientDetail fpd = new Form_PatientDetail(Guid, "1");
fpd.WindowState = FormWindowState.Maximized;
fpd.Show();
}
}
}
public class T_Service_Apoplexy_CerebralHemorrhageNIHSSModel
{
public int apoplexyCount { get; set; }
public int nihssCount { get; set; }
}
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();
}
}
}