StableVersion4.3/HL_FristAidPlatform_FollowUp/ChestPainFollowStatistics/Form_ReportingStatistics.cs

199 lines
8.1 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_FollowUp
{
/// <summary>
/// 随访数据上传率
/// </summary>
public partial class Form_ReportingStatistics : XtraForm
{
/// <summary>
///
/// </summary>
public int totalNumber;
/// <summary>
/// 当前页
/// </summary>
private int curPage = 1;
/// <summary>
/// 每页大小
/// </summary>
private int pageSize = 20;
int month = 1;
public Form_ReportingStatistics()
{
InitializeComponent();
}
private void Form_ReportingStatistics_Load(object sender, EventArgs e)
{
time_startDate.TimeValue = DateTime.Now.AddMonths(-5).ToString();
time_endDate.TimeValue = DateTime.Now.ToString();
GetFollowUpReporting(time_startDate.TimeValue.ToString(), time_endDate.TimeValue.ToString());
GetFollowUpDate(month + "", pageSize, curPage);
}
/// <summary>
/// 随访总数统计
/// </summary>
/// <param name="startTime"></param>
/// <param name="endTime"></param>
public void GetFollowUpReporting(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/GetFollowUpReporting?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="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(), "", "", month, "1", 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);//更新分页控件显示。
}
/// <summary>
/// 颜色修改
/// </summary>
/// <param name="month"></param>
public void ChangColor(int month)
{
if (month == 1)
{
labelControlmonthone.BackColor = Color.FromArgb(0, 96, 250);
labelControlmonththree.BackColor = Color.FromArgb(128, 134, 149);
labelControlmonthsix.BackColor = Color.FromArgb(128, 134, 149);
labelControlmonthtwelve.BackColor = Color.FromArgb(128, 134, 149);
}
if (month == 3)
{
labelControlmonththree.BackColor = Color.FromArgb(0, 96, 250);
labelControlmonthone.BackColor = Color.FromArgb(128, 134, 149);
labelControlmonthsix.BackColor = Color.FromArgb(128, 134, 149);
labelControlmonthtwelve.BackColor = Color.FromArgb(128, 134, 149);
}
if (month == 6)
{
labelControlmonthsix.BackColor = Color.FromArgb(0, 96, 250);
labelControlmonthone.BackColor = Color.FromArgb(128, 134, 149);
labelControlmonththree.BackColor = Color.FromArgb(128, 134, 149);
labelControlmonthtwelve.BackColor = Color.FromArgb(128, 134, 149);
}
if (month == 12)
{
labelControlmonthtwelve.BackColor = Color.FromArgb(0, 96, 250);
labelControlmonthone.BackColor = Color.FromArgb(128, 134, 149);
labelControlmonththree.BackColor = Color.FromArgb(128, 134, 149);
labelControlmonthsix.BackColor = Color.FromArgb(128, 134, 149);
}
GetFollowUpDate(month.ToString(), pageSize, curPage);
}
private void labelControl3_Click(object sender, EventArgs e)
{
month = 1;
ChangColor(month);
}
private void labelControl11_Click(object sender, EventArgs e)
{
month = 3;
ChangColor(month);
}
private void labelControl12_Click(object sender, EventArgs e)
{
month = 6;
ChangColor(month);
}
private void labelControl4_Click(object sender, EventArgs e)
{
month = 12;
ChangColor(month);
}
private void simpleButton1_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(time_startDate.TimeValue) || string.IsNullOrEmpty(time_endDate.TimeValue))
{
XtraMessageBox.Show("请填写时间区间!");
return;
}
else
{
GetFollowUpReporting(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);
}
}
}