Compare commits

...

1 Commits

Author SHA1 Message Date
Damian Wessels
133bc5f6b0 Sanierungsystem umgeschrieben 2024-08-30 20:40:20 +02:00
9 changed files with 71 additions and 87 deletions

View File

@@ -6,19 +6,12 @@ using System.Text;
namespace Schnittstelle.DWA149_2_2013 namespace Schnittstelle.DWA149_2_2013
{ {
class BAA : CodeBeschreibung, IReparatur, IRenovation class BAA : CodeBeschreibung
{ {
List<SanierungMassnahme> reparatur = new List<SanierungMassnahme>(); public BAA(RZustand kuerzel) : base("Verformung", kuerzel)
List<SanierungMassnahme> renovation = new List<SanierungMassnahme>();
public BAA(RZustand kuerzel) : base("Verformung",kuerzel)
{ {
CH1.Add("A", "vertikal"); CH1.Add("A", "vertikal");
CH1.Add("B", "horizontal"); CH1.Add("B", "horizontal");
} }
List<SanierungMassnahme> IReparatur.Massnahmen => reparatur;
List<SanierungMassnahme> IRenovation.Massnahmen => renovation;
} }
} }

View File

@@ -5,10 +5,8 @@ using System.Collections.Generic;
namespace Schnittstelle.DWA149_2_2013 namespace Schnittstelle.DWA149_2_2013
{ {
class BAB : CodeBeschreibung, IReparatur class BAB : CodeBeschreibung
{ {
List<SanierungMassnahme> reparatur = new List<SanierungMassnahme>();
public BAB(RZustand kuerzel) : base("Rissbildung", kuerzel) public BAB(RZustand kuerzel) : base("Rissbildung", kuerzel)
{ {
CH1.Add("A", "Oberflächenriss (Haarriss)"); CH1.Add("A", "Oberflächenriss (Haarriss)");
@@ -20,13 +18,6 @@ namespace Schnittstelle.DWA149_2_2013
CH2.Add("C", "komplexe Rissbildung"); CH2.Add("C", "komplexe Rissbildung");
CH2.Add("D", "gewundene oder spiralförmige Rissbildung"); CH2.Add("D", "gewundene oder spiralförmige Rissbildung");
CH2.Add("E", "sternförmige Rissbildung"); CH2.Add("E", "sternförmige Rissbildung");
reparatur.Add(new SanierungMassnahme("anfräsen",100,0));
reparatur.Add(new SanierungMassnahme("kurzliner",200, 0));
} }
List<SanierungMassnahme> IReparatur.Massnahmen => reparatur;
} }
} }

View File

@@ -4,10 +4,8 @@ using System.Collections.Generic;
namespace Schnittstelle.DWA149_2_2013 namespace Schnittstelle.DWA149_2_2013
{ {
class BCA : CodeBeschreibung, IRenovation class BCA : CodeBeschreibung
{ {
List<SanierungMassnahme> renovation = new List<SanierungMassnahme>();
public BCA(RZustand kuerzel) : base("Anschluss", kuerzel) public BCA(RZustand kuerzel) : base("Anschluss", kuerzel)
{ {
CH1.Add("A", "Abzweig"); CH1.Add("A", "Abzweig");
@@ -22,9 +20,6 @@ namespace Schnittstelle.DWA149_2_2013
CH2.Add("A", "offen"); CH2.Add("A", "offen");
CH2.Add("B", "geschlossen"); CH2.Add("B", "geschlossen");
renovation.Add(new SanierungMassnahme("Einmessen, Öffnen, Hut", 800, -1));
} }
List<SanierungMassnahme> IRenovation.Massnahmen => renovation;
} }
} }

View File

