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();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|