COrgaMon.Foto: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 51: Zeile 51:
==== Schnell ====
==== Schnell ====


* Sind ZaehlerNummerNeu oder ReglernummerNeu teil des Dateinamens, so ist zum Zeitpunkt der Foto-Dateilieferung in der Regel dieser Wert noch nicht bekannt
* Sind ZaehlerNummerNeu oder ReglernummerNeu Teil des Dateinamens, so ist zum Zeitpunkt der Foto-Dateilieferung in der Regel dieser Wert noch nicht bekannt
* sobald wenn der Monteur "sendet" liegen erst alle Infos vor (z.B. ZählernummerNeu)
* sobald wenn der Monteur "sendet" liegen erst alle Infos vor (z.B. ZählernummerNeu)
* alle 5 Minuten werden diese neuen Daten verarbeitet.
* alle 5 Minuten werden diese neuen Daten verarbeitet.
* dabei wird über den Protokoll-Variable Name entschieden, ob es sich um eine Zähler oder Regler Umbenennung handelt
'FA' ... 'FE' ... 'FK' ->Regler#Neu-Umbenennung
'FL' ... 'FN' ... 'FZ' ->Zähler#Neu-Umbenennung


==== Langsam ====
==== Langsam ====
Zeile 77: Zeile 82:
der OrgaMon ist über den Systemparameter <code>InternetAblagenPfad=</code> an die Internet-Ablagen gekoppelt und holt nur Fotos-nnnn.zip Archive niemals direkt .jpg Dateien
der OrgaMon ist über den Systemparameter <code>InternetAblagenPfad=</code> an die Internet-Ablagen gekoppelt und holt nur Fotos-nnnn.zip Archive niemals direkt .jpg Dateien


* folgende Aufgaben werden im Rahmen der Tagwache durchgeführt
* folgende Aufgaben werden im Rahmen der Tagwache durchgeführt (Aktion "Fotos laden")
* durchlaufe alle Fotoladebaustellen
* durchlaufe alle Fotoladebaustellen
* lade die neuen/bisher fehlenden Fotos-nnnn.zip-Archive der Internet-Ablage in einen lokalen <code>FotoPfad=</code>
* lade die neuen/bisher fehlenden Fotos-nnnn.zip-Archive der Internet-Ablage in einen lokalen <code>FotoPfad=</code>
Zeile 128: Zeile 133:
  UnverarbeitetPath=
  UnverarbeitetPath=
  LogPath=
  LogPath=
* ein Service für das verzögerte Umbenennen von Foto mit Namensbestandteilen aus ZählernummerNeu und ReglernummerNeu
* dabei wird über den Protokoll-Variable Name entschieden, ob es sich um eine Zähler oder Regler Umbenennung handelt
'FA' ... 'FE' ... 'FK' ->Regler#Neu-Umbenennung
'FL' ... 'FN' ... 'FZ' ->Zähler#Neu-Umbenennung

Aktuelle Version vom 13. November 2025, 13:47 Uhr

  • Aufgabe dieses Dienstes ist das Umbenennen und Verteilen der Fotos

Weg eines Fotos durch den FotoServer

OrgaMon-App

  • Im Protokoll eines Auftrages kann bestimmt werden welche Fotos vom Monteuer gemacht werden können
  • Nach der Erstellung des Fotos mit dem Handy wird es auf dem Handy als GGG-RRRRRR-Fp.jpg gespeichert (Im Verzeichnis "Pictures")
    • GGG ist die 3 stellige Geräte-ID (z.B. 023)
    • RRRRR ist der RID des Auftrages (z.B. 2837372)
    • Fp ist der Foto-Parameter, also der Name des Foto-Buttons im Protokoll der Baustelle (z.B. FA)
  • In die Protokoll-Eingabe des Handys wird Fp=GGG-RRRRR-Fp.jpg eingetragen (dies wird erst nach "senden" für den stationären OrgaMon sichtbar)
  • Der Upload erfolgt durch einen Hintergrund-Prozess der OrgaMon-App via FTPS (alternativ FTP)
  • alle Handys einer Firma teilen sich den gleichen Upload-Bereich ./ftp (Unterverzeichnis des App-Server Bereiches)
  • der Upload erfolgt mit dem Suffix .$$$ bis die Datei komplett übertragen ist
  • das Umbenennen von Dateiname.jpg.$$$ nach Dateiname.jpg erfolgt durch die OrgaMon-App erst bei erfolgreicher vollständiger Übertragung (Transaktions-Upload)
  • danach wird die Bilddatei auf dem Handy nach uDateiname.jpg umbenannt
  • die Datei verbleibt noch einige Tage auf dem Handy und wird danach gelöscht

