Ampel für Mitarbeiter zum An-/Abwesend zeigen

  • Themenstarter DerVerwaltungsmensch
  • Beginndatum
D

DerVerwaltungsmensch

Mitglied
Hallo zusammen,
ein Freund verwies mich auf dieses Forum und ich hoffe ich bin hier richtig.
Und zwar habe ich gerade ein vollständig ehrenamtlich betriebenes Beratungsbüro eröffnet.

Hier soll den Kunden am Flur angezeigt werden, welcher der Berater gerade zu sprechen ist (grün hinterlegter Name) und welcher sich derzeit in Besprechungen befindet (rot hinterlegter Name). Nachdem ich im Office-Forum (zunächst war die Idee von bedingten Formatierungen etc) auch verwiesen wurde, nun hier.

Diese "Fluranzeige" soll auf einem, Monitor/Display ggf. über Raspi oä ausgegeben werden. Jeder Kollege soll von seinem Arbeitsplatz aus die Möglichkeit haben sich eben "rot" oder "grün" zu schalten. Es geht nicht um Überwachung oder Arbeitszeiten. Ganz schlicht nur Rot oder Grün. (ggf. gelb, wenn der Ansprechpartner sich im Home-Office befindet).

Ich kenne mich leider gar nicht auf dem Java-Gebiet aus aber bin wissbegierig und freue mich mit und von anderen zu lernen. Vielleicht kann und mag jemand unserer kleinen kostenlosen und ehrenamtlichen Beratungsstelle helfen?

Beste Grüße!
 
Kirby_Sike

Kirby_Sike

Top Contributor
Wenn alle Mitarbeiter einen Laptop zur Verfügung haben, würde ich es als kleine Web-GUI, welche lediglich die drei Modis verwaltet und anzeigt, umsetzen.
 
Kirby_Sike

Kirby_Sike

Top Contributor
Naja also das Grund Design wäre wie folgt :

Pi verwaltet eine interne Webseite, welche z.B. einen Login (um den Mitarbeiter zu loggen) und 3 Knöpfe für die 3 Modis besitzt.

Damit etwas beim clicken dieser Knöpfe passiert, muss man sich eingeloggt haben. Sollte dies bereits gegeben sein, wird der Modi angepasst. Deine Modis könntest du mit einem ENUM verwalten :)
 
D

DerVerwaltungsmensch

Mitglied
@Kirby_Sike ... du machst mich fertig ^^ :p
Das sind schon wieder Begriffe (Pi, ENUM) mit denen ich nichts anfangen kann... :D ich bin wie gesagt absoluter Anfänger und habe bisher nicht mit Java oder JavaScripts gearbeitet... Ich muss wirklich ganz unten anfangen - so das online möglich ist...
 
Kirby_Sike

Kirby_Sike

Top Contributor
Pi ist nur die Abkürzung für RasberryPi und ein Enum ist eine "aufzählung" z.B. so:

Java:
public enum Modus{
    BEREIT, BELEGT, HOMEOFFICE;
}
 
Kirby_Sike

Kirby_Sike

Top Contributor
Du könntest z.B. eine Klasse für einen Mitarbeiter erstellen, diese könnte so aussehen:

Java:
public class Mitarbeiter{
    private String name;
    private String roomNumber;
    private Modus availability;
   
    public Mitarbeiter(String name, String roomNumber){
        this.name = name;
        this.roomNumber = roomNumber;
        availability = Modus.BEREIT;
    }
   
    public String getName(){
        return name;
    }
   
    public void setName(String name){
        this.name = name
    }
   
    public String getRoomNumber(){
        return roomNumber;
    }
   
    public void setRoomNumber(String roomNumber){
        this.roomNumber = roomNumber;
    }
   
    public Modus getAvailability(){
        return availability;
    }
   
    public void setAvailability(Modus availability){
        this.availability = availability;
    }
}

Diese würde dann von deiner Main Klasse verwaltet werden (sprich z.B. eine Liste von Mitarbeiter)
 
D

DerVerwaltungsmensch

Mitglied
Ja gut dann wird sich diese Anwendung etwas erschweren :) Ich würde dir empfehlen erstmal die Basics zu lernen und dann dich mit Datenstrukturen zu beschäftigen :)

