Warenwirtschaft: N-1 — Chargen-Gruppierung je Lieferant (Kundenentscheid 15.07.2026)
Chargennummern kommen von extern und können kollidieren. Der Lieferant gehört jetzt zum Gruppenschlüssel (batchGroupKey b:<supplier>:<lot>) — gleiche Lot-Nummern verschiedener Lieferanten verschmelzen nicht mehr (kein gemeinsames min-MHD/Summen-Rest). Batch-Check (AP-27) prüft zusätzlich den Lieferanten des zu buchenden Eingangs. Tests: +1 (getrennte Optionen je Lieferant); Chargen-Tests auf neues Schlüsselformat umgestellt. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
8a9b80327c
commit
9b6c9def97
6 changed files with 49 additions and 11 deletions
|
|
@ -131,12 +131,15 @@ class StockEntry extends Model
|
|||
* AP-27: Gruppierungsschlüssel für die Chargen-Zusammenführung.
|
||||
* Einträge mit Chargennummer werden je Charge zusammengefasst,
|
||||
* Einträge ohne Chargennummer bleiben einzeln.
|
||||
* Audit N-1 (Kundenentscheid 15.07.2026): Chargennummern kommen von
|
||||
* extern und können kollidieren — der Lieferant gehört zum Schlüssel,
|
||||
* damit gleiche Lot-Nummern verschiedener Lieferanten getrennt bleiben.
|
||||
*/
|
||||
public function batchGroupKey(): string
|
||||
{
|
||||
$batch = trim((string) $this->batch_number);
|
||||
|
||||
return $batch !== '' ? 'b:'.$batch : 'e:'.$this->id;
|
||||
return $batch !== '' ? 'b:'.((int) $this->supplier_id).':'.$batch : 'e:'.$this->id;
|
||||
}
|
||||
|
||||
public function isReceived(): bool
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue