EBS - Entersoft Price Checker
Entersoft Price Checker
O Entersoft Price Checker (ESTCPServer.exe) - EPC είναι ένα νέο software component, διαθέσιμο μέσα στο directory της εφαρμογής. Η λειτουργικότητα που παρέχει είναι για ένα scanned barcode να επικοινωνήσει με τον EBS Application Server, ώστε με κατάλληλο ερώτημα στην ΒΔ να αναγνωριστεί το είδος και να αντληθούν οι πληροφορίες που έχουν οριστεί και στην συνέχεια να τις αποστείλει με το κατάλληλο format ώστε ανάλογα την συσκευή να εμφανιστούν στην οθόνη του Price Checker μηχανήματος, παρέχοντας την απαραίτητη πληροφόρηση για το είδος που αναγνωρίστηκε μέσω του scanned barcode. Ο ESPriceChecker λειτουργεί ως Server και μπορεί να εξυπηρετήσει ταυτόχρονα πολλά Price Checker μηχανήματα. Το μοντέλο Price Checker που σήμερα υποστηρίζεται και έχει δοκιμαστεί είναι το Scantech ID Shuttle SG-15 (http://www.scantech-id.com/en/product/10).
Υποστηρίζονται 3 modes λειτουργίας του ESPriceChecker component που ρυθμίζονται ανάλογα με τα ορίσματα κατά την εκκίνηση και είναι τα κάτωθι:
- Με το όρισμα /proxy εκτελείται ως μια κλασική Windows Forms εφαρμογή, διαθέτοντας τα απαραίτητα UI controls για την εκκίνηση και την διακοπή του Server όπως και για την δυνατότητα ενεργοποίησης logging.
- Με το όρισμα /console εκτελείται ως μια κλασική Windows Console εφαρμογή.
- Με το όρισμα /service εκτελείται ως ένα κλασικό Windows Service, ενώ απαιτείται προφανώς να οριστεί και το κατάλληλο Windows Account κάτω από το οποίο εκτελείται το service.
Όταν σαν mode λειτουργίας έχει επιλεγεί αυτό που αντιστοιχεί σε μία κλασική Windows Forms εφαρμογή, εμφανίζεται στο tray icon των Windows όπως δείχνει η κάτωθι εικόνα:
Κάνοντας click στο εικονίδιο εμφανίζεται η κάτωθι απλή φόρμα όπου μπορεί ο χρήστης να κάνει εκκίνηση ή διακοπή του Server και να ενεργοποιήσει ή να απενεργοποιήσει το logging.
Ο Server πρέπει να έχει γίνει start ώστε για ένα scanned barcode να γίνει αναγνώριση του είδους και να εμφανιστούν οι πληροφορίες του στην οθόνη του Price Checker μηχανήματος.
Το ESPriceChecker component υποστηρίζει και κάποια επιπλέον ορίσματα που μπορούν να οριστούν κατά την εκκίνησή του, ώστε να αυτοματοποιήσουν την λειτουργικότητα που παρέχει και είναι τα κάτωθι:
- Με το όρισμα /start σε συνδυασμό με την ύπαρξη ταυτόχρονα του ορίσματος /proxy μπορούμε να θέσουμε αυτόματα την εκκίνηση του Server χωρίς να απαιτείται να πατηθεί το κατάλληλο button εκκίνησης στην φόρμα.
- Με το όρισμα /log ενεργοποιούμε αυτόματα την δυνατότητα logging. Το αρχείο στο οποίο καταγράφονται οι πληροφορίες βρίσκεται στην περιοχή .\ESNoSync\ClientLog.txt
Το ESPriceChecker component είναι σχεδιασμένο ώστε να μπορεί να λειτουργήσει και εκτός του directory της εφαρμογής ακόμη και σε άλλο Windows μηχάνημα αυτόνομα, αρκεί να είναι εγκατεστημένο το Microsoft .NET 4.8, οπότε σε αυτήν την περίπτωση τα απαραίτητα binary αρχεία που πρέπει να αντιγραφούν από τον φάκελο της εφαρμογής είναι τα ακόλουθα:
ESTCPServer.exe
ESResMngr.dll
ESSessionCtx.dll
Microsoft.Web.Services.dll
Newtonsoft.Json.dll
Xceed.Compression.dll
Για το mode λειτουργίας του ESPriceChecker ως μια κλασική Windows Forms εφαρμογή, συστήνεται η δημιουργία ενός .bat αρχείου που θα οριστεί να εκτελείται στο start up των Windows του σταθμού εργασίας που θα επιλεγεί να λειτουργήσει ο ESPriceChecker.
Παράδειγμα εντολών .bat αρχείου:
cd d:\ESPriceCheckerServer
ESTCPServer.exe /proxy /start /log
Σχετικά με τις ρυθμίσεις που αφορούν την επικοινωνία με τον EBS Application Server, την όψη που εκτελείται για την αναγνώριση του είδους, τις πληροφορίες που πρέπει να αντληθούν από την ΒΔ για να εμφανιστούν στην οθόνη ενός Price Checker μηχανήματος, αλλά και για το port στο οποίο θα συνδεθεί το ίδιο το software του κατασκευαστή του Price Checker μηχανήματος ώστε να αποστέλλει τα scanned barcodes, όλες αυτές οι ρυθμίσεις πρέπει να οριστούν σε ένα αρχείο με όνομα LoginCredentials.json που θα πρέπει να βρίσκεται στο υποφάκελο .\ESNoSync\ESPriceChecker εκεί που βρίσκεται το ESTCPServer.exe. Ένα δείγμα του αρχείου παρατίθεται παρακάτω με κάποιες ενδεικτικές ρυθμίσεις αλλά και με δηλωμένη την προιοντική όψη που διατίθεται στην εφαρμογή για τον συγκεκριμένο σκοπό. Στο entries array του json αρχείου ορίζουμε όσα Price Checker μηχανήματα θα εξυπηρετεί ο ESPriceChecker Server. H δήλωση γίνεται στο array με ζεύγη IP και Port, όπου ως IP ορίζεται η IP του μηχανήματος στο οποίο εκτελείται ο ESPriceChecker και σαν Port αντιστοιχίζουμε ένα ξεχωριστό Port για κάθε Price Checker μηχάνημα που θα εξυπηρετηθεί από τον συγκεκριμένο Server, όπου βεβαίως πρέπει να έχει γίνει η κατάλληλη ρύθμιση στο firewall του Windows μηχανήματος ώστε να δέχεται κλήσεις. Στο κάθε αντιστοιχισμένο port και IP θα αποστέλλονται τα scanned barcodes από το κάθε Price Checker μηχάνημα.
Δείγμα αρχείου LoginCredentials.json:
{
"IP":"192.168.5.48",
"Port":"8100",
"User":"admin",
"Password":"z7qlymQ0lBrXzhrg+d01BMTBi84orE4x",
"Language":"el-GR",
"Database":"Demo001",
"Company":"001",
"Branch":"1",
"entries":
[
{
"IP":"192.168.5.48",
"Port":"50000"
}
],
"scroller":
{
"location":"ESMMStockItem",
"name":"ESFISearchItemFromBarcodes"
}
}
Σε κάθε Price Checker μηχάνημα θα πρέπει να γίνουν οι απαραίτητες ρυθμίσεις με βάση και το documentation του κατασκευαστή. Πρώτα θα πρέπει να οριστεί το mode λειτουργίας, κάτι που μπορεί να γίνει μέσω navigation με τον browser του μηχανήματος στο οποίο είναι συνδεδεμένο το Price Checker μηχάνημα. Ανάλογα με την IP δικτύου που έχει πάρει το μηχάνημα του Price Checker μπορούμε να πλοηγηθούμε μέσω του browser σε αυτήν την IP (πχ http://192.168.5.163) όπου και θα εμφανιστεί η κάτωθι οθόνη. Μέσω της επιλογής Applications στο menu θα πρέπει να επιλέξουμε το SGPriceChecker ως Application.
Στην συνέχεια στην περιοχή SGNET της οθόνης θα πρέπει να συμπληρώσουμε τις κατάλληλες πληροφορίες που αφορούν την IP και Port που θα αποστέλλεται το κάθε scanned barcode από το συγκεκριμένο Price Checker μηχάνημα. Αυτή η IP και Port πρέπει να έχει δηλωθεί στο LoginCredentials.json αρχείο στο μηχάνημα που εκτελείται ο ESPriceChecker ως Server και που ανάλογα το στήσιμο θα έχει επιλεγεί ότι εξυπηρετεί το συγκεκριμένο Price Checker μηχάνημα. Επίσης στο Connect Mode θα πρέπει να επιλεγεί το TCPClient.
Σχετικά με τις πληροφοριες και την μορφοποίησή τους στην οθόνη του Price Checker μηχανήματος, θα πρέπει να δημιουργηθεί το DisplaySG15.json αρχείο στον υποφάκελο .\ESNoSync\ESPriceChecker εκεί που βρίσκεται το ESTCPServer.exe. Σε αυτό το json αρχείο μπορούμε να ορίσουμε και με βάση το documentation του Price Checker μηχανήματος τριών ειδών πληροφορίες:
- Στο Display ορίζουμε τι θα εμφανίζονται ως πληροφορίες στο display του Price Checker μηχανήματος
- Στο DisplayNotFound τι θα εμφανίζεται σαν μήνυμα όταν δεν αναγνωριστεί είδος με το scanned barcode
- Στο DisplayOnMultiple τι θα εμφανίζεται σαν μήνυμα όταν αναγνωριστούν περισσότερα του ενός είδη με το scanned barcode
Στο Display μπορούμε μέσα σε άγκιστρα {} (πχ {Description}) να δηλώσουμε την κολώνα του scroller που θα εμφανίζεται ως πληροφορία. Με αυτόν τον τρόπο μπορούμε μέσω του scroller να φέρουμε ότι πληροφορία απαιτείται και με κατάλληλη δήλωση στο Display section του DisplaySG15.json αρχείου να ορίσουμε που και με τι μορφοποίηση θέλουμε αυτή να εμφανιστεί, ακολουθώντας τις οδηγίες στο κατάλληλο κείμενο παραμετροποίησης του Price Checker μηχανήματος.
Παρακάτω κάποιες ενδεικτικές οθόνες πληροφόρησης ύστερα από το scan ενός barcode όπου και έχει αναγνωριστεί το είδος:
Παρακάτω δείγμα αρχείου DisplaySG15.json:
{
"Display":
[
"0x1B",
"0x42",
"0x30",
"0x1B",
"0x25",
"{RetailPrice}",
"0x0d",
"{Code}",
"0x1B",
"0x42",
"0x31",
"0x1B",
"0x2e",
"0x38",
"{Description}",
"0x03"
],
"DisplayNotFound":
[
"0x1B",
"0x42",
"0x30",
"0x1B",
"0x24",
"0x1B",
"0x42",
"0x30",
"0x1B",
"0x2e",
"0x34",
"{Δεν αναγνωρίστηκε είδος}",
"0x03"
],
"DisplayOnMultiple":
[
"0x1B",
"0x42",
"0x30",
"0x1B",
"0x24",
"0x1B",
"0x42",
"0x30",
"0x1B",
"0x2e",
"0x34",
"{Αναγνωρίστηκαν περισσότερα του ενός είδη}",
"0x03"
]
}