Du hast sicherlich recht... allerdings benötige ich diese Ampel dringend... schon vom ersten Tag an bemerken wir das, und möchten aber nicht alle Türen hinter jedem Kunden abschließen wollen (was auch brandschutztechnisch mehr als fragwürdig wäre)... Und Geld ist in so einem Ehrenamtsprojekt halt auch eher knapp.
Wobei ich so ein Programm bisher auch im Netz noch nicht gefunden habe...
 
D

Dukel

Top Contributor
Ohne Erfahrung, muss Sofort da sein und kein Budget sind natürlich gute voraussetzungen...
Ich würde nochmal nach einer entsprechenden Software schauen. Wenn man nach "Raumplanung" googlet gibt es schon einige Ergebnisse.

Jetzt ist "nur" noch die Frage der Anzeige an den Räumen selber. Entweder unterstützen die Programme bestimmte Geräte oder haben eine Webschnitstelle, die man einblenden kann.

EDIT:
Hier gibts auch was fertiges und kann ggf. adaptiert werden:
 
mihe7

mihe7

Top Contributor
Ohne Erfahrung, muss Sofort da sein und kein Budget sind natürlich gute voraussetzungen...
:)

@DerVerwaltungsmensch Ich würde das einfach mal mit einem Websocket und einer HTML-Seite versuchen. Anbei mal etwas zum Spielen zusammengeschustert. Fürs Übersetzen brauchst Du Maven. Das POM ist so gestaltet, dass ein ausführbares Jar erzeugt wird.

Um den Spaß einfach mal zu testen, rufst Du das Jar auf, das dem Zip beigefügt ist (unter Windows sollte nach dem Entpacken ein Doppelklick reichen, ansonsten java -jar ampel-1.0-SNAPSHOT.jar im "Projektverzeichnis" aufrufen). Wichtig ist, dass der Spaß in dem Verzeichnis ausgeführt wird, in dem auch die index.html liegt. Danach kannst Du mal den Browser gen localhost:8000 richten - in mehreren Fenstern (=Räumen), sonst siehst Du die Funktionsweise nicht.
 

Anhänge

  • ampel.zip
    1,8 MB · Aufrufe: 5
D

DerVerwaltungsmensch

Mitglied
Ok cool, vielen Dank. Die Eingabe des Status habe ich nun entdeckt. Aber das mit dem .jar verstehe ich noch nicht. Windows fragt womit er öffnen soll und ich kann es ihm nicht sagen :D
Und ich muss unseren Netzwerkadministrator wohl nochmal kontaktieren. localhost:8000 ist nämlich nicht zu erreichen - ggf. hat er das aus Sicherheitsgründen gesperrt


:)

@DerVerwaltungsmensch Ich würde das einfach mal mit einem Websocket und einer HTML-Seite versuchen. Anbei mal etwas zum Spielen zusammengeschustert. Fürs Übersetzen brauchst Du Maven. Das POM ist so gestaltet, dass ein ausführbares Jar erzeugt wird.

Um den Spaß einfach mal zu testen, rufst Du das Jar auf, das dem Zip beigefügt ist (unter Windows sollte nach dem Entpacken ein Doppelklick reichen, ansonsten java -jar ampel-1.0-SNAPSHOT.jar im "Projektverzeichnis" aufrufen). Wichtig ist, dass der Spaß in dem Verzeichnis ausgeführt wird, in dem auch die index.html liegt. Danach kannst Du mal den Browser gen localhost:8000 richten - in mehreren Fenstern (=Räumen), sonst siehst Du die Funktionsweise nicht.
 
sascha-sphw

sascha-sphw

Bekanntes Mitglied
Die .jar ist eine Java Datei, die kannst Du mit
Bash:
java -jar ampel-1.0-SNAPSHOT.jar
starten. Vorrausgesetzt Du hast Java auf Deinem Rechner und in den Umgebungsvariablen zum Path hinzugefügt.

localhost:8000 ist erst dann erreichbar, wenn die Jar läuft.
 
D

Dukel