@@ -4,18 +4,13 @@ using System.Collections.Generic;
namespace Schnittstelle.DWA149_2_2013 namespace Schnittstelle.DWA149_2_2013
{ {
class BCE : CodeBeschreibung, IRenovation class BCE : CodeBeschreibung
{ {
List<SanierungMassnahme> renovation = new List<SanierungMassnahme>(); List<SanierungMassnahme> renovation = new List<SanierungMassnahme>();
public BCE(RZustand kuerzel) : base("Endknoten", kuerzel) public BCE(RZustand kuerzel) : base("Endknoten", kuerzel)
{ {
renovation.Add(new SanierungMassnahme("Schlauchliner", 100, 200));
renovation.Add(new SanierungMassnahme("Schlauchliner", 105, 250));
renovation.Add(new SanierungMassnahme("Schlauchliner", 120, 300));
renovation.Add(new SanierungMassnahme("Schlauchliner", 130, 400));
renovation.Add(new SanierungMassnahme("Schlauchliner", 140, 500));
renovation.Add(new SanierungMassnahme("Schlauchliner", 150, 600));
} }
public List<SanierungMassnahme> Massnahmen => renovation; public List<SanierungMassnahme> Massnahmen => renovation;

View File

@@ -144,13 +144,20 @@ namespace Schnittstelle.Export
worksheet.Range[row + j, 7].Text = code.KodeDescription; worksheet.Range[row + j, 7].Text = code.KodeDescription;
worksheet.Range[row + j, 8].Text = code.Streckenschaden; worksheet.Range[row + j, 8].Text = code.Streckenschaden;
IRenovation renovation = null;
if (code.Renovation is IRenovation) List<SanierungMassnahme> Massnahmen;
if (sanArt.Massnahmen.TryGetValue(code.Inspektionskode, out Massnahmen))
{ {
List<SanierungMassnahme> k = code.Renovation.Massnahmen; var imass = Massnahmen.Find(x =>
SanierungMassnahme s = k.Find(x => haltung.Inspektionsdaten.OptischeInspektion[0].Rohrleitung.Grunddaten.Profilbreite >= x.DN); haltung.Inspektionsdaten.OptischeInspektion[0].Rohrleitung.Grunddaten.Profilbreite >=
worksheet.Range[row + j, 9].Text = s.Beschreibung; x.DN);
if (s.Beschreibung.Equals("Schlauchliner"))
worksheet.Range[row + j, 9].Text = imass.Beschreibung;
if (imass.Beschreibung.Equals("Schlauchliner"))
{ {
double zuschlag = 1; double zuschlag = 1;
double tmpLaenge = Convert.ToDouble(haltung.Stammdaten.Kante.Laenge); double tmpLaenge = Convert.ToDouble(haltung.Stammdaten.Kante.Laenge);
@@ -158,24 +165,13 @@ namespace Schnittstelle.Export
zuschlag = 1.3; zuschlag = 1.3;
if (tmpLaenge < 15) if (tmpLaenge < 15)
zuschlag = 1.5; zuschlag = 1.5;
worksheet.Range[row + j, 10].Number = (s.Kosten*zuschlag) * tmpLaenge; worksheet.Range[row + j, 10].Number = (imass.Kosten*zuschlag) * tmpLaenge;
} }
else else
worksheet.Range[row + j, 10].Number = s.Kosten; worksheet.Range[row + j, 10].Number = imass.Kosten;
//Debugger.Break();
} }
//Debugger.Break();
/*Tuple<string, double> d;
if (sanArt.Sanierungen.TryGetValue(code.Inspektionskode, out d))
{
worksheet.Range[row + j, 9].Text = d.Item1;
worksheet.Range[row + j, 10].Number = d.Item2;
}
*/
row++; row++;
} }
} }

View File

@@ -33,8 +33,6 @@ namespace Schnittstelle.Import.XML.v2013.Model
string kommentar; string kommentar;
Klassifizierung? klassifizierung; Klassifizierung? klassifizierung;
string kodeDescription; string kodeDescription;
IReparatur? reparatur;
IRenovation? renovation;
public decimal Station { get => station; set => station = value; } public decimal Station { get => station; set => station = value; }
public string Inspektionskode { get => inspektionskode; set => inspektionskode = value; } public string Inspektionskode { get => inspektionskode; set => inspektionskode = value; }
@@ -50,7 +48,5 @@ namespace Schnittstelle.Import.XML.v2013.Model
public string Kommentar { get => kommentar; set => kommentar = value; } public string Kommentar { get => kommentar; set => kommentar = value; }
public Klassifizierung? Klassifizierung { get => klassifizierung; set => klassifizierung = value; } public Klassifizierung? Klassifizierung { get => klassifizierung; set => klassifizierung = value; }
public string KodeDescription { get => kodeDescription; set => kodeDescription = value; } public string KodeDescription { get => kodeDescription; set => kodeDescription = value; }
public IReparatur Reparatur { get => reparatur; set => reparatur = value; }
public IRenovation Renovation { get => renovation; set => renovation = value; }
} }
} }

