StableVersion4.3/HL_FristAidPlatform_Apoplexy/Statistics/Form_ThrombolysisStrokeRate...

416 lines
16 KiB
C#
Raw Normal View History

2024-03-11 09:47:34 +08:00
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_ThrombolysisStrokeRate : XtraForm
{
/// <summary>
/// 当前页
/// </summary>
public int curPage = 1;
/// <summary>
/// 每页大小
/// </summary>
public int pageSize = 5;
/// <summary>
/// 所有记录条数
/// </summary>
public int totalNumber = 0;
public int type = 0;
public Form_ThrombolysisStrokeRate()
{
InitializeComponent();
}
private void Form_AntiplateletDrugTreatmentRate_Load(object sender, EventArgs e)
{
DateTime dt = DateTime.Now;
time_starTime.TimeValue = dt.AddMonths(-1).AddDays(1 - dt.Day).ToString("yyyy-MM-dd");
time_endTime.TimeValue = dt.AddMonths(-1).AddDays(1 - dt.Day).AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd");
GetThrombolysisStrokeRateModel();
GetThrombolysisStrokeRateModelList();
}
/// <summary>
/// 按月分组集合
/// </summary>
public void GetThrombolysisStrokeRateModel()
{
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");
ThrombolysisStrokeRateModelDTO DTO = DBHelpClass.GetDateModel<ThrombolysisStrokeRateModelDTO>(string.Format("api/service/T_Service_Apoplexy_ThrombolysisStrokeRate/GetThrombolysisStrokeRateModel?hospitalGuid={0}&startTime={1}&endTime={2}", Information.Hospital.GUID, startTime, endTime));
if (DTO != null)
{
lbl_number1.Text = DTO.Count + "";
if (!string.IsNullOrEmpty(DTO.ThrombolysisRate + ""))
lbl_AllRate.Text = DTO.ThrombolysisRate + "%";
else
lbl_AllRate.Text = "0%";
lbl_number2.Text = DTO.ThrombolysisNumber + "";
lbl_number3.Text = DTO.NotThrombolysisNumber + "";
chartControl2.Series.Clear();
chartControl2.Titles.Clear();
Series series2 = new Series("发病4.5小时内缺血性卒中溶栓率", ViewType.Doughnut);
ChartTitle chartTitle2 = new ChartTitle();
chartTitle2.Text = "发病4.5小时内缺血性卒中溶栓率";
chartControl2.Titles.Add(chartTitle2);
double one = 0.00;
double two = 0.00;
one = double.Parse(DTO.Count.ToString());
two = double.Parse(DTO.ThrombolysisNumber.ToString());
if (one != 0)
{
string sum = (((one - two) / one) * 100).ToString("#0.00");
string sum1 = ((two / one) * 100).ToString("#0.00");
series2.Points.Add(new SeriesPoint("未溶栓", sum));
series2.Points.Add(new SeriesPoint("已溶栓", sum1));
}
series2.PointOptions.PointView = PointView.ArgumentAndValues;
series2.LegendPointOptions.PointView = PointView.ArgumentAndValues;
series2.LegendPointOptions.Pattern = "{A}: {VP:P2}";
//series2.Label.TextPattern = "{A}: {VP:p0}";
chartControl2.Series.AddRange(new Series[] { series2 });
}
}
private void simpleButton3_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);
//
DateTime dt = DateTime.Now;
time_starTime.TimeValue = dt.AddMonths(-1).AddDays(1 - dt.Day).ToString("yyyy-MM-dd");
time_endTime.TimeValue = dt.AddMonths(-1).AddDays(1 - dt.Day).AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd");
GetThrombolysisStrokeRateModel();
GetThrombolysisStrokeRateModelList();
}
private void GetThrombolysisStrokeRateModelList()
{
try
{
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");
DataTable dt = DBHelpClass.Get(string.Format("api/service/T_Service_Apoplexy_ThrombolysisStrokeRate/GetThrombolysisStrokeRateModelList?hospitalGuid={0}&startTime={1}&endTime={2}&type={3}&pageIndex={4}&pageSize={5}", Information.Hospital.GUID, startTime, endTime, type, curPage, pageSize));
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;
userControlForPage1.RefreshPager(pageSize, totalNumber, curPage);//更新分页控件显示
}
catch (Exception ex)
{
throw ex;
}
}
private void simpleButton4_Click(object sender, EventArgs e)
{
sButton_LastMonth.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_ThisMonth.Appearance.BackColor = Color.FromArgb(43, 133, 228);
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);
DateTime dt = DateTime.Now;
time_starTime.TimeValue = dt.AddDays(1 - dt.Day).ToString("yyyy-MM-dd");
time_endTime.TimeValue = dt.AddDays(1 - dt.Day).AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd");
GetThrombolysisStrokeRateModel();
GetThrombolysisStrokeRateModelList();
}
private void simpleButton2_Click(object sender, EventArgs e)
{
sButton_LastMonth.Appearance.BackColor = Color.FromArgb(114, 165, 231);
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(43, 133, 228);
GetThrombolysisStrokeRateModel();
GetThrombolysisStrokeRateModelList();
}
private void simpleButton1_Click(object sender, EventArgs e)
{
sButton_LastMonth.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_ThisMonth.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_ThisQuarter.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_ThisYear.Appearance.BackColor = Color.FromArgb(43, 133, 228);
sButton_Query.Appearance.BackColor = Color.FromArgb(114, 165, 231);
//DateTime startYear = new DateTime(DateTime.Now.Year, 1, 1); //本年年初
//DateTime endYear = new DateTime(DateTime.Now.Year, 12, 31); //本年年末
DateTime dt = DateTime.Now;
time_starTime.TimeValue = dt.AddMonths(-11).AddDays(1 - dt.Day).ToString("yyyy-MM-dd");
time_endTime.TimeValue = dt.AddDays(1 - dt.Day).AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd");
//time_starTime.TimeValue = DateTime.Now.AddMonths(-11).ToString();
//time_endTime.TimeValue = DateTime.Now.ToString();
GetThrombolysisStrokeRateModel();
GetThrombolysisStrokeRateModelList();
}
private void lbl_yp_Click(object sender, EventArgs e)
{
type = 1;
lbl_yp.BackColor = Color.FromArgb(25, 190, 107);
lbl_wp.BackColor = Color.FromArgb(128, 134, 149);
GetThrombolysisStrokeRateModelList();
}
private void lbl_wp_Click(object sender, EventArgs e)
{
type = 0;
lbl_wp.BackColor = Color.FromArgb(25, 190, 107);
lbl_yp.BackColor = Color.FromArgb(128, 134, 149);
GetThrombolysisStrokeRateModelList();
}
private void simpleButton5_Click(object sender, EventArgs e)
{
sButton_LastMonth.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_ThisMonth.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_ThisQuarter.Appearance.BackColor = Color.FromArgb(43, 133, 228);
sButton_ThisYear.Appearance.BackColor = Color.FromArgb(114, 165, 231);
sButton_Query.Appearance.BackColor = Color.FromArgb(114, 165, 231);
DateTime dt = DateTime.Now;
time_starTime.TimeValue = dt.AddMonths(-2).AddDays(1 - dt.Day).ToString("yyyy-MM-dd");
time_endTime.TimeValue = dt.AddDays(1 - dt.Day).AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd");
GetThrombolysisStrokeRateModel();
GetThrombolysisStrokeRateModelList();
}
private void userControlForPage1_myPagerEvents(int curPage, int pageSize)
{
userControlForPage1.myPagerEvents += MyPagerEvents;
}
private void MyPagerEvents(int curPage, int pageSize)
{
this.curPage = curPage;
this.pageSize = pageSize;
GetThrombolysisStrokeRateModelList();
}
private void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
{
if (e.Column.FieldName == "Gender")
{
string value = e.Value + "";
if (value == "0")
{
e.DisplayText = "未知";
}
if (value == "1")
{
e.DisplayText = "男";
}
if (value == "2")
{
e.DisplayText = "女";
}
}
if (e.Column.FieldName == "XGOpBFZ")
{
string value = e.Value + "";
string str = "";
if (value.Contains("01"))
{
str += "颅内出血";
}
if (value.Contains("02"))
{
str += "动脉夹层";
}
if (value.Contains("03"))
{
str += "缺血性并发症/其他部位动脉闭塞";
}
if (value.Contains("04"))
{
str += "支架脱离";
}
if (value.Contains("05"))
{
str += "再闭塞";
}
if (value.Contains("06"))
{
str += "消化道出血";
}
if (value.Contains("07"))
{
str += " 颈动脉海绵窦瘘";
}
if (value.Contains("08"))
{
str += "再灌注损伤";
}
if (value.Contains("99"))
{
str += "其他";
}
if (value.Contains("98"))
{
str += "无";
}
e.DisplayText = str;
}
if (e.Column.FieldName == "Diagnose")
{
string value = e.Value + "";
if (value == "1")
{
e.DisplayText = "脑梗死";
}
if (value == "2")
{
e.DisplayText = "短暂性脑缺血发作";
}
if (value == "3")
{
e.DisplayText = "脑内出血";
}
if (value == "4")
{
e.DisplayText = "蛛网膜下腔出血";
}
if (value == "5")
{
e.DisplayText = "其他未能分类的卒中";
}
//if (value == "5")
//{
// e.DisplayText = "颈动脉狭窄";
//}
}
if (e.Column.FieldName == "acZLType")
{
string value = e.Value + "";
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 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 lbl_number3_Click(object sender, EventArgs e)
{
}
}
}