Top Contributor
localhost ist Lokal. Da sollte der Netzwerkadmin nichts machen müssen.
Produktiv musst du das auf einem entsprechenden Server laufen lassen und brauchst dessen IP bzw. DNS Name (und ggf. Netzwerkfreischaltungen).
 
H

httpdigest

Top Contributor
Wenn keinerlei IT/Programmier-Erfahrung vorhanden ist, ist doch eine (funktionierende) und schnell zu realisierende Softwarelösung völlig ausgeschlossen.
Was hältst du denn von einem ganz einfachen Kärtchenhalter, den man draussen neben die Tür schrauben/kleben kann und einfach eine grüne oder rote Karte stecken kann. Oder einfach ein "Besetzt" vs "Frei" "flipbares" Schild an einem Bindfaden... ich halte eine automatisierte IT-gestützte Lösung für völlig overengineered.
 
A

affot

Mitglied
Ich hab hier gerade mal etwas schmunzelnd diesen Thread hier gelesen... Ohne Programmiererfahrung halte ich das auch für knackig, sowas selbst zu realisieren...
Da du Anfangs etwas vom Office-Forum geschrieben hast mit bedingten Formatierungen etc...
Excel hat ja mit Sicherheit jeder. Vielleicht wäre eine VBA-Lösung hier die schnellere (aber sicher nicht schönere!!) Lösung?

Jeder hat ein VBA-Makro mit einer simplen GUI in der er seinen Status anpasst. Mit Klick wird diese Information in einer Datei auf dem Zielrechner aktualisiert. Auf diesem Läuft auch ein Makro was die separaten Status-Dateien der Mitarbeiter alle 10 Sekunde ausliest und seine Anzeige aktualisiert...
Auch wenn da jeder ITler die Hände über dem Kopf zusammenschlagen würde... Könnte das vielleicht eine schnelle Lösung sein?
 
A

affot

Mitglied
Oder nochmal kurz weitergesponnen...
Wenn die Anzeige ein Raspi sein soll, dann könnte VBA auf dieser Seite schwierig sein (ich weiß es nicht, noch nie gemacht...). Aber hier hättest du Java oder Python, was du auf Mitarbeiterseite vermutlich wohl eher nicht zur Verfügung hast (deswegen auch die Idee mit dem Webserver, denn einen Browser haben alle).
Also aus den Büros einfach nur über ein VBA-Userform Zugriff auf eine kleine Textdatei auf dem Raspi. Eine Datei pro Büro.
Und dann in Python oder Java einfach immer alle 10 Sekunde ein Auslesen des Wertes aus dieser Datei und dann grafisch darstellen.
 
A

affot

Mitglied
Ich habe noch nie eine Netzwerk Freigabe von Raspberry Pi zu Windows gemacht, aber das scheint (mit Raspbian) nicht sonderlich kompliziert zu sein:
Eine Textdatei über VBA zu editieren ist in 3 Zeilen geschrieben. Einfach den String "1","2","3" für die unterschiedlichen Stati in die Datei schreiben. Dazu vielleicht noch der Name und die Büro Nummer oder was auch immer.
Die grafische Oberfläche dazu auf Nutzerseite kannst du auch ganz simpel ohne Programmierkenntnisse aufbauen.
Aktualisierung der Dateien übers Netzwerk sollte (sofern die Netzwerkfreigabe passt und die IPs statisch sind) dann auch kein Problem sein.

Bis dahin ist es wirklich minimalster Programmieraufwand in Excel.

Jetzt ist das einzige noch der FileWatcher, den du in Python oder Java kreieren musst mit einer grafischen Anzeige. Die liest einfach die Werte aus den einzelnen Dateien aus und aktualisiert dann die Farbe im Feld. Das ist dann Programmierarbeit, aber wirklich viel viel weniger, denn du hast hier keine Logins, Netzwerke oder Benutzer-Interaktion...
Das wäre dann eine Lösung mit reinen Bordmitteln die dir (vermute ich) zur Verfügung stehen.
 
Zuletzt bearbeitet:
mihe7

mihe7

Top Contributor
Ja, man könnte statt eines Webservers auch einen nahezu x-beliebigen anderen Server verwenden, so dass Fileserver oder "DB"-Server natürlich auch gingen.
 
