Proben zuordnen

Die zentrale Aufgabe des Programms besteht darin, die Ergebnisse der Inhaltsstoffuntersuchung aus der MSC-Datei den via MLP-Schnittstelle eingelesenen oder gebuchten Proben zuzuordnen:
 
Ohrnummer Flasche Milch
+
Flasche F% E% ...
=
Ohrnummer Milch F% E% ...

Dabei ist in zwei Etappen vorzugehen.

Die Beschreibung erfolgt unter der Voraussetzung, daß der Betrieb und eventuell zugehörige Kästen in der Statusdatei und in der Arbeitsdatei bereits vorhanden sind, weil bereits die MLP-Datei eingelesen ist und/oder Belege gebucht wurden.
In diesem Fall soll die Zuordnung automatisch beim Einlesen der MSC-Dateien erfolgen.

Sonderfälle und die umgekehrte Reihenfolge werden anschließend beschrieben.
 
1. Grobzuordnung
Anhand des Dateinamens der MSC-Datei ist der Batch dem betreffenden Betrieb bzw. dem Kasten zuzuordnen.
a) Batch = Betrieb (kleine Betriebe)
Ist zu einem Betrieb die passende MSC-Datei vorhanden, dann ist in der Statusdatei der Schalter "gefunden" zu setzen.
b) Batch = Kasten (große Betriebe, Roboter)
Zu einem Betrieb gehören mehrere Kästen.
Bei Kästen, für die eine MSC-Datei mit passendem Namen vorhanden ist, ist in der Statusdatei der Schalter "gefunden" zu setzen.
 
2. Feinzuordnung
Innerhalb eines Batch sind die Proben den Tieren bzw. Einzelgemelken (Roboter) zuzuordnen.
Die Kästen/Batches sind zu prüfen und nur dann weiterzuverwenden, wenn sie den Status "zuordnen" erhalten haben.
Bei der Feinzuordnung sind zwei Varianten vorzusehen:
a) Barcode
Liegen sowohl in der MLP-Schnittstelle als auch in der MSC-Datei Barcodes vor, ist dieser zur Zuordnung zu verwenden.
b) Flaschennummer
Liegt in einer der beiden Dateien kein Barcode vor, ist die Zuordnung über die Flaschennummer (#F3/) vorzunehmen.
Innerhalb eines Batches darf nicht zwischen den Varianten gewechselt werden.
Innerhalb eines Betriebes können aber Kästen verschieden behandelt werden. 
Wurden alle Proben eines Batch erfolgreich zugeordnet, erhält der Batch den Status "fertig".
Wenn alle Batches eines Betriebes fertig sind, erhält der Betrieb ebenfalls den Status "fertig".

Sonderfälle:
A Beim Einlesen der MLP-Datei oder beim Buchen wurden Kastennummern registriert, so daß durch entsprechende Einträge in der Statusdatei eine Grobzuordnung nach 1b) vorbereitet ist.
Beim späteren Einlesen der MSC-Dateien wird aber ein Betriebs-Batch gefunden, so daß offensichtlich eine Zuordnung nach 1a) erforderlich ist. 
In diesem Fall ist in der Statusdatei zusätzlich ein Betriebsbatch zu registrieren.
  • Enthielt die Statusdatei ursprünglich mehrere Kästen, muß die Feinzuordnung nach Barcodes vorgenommen werden, weil die Flaschennummern nicht eindeutig sind.

  • Ist dies wegen fehlenden Barcodes in einer der beiden Dateien nicht möglich, ist der Betriebsbatch mit Fehler "Zuordnung unmöglich: Barcodes fehlen" zu kennzeichnen.
  • Enthielt die Statusdatei ursprünglich nur einen Kasten, sind beide Varianten der Feinzuordnung möglich.
Gefundene Proben sind in den Betriebsbatch zu verschieben.
Leere Kastenbatches sind zu löschen.
 
B Die MLP-Datei enthält keine Kastennummern.
Die MSC-Datei liegt als Kasten-Batch vor.
Beide Dateien enthalten Barcodes.
In diesem Fall ist keine Grobzuordnung mittels Batchname möglich.
Aus der MSC-Datei ist der erste Barcode zu lesen und dieser ist in allen noch nicht fertigen Betrieben zu suchen (nicht im Batch 880022). Bei erfolgreicher Suche ist bei dem betreffenden Betrieb der Kasten zu registrieren und die übrigen Proben des Kastens sind innerhalb des Betriebes zuzuordnen. Dabei sind die gefundenen Tiere/Gemelke vom Betriebsbatch in den bearbeiteten Kasten zu verschieben.
Ein solcher Betrieb kann nur dann den Status "fertig" erhalten, wenn alle Barcodes aus dem Betriebsbatch "verbraucht", das heißt in einen Kasten verschoben, wurden (oder durch manuelles Setzen des Status).

umgekehrte Reihenfolge:
Bisher wurde davon ausgegangen, daß einzulesende MSC-Daten auf schon vorhandene MLP-Daten treffen und diesen sofort zugeordnet werden können.
Wie zu verfahren ist, wenn noch keine passenden MLP-Daten vorhanden sind, wird bei "Einlesen MSC" beschrieben.
Demzufolge gibt es einen Pufferbetrieb 88888888 für nicht zugeordnete Kasten-Batches sowie 99999999 für wartende Betriebs-Batches.
Mittels Button bzw. Menüpunkt "zuordnen" ist dem Anwender die Möglichkeit zu geben, die Zuordnung dieser Batches zu eventuell inzwischen neu eingelesenen MLP-Daten anzustoßen.
Dabei sind dann die oben beschriebenen Mechanismen anzuwenden, mit dem Unterschied, daß die Daten nicht aus neuen MSC-Dateien stammen, sondern aus den Pufferbetrieben innerhalb der Arbeitsdatei.
Ist die Grobzuordnung erfolgreich, dann ist der Batch aus dem Pufferbetrieb zu dem echten Betrieb zu verschieben.