From 3b45cc592a029078adb7af577d05459b4b7ba780 Mon Sep 17 00:00:00 2001 From: Husky Date: Mon, 11 Mar 2019 21:19:46 +0100 Subject: [PATCH] Druckverlaufgrafik getrennt. Wird kein Exception geworfen, wenn bild nicht vorhanden ist in Schachtanbindung --- BerichtGen/Bericht.cs | 3 +- KlassenBIB/InlinerSanierung.cs | 6 +- SanSystem/SanSystem.csproj | 2 +- SanSystem/UCInliner.cs | 73 ++++++++++----------- SanSystem/UCSchachtanbindung.cs | 1 + SanSystem/documents/JUME/liner_einbau.docx | Bin 53061 -> 53362 bytes 6 files changed, 43 insertions(+), 42 deletions(-) diff --git a/BerichtGen/Bericht.cs b/BerichtGen/Bericht.cs index 62ece3f..c6ae055 100644 --- a/BerichtGen/Bericht.cs +++ b/BerichtGen/Bericht.cs @@ -149,7 +149,8 @@ namespace BerichtGen private void MailMerge_MergeImageField(object sender, MergeImageFieldEventArgs args) { - if(args.FieldName == "UVImage") + + if(args.FieldName == "UVImageTemp" || args.FieldName == "UVImageDruck") { string source = args.FieldValue.ToString(); if (!File.Exists(source)) return; diff --git a/KlassenBIB/InlinerSanierung.cs b/KlassenBIB/InlinerSanierung.cs index b86d27a..df8f669 100644 --- a/KlassenBIB/InlinerSanierung.cs +++ b/KlassenBIB/InlinerSanierung.cs @@ -101,7 +101,8 @@ namespace KlassenBIB {"vakuum","" }, {"time_start","" }, {"time_ende","" }, - {"UVImage","" }, + {"UVImageTemp","" }, + {"UVImageDruck","" }, {"liner_type","" }, {"rueckhol_speed","" }, {"harz_type","" } @@ -145,7 +146,8 @@ namespace KlassenBIB grunddaten["vakuum"] = this.KalibrierUnterdruck; grunddaten["time_start"] = this.AnfangAushaertung; grunddaten["time_ende"] = this.EndeAushaertung; - grunddaten["UVImage"] = Path.Combine(destinationPath, "linerGraph.jpg"); + grunddaten["UVImageTemp"] = Path.Combine(destinationPath, "linerGraph_temp.jpg"); + grunddaten["UVImageDruck"] = Path.Combine(destinationPath, "linerGraph_druck.jpg"); grunddaten["rueckhol_speed"] = rueckholgeschwindigkeit; grunddaten["liner_type"] = LinerTyp; grunddaten["harz_type"] = HarzTyp; diff --git a/SanSystem/SanSystem.csproj b/SanSystem/SanSystem.csproj index ed0f6fa..003bf12 100644 --- a/SanSystem/SanSystem.csproj +++ b/SanSystem/SanSystem.csproj @@ -18,7 +18,7 @@ full false bin\Debug\ - TRACE;DEBUG;LAPTOP + TRACE;DEBUG prompt 4 bin\Debug\SanSystem.xml diff --git a/SanSystem/UCInliner.cs b/SanSystem/UCInliner.cs index 327adca..f0df606 100644 --- a/SanSystem/UCInliner.cs +++ b/SanSystem/UCInliner.cs @@ -210,7 +210,7 @@ namespace SanSystem } - private static ChartControl getGraph(List input) + private static ChartControl getGraph(List input,string type) { Size size = new Size(600, 400); @@ -218,67 +218,60 @@ namespace SanSystem chartControl.Size = size; ChartAxis axis = chartControl.PrimaryYAxis; - ChartAxis axis0 = new ChartAxis(ChartOrientation.Vertical); - ChartAxis axis1 = new ChartAxis(ChartOrientation.Vertical); + ChartAxisLayout layout1 = new ChartAxisLayout(); - ChartAxisLayout layout2 = new ChartAxisLayout(); - - chartControl.Axes.Add(axis0); - //chartControl.Axes.Add(axis1); + layout1.Spacing = 12; - layout2.Spacing = 12; + layout1.Axes.Add(axis); - layout2.Axes.Add(axis0); - //layout2.Axes.Add(axis1); + chartControl.ChartArea.YLayouts.Add(layout1); - chartControl.ChartArea.YLayouts.Add(layout2); - ChartSeries temperaturChart = new ChartSeries("Temperatur", ChartSeriesType.Line); - ChartSeries druckChart = new ChartSeries("Druck", ChartSeriesType.Line); + ChartSeries mychart = new ChartSeries(type, ChartSeriesType.Line); + int counter = 0; foreach (UVcsvStrukture pars in input) { - temperaturChart.Points.Add(counter, pars.Temperatur); - druckChart.Points.Add(counter, pars.Druck); + if (type.Equals("Temperatur")) + mychart.Points.Add(counter, pars.Temperatur); + else if (type.Equals("Druck")) + mychart.Points.Add(counter, pars.Druck); + else + throw new Exception("Kein gültiger Aufruf"); counter++; } - temperaturChart.YAxis = axis; - druckChart.YAxis = axis0; + mychart.YAxis = axis; - axis.Title = "°C"; + switch(type) + { + case "Temperatur": + axis.Title = "°C"; + break; + + case "Druck": + axis.Title = "[bar]"; + break; + } + axis.TitleFont = new Font("Segeo UI", 14F); - axis0.Title = "[bar]"; - axis0.TitleFont = new Font("Segeo UI", 14F); - + chartControl.LegendsPlacement = ChartPlacement.Outside; chartControl.LegendPosition = ChartDock.Bottom; chartControl.LegendAlignment = ChartAlignment.Center; chartControl.Title.Visible = false; - /*ChartAxis chartAxis = new ChartAxis(); - chartAxis.Orientation = ChartOrientation.Horizontal; - chartAxis.Range = new MinMaxInfo(0, 6, 1); - chartAxis.DrawGrid = false; - chartAxis.LineType.Width = 1F; - chartAxis.LineType.ForeColor = Color.Black; - chartControl.Axes.Add(chartAxis); - */ - chartControl.Series.Add(temperaturChart); - chartControl.Series.Add(druckChart); + chartControl.Series.Add(mychart); chartControl.Skins = Skins.Metro; - - //axis1.OpposedPosition = true; axis.EdgeLabelsDrawingMode = ChartAxisEdgeLabelsDrawingMode.Shift; - axis0.EdgeLabelsDrawingMode = ChartAxisEdgeLabelsDrawingMode.Shift; - //axis1.EdgeLabelsDrawingMode = ChartAxisEdgeLabelsDrawingMode.Shift; + return chartControl; } @@ -296,10 +289,14 @@ namespace SanSystem inliner.AnfangAushaertung = struktures.Select(x => x.Zeitstempel).Min(); inliner.EndeAushaertung = struktures.Select(x => x.Zeitstempel).Max(); - ChartControl chart = getGraph(struktures); - if (chart == null) return false; + ChartControl tempChart = getGraph(struktures,"Temperatur"); + if (tempChart == null) return false; else - chart.SaveImage(Path.Combine(destinationPath, "linerGraph.jpg")); + tempChart.SaveImage(Path.Combine(destinationPath, "linerGraph_temp.jpg")); + ChartControl druckChart = getGraph(struktures, "Druck"); + if (druckChart == null) return false; + else + druckChart.SaveImage(Path.Combine(destinationPath, "linerGraph_druck.jpg")); return true; } diff --git a/SanSystem/UCSchachtanbindung.cs b/SanSystem/UCSchachtanbindung.cs index 611c1e7..4cf0bb1 100644 --- a/SanSystem/UCSchachtanbindung.cs +++ b/SanSystem/UCSchachtanbindung.cs @@ -124,6 +124,7 @@ namespace SanSystem if (!File.Exists(pfad)) { MessageBox.Show("Bilddatei mit den Pfad " + pfad + " nicht gefunden"); + return; } pt_box.Load(pfad); pt_box.SizeMode = PictureBoxSizeMode.StretchImage; diff --git a/SanSystem/documents/JUME/liner_einbau.docx b/SanSystem/documents/JUME/liner_einbau.docx index d315c643699e3b685613ef247ba3f31a63f9c18b..ee191294cf2a0bcc8202c934a3411c455fc3a7be 100644 GIT binary patch delta 10263 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

HZ&{l*N8T|w#_tVMx9sKCe`D}u2V;v$T z@gq=n=VbPvS*aFw(?+dJ`0HNu1J)!5tq}I(^(LKVyXY!Xn0Z{+rffXnm ztN?BM2?7EXM@9s?2cr}HbL(ad1p$GJ2myf!@jt&aau7NtHi&Bko%-KvJju1d$(}MCw_@FL6gEmGapmrHS^rJ#hg13E=q z5p<&eR~P^P-8toe;&ZY7Q36em5h|;9HSUN1KeFl`P}evG(Z9df`%G{^zt6^hxdZw^uj71By@MdW31-+oL;p1XFZ8xG A@c;k-