View File

@@ -331,8 +331,6 @@ namespace Schnittstelle.Import.XML.v2013
ICodeBeschreibung codedescription = factory.GetCodeBeschreibung(rZustand); ICodeBeschreibung codedescription = factory.GetCodeBeschreibung(rZustand);
rZustand.KodeDescription = codedescription.GetBeschreibung; rZustand.KodeDescription = codedescription.GetBeschreibung;
if (codedescription is IRenovation) rZustand.Renovation = (IRenovation)codedescription;
if(codedescription is IReparatur) rZustand.Reparatur = (IReparatur)codedescription;
result.Add(rZustand); result.Add(rZustand);
} }

View File

@@ -3,34 +3,6 @@ using System.Collections.Generic;
namespace Schnittstelle.Sanierung namespace Schnittstelle.Sanierung
{ {
public interface IReparatur
{
List<SanierungMassnahme> Massnahmen { get; }
}
public interface IRenovation
{
List<SanierungMassnahme> Massnahmen { get; }
}
public class SanierungMassnahme
{
string beschreibung = string.Empty;
double kosten = double.MinValue;
int dn = 0;
public string Beschreibung { get => beschreibung; }
public double Kosten { get => kosten; }
public int DN { get => dn; }
public SanierungMassnahme(string beschreibung, double kosten, int dn)
{
this.beschreibung = beschreibung;
this.kosten = kosten;
this.dn = dn;
}
}
} }

View File

@@ -6,11 +6,37 @@ using System.Text;
namespace Schnittstelle.Sanierung namespace Schnittstelle.Sanierung
{ {
public class SanierungMassnahme
{
private string begrenzung = string.Empty;
string beschreibung = string.Empty;
double kosten = double.MinValue;
int dn = 0;
public string Beschreibung { get => beschreibung; }
public string Begrenzung { get => begrenzung; }
public double Kosten { get => kosten; }
public int DN { get => dn; }
public SanierungMassnahme(string beschreibung, double kosten, int dn,string begrenzung = "-:-")
{
this.beschreibung = beschreibung;
this.kosten = kosten;
this.dn = dn;
this.begrenzung = begrenzung;
}
}
public abstract class Sanierungart public abstract class Sanierungart
{ {
string sanierungsbezeichnung = string.Empty; string sanierungsbezeichnung = string.Empty;
public string Sanierungsbezeichnung { get => sanierungsbezeichnung; } public string Sanierungsbezeichnung { get => sanierungsbezeichnung; }
public Dictionary<string, Tuple<string, double>> Sanierungen = new Dictionary<string, Tuple<string, double>>(); public Dictionary<string, Tuple<string, double>> Sanierungen = new Dictionary<string, Tuple<string, double>>();
protected Dictionary<string, List<SanierungMassnahme>> massnahmen =
new Dictionary<string, List<SanierungMassnahme>>();
public Dictionary<string, List<SanierungMassnahme>> Massnahmen => massnahmen;
public Sanierungart(string art) public Sanierungart(string art)
{ {
sanierungsbezeichnung = art; sanierungsbezeichnung = art;
@@ -28,9 +54,31 @@ namespace Schnittstelle.Sanierung
public class Renovation : Sanierungart public class Renovation : Sanierungart
{ {
public Renovation() : base("Renovationsverfahren") public Renovation() : base("Renovationsverfahren")
{ {
BCE();
}
void BCA()
{
List<SanierungMassnahme> bca = new List<SanierungMassnahme>();
bca.Add(new SanierungMassnahme("Einmessen",10,0,"BCA:-:A"));
bca.Add(new SanierungMassnahme("Öffnen",100,0,"BCA:-:A"));
bca.Add(new SanierungMassnahme("Hut",380,0,"BCA:-:A"));
}
void BCE()
{
List<SanierungMassnahme> bce = new List<SanierungMassnahme>();
bce.Add(new SanierungMassnahme("Schlauchliner",100,200));
bce.Add(new SanierungMassnahme("Schlauchliner",105,250));
bce.Add(new SanierungMassnahme("Schlauchliner",110,300));
bce.Add(new SanierungMassnahme("Schlauchliner",120,400));
bce.Add(new SanierungMassnahme("Schlauchliner",130,500));
bce.Add(new SanierungMassnahme("Schlauchliner",140,600));
massnahmen.Add("BCE", bce);
} }
} }
} }