Compare commits

...

1 Commits

Author SHA1 Message Date
Damian Wessels
c86a2ff6d8 Excelliste weiter umgestellt
Renovation Schlauchliner abhängig von DN und Durchmesser erstellt
2024-08-30 14:47:49 +02:00
7 changed files with 70 additions and 18 deletions

View File

@@ -21,8 +21,8 @@ namespace Schnittstelle.DWA149_2_2013
CH2.Add("D", "gewundene oder spiralförmige Rissbildung");
CH2.Add("E", "sternförmige Rissbildung");
reparatur.Add(new SanierungMassnahme("anfräsen",100));
reparatur.Add(new SanierungMassnahme("kurzliner",200));
reparatur.Add(new SanierungMassnahme("anfräsen",100,0));
reparatur.Add(new SanierungMassnahme("kurzliner",200, 0));
}
List<SanierungMassnahme> IReparatur.Massnahmen => reparatur;

View File

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

View File

@@ -1,11 +1,23 @@
using Schnittstelle.Import.XML.v2013.Model;
using Schnittstelle.Sanierung;
using System.Collections.Generic;
namespace Schnittstelle.DWA149_2_2013
{
class BCE : CodeBeschreibung
class BCE : CodeBeschreibung, IRenovation
{
List<SanierungMassnahme> renovation = new List<SanierungMassnahme>();
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;
}
}

View File

@@ -71,6 +71,7 @@ namespace Schnittstelle.Export
worksheet.Range[row, 3].Text = "Tiefe";
worksheet.Range[row, 4].Text = "Inspizierte Länge";
worksheet.Range[row, 5].Text = "Straße";
worksheet.Range[row, 7].Text = sanArt.Sanierungsbezeichnung;
worksheet.Range[row, 9].Text = "DN";
worksheet.Range[row, 10].Text = "Material";
@@ -88,8 +89,8 @@ namespace Schnittstelle.Export
row += 2;
worksheet.Range[row, 2].Text = sanArt.Sanierungsbezeichnung;
row+= 2;
//worksheet.Range[row, 2].Text = sanArt.Sanierungsbezeichnung;
//row+= 2;
//int temprow = row;
worksheet.Range[row, 1].Text = "Stat";
worksheet.Range[row, 2].Text = "Kürzel";
@@ -143,13 +144,38 @@ namespace Schnittstelle.Export
worksheet.Range[row + j, 7].Text = code.KodeDescription;
worksheet.Range[row + j, 8].Text = code.Streckenschaden;
Tuple<string, double> d;
IRenovation renovation = null;
if (code.Renovation is IRenovation)
{
List<SanierungMassnahme> k = code.Renovation.Massnahmen;
SanierungMassnahme s = k.Find(x => haltung.Inspektionsdaten.OptischeInspektion[0].Rohrleitung.Grunddaten.Profilbreite >= x.DN);
worksheet.Range[row + j, 9].Text = s.Beschreibung;
if (s.Beschreibung.Equals("Schlauchliner"))
{
double zuschlag = 1;
double tmpLaenge = Convert.ToDouble(haltung.Stammdaten.Kante.Laenge);
if (tmpLaenge < 30)
zuschlag = 1.3;
if (tmpLaenge < 15)
zuschlag = 1.5;
worksheet.Range[row + j, 10].Number = (s.Kosten*zuschlag) * tmpLaenge;
}
else
worksheet.Range[row + j, 10].Number = s.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++;
}
}
@@ -181,10 +207,12 @@ namespace Schnittstelle.Export
worksheet.Range[row, 8].Number = Convert.ToDouble(inspizierteLaenge);
worksheet.Range[row, 9].Number = 3;
worksheet.Range[row, 10].Formula = string.Format("=H{0}*I{0}", row);
/*
row++;
worksheet.Range[row, 7].Text = "Reinigung verstopfter Abzweiger"; //250€
worksheet.Range[row, 9].Number = 250;
worksheet.Range[row, 10].Formula = string.Format("=H{0}*I{0}", row);
*/
row++;
worksheet.Range[row, 7].Text = "Summe netto";
worksheet.Range[row, 10].Formula = string.Format("=SUM(J{0}:J{1})",temprow,row-1);

View File

@@ -523,6 +523,9 @@ namespace Schnittstelle.Import.XML.v2013
result.Geometriedaten = parseGeometrieDaten(s);
break;
case "GeoObjektart": break;
case "VorlaeufigeBezeichnung": break;
case "Kommentar": break;
default: throw new NotImplementedException(s.Name);
}

View File

@@ -18,15 +18,18 @@ namespace Schnittstelle.Sanierung
public class SanierungMassnahme
{
string beschreibung = string.Empty;
decimal kosten = decimal.MinValue;
double kosten = double.MinValue;
int dn = 0;
public string Beschreibung { get => beschreibung; }
public decimal Kosten { get => kosten; }
public double Kosten { get => kosten; }
public int DN { get => dn; }
public SanierungMassnahme(string beschreibung, decimal kosten)
public SanierungMassnahme(string beschreibung, double kosten, int dn)
{
this.beschreibung=beschreibung;
this.beschreibung = beschreibung;
this.kosten = kosten;
this.dn = dn;
}
}

View File

@@ -20,18 +20,16 @@ namespace Schnittstelle.Sanierung
public class Reparatur : Sanierungart
{
public Reparatur() : base("Reparatur")
public Reparatur() : base("Reparaturverfahren")
{
Sanierungen.Add("BAB", new Tuple<string, double>("Kurzliner 2,4m", 300.30));
}
}
public class Renovation : Sanierungart
{
public Renovation() : base("Renovation")
public Renovation() : base("Renovationsverfahren")
{
Sanierungen.Add("BCA", new Tuple<string, double>("Einmessen, Öffnen, Hut", 800));
}
}