Products Stammdatengenerator added

This commit is contained in:
2023-07-04 21:36:48 +02:00
parent 0af9852722
commit e2e0bb3730
18 changed files with 853 additions and 453 deletions

1027
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -5,7 +5,8 @@
"scripts": { "scripts": {
"start": "nx serve", "start": "nx serve",
"build": "nx build", "build": "nx build",
"test": "nx test" "test": "nx test",
"lint:html": "htmlhint-ng2 src/**/*.html"
}, },
"private": true, "private": true,
"dependencies": { "dependencies": {
@@ -18,6 +19,7 @@
"@angular/platform-browser-dynamic": "~16.1.0", "@angular/platform-browser-dynamic": "~16.1.0",
"@angular/router": "~16.1.0", "@angular/router": "~16.1.0",
"@nx/angular": "16.4.3", "@nx/angular": "16.4.3",
"htmllint": "^0.8.0",
"rxjs": "~7.8.0", "rxjs": "~7.8.0",
"tslib": "^2.3.0", "tslib": "^2.3.0",
"zone.js": "~0.13.0" "zone.js": "~0.13.0"
@@ -48,6 +50,7 @@
"eslint": "~8.15.0", "eslint": "~8.15.0",
"eslint-config-prettier": "8.1.0", "eslint-config-prettier": "8.1.0",
"eslint-plugin-cypress": "^2.10.3", "eslint-plugin-cypress": "^2.10.3",
"htmlhint-ng2": "^0.0.13",
"jest": "^29.4.1", "jest": "^29.4.1",
"jest-environment-jsdom": "^29.4.1", "jest-environment-jsdom": "^29.4.1",
"jest-preset-angular": "~13.1.0", "jest-preset-angular": "~13.1.0",

View File

@@ -1,34 +1,17 @@
<nav class="navbar navbar-expand-lg bg-dark navbar-dark fixed-top">
<a class="navbar-brand" href="#">W&W Tech</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse"
aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav mr-auto">
<li class="nav-item">
<a class="nav-link" routerLink="">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" routerLink="/dienstleistung">Dienstleistungen</a>
</li>
<li class="nav-item">
<a class="nav-link" routerLink="/impressum">Impressum</a>
</li>
<li class="nav-item">
<a class="nav-link" routerLink="/privacy_policy">Datenschutzerklärung</a>
</li>
</ul>
</div>
</nav>
<div class="container"> <div class="container">
<router-outlet></router-outlet> <div class="row">
</div> <div class="col">
<frontpage-ns-navigation></frontpage-ns-navigation>
</div>
</div>
<div class="row">
<router-outlet></router-outlet>
</div>
<!-- <!--
<footer> <footer>
<p class="text-xs-center">© Copyright 2023. All rights reserved.</p> <p class="text-xs-center">© Copyright 2023. All rights reserved.</p>
</footer>--> </footer>
-->
</div>

View File

@@ -4,67 +4,12 @@
} }
.container { .container {
position: absolute; margin-left: auto;
top:80px; margin-right: auto;
max-width: 768px;
} padding-bottom: 3rem;
padding-left: 1rem;
.footer-basic { padding-right: 1rem;
padding:40px 0; color: rgba(55, 65, 81, 1);
background-color:#ffffff; width: 100%;
color:#4b4c4d;
}
.footer-basic ul {
padding:0;
list-style:none;
text-align:center;
font-size:18px;
line-height:1.6;
margin-bottom:0;
}
.footer-basic li {
padding:0 10px;
}
.footer-basic ul a {
color:inherit;
text-decoration:none;
opacity:0.8;
}
.footer-basic ul a:hover {
opacity:1;
}
.footer-basic .social {
text-align:center;
padding-bottom:25px;
}
.footer-basic .social > a {
font-size:24px;
width:40px;
height:40px;
line-height:40px;
display:inline-block;
text-align:center;
border-radius:50%;
border:1px solid #ccc;
margin:0 8px;
color:inherit;
opacity:0.75;
}
.footer-basic .social > a:hover {
opacity:0.9;
}
.footer-basic .copyright {
margin-top:15px;
text-align:center;
font-size:13px;
color:#aaa;
margin-bottom:0;
} }

View File

