Umsetzung der Warenwirtschafts-/Produktmanagement-Erweiterung gemaess Entwicklungsplan V4.0: - AP-00: Regressionsbasis fuer 5.1-Features (ProductPhase51Test) - AP-01: URL-Bugfixes B1/B2 (suppliers/packaging-items, breitere url-Spalten) - AP-04/04.1: iPad-taugliche, vereinheitlichte Tabellen-Aktionen - AP-05: Einstellungen "Allgemein" mit UST-Saetzen (tax_rates) und Lieferzeit-Vorlagen (delivery_times, inkl. Tage-Feld) - AP-06: Lieferanten um Bestellweg, Bestell-Mail/-URL und Lieferzeit erweitert - AP-07/07.1: INCI um Lieferanten-Mehrfachwahl, UST und Lieferzeit erweitert; Lieferanten-Detailansicht im Modal mit pflegbaren INCI-/Verpackungslisten - AP-08: Einkauf um UST-Snapshot, Netto/Brutto-Automatik und Duplizieren erweitert Entwicklungsplan aktualisiert: alle Klaerungspunkte (§5) vom Kunden beantwortet und in die jeweiligen APs eingearbeitet (AP-02/03/09/13/15), neues AP-18 (Hinweise-Doku unter Einstellungen) ergaenzt. Naechster Schritt eindeutig markiert: AP-09 (Produktion auf Hersteller-Rezeptur, kein Fallback, Warnung).
75 lines
2.1 KiB
PHP
75 lines
2.1 KiB
PHP
<?php
|
||
|
||
namespace Database\Seeders;
|
||
|
||
use App\Models\DeliveryTime;
|
||
use App\Models\Location;
|
||
use App\Models\MaterialQuality;
|
||
use App\Models\PackagingMaterial;
|
||
use App\Models\TaxRate;
|
||
use Illuminate\Database\Seeder;
|
||
|
||
class InventoryStammdatenSeeder extends Seeder
|
||
{
|
||
public function run(): void
|
||
{
|
||
$locations = ['Köln', 'Waldböl'];
|
||
foreach ($locations as $name) {
|
||
Location::query()->firstOrCreate(
|
||
['name' => $name],
|
||
['active' => true]
|
||
);
|
||
}
|
||
|
||
$qualities = [
|
||
'konventionell',
|
||
'bio kaltgepresst',
|
||
'bio raffiniert',
|
||
'konventionell kaltgepresst',
|
||
'konventionell raffiniert',
|
||
];
|
||
foreach ($qualities as $pos => $name) {
|
||
MaterialQuality::query()->firstOrCreate(
|
||
['name' => $name],
|
||
['pos' => $pos]
|
||
);
|
||
}
|
||
|
||
$materials = [
|
||
'Glas',
|
||
'Holz/Bambus',
|
||
'Pappe/Papier',
|
||
'Kunststoff',
|
||
];
|
||
foreach ($materials as $pos => $name) {
|
||
PackagingMaterial::query()->firstOrCreate(
|
||
['name' => $name],
|
||
['pos' => $pos]
|
||
);
|
||
}
|
||
|
||
$taxRates = [
|
||
['name' => 'Standard', 'percent' => 19.00],
|
||
['name' => 'Ermäßigt', 'percent' => 7.00],
|
||
['name' => 'Steuerfrei', 'percent' => 0.00],
|
||
];
|
||
foreach ($taxRates as $pos => $taxRate) {
|
||
TaxRate::query()->firstOrCreate(
|
||
['percent' => $taxRate['percent']],
|
||
['name' => $taxRate['name'], 'active' => true, 'pos' => $pos]
|
||
);
|
||
}
|
||
|
||
$deliveryTimes = [
|
||
['label' => '1–3 Werktage', 'days' => 3],
|
||
['label' => '3–5 Werktage', 'days' => 5],
|
||
['label' => '1–2 Wochen', 'days' => 14],
|
||
];
|
||
foreach ($deliveryTimes as $pos => $deliveryTime) {
|
||
DeliveryTime::query()->firstOrCreate(
|
||
['label' => $deliveryTime['label']],
|
||
['days' => $deliveryTime['days'], 'active' => true, 'pos' => $pos]
|
||
);
|
||
}
|
||
}
|
||
}
|