API zwischen Pi und Backend - OTH-AW/isac-oth-aw GitHub Wiki

Details Status Seite

Testdatensatz 1:

  1. Druck auf Lager
  2. QA
  3. Lager
  4. Bestellung geht ein
  5. QA
  6. Abholstation

Derzeitiger Zustand: Liegt zur Abholung bereit

Aufruf API:

http://localhost:5000/workpiece/5ef0600089a8761b902e7f1c

Filter MongoDB:

{ _id: ObjectId('5ef0600089a8761b902e7f1c')}

Stationen (Nicht chronologisch geordnet)

Bestellung erstellt

Wenn es /order gibt:

dann: /order/createdAt

Werkstück Druck

/state/printStartingTime

/state/printCompletionTime

QA

/state/controlProcesses/controlStartingTime

/state/controlProcesses/controlCompletionTime

Lager

  • Einlagern /state/storageProcesses/storageStartingTime

/state/storageProcesses/storageCompletionTime

  • Auslagern /state/storageProcesses/outsourceStartingTime

/state/storageProcesses/outsourceCompletionTime

Abholstation

Wenn /state/id == 9

dann: /updatedAt

Ansicht Datensatz in MongoDB

Beispieldatensatz

TP1 Fertigstellung Druck

/**
 * Rückgabe der Datensätze des gedruckten Werkstückes
 * 
 * http://localhost:5000/pi/printed-wst?color=blue
 * http://localhost:5000/pi/printed-wst?color=orange
 *
 * Liefert den zuerst zuletzt gedruckten Datensatz in der Farbe zurück
 * http://localhost:5000/pi/printed-wst?color=blue
 * => 20:30 Blau [X] <= Wird zurückgeliefert
 *    20:35 Blau
 *
 * http://localhost:5000/pi/printed-wst?color=orange
 * => 20:32 Orange [X] <= Wird zurückgeliefert
 *
 * http://localhost:5000/pi/printed-wst?color=schwarz (Farbe gibt es nicht)
 * => [] <= Wird zurückgeliefert
 *
 * (Zuerst zuletzt gedruckt: state.id == 1)
 * [{"color":{"actualValue":null,"toValue":"Blau"},"shape":{"actualValue":null,"toValue":"Dreieck"},"state":{"place":{"id":1,"faculty":"MBUT","floor":"Erdgeschoss","room":"0123","subproject":"TP1"},"id":1,"message":"Wird gedruckt.","storageProcesses":[]},"order":{"customer":{"firstname":"Vorname 10","name":"Nachname","zip":123,"email":"vorname@name","address":"14","ort":"there"},"shape":{"toValue":"Dreieck"},"color":{"toValue":"Blau"},"number":"abc10","updatedAt":"2020-05-10T08:17:18.714Z","createdAt":"2020-05-10T08:17:18.714Z"},"_id":"5ee7312f13237f05339c78e3","workpieceId":"BlauDreieck-200615-1","updatedAt":"2020-06-15T09:30:53.964Z","createdAt":"2020-06-15T08:28:31.632Z","__v":0}]
 * 
 * Wenn nicht: Dann war keiner im Druck!
 * => []
 * 
 * @returns Dokument-Eintrag als JSON
 */

TP2 Einlagern:

/**
 * Einlagern eines WST
 *
 * Liefert den Datensatz zurück, der eingelagert wird
 * http://localhost:5000/pi/store-wst?workpieceId=BlauKreis-200615-4
 * 
 * Ergebnisse:
 * - workpieceId=abc => [] => Datensatz konnte nicht gefunden werden
 * - workpieceId=BlauKreis-200615-4 => [<Informationen zum Datensatz>] =>
 *     richtiger Datensatz wird zurückgeliefert (evt. zur Kontrolle wichtig)
 * 
 * @returns Dokument-Eintrag als JSON
 */

TP2 Auslagern:

/**
 * Auslagern eines WST
 *
 * Liefert den Datensatz zurück, der eingelagert wird
 * http://localhost:5000/pi/scan-outsource-wst?workpieceId=BlauKreis-200615-4
 * 
 * Ergebnisse:
 * - workpieceId=abc => [] => Datensatz konnte nicht gefunden werden
 * - workpieceId=BlauKreis-200615-4 => [<Informationen zu den neuen Datensatzinformationen>] =>
 *     richtiger Datensatz wird zurückgeliefert (evt. zur Kontrolle wichtig)
 * 
 * @returns Dokument-Eintrag als JSON
 */

TP3 Werkstück erreicht QA:

/**
 * Eingang WST bei der QA
 *
 * Liefert den Datensatz zurück, der bei der QA angekommen ist.
 * Dieser Datensatz wird jetzt von der QA überprüft.
 * http://localhost:5000/pi/qa-entry-wst?workpieceId=BlauKreis-200615-4
 * 
 * Ergebnisse:
 * - workpieceId=abc => [] => Datensatz konnte nicht gefunden werden
 * - workpieceId=BlauKreis-200615-4 => [<Informationen zum Datensatz>] =>
 *     richtiger Datensatz wird zurückgeliefert (evt. zur Kontrolle wichtig)
 * 
 * @returns Dokument-Eintrag als JSON
 */

TP3 Werkstück ist durch QA gelaufen:

/**
 * Ausgang WST bei der QA
 *
 * Liefert den Datensatz zurück, der durch die QA gelaufen ist.
 * http://localhost:5000/pi/qa-exit-wst?workpieceId=BlauKreis-200615-4
 * 
 * Ergebnisse:
 * - workpieceId=abc => [] => Datensatz konnte nicht gefunden werden
 * - workpieceId=BlauKreis-200615-4 => [<Informationen zum Datensatz>] =>
 *     richtiger Datensatz wird zurückgeliefert (evt. zur Kontrolle wichtig)
 * 
 * @returns Dokument-Eintrag als JSON
 */

Abholstation:

/**
 * WST liegt zur Abholung bereit
 *
 * Teilt mit, dass das Werkstück an der Abholstation angelangt ist.
 * http://localhost:5000/pi/pickup-wst?workpieceId=BlauKreis-200817-12
 * 
 * Ergebnisse:
 * - workpieceId=abc => [] => Datensatz konnte nicht gefunden werden
 * - workpieceId=BlauKreis-200615-4 => [<Informationen zum Datensatz>] =>
 *     richtiger Datensatz wird zurückgeliefert (evt. zur Kontrolle wichtig)
 * 
 * @returns Dokument-Eintrag als JSON
 */
⚠️ **GitHub.com Fallback** ⚠️