StableVersion4.3/HL_FristAidPlatform_Apoplexy/Statistics/Form_AntiplateletDrugTreatm...

494 lines
19 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_AntiplateletDrugTreatmentRate : XtraForm
{
public int flag;
public int totalNumber;
public int pageSize = 5;
public int curPage = 1;
DateTime dt = DateTime.Now;
public Form_AntiplateletDrugTreatmentRate()
{
InitializeComponent();
flag = 0;
}
[Obsolete]
private void Form_AntiplateletDrugTreatmentRate_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();
chartControl1.Titles.Clear();
Series series1 = new Series("每月药物治疗率", ViewType.Bar);
ChartTitle chartTitle1 = new ChartTitle();
chartTitle1.Text = "";
chartControl1.Titles.Add(chartTitle1);
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, 1));
if (data != null)
{
double one = 0.00;
double two = 0.00;
if (data.Total > 0)
{
chartControl2.Series.Clear();
lbl_number1.Text = data.Total.ToString();
lbl_number2.Text = data.Count.ToString();
lbl_number3.Text = (data.Total - data.Count).ToString();
Series series2 = new Series("药物治疗率整体占比", ViewType.Doughnut);
one = (double)data.Count;
two = (double)data.Total;
if (data.Total > 0 && data.Count > 0)
{ lbl_AllRate.Text = ((one / two) * 100).ToString("#0.00") + "%"; }
else { lbl_AllRate.Text = "0%"; }
string sum = (((two - one) / two) * 100).ToString("#0.00");
string sum1 = ((one / two) * 100).ToString("#0.00");
series2.Points.Add(new SeriesPoint("未做", sum));
series2.Points.Add(new SeriesPoint("已做", sum1));
series2.LegendPointOptions.PointView = PointView.ArgumentAndValues;
series2.LegendPointOptions.Pattern = "{A}: {VP:P2}";
series2.PointOptions.PointView = PointView.ArgumentAndValues;
series1.Label.TextPattern = "{A}: {VP:P2}";
chartControl2.Series.AddRange(new Series[] { series2 });
}
else { lbl_AllRate.Text = "0%"; }
}
// 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);
// series1.Points.Add(new SeriesPoint(data.DataList[i].TimeDate, data.DataList[i].Number));
// }
// }
//}
//BarSeriesView bsv = (BarSeriesView)series1.View;
//bsv.BarWidth = 0.2;
//chartControl1.Series.AddRange(new Series[] { series1 });
//XYDiagram xyDia = chartControl1.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)(chartControl1.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/GetTIACVDDAPTPatientList?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);//更新分页控件显示
}
[Obsolete]
private void simpleButton3_Click(object sender, EventArgs e)
{
time_starTime.TimeValue = DateTime.Now.AddMonths(-2).ToString();
time_endTime.TimeValue = DateTime.Now.ToString();
GetRateGroupsList();
GetPatientInfoList();
}
[Obsolete]
private void simpleButton4_Click(object sender, EventArgs e)
{
time_starTime.TimeValue = DateTime.Now.AddMonths(-5).ToString();
time_endTime.TimeValue = DateTime.Now.ToString();
GetRateGroupsList();
GetPatientInfoList();
}
[Obsolete]
private void simpleButton2_Click(object sender, EventArgs e)
{
GetRateGroupsList();
GetPatientInfoList();
}
[Obsolete]
private void simpleButton1_Click(object sender, EventArgs e)
{
time_starTime.TimeValue = "";
time_endTime.TimeValue = "";
GetRateGroupsList();
GetPatientInfoList();
}
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 == "1")
{
e.DisplayText = "脑梗死";
}
if (value == "2")
{
e.DisplayText = "短暂性脑缺血发作";
}
}
if (e.Column.FieldName == "CYDY")
{
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 += ";抗血小板药";
}
else
{
str += "抗血小板药";
}
}
if (value.Contains("06"))
{
if (!string.IsNullOrEmpty(str))
{
str += ";中药治疗";
}
else
{
str += "中药治疗";
}
}
if (value.Contains("98"))
{
if (!string.IsNullOrEmpty(str))
{
str += ";无";
}
else
{
str += "无";
}
}
if (value.Contains("99"))
{
if (!string.IsNullOrEmpty(str))
{
str += ";其他";
}
else
{
str += "其他";
}
}
}
e.DisplayText = str;
}
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_yp_Click(object sender, EventArgs e)
{
flag = 0;
lbl_yp.BackColor = Color.FromArgb(25, 190, 107);
lbl_wp.BackColor = Color.FromArgb(128, 134, 149);
GetPatientInfoList();
}
private void lbl_wp_Click(object sender, EventArgs e)
{
flag = 1;
lbl_wp.BackColor = Color.FromArgb(25, 190, 107);
lbl_yp.BackColor = Color.FromArgb(128, 134, 149);
GetPatientInfoList();
}
private void userControlForPage1_exportEvents(bool singlePage)
{
}
private void MyPagerEvents(int curPage, int pageSize)
{
this.curPage = curPage;
this.pageSize = pageSize;
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();
}
private void userControlForPage1_myPagerEvents(int curPage, int pageSize)
{
userControlForPage1.myPagerEvents += MyPagerEvents;
}
}
}