350 lines
14 KiB
C#
350 lines
14 KiB
C#
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();
|
||
}
|
||
}
|
||
}
|