StableVersion4.3/HL_FristAidPlatform_FollowUp/ChestPainFollowStatistics/Form_FollowUpStatistics.cs

307 lines
11 KiB
C#
Raw Permalink 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_FollowUp
{
/// <summary>
///
/// </summary>
public partial class Form_FollowUpStatistics : XtraForm
{
/// <summary>
///
/// </summary>
public int totalNumber;
/// <summary>
/// 当前页
/// </summary>
private int curPage = 1;
/// <summary>
/// 每页大小
/// </summary>
private int pageSize = 5;
/// <summary>
/// 月份
/// </summary>
private int month = 1;
/// <summary>
///
/// </summary>
public Form_FollowUpStatistics()
{
InitializeComponent();
}
private void Form_FollowUpStatistics_Load(object sender, EventArgs e)
{
time_startDate.TimeValue = DateTime.Now.AddMonths(-5).ToString();
time_endDate.TimeValue = DateTime.Now.ToString();
GetFollowUpStatistics(time_startDate.TimeValue.ToString(), time_endDate.TimeValue.ToString());
GetFollowUpDate("1", pageSize, curPage);
}
/// <summary>
/// 随访率
/// </summary>
/// <param name="startTime"></param>
/// <param name="endTime"></param>
public void GetFollowUpStatistics(string startTime, string endTime)
{
if (string.IsNullOrEmpty(time_startDate.TimeValue))
{
XtraMessageBox.Show("查询起始时间不能为空");
return;
}
if (string.IsNullOrEmpty(time_endDate.TimeValue))
{
XtraMessageBox.Show("查询结束时间不能为空");
return;
}
chartControl1.Series.Clear();
chartControl1.Titles.Clear();
Series series1 = new Series("一月随访率", ViewType.Bar);
Series series2 = new Series("三月随访率", ViewType.Bar);
Series series3 = new Series("六月随访率", ViewType.Bar);
Series series4 = new Series("十二月随访率", ViewType.Bar);
ChartTitle chartTitle1 = new ChartTitle();
chartTitle1.Text = "随访率统计";
chartControl1.Titles.Add(chartTitle1);
FollowUpRateDTO model = DBHelpClass.GetDateModel<FollowUpRateDTO>(string.Format("api/service/T_Service_Chest_FollowUpStatistics/GetFollowUpStatistics?startTime={0}&endTime={1}", startTime, endTime));
if (model != null)
{
series1.Points.Add(new SeriesPoint("一月随访率", model.IntervalJanuary));
series2.Points.Add(new SeriesPoint("三月随访率", model.IntervalMarch));
series3.Points.Add(new SeriesPoint("六月随访率", model.IntervalJune));
series4.Points.Add(new SeriesPoint("十二月随访率", model.IntervalDecember));
}
chartControl1.Series.AddRange(new Series[] { series1, series2, series3, series4 });
XYDiagram xyDia = chartControl1.Diagram as XYDiagram;
xyDia.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual;
xyDia.AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Month;
((XYDiagram)(chartControl1.Diagram)).EnableAxisXScrolling = true;//启用横轴滚动条
}
/// <summary>
/// 未随访列表
/// </summary>
/// <param name="status"></param>
/// <param name="month"></param>
/// <param name="pageSize"></param>
/// <param name="pageIndex"></param>
public void GetFollowUpDate( string month, int pageSize, int pageIndex)
{
string Url = string.Format("api/service/T_Service_ChestPain_FollowUpInfo/GetChestPainFollowUpList?hospitalGuid={0}&name={1}&startDate={2}&endDate={3}&cp_Diagnosis_Code={4}&status={5}&month={6}&reporting={7}&pageSize={8}&pageIndex={9}", Information.Hospital.GUID, "", time_startDate.TimeValue.ToString(), time_endDate.TimeValue.ToString(), "", "0", month, "", pageSize, pageIndex);
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.BestFitColumns();//列宽自适应
gridView1.OptionsView.EnableAppearanceEvenRow = true;
gridView1.OptionsView.EnableAppearanceOddRow = true;
totalNumber = DBHelpClass.TotalNumber;
userControlForPage1.RefreshPager(pageSize, totalNumber, curPage);//更新分页控件显示。
}
private void labelControl1_Click(object sender, EventArgs e)
{
month = 1;
ChangColor(month);
}
private void labelControl2_Click(object sender, EventArgs e)
{
month = 3;
ChangColor(month);
}
private void labelControl3_Click(object sender, EventArgs e)
{
month = 6;
ChangColor(month);
}
private void labelControl4_Click(object sender, EventArgs e)
{
month = 12;
ChangColor(month);
}
/// <summary>
/// 颜色修改
/// </summary>
/// <param name="month"></param>
public void ChangColor(int month)
{
if (month == 1)
{
labelControl1.BackColor = Color.FromArgb(0, 96, 250);
labelControl2.BackColor = Color.FromArgb(128, 134, 149);
labelControl3.BackColor = Color.FromArgb(128, 134, 149);
labelControl4.BackColor = Color.FromArgb(128, 134, 149);
}
if (month == 3)
{
labelControl2.BackColor = Color.FromArgb(0, 96, 250);
labelControl1.BackColor = Color.FromArgb(128, 134, 149);
labelControl3.BackColor = Color.FromArgb(128, 134, 149);
labelControl4.BackColor = Color.FromArgb(128, 134, 149);
}
if (month == 6)
{
labelControl3.BackColor = Color.FromArgb(0, 96, 250);
labelControl1.BackColor = Color.FromArgb(128, 134, 149);
labelControl2.BackColor = Color.FromArgb(128, 134, 149);
labelControl4.BackColor = Color.FromArgb(128, 134, 149);
}
if (month == 12)
{
labelControl4.BackColor = Color.FromArgb(0, 96, 250);
labelControl1.BackColor = Color.FromArgb(128, 134, 149);
labelControl3.BackColor = Color.FromArgb(128, 134, 149);
labelControl2.BackColor = Color.FromArgb(128, 134, 149);
}
GetFollowUpDate(month.ToString(), pageSize, 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 == "0")
{
e.DisplayText = "未知";
}
if (value == "1")
{
e.DisplayText = "男";
}
if (value == "2")
{
e.DisplayText = "女";
}
}
if (e.Column.FieldName == "status")
{
string value = e.Value.ToString();
if (value == "1")
{
e.DisplayText = "保存草稿";
}
if (value == "2")
{
e.DisplayText = "提交";
}
}
if (e.Column.FieldName == "isFollowUp")
{
string value = e.Value.ToString();
if (value == "1")
{
e.DisplayText = "已随访";
}
if (value == "2")
{
e.DisplayText = "未随访";
}
}
if (e.Column.FieldName == "CountDown")
{
if (!string.IsNullOrEmpty(e.Value.ToString()))
{
int value = int.Parse(e.Value.ToString());
if (value <= 0)
e.DisplayText = "已到随访时间";
}
}
if (e.Column.FieldName == "CP_Diagnosis_Code")
{
string value = e.Value.ToString();
if (value == "1")
{
e.DisplayText = "STEMI";
}
if (value == "2")
{
e.DisplayText = "NSTEMI";
}
if (value == "3")
{
e.DisplayText = "UA";
}
}
if (e.Column.FieldName == "OverdueDays")
{
string value = e.Value.ToString();
if (value == "0")
{
e.DisplayText = "";
}
}
if (e.Column.FieldName == "FollowUpStartDate")
{
string value = e.Value.ToString();
if (!string.IsNullOrEmpty(value))
{
e.DisplayText = Convert.ToDateTime(value).ToString("yyyy-MM-dd");
}
}
if (e.Column.FieldName == "FollowUpEndDate")
{
string value = e.Value.ToString();
if (!string.IsNullOrEmpty(value))
{
e.DisplayText = Convert.ToDateTime(value).ToString("yyyy-MM-dd");
}
}
}
private void time_startDate_TimeValueChanged(object sender, EventArgs e)
{
//GetFollowUpStatistics(time_startDate.TimeValue.ToString(), time_endDate.TimeValue.ToString());
}
private void time_endDate_TimeValueChanged(object sender, EventArgs e)
{
// GetFollowUpStatistics(time_startDate.TimeValue.ToString(), time_endDate.TimeValue.ToString());
}
private void simpleButton1_Click(object sender, EventArgs e)
{
GetFollowUpStatistics(time_startDate.TimeValue+"", time_endDate.TimeValue+"");
GetFollowUpDate(month + "", pageSize, curPage);
}
private void userControlForPage1_myPagerEvents(int curPage, int pageSize)
{
userControlForPage1.myPagerEvents += MyPagerEvents;
}
private void MyPagerEvents(int curPage, int pageSize)
{
//GetFollowUpStatistics(time_startDate.TimeValue.ToString(), time_endDate.TimeValue.ToString());
GetFollowUpDate(month + "", pageSize, curPage);
}
}
}