das Foto ist jetzt im FTP Bereiches des FotoServers

Annahme

  • Als allerersten Schritt wird eine Kopie des Fotos ins Sicherungsverzeichnis gemacht
    • Dabei wird eine Sicherungsnummer bbbb dem Foto-Anlieferungsnamen vorangestellt
    • Die Sicherung erfolgt nach ./bak/#nnn/Fotos/bbbb-GGG-RRRRR-Fp.jpg
  • Ermittlung des Baustellen-Kürzels für diesen RID (Steht direkt im Datensatz)
  • Suche des Baustellen-Kürzels in baustelle.csv (Suchspalte "NUMMERN_PREFIX")
  • Ermittlung des Benennungsmodus (Spalte "FotoBenennung") und des Namen der Internet-Ablage (Spalte "FTPBenutzer")
  • Ermitteln der Zielbaustelle aus Spalte "BAUSTELLE_KUERZEL"
  • Öffnen der \~Kürzel~\Fotobenennung.csv & FotoParameter.ini bei FotoBenennung=JA
  • Ermittlung des Zieldateinamens
  • Ermittlung des Zielverzeichnisses
  • Gibt es bei diesen ersten Schritten ein Problem wird die Datei nach .\htm kopiert
    • In .\log\FotoService.log.txt erfolgt ein Eintrag was das Problem war
20211103 16:56:04;3690708;INFO: 5730: 003-3947416-FN.jpg 20211103 16:56:00 -> 20210825 15:44:54
20211103 16:56:04;3947416;WARNUNG: 003-3947416-FN.jpg: RID in H:\dat\db\AUFTRAG+TS nicht vorhanden!
20211103 16:56:04;3947416;WARNUNG: 003-3947416-FN.jpg: RID in H:\dat\db\_AUFTRAG+TS nicht vorhanden!
20211103 16:56:04;3947416;ERROR: 003-3947416-FN.jpg: RID 3947416 konnte nicht gefunden werden!

Umbenennung

Für die Benennung von Fotos sind manchmal Daten erforderlich, die erst der Monteur noch eingeben muss. Fotos werden meistens bereits übertragen, ohne dass der Monteur etwas eingegeben hat, oder bevor er "gesendet" hat. In diesem Fall landen die Fotos mit ihrem Original-Dateinamen auf der Internet-Ablage des Kunden UND 5 Minuten später in der -neu Datei des App-Server-Dashboards.

Nun gibt es 3 Geschwindigkeiten bei der Umbenennung

Direkt

  • ohne dass der Monteur sendet wird hier direkt bei der Lieferung vai ftp umbenannt. Ist z.B. nur die Zählernummer oder andere bekannte Felder Bestandteil des Dateinamens geht das sofort

Schnell

  • Sind ZaehlerNummerNeu oder ReglernummerNeu Teil des Dateinamens, so ist zum Zeitpunkt der Foto-Dateilieferung in der Regel dieser Wert noch nicht bekannt
  • sobald wenn der Monteur "sendet" liegen erst alle Infos vor (z.B. ZählernummerNeu)
  • alle 5 Minuten werden diese neuen Daten verarbeitet.
  • dabei wird über den Protokoll-Variable Name entschieden, ob es sich um eine Zähler oder Regler Umbenennung handelt
'FA' ... 'FE' ... 'FK' ->Regler#Neu-Umbenennung
'FL' ... 'FN' ... 'FZ' ->Zähler#Neu-Umbenennung


