insertOrIgnore(['tenant_id' => $user->tenant_id, 'active' => true, 'version' => 1, 'created_at' => now(), 'updated_at' => now()]); $profile = DB::table('organization_profiles')->insertGetId(['tenant_id' => $user->tenant_id, 'name' => 'Teste '.Str::uuid(), 'permissions' => json_encode($permissions), 'version' => 1, 'created_at' => now(), 'updated_at' => now()]); DB::table('organization_memberships')->insert(['tenant_id' => $user->tenant_id, 'user_id' => $user->id, 'profile_id' => $profile, 'maintenance' => false, 'created_at' => now(), 'updated_at' => now()]); } function supplyPolicy(array $f): array { return ['stock_item_id' => $f['stock']->id, 'warehouse_id' => $f['warehouse']->id, 'purpose' => 'resale', 'origin' => 'import', 'safety_milli' => 20000, 'minimum_stock_milli' => 20000, 'target_milli' => 100000, 'maximum_milli' => 120000, 'daily_milli' => 10000, 'lead_days' => 4, 'approval_days' => 1, 'horizon_days' => 30, 'minimum_milli' => 24000, 'pack_milli' => 12000, 'basis' => 'Consumo e prazo contratual verificados no ensaio.']; } function supplyInput(array $data, string $action = 'save', ?SupplyRecord $record = null): array { return ['operation_key' => (string) Str::uuid(), 'record_key' => $record?->record_key, 'version' => $record?->version ?? 0, 'action' => $action, 'reason' => 'Conferência fictícia com evidência no ensaio.', 'data' => $data]; }