StableVersion4.3/HL_FristAidPlatform_Apoplexy/Statistics/Form_CIEVTRate.cs

350 lines
14 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_DTO;
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_Apoplexy
{
public partial class Form_CIEVTRate : XtraForm
{
public int type;
public int flag;
public int totalNumber;
public int pageSize = 5;
public int curPage = 1;
DateTime dt = DateTime.Now;
public Form_CIEVTRate()
{
InitializeComponent();
type = 10;
}
[Obsolete]
private void Form_CIEVTRate_Load(object sender, EventArgs e)
{
time_starTime.TimeValue = dt.AddMonths(-1).AddDays(1 - dt.Day).ToString();
time_endTime.TimeValue = dt.AddMonths(-1).AddDays(1 - dt.Day).AddMonths(1).AddDays(-1).ToString();
GetRateGroupsList();
GetPatientInfoList();
}
/// <summary>
/// 按月分组集合
/// </summary>
[Obsolete]
public void GetRateGroupsList()
{
string startTime = "";
string endTime = "";
if (!string.IsNullOrEmpty(time_starTime.TimeValue.ToString()))
startTime = Convert.ToDateTime(time_starTime.TimeValue).ToString("yyyy-MM-dd");
if (!string.IsNullOrEmpty(time_endTime.TimeValue.ToString()))
endTime = Convert.ToDateTime(time_endTime.TimeValue).ToString("yyyy-MM-dd");
chartControl1.Series.Clear();
Series series1 = new Series("", ViewType.Doughnut);
chartControl2.Series.Clear();
chartControl2.Titles.Clear();
Series series2 = new Series("", ViewType.Bar);
ChartTitle chartTitle2 = new ChartTitle();
chartTitle2.Text = "发病24小时内脑梗死患者行血管内治疗90分钟内完成动脉穿刺率";
chartControl2.Titles.Add(chartTitle2);
int max = 0;
DataDTO data = DBHelpClass.GetDateModel<DataDTO>(string.Format("api/service/T_Service_Apoplexy_PStatistics/GetRateGroupsList?hospitalGuid={0}&startTime={1}&endTime={2}&type={3}", Information.Hospital.GUID, startTime, endTime, type));
if (data != null)
{
lbl_Total.Text = "共计" + data.Total.ToString() + "人";
lbl_Count.Text = data.Count.ToString() + "人";
lbl_Sum.Text = (data.Total - data.Count).ToString() + "人";
double one = 0.00;
double two = 0.00;
if (data.Total > 0)
{
one = (double)data.Count;
two = (double)data.Total;
lbl_AllRate.Text = ((one / two) * 100).ToString("#0.00") + "%";
string sum = (((two - one) / two) * 100).ToString("#0.00");
string sum1 = ((one / two) * 100).ToString("#0.00");
series1.Points.Add(new SeriesPoint("90分钟/不详", sum));
series1.Points.Add(new SeriesPoint("≤90分钟", sum1));
////设置为值
//((PiePointOptions)series1.PointOptions).PercentOptions.ValueAsPercent = false;
//((PiePointOptions)series1.PointOptions).ValueNumericOptions.Format = NumericFormat.Number;
chartControl1.Series.AddRange(new Series[] { series1 });
series1.LegendPointOptions.PointView = PointView.ArgumentAndValues;
series1.LegendPointOptions.Pattern = "{A}: {VP:P2}";
series1.PointOptions.PointView = PointView.ArgumentAndValues;
}
}
// if (data.DataList != null && data.DataList.Count > 0)
// {
// for (int i = 0; i < data.DataList.Count; i++)
// {
// max = data.DataList.Max(j => (int)j.Number);
// series2.Points.Add(new SeriesPoint(data.DataList[i].TimeDate, data.DataList[i].Number));
// }
// }
//}
//chartControl2.Series.AddRange(new Series[] { series2 });
//XYDiagram xyDia = chartControl2.Diagram as XYDiagram;
//xyDia.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual;
//xyDia.AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Month;
//int tempone = max / 5;
//int temptwo = max % 5;
//if (temptwo == 0)
//{
// max = tempone * 5;
//}
//else
//{
// max = (tempone + 1) * 5;
//}
//if (max == 0)
// max = 10;
//xyDia.AxisY.WholeRange.MaxValue = max + tempone * 2;
//xyDia.AxisY.NumericScaleOptions.GridOffset = 0;
//xyDia.AxisY.NumericScaleOptions.GridSpacing = max / 5;
//((XYDiagram)(chartControl2.Diagram)).EnableAxisXScrolling = true;//启用横轴滚动条
}
/// <summary>
/// 患者列表信息
/// </summary>
public void GetPatientInfoList()
{
string startTime = "";
string endTime = "";
if (!string.IsNullOrEmpty(time_starTime.TimeValue.ToString()))
startTime = Convert.ToDateTime(time_starTime.TimeValue).ToString("yyyy-MM-dd");
if (!string.IsNullOrEmpty(time_endTime.TimeValue.ToString()))
endTime = Convert.ToDateTime(time_endTime.TimeValue).ToString("yyyy-MM-dd");
string url = string.Format("api/service/T_Service_Apoplexy_PStatistics/GetCIEVTPatientList?hospitalGuid={0}&startTime={1}&endTime={2}&flag={3}&pageIndex={4}&pageSize={5}", Information.Hospital.GUID, startTime, endTime, flag, 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;
totalNumber = DBHelpClass.TotalNumber;
userControlForPage1.RefreshPager(pageSize, totalNumber, curPage);//更新分页控件显示
}
private void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
{
if (e.Column.FieldName == "Gender")
{
string value = e.Value.ToString();
if (value == "1")
{
e.DisplayText = "男";
}
if (value == "2")
{
e.DisplayText = "女";
}
if (value == "0")
{
e.DisplayText = "未知";
}
}
if (e.Column.FieldName == "Diagnosis")
{
string value = e.Value.ToString();
if (value == "0")
{
e.DisplayText = "脑梗死";
}
if (value == "1")
{
e.DisplayText = "短暂性脑缺血发作";
}
}
if (e.Column.FieldName == "acZLType")
{
string value = e.Value.ToString();
string str = "";
if (!string.IsNullOrEmpty(value))
{
if (value.Contains("01"))
{
if (!string.IsNullOrEmpty(str))
{
str += ";静脉溶栓";
}
else
{
str += "静脉溶栓";
}
}
if (value.Contains("02"))
{
if (!string.IsNullOrEmpty(str))
{
str += ";血管内介入治疗";
}
else
{
str += "血管内介入治疗";
}
}
if (value.Contains("03"))
{
if (!string.IsNullOrEmpty(str))
{
str += ";脑出血";
}
else
{
str += "脑出血";
}
}
if (value.Contains("04"))
{
if (!string.IsNullOrEmpty(str))
{
str += ";颅内动脉瘤";
}
else
{
str += "颅内动脉瘤";
}
}
if (value.Contains("05"))
{
if (!string.IsNullOrEmpty(str))
{
str += ";CEA/CAS";
}
else
{
str += "CEA/CAS";
}
}
if (value.Contains("98"))
{
if (!string.IsNullOrEmpty(str))
{
str += ";保守治疗";
}
else
{
str += "保守治疗";
}
}
}
e.DisplayText = str;
}
}
private void lbl_drt1_Click(object sender, EventArgs e)
{
flag = 0;
lbl_drt1.BackColor = Color.FromArgb(25, 190, 107);
lbl_drt2.BackColor = Color.FromArgb(128, 134, 149);
GetPatientInfoList();
}
private void lbl_drt2_Click(object sender, EventArgs e)
{
flag = 1;
lbl_drt2.BackColor = Color.FromArgb(25, 190, 107);
lbl_drt1.BackColor = Color.FromArgb(128, 134, 149);
GetPatientInfoList();
}
#region 快捷查询按钮及按钮变色
private void sButton_LastMonth_Click(object sender, EventArgs e)
{
sButton_LastMonth.Appearance.BackColor = Color.FromArgb(43, 133, 228);
sButton_ThisMonth.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_ThisQuarter.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_ThisYear.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_Query.Appearance.BackColor = Color.FromArgb(114, 165, 231);
time_starTime.TimeValue = dt.AddMonths(-1).AddDays(1 - dt.Day).ToString();
time_endTime.TimeValue = dt.AddMonths(-1).AddDays(1 - dt.Day).AddMonths(1).AddDays(-1).ToString();
GetRateGroupsList();
GetPatientInfoList();
}
private void sButton_ThisMonth_Click(object sender, EventArgs e)
{
sButton_ThisMonth.Appearance.BackColor = Color.FromArgb(43, 133, 228);
sButton_LastMonth.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_ThisQuarter.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_ThisYear.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_Query.Appearance.BackColor = Color.FromArgb(114, 165, 231);
time_starTime.TimeValue = dt.AddDays(1 - dt.Day).ToString();
time_endTime.TimeValue = dt.AddDays(1 - dt.Day).AddMonths(1).AddDays(-1).ToString();
GetRateGroupsList();
GetPatientInfoList();
}
private void sButton_ThisQuarter_Click(object sender, EventArgs e)
{
sButton_ThisQuarter.Appearance.BackColor = Color.FromArgb(43, 133, 228);
sButton_ThisMonth.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_LastMonth.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_ThisYear.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_Query.Appearance.BackColor = Color.FromArgb(114, 165, 231);
time_starTime.TimeValue = dt.AddMonths(-2).AddDays(1 - dt.Day).ToString();
time_endTime.TimeValue = dt.AddDays(1 - dt.Day).AddMonths(1).AddDays(-1).ToString();
GetRateGroupsList();
GetPatientInfoList();
}
private void sButton_ThisYear_Click(object sender, EventArgs e)
{
sButton_ThisYear.Appearance.BackColor = Color.FromArgb(43, 133, 228);
sButton_ThisMonth.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_ThisQuarter.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_LastMonth.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_Query.Appearance.BackColor = Color.FromArgb(114, 165, 231);
time_starTime.TimeValue = dt.AddMonths(-11).AddDays(1 - dt.Day).ToString();
time_endTime.TimeValue = dt.AddDays(1 - dt.Day).AddMonths(1).AddDays(-1).ToString();
GetRateGroupsList();
GetPatientInfoList();
}
private void sButton_Query_Click(object sender, EventArgs e)
{
sButton_Query.Appearance.BackColor = Color.FromArgb(43, 133, 228);
sButton_ThisMonth.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_ThisQuarter.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_ThisYear.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_LastMonth.Appearance.BackColor = Color.FromArgb(114, 165, 231);
GetRateGroupsList();
GetPatientInfoList();
}
#endregion
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();
}
}
}