diff --git a/spargcom/senuma/database/database.go b/spargcom/senuma/database/database.go index 20ea07d..f57f986 100644 --- a/spargcom/senuma/database/database.go +++ b/spargcom/senuma/database/database.go @@ -319,6 +319,108 @@ func UpdateLieferant(lief domain.Lieferant) (resLief domain.Lieferant, err error return resLief, err } +// Seriennummern + +func CreateSerial(serial domain.Seriennummer) (resSerial domain.Seriennummer, err error) { + conn, err := sql.Open(dbType, dbConnection) + if err != nil { + log.Println("Error while connecting DB: ", err) + } + log.Println("Verbindung hergestellt") + log.Println("Seriennummer = ", serial.SerienNr) + defer conn.Close() + + res, err := conn.Exec("INSERT INTO seriennummer VALUES(?,?,?,?,?,?,?,?,?)", serial.Id, serial.ArtId, serial.KdId, serial.LiefId, serial.SerienNr, serial.EkDat, serial.VkDat, serial.GarantieBis, serial.Bemerkung) + if err != nil { + log.Println("Error while executing insert statement", err) + } + lastId, err := res.LastInsertId() + serial.Id = uint64(lastId) + resSerial = serial + + return resSerial, err +} + +func DeleteSerial(serialId uint64) (result, err error) { + conn, err := sql.Open(dbType, dbConnection) + if err != nil { + log.Println("Error while connecting DB: ", err) + } + log.Println("DB Verbindung hergestellt") + defer conn.Close() + + _, err = conn.Exec("DELETE FROM seriennummer WHERE id = ?", serialId) + if err != nil { + log.Fatal("Error while executing DELETE statement", err) + } + return result, err +} + +func ShowSerial() (serialArray []domain.Seriennummer, err error) { + conn, err := sql.Open(dbType, dbConnection) + if err != nil { + log.Println("Error while connecting DB: ", err) + } + log.Println("DB Verbindung hergestellt") + defer conn.Close() + + results, err := conn.Query("SELECT s.*, a.bezeichnung, k.name, l.name FROM seriennummer s, artikel a, kunden k, lieferanten l WHERE a.id = s.artid AND k.id = s.kdid AND l.id = s.liefid") + if err != nil { + log.Fatal("Error while executing SELECt statement", err) + } + + var serial domain.Seriennummer + for results.Next() { + err = results.Scan(&serial.Id, &serial.ArtId, &serial.KdId, &serial.LiefId, &serial.SerienNr, &serial.EkDat, &serial.VkDat, &serial.GarantieBis, &serial.Bemerkung, &serial.ArtName, &serial.KdName, &serial.LiefName) + if err != nil { + log.Fatal("Error: ", err) + } + serialArray = append(serialArray, serial) + } + return serialArray, err +} + +func GetSerial(id uint64) (serial domain.Seriennummer, err error) { + conn, err := sql.Open(dbType, dbConnection) + if err != nil { + log.Println("Error while connecting DB: ", err) + } + log.Println("DB Verbindung hergestellt") + defer conn.Close() + + results, err := conn.Query("SELECT s.*, a.bezeichnung, k.name, l.name FROM seriennummer s, artikel a, kunden k, lieferanten l WHERE a.id = s.artid AND k.id = s.kdid AND l.id = s.liefid AND id=?", id) + if err != nil { + log.Fatal("Error while executing SELECt statement", err) + } + for results.Next() { + err = results.Scan(&serial.Id, &serial.ArtId, &serial.KdId, &serial.LiefId, &serial.SerienNr, &serial.EkDat, &serial.VkDat, &serial.GarantieBis, &serial.Bemerkung, &serial.ArtName, &serial.KdName, &serial.LiefName) + if err != nil { + log.Fatal("Error: ", err) + } + } + + return serial, err +} + +func UpdateSerial(serial domain.Seriennummer) (resSerial domain.Seriennummer, err error) { + conn, err := sql.Open(dbType, dbConnection) + if err != nil { + log.Println("Error while connecting DB: ", err) + } + log.Println("Verbindung hergestellt") + log.Println("Seriennummer = ", serial.SerienNr) + defer conn.Close() + + _, err = conn.Exec("UPDATE seriennummer SET artid=?, kdid=?, liefid=?, seriennr=?, ekdat=?, vkdat=?, garantiebis=?, bemerkung=? WHERE id=?", serial.ArtId, serial.KdId, serial.LiefId, serial.SerienNr, serial.EkDat, serial.VkDat, serial.GarantieBis, serial.Bemerkung, serial.Id) + if err != nil { + log.Println("Error while executing insert statement", err) + } + + resSerial = serial + + return resSerial, err +} + /*func CreateUser(us domain.User) (resUs domain.User, err error) { conn, err := sql.Open(dbType, dbConnection) if err != nil { diff --git a/spargcom/senuma/domain/domain.go b/spargcom/senuma/domain/domain.go index 0e5a907..9b03e9c 100644 --- a/spargcom/senuma/domain/domain.go +++ b/spargcom/senuma/domain/domain.go @@ -9,7 +9,7 @@ type Artikel struct { type Kunde struct { Id uint `json:"id"` Name string `json:"name"` - KdNrExt int `json:"kdNrExt"` + KdNrExt uint `json:"kdNrExt"` } type Lieferant struct { @@ -21,8 +21,11 @@ type Lieferant struct { type Seriennummer struct { Id uint64 `json:"id"` ArtId uint64 `json:"artId"` - KdId uint `json:"port"` + ArtName string `json:"artName"` + KdId uint `json:"kdId"` + KdName string `json:"kdName"` LiefId uint `json:"liefId"` + LiefName string `json:"liefName"` SerienNr string `json:"serienNr"` EkDat string `json:"ekDat"` VkDat string `json:"vkDat"` diff --git a/spargcom/senuma/senuma.exe b/spargcom/senuma/senuma.exe index f0e1011..799a744 100644 Binary files a/spargcom/senuma/senuma.exe and b/spargcom/senuma/senuma.exe differ diff --git a/spargcom/senuma/senuma.go b/spargcom/senuma/senuma.go index a09d1fa..44b52e1 100644 --- a/spargcom/senuma/senuma.go +++ b/spargcom/senuma/senuma.go @@ -48,6 +48,12 @@ func main() { r.HandleFunc("/api/lieferanten/{id:[0-9]+}", getLieferantHandler).Methods("GET") r.HandleFunc("/api/lieferanten/{id:[0-9]+}", updateLieferantHandler).Methods("PUT") + r.HandleFunc("/api/serial", createSerialHandler).Methods("POST") + r.HandleFunc("/api/serial/{id:[0-9]+}", deleteSerialHandler).Methods("DELETE") + r.HandleFunc("/api/serial", showSerialHandler).Methods("GET") + r.HandleFunc("/api/serial/{id:[0-9]+}", getSerialHandler).Methods("GET") + r.HandleFunc("/api/serial/{id:[0-9]+}", updateSerialHandler).Methods("PUT") + //r.HandleFunc("/groups", createGroupHandler).Methods("POST") //r.HandleFunc("/users", createUserHandler).Methods("POST") @@ -382,6 +388,113 @@ func updateLieferantHandler(writer http.ResponseWriter, req *http.Request) { writer.Write(b) } +// Seriennummer + +func createSerialHandler(writer http.ResponseWriter, req *http.Request) { + + body, err := ioutil.ReadAll(req.Body) + if err != nil { + writer.WriteHeader(http.StatusBadRequest) + } + var serial domain.Seriennummer + json.Unmarshal(body, &serial) + log.Println("Seriennummer = ", serial.SerienNr) + //log.Println("externe Lieferanten-Nr = ", lief.LiefNrExt) + log.Info("creating new Serial", serial.SerienNr) + res, err := database.CreateSerial(serial) + if err != nil { + writer.WriteHeader(http.StatusInternalServerError) + } + + b, err := json.Marshal(res) + if err != nil { + log.Fatal("Error: ", err) + } + + location := fmt.Sprintf("%s/%d", req.URL.String(), res.Id) + writer.Header().Set("Location:", location) + writer.Header().Set("Content-Type", "application/json") + writer.WriteHeader(http.StatusCreated) + writer.Write(b) +} + +func deleteSerialHandler(writer http.ResponseWriter, req *http.Request) { + serialId, _ := strconv.ParseUint(mux.Vars(req)["id"], 10, 64) + log.Info("Deleting Serial with ID", serialId) + _, err := database.DeleteSerial(uint64(serialId)) + if err != nil { + log.Fatal("Error: Delete could not be executed", err) + } + writer.WriteHeader(http.StatusNoContent) +} + +func showSerialHandler(writer http.ResponseWriter, req *http.Request) { + + res, err := database.ShowSerial() + if err != nil { + log.Fatal("Error: Serial can't be shown ", err) + writer.WriteHeader(http.StatusInternalServerError) + } + + b, err := json.Marshal(res) + if err != nil { + log.Fatal("Error: ", err) + } + + location := req.URL.String() + writer.Header().Set("Location:", location) + writer.Header().Set("Content-Type", "application/json") + writer.WriteHeader(http.StatusOK) + writer.Write(b) +} + +func getSerialHandler(writer http.ResponseWriter, req *http.Request) { + lieferId, _ := strconv.ParseUint(mux.Vars(req)["id"], 10, 64) + res, err := database.GetSerial(uint64(lieferId)) + if err != nil { + log.Fatal("Error: Serial can't be shown ", err) + writer.WriteHeader(http.StatusInternalServerError) + } + + b, err := json.Marshal(res) + if err != nil { + log.Fatal("Error: ", err) + } + + location := req.URL.String() + writer.Header().Set("Location:", location) + writer.Header().Set("Content-Type", "application/json") + writer.WriteHeader(http.StatusOK) + writer.Write(b) +} + +func updateSerialHandler(writer http.ResponseWriter, req *http.Request) { + body, err := ioutil.ReadAll(req.Body) + if err != nil { + writer.WriteHeader(http.StatusBadRequest) + } + var serial domain.Seriennummer + json.Unmarshal(body, &serial) + log.Println("Seriennummer = ", serial.SerienNr) + //log.Println("externe Lieferanten-Nr = ", lieferant.LiefNrExt) + log.Info("updating Serial", serial.SerienNr) + res, err := database.UpdateSerial(serial) + if err != nil { + writer.WriteHeader(http.StatusInternalServerError) + } + + b, err := json.Marshal(res) + if err != nil { + log.Fatal("Error: ", err) + } + + location := fmt.Sprintf("%s/%d", req.URL.String(), res.Id) + writer.Header().Set("Location:", location) + writer.Header().Set("Content-Type", "application/json") + writer.WriteHeader(http.StatusOK) + writer.Write(b) +} + // General func CORS(next http.Handler) http.Handler { diff --git a/spargcom/senuma/senuma.log b/spargcom/senuma/senuma.log index 04625fa..2fdc795 100644 --- a/spargcom/senuma/senuma.log +++ b/spargcom/senuma/senuma.log @@ -49,3 +49,207 @@ time="2021-05-29T21:10:18+02:00" level=info msg="updating KundeWalter Bau" time="2021-05-29T21:11:18+02:00" level=info msg="Name = Walter Bau" time="2021-05-29T21:11:18+02:00" level=info msg="externe Kd-Nr = 10002" time="2021-05-29T21:11:18+02:00" level=info msg="updating KundeWalter Bau" +time="2021-05-30T17:48:16+02:00" level=info msg="Bezeichnung = fkgjkd" +time="2021-05-30T17:48:17+02:00" level=info msg="externe Art-Nr = 4857def" +time="2021-05-30T17:48:17+02:00" level=info msg="updating Artikelfkgjkd" +time="2021-05-30T17:50:47+02:00" level=info msg="Bezeichnung = Test2" +time="2021-05-30T17:50:47+02:00" level=info msg="externe Art-Nr = 689ghjzui" +time="2021-05-30T17:50:47+02:00" level=info msg="updating ArtikelTest2" +time="2021-05-30T17:51:35+02:00" level=info msg="Bezeichnung = fkgjkdAAA" +time="2021-05-30T17:51:35+02:00" level=info msg="externe Art-Nr = 4857def" +time="2021-05-30T17:51:35+02:00" level=info msg="updating ArtikelfkgjkdAAA" +time="2021-05-30T17:52:33+02:00" level=info msg="Bezeichnung = ABBBCCCCDDDD" +time="2021-05-30T17:52:33+02:00" level=info msg="externe Art-Nr = 6989867" +time="2021-05-30T17:52:33+02:00" level=info msg="creating new ArtikelABBBCCCCDDDD" +time="2021-05-30T17:59:38+02:00" level=info msg="Bezeichnung = Artikeltest" +time="2021-05-30T17:59:38+02:00" level=info msg="externe Art-Nr = 57766993" +time="2021-05-30T17:59:38+02:00" level=info msg="creating new ArtikelArtikeltest" +time="2021-05-30T18:00:04+02:00" level=info msg="Bezeichnung = Artikeltest2" +time="2021-05-30T18:00:04+02:00" level=info msg="externe Art-Nr = 789769fgjkj" +time="2021-05-30T18:00:04+02:00" level=info msg="creating new ArtikelArtikeltest2" +time="2021-05-30T18:00:27+02:00" level=info msg="Bezeichnung = Artikeltest22" +time="2021-05-30T18:00:27+02:00" level=info msg="externe Art-Nr = 789769fgjkjfgjfgfgh" +time="2021-05-30T18:00:27+02:00" level=info msg="creating new ArtikelArtikeltest22" +time="2021-05-30T19:25:51+02:00" level=info msg="Deleting artikel with ID13" +time="2021-05-30T19:26:33+02:00" level=info msg="Deleting artikel with ID14" +time="2021-05-30T19:27:57+02:00" level=info msg="Deleting artikel with ID11" +time="2021-05-30T19:28:41+02:00" level=info msg="Bezeichnung = Laberera" +time="2021-05-30T19:28:41+02:00" level=info msg="externe Art-Nr = AJK4857" +time="2021-05-30T19:28:41+02:00" level=info msg="creating new ArtikelLaberera" +time="2021-05-30T19:31:14+02:00" level=info msg="Deleting artikel with ID15" +time="2021-05-30T19:33:03+02:00" level=info msg="Bezeichnung = fkgjkdAAA111" +time="2021-05-30T19:33:03+02:00" level=info msg="externe Art-Nr = 4857defGAAK" +time="2021-05-30T19:33:03+02:00" level=info msg="updating ArtikelfkgjkdAAA111" +time="2021-05-30T19:33:29+02:00" level=info msg="Bezeichnung = Aubergine" +time="2021-05-30T19:33:29+02:00" level=info msg="externe Art-Nr = 485757677890" +time="2021-05-30T19:33:29+02:00" level=info msg="creating new ArtikelAubergine" +time="2021-05-30T19:33:40+02:00" level=info msg="Bezeichnung = " +time="2021-05-30T19:33:40+02:00" level=info msg="externe Art-Nr = " +time="2021-05-30T19:33:40+02:00" level=info msg="creating new Artikel" +time="2021-05-30T19:33:51+02:00" level=info msg="Deleting artikel with ID16" +time="2021-05-30T19:34:06+02:00" level=info msg="Bezeichnung = " +time="2021-05-30T19:34:06+02:00" level=info msg="externe Art-Nr = " +time="2021-05-30T19:34:06+02:00" level=info msg="creating new Artikel" +time="2021-05-30T19:34:15+02:00" level=info msg="Deleting artikel with ID17" +time="2021-05-30T19:34:20+02:00" level=info msg="Bezeichnung = " +time="2021-05-30T19:34:20+02:00" level=info msg="externe Art-Nr = " +time="2021-05-30T19:34:20+02:00" level=info msg="creating new Artikel" +time="2021-05-30T19:34:31+02:00" level=info msg="Deleting artikel with ID18" +time="2021-05-30T19:42:34+02:00" level=info msg="Bezeichnung = Jakarta" +time="2021-05-30T19:42:34+02:00" level=info msg="externe Art-Nr = 48787" +time="2021-05-30T19:42:34+02:00" level=info msg="creating new ArtikelJakarta" +time="2021-05-30T19:42:45+02:00" level=info msg="Bezeichnung = Jakarta2" +time="2021-05-30T19:42:45+02:00" level=info msg="externe Art-Nr = 48787" +time="2021-05-30T19:42:45+02:00" level=info msg="updating ArtikelJakarta2" +time="2021-05-30T19:42:56+02:00" level=info msg="Deleting artikel with ID10" +time="2021-05-30T19:43:04+02:00" level=info msg="Bezeichnung = " +time="2021-05-30T19:43:04+02:00" level=info msg="externe Art-Nr = " +time="2021-05-30T19:43:04+02:00" level=info msg="creating new Artikel" +time="2021-05-30T19:44:28+02:00" level=info msg="Deleting artikel with ID20" +time="2021-05-30T19:44:41+02:00" level=info msg="Bezeichnung = Beta-Zuid" +time="2021-05-30T19:44:41+02:00" level=info msg="externe Art-Nr = 56800" +time="2021-05-30T19:44:41+02:00" level=info msg="creating new ArtikelBeta-Zuid" +time="2021-05-30T19:45:05+02:00" level=info msg="Bezeichnung = Beta-Zuid" +time="2021-05-30T19:45:05+02:00" level=info msg="externe Art-Nr = 56800" +time="2021-05-30T19:45:05+02:00" level=info msg="creating new ArtikelBeta-Zuid" +time="2021-05-30T19:45:14+02:00" level=info msg="Deleting artikel with ID22" +time="2021-05-30T19:45:45+02:00" level=info msg="Bezeichnung = Beta-Zuid3" +time="2021-05-30T19:45:45+02:00" level=info msg="externe Art-Nr = 56800" +time="2021-05-30T19:45:45+02:00" level=info msg="updating ArtikelBeta-Zuid3" +time="2021-05-30T19:45:51+02:00" level=info msg="Bezeichnung = " +time="2021-05-30T19:45:51+02:00" level=info msg="externe Art-Nr = " +time="2021-05-30T19:45:51+02:00" level=info msg="creating new Artikel" +time="2021-05-30T19:47:42+02:00" level=info msg="Deleting artikel with ID23" +time="2021-05-30T19:47:52+02:00" level=info msg="Bezeichnung = ALAK" +time="2021-05-30T19:47:52+02:00" level=info msg="externe Art-Nr = 688940" +time="2021-05-30T19:47:52+02:00" level=info msg="creating new ArtikelALAK" +time="2021-05-30T19:48:28+02:00" level=info msg="Bezeichnung = " +time="2021-05-30T19:48:28+02:00" level=info msg="externe Art-Nr = " +time="2021-05-30T19:48:28+02:00" level=info msg="creating new Artikel" +time="2021-05-30T19:52:18+02:00" level=info msg="Bezeichnung = " +time="2021-05-30T19:52:18+02:00" level=info msg="externe Art-Nr = " +time="2021-05-30T19:52:18+02:00" level=info msg="creating new Artikel" +time="2021-05-30T19:52:53+02:00" level=info msg="Deleting artikel with ID26" +time="2021-05-30T19:52:59+02:00" level=info msg="Deleting artikel with ID25" +time="2021-05-30T19:53:19+02:00" level=info msg="Bezeichnung = " +time="2021-05-30T19:53:19+02:00" level=info msg="externe Art-Nr = " +time="2021-05-30T19:53:19+02:00" level=info msg="creating new Artikel" +time="2021-05-30T19:53:42+02:00" level=info msg="Bezeichnung = " +time="2021-05-30T19:53:42+02:00" level=info msg="externe Art-Nr = " +time="2021-05-30T19:53:42+02:00" level=info msg="creating new Artikel" +time="2021-05-30T19:55:13+02:00" level=info msg="Bezeichnung = ZALK" +time="2021-05-30T19:55:13+02:00" level=info msg="externe Art-Nr = 6892323" +time="2021-05-30T19:55:13+02:00" level=info msg="creating new ArtikelZALK" +time="2021-05-30T19:55:32+02:00" level=info msg="Bezeichnung = NNLNLA" +time="2021-05-30T19:55:32+02:00" level=info msg="externe Art-Nr = zziuz" +time="2021-05-30T19:55:32+02:00" level=info msg="updating ArtikelNNLNLA" +time="2021-05-30T19:55:39+02:00" level=info msg="Deleting artikel with ID27" +time="2021-05-30T19:55:56+02:00" level=info msg="Bezeichnung = " +time="2021-05-30T19:55:56+02:00" level=info msg="externe Art-Nr = " +time="2021-05-30T19:55:56+02:00" level=info msg="creating new Artikel" +time="2021-05-30T19:56:00+02:00" level=info msg="Deleting artikel with ID30" +time="2021-05-30T19:56:06+02:00" level=info msg="Bezeichnung = " +time="2021-05-30T19:56:06+02:00" level=info msg="externe Art-Nr = " +time="2021-05-30T19:56:06+02:00" level=info msg="creating new Artikel" +time="2021-05-30T19:56:10+02:00" level=info msg="Deleting artikel with ID31" +time="2021-05-30T20:05:25+02:00" level=info msg="Bezeichnung = BBAL" +time="2021-05-30T20:05:25+02:00" level=info msg="externe Art-Nr = 5686930" +time="2021-05-30T20:05:25+02:00" level=info msg="creating new ArtikelBBAL" +time="2021-05-30T20:05:33+02:00" level=info msg="Deleting artikel with ID32" +time="2021-05-30T20:05:43+02:00" level=info msg="Bezeichnung = ZALK2" +time="2021-05-30T20:05:43+02:00" level=info msg="externe Art-Nr = 6892323" +time="2021-05-30T20:05:43+02:00" level=info msg="updating ArtikelZALK2" +time="2021-05-30T20:05:53+02:00" level=info msg="Bezeichnung = " +time="2021-05-30T20:05:53+02:00" level=info msg="externe Art-Nr = " +time="2021-05-30T20:05:53+02:00" level=info msg="creating new Artikel" +time="2021-05-30T20:06:01+02:00" level=info msg="Deleting artikel with ID33" +time="2021-05-30T20:16:04+02:00" level=info msg="Bezeichnung = " +time="2021-05-30T20:16:04+02:00" level=info msg="externe Art-Nr = " +time="2021-05-30T20:16:04+02:00" level=info msg="creating new Artikel" +time="2021-05-30T20:16:21+02:00" level=info msg="Bezeichnung = " +time="2021-05-30T20:16:21+02:00" level=info msg="externe Art-Nr = " +time="2021-05-30T20:16:21+02:00" level=info msg="creating new Artikel" +time="2021-05-30T20:16:31+02:00" level=info msg="Deleting artikel with ID35" +time="2021-05-30T20:16:38+02:00" level=info msg="Bezeichnung = " +time="2021-05-30T20:16:38+02:00" level=info msg="externe Art-Nr = " +time="2021-05-30T20:16:38+02:00" level=info msg="creating new Artikel" +time="2021-05-30T20:16:52+02:00" level=info msg="Deleting artikel with ID34" +time="2021-05-30T20:16:55+02:00" level=info msg="Deleting artikel with ID36" +time="2021-05-30T20:17:24+02:00" level=info msg="Bezeichnung = " +time="2021-05-30T20:17:24+02:00" level=info msg="externe Art-Nr = " +time="2021-05-30T20:17:24+02:00" level=info msg="creating new Artikel" +time="2021-05-30T20:17:28+02:00" level=info msg="Deleting artikel with ID37" +time="2021-05-30T20:21:15+02:00" level=info msg="Bezeichnung = " +time="2021-05-30T20:21:15+02:00" level=info msg="externe Art-Nr = " +time="2021-05-30T20:21:15+02:00" level=info msg="creating new Artikel" +time="2021-05-30T20:21:21+02:00" level=info msg="Deleting artikel with ID38" +time="2021-05-30T20:24:05+02:00" level=info msg="Bezeichnung = " +time="2021-05-30T20:24:05+02:00" level=info msg="externe Art-Nr = " +time="2021-05-30T20:24:05+02:00" level=info msg="creating new Artikel" +time="2021-05-30T20:24:19+02:00" level=info msg="Deleting artikel with ID39" +time="2021-05-30T20:24:31+02:00" level=info msg="Bezeichnung = " +time="2021-05-30T20:24:31+02:00" level=info msg="externe Art-Nr = " +time="2021-05-30T20:24:31+02:00" level=info msg="creating new Artikel" +time="2021-05-30T20:26:28+02:00" level=info msg="Bezeichnung = MMAL" +time="2021-05-30T20:26:28+02:00" level=info msg="externe Art-Nr = fgkjk" +time="2021-05-30T20:26:28+02:00" level=info msg="updating ArtikelMMAL" +time="2021-05-30T20:26:40+02:00" level=info msg="Bezeichnung = subba" +time="2021-05-30T20:26:40+02:00" level=info msg="externe Art-Nr = 8945" +time="2021-05-30T20:26:40+02:00" level=info msg="creating new Artikelsubba" +time="2021-05-30T20:26:46+02:00" level=info msg="Bezeichnung = " +time="2021-05-30T20:26:46+02:00" level=info msg="externe Art-Nr = " +time="2021-05-30T20:26:46+02:00" level=info msg="creating new Artikel" +time="2021-05-30T20:27:03+02:00" level=info msg="Deleting artikel with ID42" +time="2021-05-30T20:27:06+02:00" level=info msg="Bezeichnung = subba" +time="2021-05-30T20:27:06+02:00" level=info msg="externe Art-Nr = 8945" +time="2021-05-30T20:27:06+02:00" level=info msg="updating Artikelsubba" +time="2021-05-30T20:27:17+02:00" level=info msg="Bezeichnung = Alaf" +time="2021-05-30T20:27:17+02:00" level=info msg="externe Art-Nr = 0488" +time="2021-05-30T20:27:17+02:00" level=info msg="creating new ArtikelAlaf" +time="2021-05-30T20:28:57+02:00" level=info msg="Bezeichnung = MMAL2" +time="2021-05-30T20:28:57+02:00" level=info msg="externe Art-Nr = fgkjk" +time="2021-05-30T20:28:57+02:00" level=info msg="updating ArtikelMMAL2" +time="2021-05-30T20:29:08+02:00" level=info msg="Bezeichnung = ÖÖMA" +time="2021-05-30T20:29:08+02:00" level=info msg="externe Art-Nr = 458912" +time="2021-05-30T20:29:08+02:00" level=info msg="creating new ArtikelÖÖMA" +time="2021-05-30T20:29:17+02:00" level=info msg="Deleting artikel with ID44" +time="2021-05-30T20:29:26+02:00" level=info msg="Bezeichnung = " +time="2021-05-30T20:29:26+02:00" level=info msg="externe Art-Nr = " +time="2021-05-30T20:29:26+02:00" level=info msg="creating new Artikel" +time="2021-05-30T20:29:30+02:00" level=info msg="Deleting artikel with ID45" +time="2021-05-30T20:31:06+02:00" level=info msg="Bezeichnung = MATHAL" +time="2021-05-30T20:31:06+02:00" level=info msg="externe Art-Nr = 278467sdsdfdf" +time="2021-05-30T20:31:06+02:00" level=info msg="creating new ArtikelMATHAL" +time="2021-05-30T20:31:16+02:00" level=info msg="Deleting artikel with ID40" +time="2021-05-30T20:31:25+02:00" level=info msg="Deleting artikel with ID43" +time="2021-05-30T20:31:27+02:00" level=info msg="Deleting artikel with ID46" +time="2021-06-06T14:58:51+02:00" level=info msg="Name = Werner Weidenhiller" +time="2021-06-06T14:58:51+02:00" level=info msg="externe Kd-Nr = 0" +time="2021-06-06T14:58:51+02:00" level=info msg="creating new KundeWerner Weidenhiller" +time="2021-06-06T14:59:22+02:00" level=info msg="Name = Werner Weidenhiller" +time="2021-06-06T14:59:22+02:00" level=info msg="externe Kd-Nr = 0" +time="2021-06-06T14:59:22+02:00" level=info msg="updating KundeWerner Weidenhiller" +time="2021-06-06T15:05:28+02:00" level=info msg="Name = Werner Weidenhiller" +time="2021-06-06T15:05:28+02:00" level=info msg="externe Kd-Nr = 0" +time="2021-06-06T15:05:28+02:00" level=info msg="updating KundeWerner Weidenhiller" +time="2021-06-06T15:08:59+02:00" level=info msg="Deleting Kunde with ID3" +time="2021-06-06T15:09:13+02:00" level=info msg="Name = Weidenhiller" +time="2021-06-06T15:09:13+02:00" level=info msg="externe Kd-Nr = 0" +time="2021-06-06T15:09:13+02:00" level=info msg="creating new KundeWeidenhiller" +time="2021-06-06T15:27:25+02:00" level=info msg="Deleting Kunde with ID4" +time="2021-06-06T15:27:34+02:00" level=info msg="Name = Weidenhiller" +time="2021-06-06T15:27:34+02:00" level=info msg="externe Kd-Nr = 10001" +time="2021-06-06T15:27:34+02:00" level=info msg="creating new KundeWeidenhiller" +time="2021-06-06T15:29:13+02:00" level=info msg="Name = Werner Weidenhiller" +time="2021-06-06T15:29:13+02:00" level=info msg="externe Kd-Nr = 10001" +time="2021-06-06T15:29:13+02:00" level=info msg="updating KundeWerner Weidenhiller" +time="2021-06-06T16:10:12+02:00" level=info msg="Name = Lieferexpress" +time="2021-06-06T16:10:12+02:00" level=info msg="externe Lieferanten-Nr = 70001" +time="2021-06-06T16:10:12+02:00" level=info msg="creating new LieferantLieferexpress" +time="2021-06-06T16:10:33+02:00" level=info msg="Name = Lieferexpress2" +time="2021-06-06T16:10:33+02:00" level=info msg="externe Lieferanten-Nr = 70001" +time="2021-06-06T16:10:33+02:00" level=info msg="updating LieferantLieferexpress2" +time="2021-06-06T16:11:06+02:00" level=info msg="Name = neuer Lieferant" +time="2021-06-06T16:11:06+02:00" level=info msg="externe Lieferanten-Nr = 70002" +time="2021-06-06T16:11:06+02:00" level=info msg="creating new Lieferantneuer Lieferant" +time="2021-06-06T16:11:18+02:00" level=info msg="Deleting Kunde with ID2"