657 lines
31 KiB
C#
657 lines
31 KiB
C#
using DevExpress.XtraCharts;
|
|
using DevExpress.XtraEditors;
|
|
using HL_FristAidPlatform_DTO;
|
|
using HL_FristAidPlatform_Public;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
|
|
namespace HL_FristAidPlatform_ChestPain_Statistics
|
|
{
|
|
public partial class Form_ChestPain_Statistics_TimeConsuming : XtraForm
|
|
{
|
|
/// <summary>
|
|
/// 急救环节耗时统计
|
|
/// </summary>
|
|
public Form_ChestPain_Statistics_TimeConsuming()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 窗体加载
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void Form_ChestPain_Statistics_Line_Load(object sender, EventArgs e)
|
|
{
|
|
//查询本月数据
|
|
//dateEdit_Start.TimeValue = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.ToShortDateString() + " 00:00:00";
|
|
//dateEdit_End.TimeValue = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.AddMonths(1).AddDays(-1).ToShortDateString() + " 23:59:59";
|
|
//查询本年
|
|
dateEdit_Start.TimeValue = new DateTime(DateTime.Now.Year, 1, 1).ToShortDateString() + " 00:00:00";
|
|
dateEdit_End.TimeValue = new DateTime(DateTime.Now.Year, 12, 31).ToShortDateString() + " 23:59:59";
|
|
Statistics();
|
|
}
|
|
|
|
#region 按钮事件
|
|
/// <summary>
|
|
/// 统计按钮事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void simpleButton_Report_Click(object sender, EventArgs e)
|
|
{
|
|
Statistics();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 本年度
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void simpleButton_ThisYear_Click(object sender, EventArgs e)
|
|
{
|
|
dateEdit_Start.TimeValue = new DateTime(DateTime.Now.Year, 1, 1).ToShortDateString() + " 00:00:00";
|
|
dateEdit_End.TimeValue = new DateTime(DateTime.Now.Year, 12, 31).ToShortDateString() + " 23:59:59";
|
|
Statistics();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 上半年
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void simpleButton_UpHalfYear_Click(object sender, EventArgs e)
|
|
{
|
|
dateEdit_Start.TimeValue = new DateTime(DateTime.Now.Year, 1, 1).ToShortDateString() + " 00:00:00";
|
|
dateEdit_End.TimeValue = new DateTime(DateTime.Now.Year, 6, 30).ToShortDateString() + " 23:59:59";
|
|
Statistics();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 下半年
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void simpleButton_DownHalfYear_Click(object sender, EventArgs e)
|
|
{
|
|
dateEdit_Start.TimeValue = new DateTime(DateTime.Now.Year, 7, 1).ToShortDateString() + " 00:00:00";
|
|
dateEdit_End.TimeValue = new DateTime(DateTime.Now.Year, 12, 31).ToShortDateString() + " 23:59:59";
|
|
Statistics();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 本月度
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void simpleButton_ThisMonth_Click(object sender, EventArgs e)
|
|
{
|
|
dateEdit_Start.TimeValue = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.ToShortDateString() + " 00:00:00";
|
|
dateEdit_End.TimeValue = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.AddMonths(1).AddDays(-1).ToShortDateString() + " 23:59:59";
|
|
Statistics();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 本季度
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void simpleButton_ThisQuarter_Click(object sender, EventArgs e)
|
|
{
|
|
dateEdit_Start.TimeValue = DateTime.Now.AddMonths(0 - (DateTime.Now.Month - 1) % 3).AddDays(1 - DateTime.Now.Day).ToShortDateString() + " 00:00:00";
|
|
dateEdit_End.TimeValue = DateTime.Now.AddMonths(0 - (DateTime.Now.Month - 1) % 3).AddDays(1 - DateTime.Now.Day).AddMonths(3).AddDays(-1).ToShortDateString() + " 23:59:59";
|
|
Statistics();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 本周
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void simpleButton_ThisWeek_Click(object sender, EventArgs e)
|
|
{
|
|
dateEdit_Start.TimeValue = DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString() + " 00:00:00";
|
|
dateEdit_End.TimeValue = DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString() + " 23:59:59";
|
|
Statistics();
|
|
}
|
|
#endregion
|
|
|
|
/// <summary>
|
|
/// 统计
|
|
/// </summary>
|
|
private void Statistics()
|
|
{
|
|
try
|
|
{
|
|
//chartControl_Bar.Series.Clear();
|
|
string strParameter = string.Empty;
|
|
//没有所有院区权限 只获取当前院区数据
|
|
if (!PublicHelp.IsHaveAllDistrictRight(Information.User.ID))
|
|
{
|
|
strParameter += "&hospitalGuid=" + Information.Hospital.GUID;
|
|
}
|
|
|
|
string Url = string.Format("api/service/T_Service_ChestPain_Statistics/GetFirstAidTimeStatistics?hospitalGuid={0}&startTime={1}&endTime={2}", Information.Hospital.GUID, Convert.ToDateTime(dateEdit_Start.TimeValue).ToString("yyyy-MM"), Convert.ToDateTime(dateEdit_End.TimeValue).ToString("yyyy-MM"));//dateEdit_Start.TimeValue, dateEdit_End.TimeValue
|
|
|
|
List<CheatPainFirstAidTimeStatisticsDTO> listData = DBHelpClass.GetList<CheatPainFirstAidTimeStatisticsDTO>(Url);
|
|
|
|
|
|
if (listData != null && listData.Count > 0)
|
|
{
|
|
List<CheatPainFirstAidTimeStatisticsDataDTO> Data120 = new List<CheatPainFirstAidTimeStatisticsDataDTO>();
|
|
List<CheatPainFirstAidTimeStatisticsDataDTO> DataEmergencyDepartment = new List<CheatPainFirstAidTimeStatisticsDataDTO>();
|
|
List<CheatPainFirstAidTimeStatisticsDataDTO> DataInterventionalRoom = new List<CheatPainFirstAidTimeStatisticsDataDTO>();
|
|
List<CheatPainFirstAidTimeStatisticsDataDTO> DataFirstAidProcess = new List<CheatPainFirstAidTimeStatisticsDataDTO>();
|
|
chartControl_120.Series.Clear();
|
|
chartControl_120.Titles.Clear();
|
|
Series series1 = new Series("120平均耗时(呼救时间-到达医院大门时间)", ViewType.Line);
|
|
ChartTitle chartTitle1 = new ChartTitle();
|
|
chartTitle1.Text = "120平均耗时(呼救时间-到达医院大门时间)";
|
|
chartControl_120.Titles.Add(chartTitle1);
|
|
|
|
chartControl_JZK.Series.Clear();
|
|
chartControl_JZK.Titles.Clear();
|
|
Series series2 = new Series("急诊科平均耗时(到达医院大门时间-到达导管室时间)", ViewType.Line);
|
|
ChartTitle chartTitle2 = new ChartTitle();
|
|
chartTitle2.Text = "急诊科平均耗时(到达医院大门时间-到达导管室时间)";
|
|
chartControl_JZK.Titles.Add(chartTitle2);
|
|
|
|
chartControl_JRK.Series.Clear();
|
|
chartControl_JRK.Titles.Clear();
|
|
Series series3 = new Series("介入科平均耗时(到达导管室时间-手术结束时间)", ViewType.Line);
|
|
ChartTitle chartTitle3 = new ChartTitle();
|
|
chartTitle3.Text = "介入科平均耗时(到达导管室时间-手术结束时间)";
|
|
chartControl_JRK.Titles.Add(chartTitle3);
|
|
|
|
chartControl_ZSJ.Series.Clear();
|
|
chartControl_ZSJ.Titles.Clear();
|
|
Series series4 = new Series("急救过程总耗时(首次医疗接触时间-手术结束时间)", ViewType.Line);
|
|
ChartTitle chartTitle4 = new ChartTitle();
|
|
chartTitle4.Text = "急救过程总耗时(首次医疗接触时间-手术结束时间)";
|
|
chartControl_ZSJ.Titles.Add(chartTitle4);
|
|
|
|
int max = 0;
|
|
int max1 = 0;
|
|
int max2 = 0;
|
|
int max3 = 0;
|
|
for (int i = 0; i < listData.Count; i++)
|
|
{
|
|
if (!string.IsNullOrEmpty(listData[i].Avg120))
|
|
{
|
|
double temp = PublicClass.ToDouble(listData[i].Avg120, 0);
|
|
if (temp > max)
|
|
{
|
|
max = (int)temp;
|
|
}
|
|
temp = 0;
|
|
temp = PublicClass.ToDouble(listData[i].AvgEmergencyDepartment, 0);
|
|
if (temp > max1)
|
|
{
|
|
max1 = (int)temp;
|
|
}
|
|
temp = 0;
|
|
temp = PublicClass.ToDouble(listData[i].AvgInterventionalRoom, 0);
|
|
if (temp > max2)
|
|
{
|
|
max2 = (int)temp;
|
|
}
|
|
temp = 0;
|
|
temp = PublicClass.ToDouble(listData[i].AvgFirstAidProcess, 0);
|
|
if (temp > max3)
|
|
{
|
|
max3 = (int)temp;
|
|
}
|
|
}
|
|
|
|
series1.Points.Add(new SeriesPoint(listData[i].Month, string.IsNullOrEmpty(listData[i].Avg120) ? "0" : listData[i].Avg120));
|
|
series2.Points.Add(new SeriesPoint(listData[i].Month, string.IsNullOrEmpty(listData[i].AvgEmergencyDepartment) ? "0" : listData[i].AvgEmergencyDepartment));
|
|
series3.Points.Add(new SeriesPoint(listData[i].Month, string.IsNullOrEmpty(listData[i].AvgInterventionalRoom) ? "0" : listData[i].AvgInterventionalRoom));
|
|
series4.Points.Add(new SeriesPoint(listData[i].Month, string.IsNullOrEmpty(listData[i].AvgFirstAidProcess) ? "0" : listData[i].AvgFirstAidProcess));
|
|
|
|
Data120.Add(listData[i].Data120);
|
|
DataEmergencyDepartment.Add(listData[i].DataEmergencyDepartment);
|
|
DataInterventionalRoom.Add(listData[i].DataInterventionalRoom);
|
|
DataFirstAidProcess.Add(listData[i].DataFirstAidProcess);
|
|
|
|
}
|
|
|
|
#region 120
|
|
|
|
gridControl_120.DataSource = Data120;
|
|
gridControl_JZK.DataSource = DataEmergencyDepartment;
|
|
gridControl_JRK.DataSource = DataInterventionalRoom;
|
|
gridControl_ZSJ.DataSource = DataFirstAidProcess;
|
|
|
|
chartControl_120.Series.AddRange(new Series[] { series1 });
|
|
XYDiagram xyDia = chartControl_120.Diagram as XYDiagram;
|
|
xyDia.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual;
|
|
xyDia.AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Month;
|
|
|
|
int tempone = max / 5;
|
|
int temptwo = max % 5;
|
|
if (temptwo == 0)
|
|
{
|
|
max = tempone * 5;
|
|
}
|
|
else
|
|
{
|
|
max = (tempone + 1) * 5;
|
|
}
|
|
if (max == 0)
|
|
max = 10;
|
|
xyDia.AxisY.WholeRange.MaxValue = max;
|
|
xyDia.AxisY.WholeRange.Auto = false;
|
|
xyDia.AxisY.NumericScaleOptions.GridOffset = 0;
|
|
xyDia.AxisY.NumericScaleOptions.GridSpacing = max / 5;
|
|
|
|
((XYDiagram)(chartControl_120.Diagram)).EnableAxisXScrolling = true;//启用横轴滚动条
|
|
|
|
#endregion
|
|
|
|
#region 急诊科
|
|
|
|
chartControl_JZK.Series.AddRange(new Series[] { series2 });
|
|
XYDiagram xyDia1 = chartControl_JZK.Diagram as XYDiagram;
|
|
xyDia1.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual;
|
|
xyDia1.AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Month;
|
|
|
|
tempone = max1 / 5;
|
|
temptwo = max1 % 5;
|
|
if (temptwo == 0)
|
|
{
|
|
max1 = tempone * 5;
|
|
}
|
|
else
|
|
{
|
|
max1 = (tempone + 1) * 5;
|
|
}
|
|
if (max1 == 0)
|
|
max1 = 10;
|
|
xyDia1.AxisY.WholeRange.MaxValue = max1;
|
|
xyDia1.AxisY.WholeRange.Auto = false;
|
|
xyDia1.AxisY.NumericScaleOptions.GridOffset = 0;
|
|
xyDia1.AxisY.NumericScaleOptions.GridSpacing = max1 / 5;
|
|
|
|
((XYDiagram)(chartControl_JZK.Diagram)).EnableAxisXScrolling = true;//启用横轴滚动条
|
|
|
|
#endregion
|
|
#region 介入室
|
|
|
|
chartControl_JRK.Series.AddRange(new Series[] { series3 });
|
|
XYDiagram xyDia2 = chartControl_JRK.Diagram as XYDiagram;
|
|
xyDia2.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual;
|
|
xyDia2.AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Month;
|
|
|
|
tempone = max2 / 5;
|
|
temptwo = max2 % 5;
|
|
if (temptwo == 0)
|
|
{
|
|
max2 = tempone * 5;
|
|
}
|
|
else
|
|
{
|
|
max2 = (tempone + 1) * 5;
|
|
}
|
|
if (max2 == 0)
|
|
max2 = 10;
|
|
xyDia2.AxisY.WholeRange.MaxValue = max2;
|
|
xyDia2.AxisY.WholeRange.Auto = false;
|
|
xyDia2.AxisY.NumericScaleOptions.GridOffset = 0;
|
|
xyDia2.AxisY.NumericScaleOptions.GridSpacing = max2 / 5;
|
|
|
|
((XYDiagram)(chartControl_JRK.Diagram)).EnableAxisXScrolling = true;//启用横轴滚动条
|
|
|
|
#endregion
|
|
|
|
#region 总耗时
|
|
|
|
chartControl_ZSJ.Series.AddRange(new Series[] { series4 });
|
|
XYDiagram xyDia3 = chartControl_ZSJ.Diagram as XYDiagram;
|
|
xyDia3.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual;
|
|
xyDia3.AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Month;
|
|
|
|
tempone = max3 / 5;
|
|
temptwo = max3 % 5;
|
|
if (temptwo == 0)
|
|
{
|
|
max3 = tempone * 5;
|
|
}
|
|
else
|
|
{
|
|
max3 = (tempone + 1) * 5;
|
|
}
|
|
if (max3 == 0)
|
|
max3 = 10;
|
|
xyDia3.AxisY.WholeRange.MaxValue = max3;
|
|
xyDia3.AxisY.WholeRange.Auto = false;
|
|
xyDia3.AxisY.NumericScaleOptions.GridOffset = 0;
|
|
xyDia3.AxisY.NumericScaleOptions.GridSpacing = max3 / 5;
|
|
|
|
((XYDiagram)(chartControl_ZSJ.Diagram)).EnableAxisXScrolling = true;//启用横轴滚动条
|
|
|
|
#endregion
|
|
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
PublicClass.WriteErrorLog("急诊耗时统计页面", "\r\n" + ex);
|
|
//XtraMessageBox.Show("很抱歉,系统出现错误。请联系管理员以获取更多帮助。感谢您的理解和耐心!");
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//DataTable dataTable = DBHelpClass.GetJsonText(Url);
|
|
|
|
//if (dataTable != null)
|
|
//{
|
|
// //120数据源 来院方式为120 HospitalMode=1
|
|
// DataTable TimeConsumingDT_120 = new DataTable();
|
|
// //急诊科数据源 没有绕行急诊的患者 Is_Bypass_Emergency=2
|
|
// DataTable TimeConsumingDT_JZK = new DataTable();
|
|
// //介入科数据源 所有患者
|
|
// DataTable TimeConsumingDT_JRK = new DataTable();
|
|
// //介入科数据源 所有患者
|
|
// DataTable TimeConsumingDT_ZSJ = new DataTable();
|
|
|
|
// TimeConsumingDT_120.Columns.Add(new DataColumn("MonthValue", typeof(string)));//月份
|
|
// TimeConsumingDT_120.Columns.Add(new DataColumn("AverageValue", typeof(decimal)));//月平均值
|
|
// TimeConsumingDT_120.Columns.Add(new DataColumn("CountNumber", typeof(decimal)));//总人数
|
|
// TimeConsumingDT_120.Columns.Add(new DataColumn("MaxValue", typeof(decimal)));//最大值
|
|
// TimeConsumingDT_120.Columns.Add(new DataColumn("MinValue", typeof(decimal)));//最小值
|
|
|
|
// TimeConsumingDT_JZK = TimeConsumingDT_120.Clone();
|
|
// TimeConsumingDT_JRK = TimeConsumingDT_120.Clone();
|
|
// TimeConsumingDT_ZSJ = TimeConsumingDT_120.Clone();
|
|
|
|
// DataTable DT_120 = dataTable.Clone();
|
|
// DataTable DT_JZK = dataTable.Clone();
|
|
// DataTable DT_JRK = dataTable.Clone();
|
|
// DataTable DT_ZSJ = dataTable.Clone();
|
|
|
|
// //按条件符合分配到各个表
|
|
// foreach (DataRow row in dataTable.Rows)
|
|
// {
|
|
// //来院方式为120患者--120
|
|
// if (PublicClass.ToInt32(row["HospitalMode"], 0) == 1)
|
|
// {
|
|
// //有时间记录才进行统计
|
|
// if (PublicClass.ToDecimal(row["TimeConsuming_120"], 0) > 0)
|
|
// {
|
|
// DT_120.Rows.Add(row.ItemArray);
|
|
// }
|
|
// }
|
|
// //没有绕行急诊患者--急诊科
|
|
// if (PublicClass.ToInt32(row["Is_Bypass_Emergency"], -1) == 0)
|
|
// {
|
|
// //有时间记录才进行统计
|
|
// if (PublicClass.ToDecimal(row["TimeConsuming_JZK"], 0) > 0)
|
|
// {
|
|
// DT_JZK.Rows.Add(row.ItemArray);
|
|
// }
|
|
// }
|
|
|
|
// //有时间记录才进行统计--介入科
|
|
// if (PublicClass.ToDecimal(row["TimeConsuming_JRK"], 0) > 0)
|
|
// {
|
|
// DT_JRK.Rows.Add(row.ItemArray);
|
|
// }
|
|
|
|
// //有时间记录才进行统计--总时间
|
|
// if (PublicClass.ToDecimal(row["TimeConsuming_ZSJ"], 0) > 0)
|
|
// {
|
|
// DT_ZSJ.Rows.Add(row.ItemArray);
|
|
// }
|
|
// }
|
|
|
|
// int max = 0;
|
|
// //120耗时
|
|
// if (DT_120.Rows.Count > 0)
|
|
// {
|
|
// TimeConsumingDT_120.Clear();
|
|
// var querySum = from t in DT_120.AsEnumerable()
|
|
// group t by t.Field<string>("MonthValue") into m
|
|
// //let AverageValue = m.Average(t => Convert.ToDecimal(t.Field<string>("TimeConsuming_120")))
|
|
// select new
|
|
// {
|
|
// MonthValue = m.Key,
|
|
// AverageValue_120 = m.Average(t => Convert.ToDecimal(t.Field<string>("TimeConsuming_120"))),
|
|
// CountNumber = m.Count(),
|
|
// MaxValue = m.Max(t => Convert.ToDecimal(t.Field<string>("TimeConsuming_120"))),
|
|
// MinValue = m.Min(t => Convert.ToDecimal(t.Field<string>("TimeConsuming_120")))
|
|
// };
|
|
|
|
// foreach (var query in querySum)
|
|
// {
|
|
// DataRow newRow = TimeConsumingDT_120.NewRow();
|
|
// newRow["MonthValue"] = query.MonthValue;
|
|
// newRow["AverageValue"] = PublicClass.Round(query.AverageValue_120, 2);
|
|
// newRow["CountNumber"] = query.CountNumber;
|
|
// newRow["MaxValue"] = query.MaxValue;
|
|
// newRow["MinValue"] = query.MinValue; ;
|
|
// TimeConsumingDT_120.Rows.Add(newRow);
|
|
// }
|
|
// }
|
|
// int tempone = max / 5;
|
|
// int temptwo = max % 5;
|
|
// if (temptwo == 0)
|
|
// {
|
|
// max = tempone * 5;
|
|
// }
|
|
// else
|
|
// {
|
|
// max = (tempone + 1) * 5;
|
|
// }
|
|
// if (max == 0)
|
|
// max = 10;
|
|
|
|
// TimeConsumingDT_120.DefaultView.Sort = "MonthValue ASC";
|
|
// TimeConsumingDT_120 = TimeConsumingDT_120.DefaultView.ToTable();
|
|
|
|
// XYDiagram xyDia = chartControl_120.Diagram as XYDiagram;
|
|
|
|
// xyDia.AxisY.WholeRange.MaxValue = max;
|
|
// xyDia.AxisY.NumericScaleOptions.GridOffset = 0;
|
|
// xyDia.AxisY.NumericScaleOptions.AutoGrid = false;
|
|
// xyDia.AxisY.NumericScaleOptions.GridSpacing = max / 5;
|
|
|
|
// xyDia.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual;
|
|
// xyDia.AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Month;
|
|
// ((XYDiagram)(chartControl_120.Diagram)).EnableAxisXScrolling = true;//启用横轴滚动条
|
|
|
|
// chartControl_120.Series["120平均耗时"].DataSource = TimeConsumingDT_120;
|
|
// chartControl_120.Series["120平均耗时"].ValueDataMembers[0] = "AverageValue";
|
|
// chartControl_120.Series["120平均耗时"].ArgumentDataMember = "MonthValue";
|
|
|
|
|
|
// //急诊科耗时
|
|
// max = 0;
|
|
// if (DT_JZK.Rows.Count > 0)
|
|
// {
|
|
// TimeConsumingDT_JZK.Clear();
|
|
// var querySum = from t in DT_JZK.AsEnumerable()
|
|
// group t by t.Field<string>("MonthValue") into m
|
|
// select new
|
|
// {
|
|
// MonthValue = m.Key,
|
|
// AverageValue = m.Average(t => Convert.ToDecimal(t.Field<string>("TimeConsuming_JZK"))),
|
|
// CountNumber = m.Count(),
|
|
// MaxValue = m.Max(t => Convert.ToDecimal(t.Field<string>("TimeConsuming_JZK"))),
|
|
// MinValue = m.Min(t => Convert.ToDecimal(t.Field<string>("TimeConsuming_JZK")))
|
|
// };
|
|
|
|
// foreach (var query in querySum)
|
|
// {
|
|
// DataRow newRow = TimeConsumingDT_JZK.NewRow();
|
|
// newRow["MonthValue"] = query.MonthValue;
|
|
// newRow["AverageValue"] = PublicClass.Round(query.AverageValue, 2);
|
|
// newRow["CountNumber"] = query.CountNumber;
|
|
// newRow["MaxValue"] = query.MaxValue;
|
|
// newRow["MinValue"] = query.MinValue; ;
|
|
// TimeConsumingDT_JZK.Rows.Add(newRow);
|
|
// }
|
|
// }
|
|
// tempone = max / 5;
|
|
// temptwo = max % 5;
|
|
// if (temptwo == 0)
|
|
// {
|
|
// max = tempone * 5;
|
|
// }
|
|
// else
|
|
// {
|
|
// max = (tempone + 1) * 5;
|
|
// }
|
|
// if (max == 0)
|
|
// max = 10;
|
|
|
|
// TimeConsumingDT_JZK.DefaultView.Sort = "MonthValue ASC";
|
|
// TimeConsumingDT_JZK = TimeConsumingDT_JZK.DefaultView.ToTable();
|
|
|
|
// XYDiagram xyDia1 = chartControl_JZK.Diagram as XYDiagram;
|
|
|
|
// xyDia1.AxisY.WholeRange.MaxValue = max;
|
|
// xyDia1.AxisY.NumericScaleOptions.GridOffset = 0;
|
|
// xyDia1.AxisY.NumericScaleOptions.AutoGrid = false;
|
|
// xyDia1.AxisY.NumericScaleOptions.GridSpacing = max / 5;
|
|
|
|
// xyDia1.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual;
|
|
// xyDia1.AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Month;
|
|
// ((XYDiagram)(chartControl_JZK.Diagram)).EnableAxisXScrolling = true;//启用横轴滚动条
|
|
|
|
// chartControl_JZK.Series["急诊科平均耗时"].DataSource = TimeConsumingDT_JZK;
|
|
// chartControl_JZK.Series["急诊科平均耗时"].ValueDataMembers[0] = "AverageValue";
|
|
// chartControl_JZK.Series["急诊科平均耗时"].ArgumentDataMember = "MonthValue";
|
|
|
|
// //介入科耗时
|
|
// max = 0;
|
|
// if (DT_JRK.Rows.Count > 0)
|
|
// {
|
|
// TimeConsumingDT_JRK.Clear();
|
|
// var querySum = from t in DT_JRK.AsEnumerable()
|
|
// group t by t.Field<string>("MonthValue") into m
|
|
// select new
|
|
// {
|
|
// MonthValue = m.Key,
|
|
// AverageValue = m.Average(t => Convert.ToDecimal(t.Field<string>("TimeConsuming_JRK"))),
|
|
// CountNumber = m.Count(),
|
|
// MaxValue = m.Max(t => Convert.ToDecimal(t.Field<string>("TimeConsuming_JRK"))),
|
|
// MinValue = m.Min(t => Convert.ToDecimal(t.Field<string>("TimeConsuming_JRK")))
|
|
// };
|
|
|
|
// foreach (var query in querySum)
|
|
// {
|
|
// DataRow newRow = TimeConsumingDT_JRK.NewRow();
|
|
// newRow["MonthValue"] = query.MonthValue;
|
|
// newRow["AverageValue"] = PublicClass.Round(query.AverageValue, 2);
|
|
// newRow["CountNumber"] = query.CountNumber;
|
|
// newRow["MaxValue"] = query.MaxValue;
|
|
// newRow["MinValue"] = query.MinValue; ;
|
|
// TimeConsumingDT_JRK.Rows.Add(newRow);
|
|
// }
|
|
// }
|
|
// tempone = max / 5;
|
|
// temptwo = max % 5;
|
|
// if (temptwo == 0)
|
|
// {
|
|
// max = tempone * 5;
|
|
// }
|
|
// else
|
|
// {
|
|
// max = (tempone + 1) * 5;
|
|
// }
|
|
// if (max == 0)
|
|
// max = 10;
|
|
|
|
|
|
// TimeConsumingDT_JRK.DefaultView.Sort = "MonthValue ASC";
|
|
// TimeConsumingDT_JRK = TimeConsumingDT_JRK.DefaultView.ToTable();
|
|
|
|
// XYDiagram xyDia2 = chartControl_JRK.Diagram as XYDiagram;
|
|
|
|
// xyDia2.AxisY.WholeRange.MaxValue = max;
|
|
// xyDia2.AxisY.NumericScaleOptions.GridOffset = 0;
|
|
// xyDia2.AxisY.NumericScaleOptions.AutoGrid = false;
|
|
// xyDia2.AxisY.NumericScaleOptions.GridSpacing = max / 5;
|
|
|
|
// xyDia2.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual;
|
|
// xyDia2.AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Month;
|
|
// ((XYDiagram)(chartControl_JRK.Diagram)).EnableAxisXScrolling = true;//启用横轴滚动条
|
|
|
|
|
|
// chartControl_JRK.Series["介入科平均耗时"].DataSource = TimeConsumingDT_JRK;
|
|
// chartControl_JRK.Series["介入科平均耗时"].ValueDataMembers[0] = "AverageValue";
|
|
// chartControl_JRK.Series["介入科平均耗时"].ArgumentDataMember = "MonthValue";
|
|
// //总耗时
|
|
// max = 0;
|
|
// if (DT_ZSJ.Rows.Count > 0)
|
|
// {
|
|
// TimeConsumingDT_ZSJ.Clear();
|
|
// var querySum = from t in DT_ZSJ.AsEnumerable()
|
|
// group t by t.Field<string>("MonthValue") into m
|
|
// select new
|
|
// {
|
|
// MonthValue = m.Key,
|
|
// AverageValue = m.Average(t => Convert.ToDecimal(t.Field<string>("TimeConsuming_ZSJ"))),
|
|
// CountNumber = m.Count(),
|
|
// MaxValue = m.Max(t => Convert.ToDecimal(t.Field<string>("TimeConsuming_ZSJ"))),
|
|
// MinValue = m.Min(t => Convert.ToDecimal(t.Field<string>("TimeConsuming_ZSJ")))
|
|
// };
|
|
|
|
// foreach (var query in querySum)
|
|
// {
|
|
// DataRow newRow = TimeConsumingDT_ZSJ.NewRow();
|
|
// newRow["MonthValue"] = query.MonthValue;
|
|
// newRow["AverageValue"] = PublicClass.Round(query.AverageValue, 2);
|
|
// newRow["CountNumber"] = query.CountNumber;
|
|
// newRow["MaxValue"] = query.MaxValue;
|
|
// newRow["MinValue"] = query.MinValue; ;
|
|
// TimeConsumingDT_ZSJ.Rows.Add(newRow);
|
|
// }
|
|
// }
|
|
// tempone = max / 5;
|
|
// temptwo = max % 5;
|
|
// if (temptwo == 0)
|
|
// {
|
|
// max = tempone * 5;
|
|
// }
|
|
// else
|
|
// {
|
|
// max = (tempone + 1) * 5;
|
|
// }
|
|
// if (max == 0)
|
|
// max = 10;
|
|
|
|
// TimeConsumingDT_ZSJ.DefaultView.Sort = "MonthValue ASC";
|
|
// TimeConsumingDT_ZSJ = TimeConsumingDT_ZSJ.DefaultView.ToTable();
|
|
|
|
// XYDiagram xyDia3 = chartControl_ZSJ.Diagram as XYDiagram;
|
|
|
|
// xyDia3.AxisY.WholeRange.MaxValue = max;
|
|
// xyDia3.AxisY.NumericScaleOptions.GridOffset = 0;
|
|
// xyDia3.AxisY.NumericScaleOptions.AutoGrid = false;
|
|
// xyDia3.AxisY.NumericScaleOptions.GridSpacing = max / 5;
|
|
|
|
// xyDia3.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual;
|
|
// xyDia3.AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Month;
|
|
// ((XYDiagram)(chartControl_ZSJ.Diagram)).EnableAxisXScrolling = true;//启用横轴滚动条
|
|
|
|
// chartControl_ZSJ.Series["急救过程总耗时"].DataSource = TimeConsumingDT_ZSJ;
|
|
// chartControl_ZSJ.Series["急救过程总耗时"].ValueDataMembers[0] = "AverageValue";
|
|
// chartControl_ZSJ.Series["急救过程总耗时"].ArgumentDataMember = "MonthValue";
|
|
|
|
// //绑定到数据列表
|
|
// gridControl_120.DataSource = TimeConsumingDT_120;
|
|
// gridControl_JZK.DataSource = TimeConsumingDT_JZK;
|
|
// gridControl_JRK.DataSource = TimeConsumingDT_JRK;
|
|
// gridControl_ZSJ.DataSource = TimeConsumingDT_ZSJ;
|
|
//}
|
|
}
|
|
}
|
|
}
|