Langsam

  • bei machen Umbenennungen sind sogar OrgaMon-Daten erforderlich (z.B. ReglerNummerKorrektur). Also erst wenn der OrgaMon "Sync mit dem Fotoserver" bei der jeweilgen Baustelle durchführt
  • Dieser "Sync" wird bei Tagwache und Tagesabschluss automatisch durchgeführt
  • Diesen Modus "Langsam" kann man beschleunigen indem man :
    • den Monteur motiviert jetzt zu "senden" (wenn noch nicht erfolgt)
    • Im OrgaMon -> Tagwache -> Einzeltest vorbereiten -> Haken raus bei 2 Punkten
      • [ ] Mobil auslesen
      • [ ] Sync mit dem Fotoserver
  • nach 5 Min. sollte alles was möglich ist vollständig umbenannt sein

Ablage

nach 00:00 Uhr macht der FotoServer einen automatischen Abschluss

  • Alle fix und fertig umbenannten Fotos werden in .zip Datei archiviert
    • Erst dadurch werden sie für den stationären OrgaMon sichtbar, der die .zip im Rahmen der Tagwache herunterlädt

OrgaMon

der OrgaMon ist über den Systemparameter InternetAblagenPfad= an die Internet-Ablagen gekoppelt und holt nur Fotos-nnnn.zip Archive niemals direkt .jpg Dateien

  • folgende Aufgaben werden im Rahmen der Tagwache durchgeführt (Aktion "Fotos laden")
  • durchlaufe alle Fotoladebaustellen
  • lade die neuen/bisher fehlenden Fotos-nnnn.zip-Archive der Internet-Ablage in einen lokalen FotoPfad=
  • entpacke die Archive in ein anderes/das gleiche Verzeichnis

Log

  • Der Fotoservice protokolliert seine Aktionen in mehreren Log-Dateien, insbesondere sind hier Gründe aufgezeichnet warum etwas nicht funktioniert hat
  • Alle Log-Dateien befinden sich im Unterverzeichnis .\log des OrgaMon-App-Servers

FotoService.log.txt

  • Infos über Umbenennungen von Fotos

FotoService-Transaktionen.log.txt

  • Infos, wohin Fotos im Erfolgfall umkopiert wurden

FotoService-Ablage-JJJJMMTT.log.txt

  • Infos, welche Foto-Zip Archive wohin verschoben/abgelegt wurden (Löschprotokollierung, eine Forderung des Datenschutzes)

Datensicherung

  • Im .\bak Verzeichnis muss sich zumindest ein Unterverzeichnis befinden mit dem Namen #zzz (wobei "z" eine Ziffer "0" .. "9" sein muss)
  • Der Server startet und ermittelt aus allen "#*" Unterverzeichnissen das mit der höchsten Nummer "zzz", nur in dieses wird gesichert
  • Direkt wenn ein Bild im FTP- Bereich komplett hochgeladen ist, wird noch vor der Zuordnung eine Sicherungskopie nach .\bak\Fotos gemacht
  • die Befüllung von ./bak/#zzz ist also kontinuierlich über den ganzen Tag zu erwarten
  • Im Rahmen des "Ablagedienstes" der automatisch nach 00:00 Uhr anläuft werden zudem alte Dateien aus allen Internetablagen (./web) nach #zzz verschoben
  • Nach dem Verschieben der Zips wird die Grösse des aktuell verwendeten Sicherungsverzeichnisses protokolliert
  • Ist es >3,8 GB so wird ein neues Sicherungsverzeichnis angelegt (Name ist die alte Nummer + 1), die Umschaltung auf dieses Sicherungsverzeichnis erfolgt beim nächsten Dienste-Start, aber möglicherweise nicht sofort

Entlastung

  • Sicherungsverzeichnisse, die man wegverschieben darf, werden deshalb mit der leeren Datei ./MOVE-OK markiert
  • Ein externes Sicherungstool sollte also z.B. #222 erst verschieben wenn #222/MOVE-OK vorhanden ist
  • Das Verschieben muss manuell erfolgen

Konfiguration

[System]
[~Id~]
ftphost=
ftpuser=   # Mussfeld
ftppwd=
BackUpPath=
WebPath=
[StatistikPath=]
FTPPath=
UnverarbeitetPath=
LogPath=