@@ -8,6 +8,8 @@ import { ImpressumComponent } from './components/impressum/impressum.component';
import { DienstleistungComponent } from './components/dienstleistung/dienstleistung.component'; import { DienstleistungComponent } from './components/dienstleistung/dienstleistung.component';
import { PrivacyPolicyComponent } from './components/privacy-policy/privacy-policy.component'; import { PrivacyPolicyComponent } from './components/privacy-policy/privacy-policy.component';
import { HomeComponent } from './components/home/home.component'; import { HomeComponent } from './components/home/home.component';
import { NavigationComponent } from './components/navigation/navigation.component';
import { StammdatengeneratorComponent } from './components/products/software/stammdatengenerator/stammdatengenerator.component';
@NgModule({ @NgModule({
declarations: [ declarations: [
@@ -17,6 +19,8 @@ import { HomeComponent } from './components/home/home.component';
DienstleistungComponent, DienstleistungComponent,
PrivacyPolicyComponent, PrivacyPolicyComponent,
HomeComponent, HomeComponent,
NavigationComponent,
StammdatengeneratorComponent,
], ],
imports: [ imports: [
BrowserModule, BrowserModule,

View File

@@ -3,11 +3,13 @@ import { ImpressumComponent } from './components/impressum/impressum.component';
import { PrivacyPolicyComponent } from './components/privacy-policy/privacy-policy.component'; import { PrivacyPolicyComponent } from './components/privacy-policy/privacy-policy.component';
import { HomeComponent } from './components/home/home.component'; import { HomeComponent } from './components/home/home.component';
import { DienstleistungComponent } from './components/dienstleistung/dienstleistung.component'; import { DienstleistungComponent } from './components/dienstleistung/dienstleistung.component';
import { StammdatengeneratorComponent } from './components/products/software/stammdatengenerator/stammdatengenerator.component';
export const appRoutes: Route[] = [ export const appRoutes: Route[] = [
{path: '', component:HomeComponent}, {path: '', component:HomeComponent},
{path: 'dienstleistung', component:DienstleistungComponent}, {path: 'dienstleistung', component:DienstleistungComponent},
{path: 'impressum', component:ImpressumComponent}, {path: 'impressum', component:ImpressumComponent},
{path: 'privacy_policy', component:PrivacyPolicyComponent} {path: 'privacy_policy', component:PrivacyPolicyComponent},
{path: 'products/software/stammdatengen', component:StammdatengeneratorComponent}
]; ];

View File

@@ -3,6 +3,6 @@
<li>Erfassung von Sanierungsdokumentation für die Schlauchlinersanierung</li> <li>Erfassung von Sanierungsdokumentation für die Schlauchlinersanierung</li>
<li>Software zur Sanierungsplanung</li> <li>Software zur Sanierungsplanung</li>
<li>Software zur Sanierungsdokumentation von allgemeine Sanierungsmaßnahmen</li> <li>Software zur Sanierungsdokumentation von allgemeine Sanierungsmaßnahmen</li>
<li>Verarbeitung von Geodaten zu Stammdaten</li> <li><a routerLink="/products/software/stammdatengen">von Geodaten zu Stammdaten</a></li>
</ul> </ul>

View File

@@ -5,4 +5,4 @@
Bitte Schauen Sie gerne zu einem späteren Zeitpunkt wieder vorbei. Bitte Schauen Sie gerne zu einem späteren Zeitpunkt wieder vorbei.
</p> </p>
<img src="https://www.fuldaerzeitung.de/bilder/2023/02/22/92103996/30982098-kanalarbeiten-D70.jpg" /> <!--<img src="https://www.fuldaerzeitung.de/bilder/2023/02/22/92103996/30982098-kanalarbeiten-D70.jpg" />-->

View File

@@ -16,7 +16,7 @@
<p> <p>
Alle Inhalte und Grafiken dieser Webseite sind urheberrechtlich geschützt. Alle Inhalte und Grafiken dieser Webseite sind urheberrechtlich geschützt.
Die Vervielfältigung auch von Teilen des Inhaltes, insbesondere die Verwendung Die Vervielfältigung auch von Teilen des Inhaltes, insbesondere die Verwendung
von Bildern, Logog, Marken, Texten und Textteilen ist nur mit schriftlicher Genehmigung von Bildern, Logo's, Marken, Texten und Textteilen ist nur mit schriftlicher Genehmigung
der W&W Tech UG zulässig. der W&W Tech UG zulässig.
Die Informationen auf dieser Website werden ständig überprüft und aktualisiert. Die Informationen auf dieser Website werden ständig überprüft und aktualisiert.

View File

@@ -0,0 +1,25 @@
<nav class="navbar navbar-expand-lg bg-dark navbar-dark">
<a class="navbar-brand" href="#">W&W Tech</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse"
aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav mr-auto">
<li class="nav-item">
<a class="nav-link" routerLink="">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" routerLink="/dienstleistung">Dienstleistungen</a>
</li>
<li class="nav-item">
<a class="nav-link" routerLink="/impressum">Impressum</a>
</li>
<li class="nav-item">
<a class="nav-link" routerLink="/privacy_policy">Datenschutzerklärung</a>
</li>
</ul>
</div>
</nav>

View File

@@ -0,0 +1,21 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { NavigationComponent } from './navigation.component';
describe('NavigationComponent', () => {
let component: NavigationComponent;
let fixture: ComponentFixture<NavigationComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [NavigationComponent],
}).compileComponents();
fixture = TestBed.createComponent(NavigationComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@@ -0,0 +1,8 @@
import { Component } from '@angular/core';
@Component({
selector: 'frontpage-ns-navigation',
templateUrl: './navigation.component.html',
styleUrls: ['./navigation.component.scss'],
})
export class NavigationComponent {}

View File

@@ -0,0 +1,60 @@
<h1>Stammdatengenerator</h1>
<p>
Wenn ein neue Baugebiet erschlossen wird kommen die unterschiedlichsten
Gewerke auf die Baustelle. Ebenso wichtig wie Gas, Strom und Wasser ist
die Entsorgung von Wasser. Hierzu werden Abwasserkanäle gebaut. Manchmal
im Trennsystem, manchmal im Mischsystem. Diese Kanäle werden oft sogar als
erstes in einem Baugebiet gebaut.
Diese Bauwerke sind ein enorme Investition. Daher ist es üblich, dass
nach errichten der Kanalisation eine Abnahme erfolgt. Dies geschieht mittels
einer Dichtheitsprüfung und Kamerabefahrung. Jedoch ist es leider oft,
dass die Pläne noch nicht Gezeichnet sind, Schächte nicht eingemessen.
Somit kann der Kanalnetzbetreiber oft noch keine Stammdaten zur Verfügung
stellen. Da in die Stammdaten ebenfalls die Koordinaten der Schächte
übergeben werden, kann der Kanal leider nicht georeferiziert Befahren
werden.
Somit hat der Kanalnetzbetreiber in der Regel noch kein genauen Bestand
über die Befahrungen und muss zuerst abwarten, dass die Pläne durch den
Zeichenbüro gezeichnet werden.
Da überall Fachkräfte Mangel herscht, dauert dies leider zu lange.
Für die bereits Befahrene Haltungen und Leitungen ist es oft unwirtschaftlich
die Daten nach zu Digitalisieren.
Daher kam ein Vermessungsbüro aus den Raum Oldenburg auf die Idee eine
Software Entwickeln zu lassen. Es werden Daten aus den Vermessungsgerät
ausgelesen und EDV-Technisch weiter Verabeitet. Damit die relatativ Zeitnah
einen Inspektionsfirma zur Verfügung gestellt werden können.
</p>
<ul>
<li>Dies erspart den Schritt des Zeichnenbüros, die Schächte
digital zu erfassen.</li>
<li>Der Inspektionsfirma kann direkt georeferizierte Kanal-TV Untersuchung
den Bauherr zur Verfügung stellen.</li>
<li>Es werden übertragungsfehlern ausgeschlossen.</li>
</ul>
<p>
Folgende Schnittstellen zur Datenausgabe stehen zur Verfügung
</p>
<ul>
<li>
KANDIS
<ul>
<li>SCHACHT4.0</li>
<li>SCHACHT6.0</li>
<li>HALTUNG4.0</li>
<li>HALTUNG6.0</li>
<li>HAUSREV4.0</li>
<li>HAUSREV6.0</li>
</ul>
</li>
<li>
XML
<ul>
<li>XML2006</li>
<li>XML2013</li>
<li>XML2017</li>
</ul>
</li>
</ul>

View File

@@ -0,0 +1,21 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { StammdatengeneratorComponent } from './stammdatengenerator.component';
describe('StammdatengeneratorComponent', () => {
let component: StammdatengeneratorComponent;
let fixture: ComponentFixture<StammdatengeneratorComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [StammdatengeneratorComponent],
}).compileComponents();
fixture = TestBed.createComponent(StammdatengeneratorComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@@ -0,0 +1,8 @@
import { Component } from '@angular/core';
@Component({
selector: 'frontpage-ns-stammdatengenerator',
templateUrl: './stammdatengenerator.component.html',
styleUrls: ['./stammdatengenerator.component.scss'],
})
export class StammdatengeneratorComponent {}

View File

@@ -3,6 +3,5 @@
body { body {
line-height: 1.6; line-height: 1.6;
font-size: 15px; font-size: 15px;
color:#8b8e93;
font-family: open sans, sans-serif; font-family: open sans, sans-serif;
} }