Commit graph

9 commits

Author SHA1 Message Date
c97540e6f6 v9.1: OCR-Feature Bug-Fix - zusammenhängende Zahlenblöcke
extractDigitSequences() Fix:
- VORHER: Alle Ziffern zusammengefasst → Datensalat bei Subsequenzen
- JETZT: Nur isolierte N-stellige Zahlenblöcke (filter auf length === N)
- Beispiel: "Artikel 1234567 Datum 20250311" → nur "1234567" (nicht "2025031" etc.)

Artikelnummer-Suche:
- findproduct.php sucht in: barcode, ref_fourn (Lieferanten-Artikelnummer!), ref
- OCR-erkannte Nummern funktionieren wenn ref_fourn in Dolibarr gepflegt ist

Dokumentation:
- README.md aktualisiert: ZXing-JS, OCR-Feature, Versionierung
- Barcode-Unterstützung erweitert: Code 128, QR, DataMatrix, OCR
- Bibliotheken: ZXing-JS v0.21.3, Tesseract.js v5.1.0

Versionen synchron erhöht:
- pwa.php: ?v=91 (CSS + JS)
- sw.js: scanner-v9.1
- modHandyBarcodeScanner.class.php: 9.1

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-11 20:20:16 +01:00
8586b568e8 v8.1: Quagga2 Scanner Fix, Brother Android App, Bestelllogik-Update
## Quagga2 Scanner
- Reader-Reihenfolge optimiert: CODE128/CODE39 vor EAN
- Verhindert Fehlerkennungen bei alphanumerischen Codes (z.B. P20260030)
- EAN-Reader haben niedrigere Priorität

## Brother PT-E560BT Android App
- Native Kotlin App für Bluetooth-Druck auf Brother PT-E560BT
- Intent-Schema: brotherprint://print?barcode=XXX&ref=REF
- 90° Rotation für Längs-Druck auf 24mm TZe-Band
- Produkt-Referenz (fett), Barcode-Strichen, Barcode-Wert
- Erweiterte Error-Handling (SetLabelsizeError, NoCoverError, etc.)
- Build: Gradle 9.3.1, Kotlin 2.1.0, Brother SDK v4

## Bestelllogik
- ref_supplier = "Direkt" (ohne Datum) für dauerhafte Direktbestellungen
- Pro Lieferant eine durchgängige Direkt-Bestellung statt tägliche neue

## PWA Updates
- Service Worker v8.1
- CSS/JS Cache-Invalidierung (?v=81)
- localStorage Migration für alte Keys

## Dokumentation
- README.md aktualisiert mit Brother-App und PWA-Details
- Dateistruktur erweitert um android-app/
- .gitignore für Test-Dateien

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-07 18:24:10 +01:00
d81f215f59 v6.8: Stopp-Button Fix, persistente Freitext-Lieferant-Speicherung, SW-Update
- Stopp-Button: overflow:hidden auf Video-Container, z-index auf Controls,
  pointer-events:none auf Quagga-Canvas damit der Button klickbar bleibt
- Freitext-Lieferant wird persistent in localStorage gespeichert (hbs_config)
  und bei Dropdown-Aenderung sofort aktualisiert
- Service Worker: Network-first fuer eigene Assets (JS/CSS), Cache-first
  nur noch fuer CDN-Libraries
- Letzte Bestell-ID (lastOrderId) ebenfalls persistent
- Migration alter localStorage-Keys in neue zentrale Config

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 21:50:36 +01:00
08221a660d v5.2: Edit-Button für Bestellzeilen, Dialog vereinfacht
- Edit-Button (Stift-Icon) an jeder Bestellzeile statt Touch-Events
- Abbrechen-Button aus Line-Edit-Dialog entfernt (nur Löschen/Speichern)
- Status-Typ-Vergleich für Entwurfs-Erkennung korrigiert
- Cache-Busting für zuverlässige PWA-Updates (v=60)
- Service Worker v6.0

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-25 14:20:51 +01:00
707d7f50a0 fix: Freitext-Zeilen im Modal klickbar machen
Lines-Array wird jetzt gecacht für Click-Handler.
Freitext-Zeilen zeigen '(Freitext)' statt Lagerbestand.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-25 13:57:03 +01:00
5f9c522db2 v5.1: Bestellungen löschen, Freitext-Bearbeitung, Dark Theme Fix
Bestellungen verwalten:
- Lösch-Button an Entwurfs-Bestellungen mit Bestätigungsdialog
- Freitext-Zeilen: Beschreibung und Menge änderbar
- Letzter Freitext-Lieferant wird für nächsten Eintrag gemerkt

Dark Theme:
- Bestellzeilen korrekt lesbar (war weiß auf hell)
- Dialoge mit konsistenten Dark Theme Farben
- Aktive Bestellung besser hervorgehoben

Entfernt:
- Swipe-Hinweis-Button (überflüssig)

Neuer AJAX-Endpoint:
- deleteorder.php

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-25 13:53:24 +01:00
74728a71d1 v5.0: Bestellmodus erweitert, Barcode-Druck, Scanner-Pausierung
Bestellmodus:
- Produktsuche (Lupe-Button) und Freitext-Positionen (Plus-Button)
- Bestellübersicht per Swipe nach links
- Horizontale Bestellliste mit Direkt-Bestellungen hervorgehoben
- Bestellzeilen bearbeiten (Menge ändern, löschen)
- Auto-Öffnung der zuletzt bearbeiteten Bestellung

Barcode-Druck:
- Swipe nach rechts öffnet Produktsuche für Druck
- Code128 Barcode-Generierung mit JsBarcode
- Optimiert für 24mm Etikettendrucker (Brother P-touch)

Scanner:
- Automatische Pausierung bei geöffneten Dialogen
- Fortsetzung wenn alle Dialoge geschlossen
- Stopp-Button funktioniert jetzt zuverlässig

Neue AJAX-Endpoints:
- searchproduct.php, addfreetextline.php
- getorders.php, getorderlines.php, updateorderline.php

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-23 09:46:06 +01:00
48bf9411dc v4.7: PWA-Link auf Scanner-Seite mit korrektem Hostname
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 17:58:43 +01:00
ad180db510 v4.6: Menü unter Produkte, bessere Barcode-Erkennung, Tab-Wechsel ohne Reload
- Menü aus Header entfernt, neuer Eintrag unter Produkte > Scanner
- Barcode-Erkennung: patchSize medium, grösserer Scan-Bereich, höhere Frequenz
- Timeout-Hinweis nach 8s wenn kein Barcode erkannt wird
- Tab-Wechsel (Order/Shop/Inventur) ohne Seitenreload, Kamera bleibt aktiv
- PWA: gleiche Tab-Logik, Buttons statt Links
- Changelog und README aktualisiert

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 17:54:13 +01:00