243 lines
11 KiB
C#
243 lines
11 KiB
C#
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();
|
||
}
|
||
}
|
||
} |