A

affot

Mitglied
Besteht denn hier noch Interesse?
Ich hab das kleine Projekt aus Übungszwecken im Bezug auf Server-Client-Kommunikation mal aufgegriffen.

BueroAnzeige.JPG
 
Zuletzt bearbeitet:
U

user30

Mitglied
Hmmm, welchen Sinn hat denn frei, unbesetzt und abmelden?
Für mich ist das 3mal die gleiche Eigenschaft... Kenne mich im Office aber nicht so aus. :D
 
A

affot

Mitglied
Naja, ich hatte es so verstanden:
Mitarbeiter Hans hockt sich in Raum 1, d.h. er meldet sich für diesen Raum an. Dann ist der Status frei.
Kunde kommt rein, Hans ändert seinen Status auf belegt.
Kunde geht raus, Hans ändert sich auf Frei.
Hans wechselt jetzt in Raum 5, d.h. er meldet sich in Raum 5 an, dadurch ist Raum 1 dann wieder unbesetzt, weil ja keiner drin ist. Zum Feierabend meldet er sich dann ab, so wie auch alle seine Kollegen. Dadurch sind dann alle Räume unbesetzt.
Was in dem Kontext nicht so viel Sinn macht ist das "Home Office"... Allerdings weiß ich ja auch nicht mehr über die Implementierung - geht auch eher darum noch einen dritten Status aufzuzeigen, wie auch immer der dann heißen soll...
 
D

DerVerwaltungsmensch

Mitglied
Hier ist der Sinn einfach zur besseren Zuordnung und Sichtbarkeit. In der Regel hat der Mitarbeiter tatsächlich ein festes Büro dauerhaft für sich. Die Auswahl bzw. Eingabe der Büronummer ist daher zuvernachlässigenden, aber ein schöner Ansatz.

