From 26f45822a2a84af81e20ca543da98d3b822c5afd Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期一, 17 二月 2025 21:25:59 +0800
Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/13-print/report/SimulationCommonReport.cs |  150 +++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 137 insertions(+), 13 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/13-print/report/SimulationCommonReport.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/13-print/report/SimulationCommonReport.cs
index 87695602..038e653 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/13-print/report/SimulationCommonReport.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/13-print/report/SimulationCommonReport.cs
@@ -204,23 +204,70 @@
             {
                 foreach (var working in vm.WorkingList)
                 {
-                    XRChart chart = new XRChart();
-                    chart.LocationF = new DevExpress.Utils.PointFloat(0F, locationY);
-                    chart.WidthF = contentWidth;
-                    chart.HeightF = 300F;
+                    //XRChart chart = new XRChart();
+                    //chart.LocationF = new DevExpress.Utils.PointFloat(0F, locationY);
+                    //chart.WidthF = contentWidth;
+                    //chart.HeightF = 300F;
 
-                    // 鍒涘缓涓�涓嚎绯诲垪
-                    Series series = new Series("Series1", ViewType.Spline);
+                    //// 鍒涘缓涓�涓嚎绯诲垪
+                    //Series series = new Series("Series1", ViewType.Spline);
 
-                    // 娣诲姞鏁版嵁鐐�
-                    foreach (var item in working.PumpAnaly.Items[0].RatedCurveQH)
-                    {
-                        series.Points.Add(new SeriesPoint(item.X, item.Y));
-                    }
+                    //// 娣诲姞鏁版嵁鐐�
+                    //foreach (var item in working.PumpAnaly.Items[0].RatedCurveQH)
+                    //{
+                    //    series.Points.Add(new SeriesPoint(item.X, item.Y));
+                    //}
 
-                    chart.Series.Add(series);
+                    //chart.Series.Add(series);
 
-                    Detail.Controls.Add(chart);
+                    //Detail.Controls.Add(chart);
+
+                    var accuracyScaleChart = CreateAccuracyScale(working.Accuracy.Scale, 300F, 250F, locationY);
+                    Detail.Controls.Add(accuracyScaleChart);
+                    var accuracyFlowChart = CreateAccuracyItem(working.Accuracy.Flow?.AvgError ?? 0, 213F, 250F, 300F, locationY);
+                    Detail.Controls.Add(accuracyFlowChart);
+                    var accuracyPressChart = CreateAccuracyItem(working.Accuracy.Press?.AvgError ?? 0, 213F, 250F, 513F, locationY);
+                    Detail.Controls.Add(accuracyPressChart);
+
+                    //var chart = new XRChart();
+                    //chart.BackColor = System.Drawing.Color.Transparent;
+                    //chart.BorderColor = System.Drawing.Color.Black;
+                    //chart.Borders = DevExpress.XtraPrinting.BorderSide.None;
+                    ////chart.Legend.LegendID = -1;
+                    //chart.Legend.Name = "Default Legend";
+                    //chart.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
+                    //chart.LocationFloat = new DevExpress.Utils.PointFloat(20F, locationY);
+                    //chart.Name = "xrChart6";
+                    //chart.Padding = new DevExpress.XtraPrinting.PaddingInfo(10, 10, 20, 20, 96F);
+                    //chart.PaletteRepository.Add("Palette 1", new DevExpress.XtraCharts.Palette("Palette 1", DevExpress.XtraCharts.PaletteScaleMode.Repeat, new DevExpress.XtraCharts.PaletteEntry[] {
+                    //new DevExpress.XtraCharts.PaletteEntry(System.Drawing.Color.FromArgb(((int)(((byte)(103)))), ((int)(((byte)(174)))), ((int)(((byte)(197))))), System.Drawing.Color.FromArgb(((int)(((byte)(103)))), ((int)(((byte)(174)))), ((int)(((byte)(197)))))),
+                    //new DevExpress.XtraCharts.PaletteEntry(System.Drawing.Color.FromArgb(((int)(((byte)(232)))), ((int)(((byte)(236)))), ((int)(((byte)(240))))), System.Drawing.Color.FromArgb(((int)(((byte)(232)))), ((int)(((byte)(236)))), ((int)(((byte)(240))))))}));
+                    //chart.PaletteName = "Palette 1";
+
+
+
+                    //var series = new DevExpress.XtraCharts.Series();
+                    //series.LabelsVisibility = DevExpress.Utils.DefaultBoolean.False;
+                    //series.Name = "Series 1";
+                    ////series.SeriesID = 0;
+                    //var doughnutSeriesView = new DevExpress.XtraCharts.DoughnutSeriesView();
+                    //doughnutSeriesView.HoleRadiusPercent = 45;
+                    //doughnutSeriesView.TotalLabel.DXFont = new DevExpress.Drawing.DXFont("Tahoma", 12F, DevExpress.Drawing.DXFontStyle.Bold);
+                    //doughnutSeriesView.TotalLabel.Visible = true;
+                    //series.View = doughnutSeriesView;
+                    //chart.SeriesSerializable = new DevExpress.XtraCharts.Series[] { series };
+                    //chart.SizeF = new System.Drawing.SizeF(175F, 185F);
+                    //chart.StylePriority.UseBackColor = false;
+                    //chart.StylePriority.UsePadding = false;
+
+                    //series.Points.Add(new SeriesPoint("璇樊", 15));
+                    //series.Points.Add(new SeriesPoint("鍏朵粬", 85));
+
+                    //doughnutSeriesView.TotalLabel.TextPattern = string.Format("{0:0%}", 0.15);
+
+                    //this.Detail.Controls.Add(chart);
+
+
                 }
             }
         }
