Skip to content

Commit

Permalink
Samstag 20:40
Browse files Browse the repository at this point in the history
  • Loading branch information
Peter Hornburger committed Mar 30, 2024
1 parent cb9a055 commit cef174c
Show file tree
Hide file tree
Showing 13 changed files with 357 additions and 10 deletions.
2 changes: 2 additions & 0 deletions src/constclass.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ export class Constclass {
public readonly ProjektpunktecollectionName: string;
public readonly ProtokollcollectionName: string;
public readonly ChangelogcollectionName: string;
public readonly AppeinstellungencollectionName: string;
public readonly BautagebuchecollectionName: string;
public readonly LOPListecollectionName: string;
public readonly EmailcollectionName: string;
Expand All @@ -33,6 +34,7 @@ export class Constclass {
this.EmailcollectionName = 'email';
this.NotizenkapitelcollectionName = 'notizenkapitel';
this.SimontabellencollectionName = 'simontabellen';
this.AppeinstellungencollectionName = 'appeinstellungen';
this.FestlegungskategoriecollectionName = 'festlegungskategorie';
this.BAESiteID = 'baeeu.sharepoint.com,1b93d6ea-3f8b-4416-9ff1-a50aaba6f8ca,134790cc-e062-4882-ae5e-18813809cc87'; // Projekte Seite
}
Expand Down
143 changes: 143 additions & 0 deletions src/database/appeinstellungendbclass.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
import {Document, DocumentQuery, model, Model} from "mongoose";
import {DebugClass} from "../debug";
import {Constclass} from "../constclass";
import * as mongoose from "mongoose";
import {Appeinstellungenshema, IAppeinstellungenstruktur} from "../datenstrukturen/appeinstellungenstruktur_server";

export class AppeinstellungenDBClass {

private Debug: DebugClass;
private Const: Constclass;

constructor() {

this.Debug = new DebugClass();
this.Const = new Constclass();
}

public ReadAppeinstellungenliste(): Promise<any> {

try {

let AppeinstellungenmodalClass: mongoose.Model<mongoose.Document>;
let Liste: IAppeinstellungenstruktur[] = [];

this.Debug.ShowInfoMessage('ReadAppeinstellungenliste', 'AppeinstellungenDBClass', 'ReadAppeinstellungenliste');

return new Promise((resolve, reject) => {

AppeinstellungenmodalClass = model(this.Const.AppeinstellungencollectionName, Appeinstellungenshema);

AppeinstellungenmodalClass.find({}).then((data: any) => {

this.Debug.ShowInfoMessage('Durchsuchen der Appeinstellungenliste wurde ausgeführt. ', 'AppeinstellungenDBClass', 'ReadAppeinstellungenliste');

data.forEach((appeinstellung) => {

Liste.push(appeinstellung._doc);
});

this.Debug.ShowInfoMessage(Liste.length + ' Appeinstellungenliste vorhanden.', 'AppeinstellungenDBClass', 'ReadAppeinstellungenliste');

resolve(Liste);


}).catch((error: any) => {

this.Debug.ShowErrorMessage('Fehler beim Lesen der Appeinstellungenliste', error, 'AppeinstellungenDBClass', 'ReadAppeinstellungenliste')

reject(error);
});

});

} catch (error) {

this.Debug.ShowErrorMessage(error.message, error, 'AppeinstellungenDBClass', 'ReadAppeinstellungenliste');
}
}

public AddAppeinstellungen(data: IAppeinstellungenstruktur):Promise<any> {

try {

let Appeinstellungenmodal: mongoose.Document;

return new Promise<any>((resolve, reject) => {

delete data._id;
delete data.__v;

Appeinstellungenmodal = this.GetAppeinstellungenmodal(data);

Appeinstellungenmodal.save().then((result: Document<any>) => {

resolve(result);

}).catch((error) => {

reject(error);
});
});

} catch (error) {

this.Debug.ShowErrorMessage(error.message, error, 'AppeinstellungenDBClass', 'AddAppeinstellungen');
}
}

public UpdateAppeinstellungen(data: IAppeinstellungenstruktur):Promise<any> {

try {

let AppeinstellungenmodalClass: mongoose.Model<mongoose.Document>;

return new Promise<any>((resolve, reject) => {

AppeinstellungenmodalClass = model(this.Const.AppeinstellungencollectionName, Appeinstellungenshema);

AppeinstellungenmodalClass.findById(data._id).then((appeinstellung: mongoose.Document) => {

if(appeinstellung) {

appeinstellung.set(data);
appeinstellung.save().then((result: Document) => {

resolve(result);

}).catch((error) => {

reject(error);
});
}
else {

resolve(null);
}
}).catch((error) => {

reject(error);
});
});

} catch (error) {

this.Debug.ShowErrorMessage(error.message, error, 'AppeinstellungenDBClass', 'UpdateAppeinstellungen');
}
}

public GetAppeinstellungenmodal(data: IAppeinstellungenstruktur): mongoose.Document {

try {

const AppeinstellungenmodalClass = model(this.Const.AppeinstellungencollectionName, Appeinstellungenshema);
const Appeinstellungenmodal: mongoose.Document = new AppeinstellungenmodalClass(data);

return Appeinstellungenmodal;
}
catch (error) {

this.Debug.ShowErrorMessage(error.message, error, 'AppeinstellungenDBClass', 'GetAppeinstellungenmodal');
}
}
}
18 changes: 18 additions & 0 deletions src/datenstrukturen/abteilungstruktur_server.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import mongoose from "mongoose";

interface IAbteilungstruktur {

AbteilungID: string;
Bezeichnung: string;
Kuerzel: string;
};

const Abteilungshema = new mongoose.Schema({

AbteilungID: {type: String, required: false},
Bezeichnung: {type: String, required: false},
Kuerzel: {type: String, required: false},

}, {_id: false});

export { Abteilungshema, IAbteilungstruktur };
24 changes: 24 additions & 0 deletions src/datenstrukturen/appeinstellungenstruktur_server.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import {IJobpossitionstruktur, Jobpossitionshema} from "./jobpossitionstruktur_server";
import mongoose from "mongoose";
import {Abteilungshema, IAbteilungstruktur} from "./abteilungstruktur_server";
import {Gewerkshema, IGewerkstruktur} from "./gewerkstruktur_server";

interface IAppeinstellungenstruktur {

_id: any;
Jobpossitionenliste: IJobpossitionstruktur[];
Abteilungliste: IAbteilungstruktur[];
Gewerkeliste: IGewerkstruktur[];
__v?: any;
}

const Appeinstellungenshema = new mongoose.Schema({

Jobpossitionenliste: [Jobpossitionshema],
Abteilungliste: [Abteilungshema],
Gewerkeliste: [Gewerkshema],

});

export { Appeinstellungenshema, IAppeinstellungenstruktur };

18 changes: 18 additions & 0 deletions src/datenstrukturen/gewerkstruktur_server.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import mongoose from "mongoose";

interface IGewerkstruktur {

GewerkID: string;
Bezeichnung: string;
Kuerzel: string;
};

const Gewerkshema = new mongoose.Schema({

GewerkID: {type: String, required: false},
Bezeichnung: {type: String, required: false},
Kuerzel: {type: String, required: false},

}, {_id: false});

export { Gewerkshema, IGewerkstruktur };
22 changes: 22 additions & 0 deletions src/datenstrukturen/jobpossitionstruktur_server.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import mongoose from "mongoose";
import {Favoritenshema} from "./favoritenstruktur_server";
import {Meintagshema} from "./meintagstruktur_server";
import {Meinewocheshema} from "./meinewochestruktur_server";
import {Urlaubsshema} from "./urlaubsstruktur_server";

interface IJobpossitionstruktur {

JobpossitionID: string;
Bezeichnung: string;
Kuerzel: string;
};

const Jobpossitionshema = new mongoose.Schema({

JobpossitionID: {type: String, required: false},
Bezeichnung: {type: String, required: false},
Kuerzel: {type: String, required: false},

}, {_id: false});

export { Jobpossitionshema, IJobpossitionstruktur };
3 changes: 1 addition & 2 deletions src/datenstrukturen/meinewochestruktur_server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ interface IMeinewochestruktur {

const Meinewocheshema = new mongoose.Schema({

_id: false,
ProjektID: {type: String, required: false},
Projektkey: {type: String, required: false},
ProjektpunktID: {type: String, required: false},
Expand All @@ -55,6 +54,6 @@ const Meinewocheshema = new mongoose.Schema({
Donnerstagsminuten: {type: Number, required: false},
Freitagsminuten: {type: Number, required: false},
Samstagsminuten: {type: Number, required: false}
});
}, {_id: false});

export { IMeinewochestruktur, Meinewocheshema };
16 changes: 12 additions & 4 deletions src/datenstrukturen/mitarbeiterstruktur_server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,23 @@ interface IMitarbeiterstruktur {
StandortID: string;
Anrede: string;
Urlaub: number;
Jobtitel: string;
AbteilungID: string;
JobpossitionID: string;
GewerkID: string;
Location: string;
Vorname: string;
Name: string;
Extern: boolean;
ExternFirma: string;
Kuerzel: string;
SettingsID: string;
Telefon: string;
Mobil: string;
Email: string;
Zeitstring: string;
Zeitstempel: number;
Fachbereich: string;


Deleted: boolean;
Archiviert: boolean;
Urlaubsfreigaben: boolean;
Expand All @@ -43,21 +48,24 @@ const Mitarbeitershema = new mongoose.Schema({
Name: {type: String, required: false, index: true },
Location: {type: String, required: false},
Anrede: {type: String, required: false},
Jobtitel: {type: String, required: false},
AbteilungID: {type: String, default: null },
JobpossitionID: {type: String, default: null },
GewerkID: {type: String, default: null },
Kuerzel: {type: String, required: false},
SettingsID: {type: String, required: false},
Telefon: {type: String, required: false},
Mobil: {type: String, required: false},
Email: {type: String, required: true, unique: true },
Zeitstring: {type: String, required: false},
ExternFirma: {type: String, required: false},
Zeitstempel: {type: Number, required: false},
Urlaub: {type: Number, required: false},
Fachbereich: {type: String, required: false},
Deleted: {type: Boolean, default: false},
Archiviert: {type: Boolean, default: false},
Urlaubsfreigaben: {type: Boolean, default: false},
Urlaubsadministrator: {type: Boolean, default: false},
ShowUrlaubOnly: {type: Boolean, default: true},
Extern: {type: Boolean, default: false},

Favoritenliste: [Favoritenshema],
Meintagliste: [Meintagshema],
Expand Down
4 changes: 4 additions & 0 deletions src/datenstrukturen/projektestruktur_server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import {IVerfasserstruktur, Verfassershema} from "./verfasserstruktur_server";
import {IProjektbeteiligtestruktur, Projektbeteiligteeshema} from "./projektbeteiligtestruktur_server";
import {Bauteilshema, IBauteilstruktur} from "./bauteilstruktur_server";
import {Foldershema, IFolderstruktur} from "./folderstruktur_server";
import {IProjektfirmenstruktur, Projektfirmenshema} from "./projektfirmenstruktur_server";

interface IProjektestruktur {

Expand Down Expand Up @@ -39,6 +40,7 @@ interface IProjektestruktur {
DisplayKG480: boolean;
DisplayBeschreibungen: boolean;
DisplayUngenutzte: boolean;
Firmenliste: IProjektfirmenstruktur[];

TeamsID: string;
TeamsDescription: string;
Expand Down Expand Up @@ -96,6 +98,8 @@ const Projekteshema = new mongoose.Schema({
Bauteilliste: [Bauteilshema],
MitarbeiterIDListe: [{type: String}],

Firmenliste: [Projektfirmenshema],

LastLOPEintragnummer: {type: Number, required: false},
TeamsID: {type: String, required: false},
TeamsDescription: {type: String, required: false},
Expand Down
4 changes: 2 additions & 2 deletions src/datenstrukturen/projektfirmenstruktur_server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {IVerfasserstruktur, Verfassershema} from "./verfasserstruktur_server";
interface IProjektfirmenstruktur {

FirmenID: string;
Fachfirmentyp: number;
GewerkID: string;
Firma: string;
Kuerzel: string;
Strasse: string;
Expand All @@ -26,7 +26,7 @@ interface IProjektfirmenstruktur {
const Projektfirmenshema = new mongoose.Schema({

FirmenID: {type: String, required: false},
Fachfirmentyp: {type: Number, required: false},
GewerkID: {type: String, required: false},
Firma: {type: String, required: false},
Kuerzel: {type: String, required: false},
Strasse: {type: String, required: false},
Expand Down
4 changes: 2 additions & 2 deletions src/datenstrukturen/projektpunktestruktur_server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ interface IProjektpunktestruktur {
Anmerkungenliste: IProjektpunktanmerkungstruktur[];
Fortschritt: number;
OpenFestlegung: boolean;
Fachbereich: string;
GewerkID: string;
Deleted: boolean;
Leistungsphase: string;
Bilderliste: IProjektpunktimagestruktur[];
Expand Down Expand Up @@ -132,7 +132,7 @@ const Projektpunktshema = new mongoose.Schema({
ProtokollShowBilder: {type: Boolean, required: false, default: false},
Anmerkungenliste: [Projektpunktanmerkungshema],
Fortschritt: {type: Number, required: false, default: false},
Fachbereich: {type: String, required: false},
GewerkID: {type: String, required: false},
Verfasser: Verfassershema,
BauteilID: {type: String, required: false},
GeschossID: {type: String, required: false},
Expand Down
Loading

0 comments on commit cef174c

Please sign in to comment.