Naja, ich hatte es so verstanden:
Mitarbeiter Hans hockt sich in Raum 1, d.h. er meldet sich für diesen Raum an. Dann ist der Status frei.
Kunde kommt rein, Hans ändert seinen Status auf belegt.
Kunde geht raus, Hans ändert sich auf Frei.
Hans wechselt jetzt in Raum 5, d.h. er meldet sich in Raum 5 an, dadurch ist Raum 1 dann wieder unbesetzt, weil ja keiner drin ist. Zum Feierabend meldet er sich dann ab, so wie auch alle seine Kollegen. Dadurch sind dann alle Räume unbesetzt.
Was in dem Kontext nicht so viel Sinn macht ist das "Home Office"... Allerdings weiß ich ja auch nicht mehr über die Implementierung - geht auch eher darum noch einen dritten Status aufzuzeigen, wie auch immer der dann heißen soll...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Ampel Programmieren Java Basics - Anfänger-Themen 5
Y Ampel Java Basics - Anfänger-Themen 11
L Ampel-Simulation Java Basics - Anfänger-Themen 20
T Ampel implementieren Java Basics - Anfänger-Themen 12
M Ampel Symbole Java Basics - Anfänger-Themen 4
B Ampel (mitBlueJ) Java Basics - Anfänger-Themen 6
M Ampel Java Basics - Anfänger-Themen 14
B Erste Schritte handgeschaltete Ampel programieren Java Basics - Anfänger-Themen 8
Z Ampel Java Basics - Anfänger-Themen 19
D Ampel Programmieren Java Basics - Anfänger-Themen 5
G Ampel automatisch umschalten Java Basics - Anfänger-Themen 18
I Ampel mit Verzögerung Java Basics - Anfänger-Themen 2
V Grafische Auswertung (Ampel-System) Java Basics - Anfänger-Themen 12
T Start-Activity für Java Maven Web-Anwendung festlegen Java Basics - Anfänger-Themen 2
T Alternative für switch case Java Basics - Anfänger-Themen 1
P Ressourcen für JSON & API Informationen? Java Basics - Anfänger-Themen 1
M Java Einstellung von Apache POI für MS Word Erstellung mit Eclipse Java Basics - Anfänger-Themen 6
L Compiler-Fehler SupressWarning für clone() Java Basics - Anfänger-Themen 6
P Wie für EIN Java Programm von 64bit Java (=Standard) auf 32bit Java Installation (Windows) umschalten? Java Basics - Anfänger-Themen 6
B Methode für jede beliebe Entity erstellen Java Basics - Anfänger-Themen 7
T Wahrscheinlichkeiten für Slot Machine Java Basics - Anfänger-Themen 13
C Konvertierung des int typs in den double typ für die Ausgabe mit Nachkommastellen Java Basics - Anfänger-Themen 4
M Code nur für Cracks? Crack the Passwort Übung Java Basics - Anfänger-Themen 7
L Konstruktor für eine Map-Datei/Map-Datei einlesen Java Basics - Anfänger-Themen 5
T Roulette für Anfänger Java Basics - Anfänger-Themen 7
A Überprüfung für unentschieden in TicTacToe Java Basics - Anfänger-Themen 10
K Struktur für TreeTable rekursiv aufbauen Java Basics - Anfänger-Themen 8
L Best Practice Code Refactoring für Methoden mit fast gleicher Aufbau Java Basics - Anfänger-Themen 6
J alternierendes Probing-Verfahren für Hash-Tabellen implementieren Java Basics - Anfänger-Themen 0
V Ersätze für Java-Scanner Java Basics - Anfänger-Themen 9
B Get / Set - Methode für verschiedene Entities? (generisch) Java Basics - Anfänger-Themen 21
S Was für Aufgaben könnten sich hier hinter verbergen? Java Basics - Anfänger-Themen 5
R OOP Einfaches Programmierbeispiel für Assoziation, Aggregation und Komposition gesucht Java Basics - Anfänger-Themen 10
H Datentypen Was für eine Format verbirgt sich hinter dem Integer-Wert 053? Java Basics - Anfänger-Themen 2
NeoLexx Variable für Array wird nicht korrekt übergeben Java Basics - Anfänger-Themen 45
A Literale für primitive Daten Typen Java Basics - Anfänger-Themen 4
M Lösung Aufgabe - Java Programmiren lernen für Dummies Java Basics - Anfänger-Themen 11
M Regex für bestimmte Wörter bzw. bestimmte Zeichen erstellen Java Basics - Anfänger-Themen 5
D Zusammenhängenden Graphen für Gleisnetz erstellen Java Basics - Anfänger-Themen 13
M Writer für unterschiedliche Obj/inbt/double erstellen? Java Basics - Anfänger-Themen 1
D Denkweise für Rekusionen Java Basics - Anfänger-Themen 1
L Worauf muss ich achten, wenn ich externe Bibliotheken für meine Anwendungen verwende? Java Basics - Anfänger-Themen 6
M Unverständnis für ":" und "?" Java Basics - Anfänger-Themen 28
X Buchungssystem für Busse Java Basics - Anfänger-Themen 11
W Eclipse Autoformatierung für Streams ändern ? Java Basics - Anfänger-Themen 1
X Modellieren eines Buchungssystems für Busfahrkarten Java Basics - Anfänger-Themen 53
T Collections Methode (Knoten hinzufügen) für Graphen Java Basics - Anfänger-Themen 32
M Fehlendes Verständnis für dynamische Bindung und Vererbung Java Basics - Anfänger-Themen 13
T Text-Ausgabe für Textadventure - Organisation Java Basics - Anfänger-Themen 5
Kamy Ein einfaches "Vier Gewinnt" Spiel für Anfängerin Java Basics - Anfänger-Themen 51
I Preis finden für ein Uber-App(?) Java Basics - Anfänger-Themen 3
G Unterklassen (Klasse für Ausgabe) Java Basics - Anfänger-Themen 4
F RegEx für Email Java Basics - Anfänger-Themen 2
F Methode für Teilbarkeit durch 5 tut was anderes.... Java Basics - Anfänger-Themen 3
J Hat jemand einen Lösungsansatz für diese Aufgabe? Java Basics - Anfänger-Themen 1
F Hilfe für einen Anfänger! Java Basics - Anfänger-Themen 4
K nur für das verständnis Java Basics - Anfänger-Themen 3
A Bedingungen für Parameterwerte Java Basics - Anfänger-Themen 7
H For-Schleife für 60 sekunden laufen lassen Java Basics - Anfänger-Themen 1
K GUI Entwicklung - Welche Richtung passt für euch zum mobilen Zeitalter? Java Basics - Anfänger-Themen 4
J Projektideen für Java (auch gehobeneres Niveau)? Java Basics - Anfänger-Themen 16
K Konstruktor für ein Objekt mit Zugriffsmethoden Java Basics - Anfänger-Themen 7
OSchriever Exception für Abbrechen-Schaltfläche JOptionpane Java Basics - Anfänger-Themen 9
P Übungsaufgaben für Anfänger? Java Basics - Anfänger-Themen 2
D Richtig für Programmieren an der UNI lernen Java Basics - Anfänger-Themen 8
V Schleife für das Einlesen von Werten für int Variablen, die Bestandteil von Arrays sein sollen Java Basics - Anfänger-Themen 16
M Welches Framework für kleine WebApp nutzen? Java Basics - Anfänger-Themen 6
O Iterator für eine geordnete Menge Java Basics - Anfänger-Themen 134
N Schleife für ein Würfelspiel Java Basics - Anfänger-Themen 10
R getUserProperties() macht für mich keinen Sinn Java Basics - Anfänger-Themen 8
F Regex für Inlineformatierungen Java Basics - Anfänger-Themen 12
M Formate für Dateien und Pfade? Java Basics - Anfänger-Themen 1
N Obstmarkt für Intellektuelle Java Basics - Anfänger-Themen 40
J Erste Schritte Actionlistener für tbar/ JButton Java Basics - Anfänger-Themen 15
B Erste Schritte nio oder io für neues Projekt Java Basics - Anfänger-Themen 1
O Ideen für kleinere Projekte um Java zu lernen Java Basics - Anfänger-Themen 1
F Bedingung für Eingabe Java Basics - Anfänger-Themen 2
S Hilfe für Aufgabe Java Basics - Anfänger-Themen 4
C Verbesserungsvorschlag für effizienteren Code - (Project Euler10) Java Basics - Anfänger-Themen 26
B Spielfiguren für ein Beute-Jägerspiel programmieren Java Basics - Anfänger-Themen 12
L Binären Bäume für beliebige Datentypen Java Basics - Anfänger-Themen 15
B API für Längen und Breitengrad zu bekommen Java Basics - Anfänger-Themen 2
A Datenstruktur für Savings Algorithmus und Planung von kleinen Programmierprojekten Java Basics - Anfänger-Themen 1
R Erste Schritte Materialien für Java-Anfänger Java Basics - Anfänger-Themen 7
N Project layout eclipse ( seperate ordner für klassen ? ) Java Basics - Anfänger-Themen 1
H Interface Final für Parameter in überschriebenen Methoden? Java Basics - Anfänger-Themen 3
S JDK 9 für Windows 32 bit installiert, aber es funktioniert nix Java Basics - Anfänger-Themen 6
L Neue Klasse für TableView? Java Basics - Anfänger-Themen 17
J Algorithmus für eine Reihe implementieren Java Basics - Anfänger-Themen 2
D Setter/Getter für Instanzvariablen praktisch? Java Basics - Anfänger-Themen 19
A Erste Schritte Hilfe für for-Schleife Java Basics - Anfänger-Themen 1
jaleda100 Component für Suche Java Basics - Anfänger-Themen 4
S Server - für jeden Client ein Serverthread Java Basics - Anfänger-Themen 2
Queiser Datentypen 2 generische Datentypen für eine Schnittstelle Java Basics - Anfänger-Themen 1
M Verbesserung für JRadioButton Java Basics - Anfänger-Themen 10
J Methoden Equals Methode für Integer und Objekte überschreiben? Java Basics - Anfänger-Themen 9
J Musikplayer zu schwer für Anfänger? Java Basics - Anfänger-Themen 3
Kornblume Comparable Interface für Objektvergleiche nutzen Java Basics - Anfänger-Themen 15
J Für jeden Buchstaben eine Zahl Java Basics - Anfänger-Themen 1
Hanschyo Formel für n-Eck Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Anzeige

Neue Themen


Oben