Záznam jízdy služebního vozu
-Systém pro evidenci služebních jízd.
- - Otevřít aplikaci - -From 94600eaeecdc491b1d9130c8b096d1d2a075e9e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Dvo=C5=99=C3=A1k?= <150935816+Dvorinka@users.noreply.github.com> Date: Thu, 22 May 2025 10:27:28 +0200 Subject: [PATCH] Add files via upload --- index.html | 256 +++++++++++---------- kontakt/Makefile | 141 ++++++++++++ kontakt/contact-scrape.go | 403 +++++++++++++++++++++++++++++++++ kontakt/contact-scrape.service | 29 +++ kontakt/contacts.xlsx | Bin 0 -> 12928 bytes kontakt/index.html | 376 ++++++++++++++++++++++++++++++ main.go | 205 ++--------------- 7 files changed, 1106 insertions(+), 304 deletions(-) create mode 100644 kontakt/Makefile create mode 100644 kontakt/contact-scrape.go create mode 100644 kontakt/contact-scrape.service create mode 100644 kontakt/contacts.xlsx create mode 100644 kontakt/index.html diff --git a/index.html b/index.html index 8f7ab0a..cecb224 100644 --- a/index.html +++ b/index.html @@ -1,123 +1,135 @@ - - -
- - -Rychlý přístup ke všem důležitým systémům
-Systém pro evidenci služebních jízd.
- - Otevřít aplikaci - -Rychlý přístup ke všem důležitým systémům
+Jednoduchý systém pro evidenci a správu jízd služebními vozidly.
+ + Otevřít aplikaci + +Poppe + Potthoff kontakty
+Načítání kontaktů...
+K9vwgSSiWR3{(!LpA`hu$ z3>5>lk9p?*Ej!Fo6q=vtwz<^He-ralT<+HaN7NmGY7mmspCS6`TxNUn%UxDcJQgtg zVTsR{<-?0jwsS>3usH%h2v!aj-b#%M+w>d-#mG7Lz|*W{JFp>R?j1o zrlFc{n!?h(;JzpdZ)NGXT_0U!o#?e~V88=S&@lT Y|lEpW&F8HdUwfvPw4md7BEH9i$|0 zoDwfa5lfsM=1)Io%OGT!Fb>}wY&7y7Y!Sh~O5c$4poG _YDoAPx47^0q0lp>B zriGYrElgP7i!n$5VI1`K7y@q%aBWY-L%jU7ku7o$OLg9kH`>l}DB9V#+_8O(^Rro~ zl_AId>{#a8auJ1Kg<%iZW1Vmy(r7CelF=tX=7U}01<&-{W4e}66Z)if{ch}WKX~MP zymy=TqI;D%VJ_Y2WAcjeub2r0O!rZn|2>QTU*GCq_rKxPE6V&Qz<=_4|0Vdxz4*f+ z{*CSXyWsDf$G=3!K4v1nF(7{z{!g;lU!nlO)JJ;y|5L|)$N8N>^cNDy#}?-Q$0zz7 z<@Z6(Unsrke>>Ls9pLxg+Ft+;cz*)?)oJ@(^!F{-U!qALmB_~moPXbd{f_W^@$wf! z6y@(a_}fzEcfj9kfxiG_sQv`}trGa#%HVg<|4i?HL4E{XY5?HBlKt=E{~4wKT|A8T d-^BkJvlV5)K5XzKrhlB|A7(822W1iP{{WADz!Cre literal 0 HcmV?d00001 diff --git a/kontakt/index.html b/kontakt/index.html new file mode 100644 index 0000000..722b6df --- /dev/null +++ b/kontakt/index.html @@ -0,0 +1,376 @@ + + + + + + Kontakty + + + + + ++ + +++📞 Firemní telefonní seznam
+Poppe + Potthoff kontakty
+++ + + + + + \ No newline at end of file diff --git a/main.go b/main.go index fed7ed8..2539cb8 100644 --- a/main.go +++ b/main.go @@ -8,6 +8,7 @@ import ( "log" "net/http" "os" + "os/exec" "strings" "time" @@ -33,171 +34,6 @@ type GeoCoords struct { Lng string `json:"lng"` } -type Contact struct { - Name string `json:"name"` - Position string `json:"position"` - Phone string `json:"phone"` - ServicePhone string `json:"service_phone"` - Table int `json:"table"` -} - -func getEmbeddedHTML() string { - return ` - - - - -+ ++++ + +++ +📞 Kontakty
+Firemní telefonní seznam
+++ + ++ + +++ + + ++ + ++ ++ + +Načítání kontaktů...
++ + + + + + + ++ + +++🔍+Žádné výsledky
+Zkuste změnit hledaný výraz
+++⚠️+Chyba při načítání
+Nepodařilo se načíst kontakty
+ +Kontakty - - - --- - - ` -} - func main() { log.SetFlags(log.LstdFlags | log.Lshortfile) @@ -207,22 +43,26 @@ func main() { w.Write([]byte(`{"status":"ok"}`)) })) - http.HandleFunc("/contacts", enableCORS(handleContacts)) - http.HandleFunc("/reload", enableCORS(handleReload)) - http.HandleFunc("/", enableCORS(func(w http.ResponseWriter, r *http.Request) { - if r.URL.Path == "/kontakty" { - w.Header().Set("Content-Type", "text/html") - w.Write([]byte(getEmbeddedHTML())) - return - } - http.ServeFile(w, r, r.URL.Path[1:]) + http.ServeFile(w, r, "index.html") })) http.HandleFunc("/evidence-aut", enableCORS(func(w http.ResponseWriter, r *http.Request) { http.ServeFile(w, r, "evidence-aut.html") })) + http.HandleFunc("/kontakt", enableCORS(func(w http.ResponseWriter, r *http.Request) { + // Run make dev in the kontakt directory + cmd := exec.Command("make", "dev") + cmd.Dir = "kontakt" + err := cmd.Start() + if err != nil { + log.Printf("Error running make dev: %v", err) + } + + http.ServeFile(w, r, "kontakt/index.html") + })) + port := os.Getenv("PORT") if port == "" { port = "80" @@ -299,16 +139,19 @@ func handleSubmit(w http.ResponseWriter, r *http.Request) { return } + // Formátování dat do českého formátu czechMonths := []string{ "ledna", "února", "března", "dubna", "května", "června", "července", "srpna", "září", "října", "listopadu", "prosince", } + // Zpracování začátku cesty parsedDateStart, err := time.Parse("2006-01-02", entry.DateStart) if err != nil { log.Printf("Chyba při parsování data začátku: %v", err) } + // Zpracování konce cesty parsedDateEnd, err := time.Parse("2006-01-02", entry.DateEnd) if err != nil { log.Printf("Chyba při parsování data konce: %v", err) @@ -483,6 +326,7 @@ func sendEmail(entry TripEntry, parsedDateStart, parsedDateEnd time.Time, czechM--Kontakty
--- ---Seznam kontaktů---- Jméno - Jan Novák --- Pozice - Ředitel ----- Telefon - +420 123 456 789 --- Služební telefon - +420 987 654 321 --- Stůl - 1 --`) + // Formátování dat a časů pro zobrazení formattedDateStart := "" if parsedDateStart.IsZero() == false { monthNameStart := czechMonths[parsedDateStart.Month()-1] @@ -499,6 +343,7 @@ func sendEmail(entry TripEntry, parsedDateStart, parsedDateEnd time.Time, czechM formattedDateEnd = entry.DateEnd } + // Výpočet celkové doby jízdy startDateTime, startErr := time.Parse("2006-01-02T15:04", fmt.Sprintf("%sT%s", entry.DateStart, entry.TimeStart)) endDateTime, endErr := time.Parse("2006-01-02T15:04", fmt.Sprintf("%sT%s", entry.DateEnd, entry.TimeEnd)) @@ -524,6 +369,7 @@ func sendEmail(entry TripEntry, parsedDateStart, parsedDateEnd time.Time, czechM } } + // Vypsání informací o řidiči a vozidle htmlContent.WriteString(``) + // Vypsání informací o trase htmlContent.WriteString(`Informace o řidiči a vozidle@@ -538,6 +384,7 @@ func sendEmail(entry TripEntry, parsedDateStart, parsedDateEnd time.Time, czechM`) + // Vypsání informací o času htmlContent.WriteString(`Informace o trase@@ -552,6 +399,7 @@ func sendEmail(entry TripEntry, parsedDateStart, parsedDateEnd time.Time, czechM`) + // Vypsání informací o kilometrech htmlContent.WriteString(`Časové údaje@@ -570,6 +418,7 @@ func sendEmail(entry TripEntry, parsedDateStart, parsedDateEnd time.Time, czechMStav tachometru@@ -620,11 +469,3 @@ func sendEmail(entry TripEntry, parsedDateStart, parsedDateEnd time.Time, czechM return d.DialAndSend(m) } - -func handleContacts(w http.ResponseWriter, r *http.Request) { - // Implement contact listing logic -} - -func handleReload(w http.ResponseWriter, r *http.Request) { - // Implement contact reload logic -}