StableVersion4.3/HL_FristAidPlatform_Trauma/Form_InformationWarningStai...

163 lines
7.3 KiB
C#
Raw Permalink Normal View History

2024-03-11 09:47:34 +08:00
using DevExpress.Utils;
using DevExpress.XtraCharts;
using DevExpress.XtraEditors;
using HL_FristAidPlatform_DTO.Service;
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;
using static HL_FristAidPlatform_Public.TimeControl;
namespace HL_FristAidPlatform_Trauma
{
public partial class Form_InformationWarningStaisics : XtraForm
{
public Form_InformationWarningStaisics()
{
InitializeComponent();
}
private void Form_InformationWarningStaisics_Load(object sender, EventArgs e)
{
time_starTime.TimeValue = DateTime.Now.AddMonths(-5).ToString();
time_endTime.TimeValue = DateTime.Now.ToString();
GetInformationWarningStaisics();
}
private void radi_month_Click(object sender, EventArgs e)
{
if (radi_month.Checked)
time_starTime.FormatString_Date = DateFormat.yyyyMM;
}
private void radio_year_Click(object sender, EventArgs e)
{
if (radi_month.Checked)
time_starTime.FormatString_Date = DateFormat.yyyyMMdd;
}
private void simpleButton2_Click(object sender, EventArgs e)
{
GetInformationWarningStaisics();
}
public void GetInformationWarningStaisics()
{
string starTime = "";
string endTime = "";
//int type = radio_day.Checked == true ? 0 : 1;
//if (type == 0)
//{
// starTime = time_starTime.TimeValue.ToString() == "" ? "" : Convert.ToDateTime(time_starTime.TimeValue).ToString("yyyy-MM-dd");
// endTime = time_endTime.TimeValue.ToString() == "" ? "" : Convert.ToDateTime(time_endTime.TimeValue).ToString("yyyy-MM-dd");
//}
//if (type == 1)
//{
// starTime = time_starTime.TimeValue.ToString() == "" ? "" : Convert.ToDateTime(time_starTime.TimeValue).ToString("yyyy-MM");
// endTime = time_endTime.TimeValue.ToString() == "" ? "" : Convert.ToDateTime(time_endTime.TimeValue).ToString("yyyy-MM");
//}
InformationWarningStaisicsDTO model = DBHelpClass.GetDateModel<InformationWarningStaisicsDTO>(string.Format("api/service/T_Service_Trauma_MassiveDataStatistics/GetInformationWarningStaisics?hospitalGuid={0}&starTime={1}&endTime={2}&type={3}", Information.Hospital.GUID, Convert.ToDateTime(time_starTime.TimeValue).ToString("yyyy-MM"), Convert.ToDateTime(time_endTime.TimeValue).ToString("yyyy-MM"), 1));
if (model != null)
{
lbl_earlyWarningTotal.Text = model.EarlyWarningTotal.ToString();
lbl_callTraumaTeamTotal.Text = model.CallTraumaTeamTotal.ToString();
chartControl2.Series.Clear();
chartControl2.Titles.Clear();
Series series = new Series("", ViewType.Pie);
series.Points.Add(new SeriesPoint("预警占比", model.EarlyWarningCount));
series.Points.Add(new SeriesPoint("呼叫创伤团队占比", model.CallTraumaTeamCount));
series.Points.Add(new SeriesPoint("未预警占比", model.NonEarlyWarningCount));
ChartTitle chartTitle1 = new ChartTitle();
chartTitle1.Text = "占比统计";
series.Label.TextPattern = "{A}: {VP:p0}";
((PieSeriesLabel)series.Label).Position = PieSeriesLabelPosition.TwoColumns;
((PieSeriesLabel)series.Label).ResolveOverlappingMode = ResolveOverlappingMode.Default;
chartControl2.Titles.Add(chartTitle1);
chartControl2.Series.AddRange(series);
chartControl1.Series.Clear();
chartControl1.Titles.Clear();
Series series1 = new Series("预警次数", ViewType.Spline);
Series series2 = new Series("呼叫创伤团队次数", ViewType.Spline);
ChartTitle chartTitle2 = new ChartTitle();
chartTitle2.Text = "预警信息统计";
chartControl1.Titles.Add(chartTitle2);
int max = 10;
List<int> lst = new List<int>();
if (model.EarlyWarningList != null && model.EarlyWarningList.Count > 0)
{
for (int i = 0; i < model.EarlyWarningList.Count; i++)
{
lst.Add(model.EarlyWarningList[i].Number);
series1.Points.Add(new SeriesPoint(model.EarlyWarningList[i].TimeDate, model.EarlyWarningList[i].Number));
}
}
if (model.CallTraumaTeamList != null && model.CallTraumaTeamList.Count > 0)
{
for (int i = 0; i < model.CallTraumaTeamList.Count; i++)
{
lst.Add(model.EarlyWarningList[i].Number);
series2.Points.Add(new SeriesPoint(model.CallTraumaTeamList[i].TimeDate, model.CallTraumaTeamList[i].Number));
}
}
chartControl1.Series.AddRange(series1, series2);
((LineSeriesView)series1.View).MarkerVisibility = DefaultBoolean.True;
((LineSeriesView)series1.View).LineMarkerOptions.Kind = MarkerKind.Circle;
((LineSeriesView)series2.View).MarkerVisibility = DefaultBoolean.True;
((LineSeriesView)series2.View).LineMarkerOptions.Kind = MarkerKind.InvertedTriangle;
XYDiagram xyDia = chartControl1.Diagram as XYDiagram;
xyDia.AxisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual;
max = int.Parse(lst.Max(i => i.ToString()));
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.NumericScaleOptions.GridOffset = 0;
xyDia.AxisY.NumericScaleOptions.GridSpacing = max / 5;
((XYDiagram)(chartControl1.Diagram)).EnableAxisXScrolling = true;//启用横轴滚动条
}
}
private void simpleButton5_Click(object sender, EventArgs e)
{
time_starTime.TimeValue = DateTime.Now.AddMonths(-2).ToString();
time_endTime.TimeValue = DateTime.Now.ToString();
GetInformationWarningStaisics();
}
private void simpleButton1_Click(object sender, EventArgs e)
{
time_starTime.TimeValue = DateTime.Now.AddMonths(-5).ToString();
time_endTime.TimeValue = DateTime.Now.ToString();
GetInformationWarningStaisics();
}
private void simpleButton4_Click(object sender, EventArgs e)
{
time_starTime.TimeValue = DateTime.Now.AddMonths(-11).ToString();
time_endTime.TimeValue = DateTime.Now.ToString();
GetInformationWarningStaisics();
}
}
}