StableVersion4.3/HL_FristAidPlatform_Apoplexy/Form_ApoplexyHighRiskScreen...

243 lines
11 KiB
C#
Raw Permalink Normal View History

2024-03-11 09:47:34 +08:00
using DevExpress.XtraCharts;
using DevExpress.XtraGrid;
using DevExpress.XtraGrid.Views.Grid;
using HL_FristAidPlatform_Print;
using HL_FristAidPlatform_Public;
using System;
using System.Data;
using System.Drawing.Printing;
using System.Linq;
using System.Windows.Forms;
namespace HL_FristAidPlatform_Apoplexy
{
public partial class Form_ApoplexyHighRiskScreening_WorkloadStatistics : Form
{
//PrintDocument类是实现打印功能的核心它封装了打印有关的属性、事件、和方法
PrintDocument printDocument = new PrintDocument();
public Form_ApoplexyHighRiskScreening_WorkloadStatistics()
{
InitializeComponent();
}
private void Form_ApoplexyHighRiskScreening_WorkloadStatistics_Load(object sender, EventArgs e)
{
timeControl_StratTime.TimeValue = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.ToShortDateString() + " 00:00:00";
timeControl_EndTime.TimeValue = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.AddMonths(1).AddDays(-1).ToShortDateString() + " 23:59:59";
Statistics();
}
private void simpleButton11_Click(object sender, EventArgs e)
{
Statistics();
}
private void simpleButton6_Click(object sender, EventArgs e)
{
timeControl_StratTime.TimeValue = new DateTime(DateTime.Now.Year, 1, 1).ToString("yyyy-MM-dd") + " 00:00:00";
timeControl_EndTime.TimeValue = new DateTime(DateTime.Now.Year, 12, 31).ToString("yyyy-MM-dd") + " 23:59:59";
//Statistics();
}
private void simpleButton8_Click(object sender, EventArgs e)
{
timeControl_StratTime.TimeValue = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.ToShortDateString() + " 00:00:00";
timeControl_EndTime.TimeValue = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.AddMonths(1).AddDays(-1).ToShortDateString() + " 23:59:59";
//Statistics();
}
private void Statistics()
{
try
{
chartControl1.Series.Clear();
panelControl4.Controls.Clear();
string startTime = timeControl_StratTime.TimeValue;
string endTime = timeControl_EndTime.TimeValue;
string Url = string.Format("/api/service/T_Service_FirstAid_ApoplexyHighRiskScreening/GetWorkloadStatistics?startTime={0}&endTime={1}", startTime, endTime);
DataTable BindDT = DBHelpClass.Get(Url);
DataTable data = new DataTable("table1");
data.Columns.Add("月份", typeof(string));
data.Columns.Add("人数", typeof(int));
if (BindDT != null)
{
var query = from t in BindDT.AsEnumerable()
group t by new { t1 = t.Field<string>("CreateTime").Remove(7, 12) } into m
orderby m.Key.t1 ascending
select new
{
name = m.Key.t1,
count = m.Count()
};
foreach (var item in query.ToList())
{
data.Rows.Add(item.name, item.count);
}
}
Series series = new Series("高危筛查总量统计", ViewType.Bar);
foreach (DataRow item in data.Rows)
{
series.Points.Add(new SeriesPoint(item[0] + "", item[1]));
}
BarSeriesView bsv = (BarSeriesView)series.View;
bsv.BarWidth = 0.25;
chartControl1.Series.AddRange(new Series[] { series });
XYDiagram xyDia = chartControl1.Diagram as XYDiagram;
xyDia.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual;
xyDia.AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Month;
chartControl1.Titles[0].Text = "高危筛查总量统计";
GridControl gridControl = new GridControl();
GridView gridView = new GridView();
gridView.Appearance.Row.Options.UseFont = true;
gridView.Appearance.Row.Options.UseTextOptions = true;
gridView.Appearance.HeaderPanel.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
gridView.Appearance.Row.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
gridControl.MainView = gridView;
gridControl.Dock = DockStyle.Fill;
gridControl.DataSource = data;
panelControl4.Controls.Add(gridControl);
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "高危筛查总量统计:\r\n" + ex);
}
}
private void simpleButton10_Click(object sender, EventArgs e)
{
try
{
chartControl1.Series.Clear();
panelControl4.Controls.Clear();
string startTime = timeControl_StratTime.TimeValue;
string endTime = timeControl_EndTime.TimeValue;
string Url = string.Format("/api/service/T_Service_FirstAid_ApoplexyHighRiskScreening/GetWorkloadStatistics?startTime={0}&endTime={1}", startTime, endTime);
DataTable BindDT = DBHelpClass.Get(Url);
DataTable data = new DataTable("table1");
data.Columns.Add("科室", typeof(string));
data.Columns.Add("人数", typeof(int));
if (BindDT != null)
{
var a = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss").Remove(7, 12);
var query = from t in BindDT.AsEnumerable()
group t by new { t1 = t.Field<string>("ShareUserDepartment") } into m
orderby m.Key.t1 descending
select new
{
name = m.Key.t1,
count = m.Count()
};
foreach (var item in query.ToList())
{
data.Rows.Add(item.name, item.count);
}
}
Series series = new Series("高危筛查科室统计", ViewType.Bar);
foreach (DataRow item in data.Rows)
{
series.Points.Add(new SeriesPoint(item[0] + "", item[1] + ""));
}
BarSeriesView bsv = (BarSeriesView)series.View;
bsv.BarWidth = 0.25;
chartControl1.Series.AddRange(new Series[] { series });
chartControl1.Titles[0].Text = "高危筛查科室统计";
GridControl gridControl = new GridControl();
GridView gridView = new GridView();
gridView.Appearance.Row.Options.UseFont = true;
gridView.Appearance.Row.Options.UseTextOptions = true;
gridView.Appearance.HeaderPanel.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
gridView.Appearance.Row.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
gridControl.MainView = gridView;
gridControl.Dock = DockStyle.Fill;
gridControl.DataSource = data;
panelControl4.Controls.Add(gridControl);
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "高危筛查科室统计:\r\n" + ex);
}
}
private void simpleButton9_Click(object sender, EventArgs e)
{
try
{
chartControl1.Series.Clear();
panelControl4.Controls.Clear();
string startTime = timeControl_StratTime.TimeValue;
string endTime = timeControl_EndTime.TimeValue;
string Url = string.Format("/api/service/T_Service_FirstAid_ApoplexyHighRiskScreening/GetWorkloadStatistics?startTime={0}&endTime={1}", startTime, endTime);
DataTable BindDT = DBHelpClass.Get(Url);
DataTable data = new DataTable("table1");
data.Columns.Add("人员", typeof(string));
data.Columns.Add("人数", typeof(int));
if (BindDT != null)
{
var a = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss").Remove(7, 12);
var query = from t in BindDT.AsEnumerable()
group t by new { t1 = t.Field<string>("ShareUserName") } into m
orderby m.Key.t1 descending
select new
{
name = m.Key.t1,
count = m.Count()
};
foreach (var item in query.ToList())
{
data.Rows.Add(item.name, item.count);
}
}
Series series = new Series("高危筛查人员统计", ViewType.Bar);
foreach (DataRow item in data.Rows)
{
series.Points.Add(new SeriesPoint(item[0] + "", item[1]));
}
BarSeriesView bsv = (BarSeriesView)series.View;
bsv.BarWidth = 0.25;
chartControl1.Series.AddRange(new Series[] { series });
chartControl1.Titles[0].Text = "高危筛查人员统计";
GridControl gridControl = new GridControl();
GridView gridView = new GridView();
gridView.Appearance.Row.Options.UseFont = true;
gridView.Appearance.Row.Options.UseTextOptions = true;
gridView.Appearance.HeaderPanel.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
gridView.Appearance.Row.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
gridControl.MainView = gridView;
gridControl.Dock = DockStyle.Fill;
gridControl.DataSource = data;
panelControl4.Controls.Add(gridControl);
}
catch (Exception ex)
{
PublicClass.WriteErrorLog(this.Text, "高危筛查人员统计:\r\n" + ex);
}
}
private void simpleButton_Print_Click(object sender, EventArgs e)
{
chartControl1.Dock = DockStyle.None;
chartControl1.Width = 1000;
PrintChart printClass = new PrintChart(chartControl1);
printClass.LandScape = true;
printClass.PaperKind = PaperKind.A4;
printClass.PrintHeader = "高危筛查统计图形";
printClass.LoadPageSetting(60);
printClass.Preview();
chartControl1.Dock = DockStyle.Fill;
}
private void simpleButton3_Click(object sender, EventArgs e)
{
PrintChart printClass = new PrintChart((GridControl)panelControl4.Controls[0]);
printClass.LandScape = true;
printClass.PaperKind = PaperKind.A4;
printClass.PrintHeader = "高危筛查统计数据";
printClass.LoadPageSetting(60);
printClass.Preview();
}
}
}