@@ -243,6 +290,83 @@
             return lab;
         }
 
+        //鍒涘缓绮惧害姣斾緥
+        private XRChart CreateAccuracyScale(SimulationPrintAccuracyScaleViewModel scale, float sizeX, float sizeY, float locationY)
+        {
+            var chart = new XRChart();
+            chart.BackColor = System.Drawing.Color.Transparent;
+            chart.BorderColor = System.Drawing.Color.Black;
+            chart.Borders = DevExpress.XtraPrinting.BorderSide.All;
+            chart.Legend.Name = "Default Legend";
+            chart.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
+            chart.LocationFloat = new DevExpress.Utils.PointFloat(0F, locationY);
+            chart.Name = "chart";
+            chart.Padding = new DevExpress.XtraPrinting.PaddingInfo(10, 10, 20, 20, 100F);
+
+            var series = new DevExpress.XtraCharts.Series();
+            series.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True;
+            series.Name = "Series";
+            var doughnutSeriesView = new DevExpress.XtraCharts.DoughnutSeriesView();
+            doughnutSeriesView.HoleRadiusPercent = 45;
+            doughnutSeriesView.TotalLabel.DXFont = new DevExpress.Drawing.DXFont("Tahoma", 12F, DevExpress.Drawing.DXFontStyle.Bold);
+            doughnutSeriesView.TotalLabel.Visible = true;
+            series.View = doughnutSeriesView;
+            series.Label.LineVisibility = DevExpress.Utils.DefaultBoolean.True;
+            series.Label.TextPattern = "{A}锛歿VP:P1}";
+            chart.SeriesSerializable = new DevExpress.XtraCharts.Series[] { series };
+            chart.SizeF = new System.Drawing.SizeF(sizeX, sizeY);
+            chart.StylePriority.UseBackColor = false;
+            chart.StylePriority.UsePadding = false;
+
+            if (scale.Items != null && scale.Items.Count > 0)
+            {
+                foreach (var item in scale.Items)
+                {
+                    series.Points.Add(new SeriesPoint(item.EvaluateItem, item.EvaluateCount));
+                }
+            }
+            doughnutSeriesView.TotalLabel.TextPattern = string.Format("{0:0%}", (scale.AvgError ?? 0) / 100F);
+            return chart;
+        }
+
+        //鍒涘缓绮惧害椤�
+        private XRChart CreateAccuracyItem(double value, float sizeX, float sizeY, float locationX, float locationY)
+        {
+            var chart = new XRChart();
+            chart.BackColor = System.Drawing.Color.Transparent;
+            chart.BorderColor = System.Drawing.Color.Black;
+            chart.Borders = DevExpress.XtraPrinting.BorderSide.All;
+            chart.Legend.Name = "Default Legend";
+            chart.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
+            chart.LocationFloat = new DevExpress.Utils.PointFloat(locationX, locationY);
+            chart.Name = "chart";
+            chart.Padding = new DevExpress.XtraPrinting.PaddingInfo(10, 10, 20, 20, 100F);
+            chart.PaletteRepository.Add("Palette 1", new DevExpress.XtraCharts.Palette("Palette 1", DevExpress.XtraCharts.PaletteScaleMode.Repeat, new DevExpress.XtraCharts.PaletteEntry[] {
+            new DevExpress.XtraCharts.PaletteEntry(System.Drawing.Color.FromArgb(((int)(((byte)(103)))), ((int)(((byte)(174)))), ((int)(((byte)(197))))), System.Drawing.Color.FromArgb(((int)(((byte)(103)))), ((int)(((byte)(174)))), ((int)(((byte)(197)))))),
+            new DevExpress.XtraCharts.PaletteEntry(System.Drawing.Color.FromArgb(((int)(((byte)(232)))), ((int)(((byte)(236)))), ((int)(((byte)(240))))), System.Drawing.Color.FromArgb(((int)(((byte)(232)))), ((int)(((byte)(236)))), ((int)(((byte)(240))))))}));
+            chart.PaletteName = "Palette 1";
+
+            var series = new DevExpress.XtraCharts.Series();
+            series.LabelsVisibility = DevExpress.Utils.DefaultBoolean.False;
+            series.Name = "Series";
+            var doughnutSeriesView = new DevExpress.XtraCharts.DoughnutSeriesView();
+            doughnutSeriesView.HoleRadiusPercent = 45;
+            doughnutSeriesView.TotalLabel.DXFont = new DevExpress.Drawing.DXFont("Tahoma", 12F, DevExpress.Drawing.DXFontStyle.Bold);
+            doughnutSeriesView.TotalLabel.Visible = true;
+            series.View = doughnutSeriesView;
+            chart.SeriesSerializable = new DevExpress.XtraCharts.Series[] { series };
+            chart.SizeF = new System.Drawing.SizeF(sizeX, sizeY);
+            chart.StylePriority.UseBackColor = false;
+            chart.StylePriority.UsePadding = false;
+
+            var otherValue = 100 - value;
+            series.Points.Add(new SeriesPoint("璇樊", value));
+            series.Points.Add(new SeriesPoint("鍏朵粬", otherValue));
+
+            doughnutSeriesView.TotalLabel.TextPattern = string.Format("{0:0%}", value / 100f);
+            return chart;
+        }
+
 
         // 鍒涘缓琛ㄥご鍗曞厓鏍�
         private XRTableCell CreateTableCell(string text, int width)

--
Gitblit v1.9.3