This commit is contained in:
sbb45
2026-06-02 22:18:38 +05:00
parent b81ab27553
commit 7b655ff3de
11 changed files with 212 additions and 129 deletions
+8
View File
@@ -3,6 +3,7 @@
namespace App\Providers;
use App\Models\Setting;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
@@ -20,6 +21,13 @@ class AppServiceProvider extends ServiceProvider
*/
public function boot(): void
{
if (config('database.default') === 'sqlite') {
DB::statement('PRAGMA journal_mode=WAL');
DB::statement('PRAGMA synchronous=NORMAL');
DB::statement('PRAGMA busy_timeout=5000');
DB::statement('PRAGMA foreign_keys=ON');
}
try {
$companyName = Setting::query()->where('key', 'company_name')->value('value');
$timezone = Setting::query()->where('key', 'timezone')->value('value');
+6 -5
View File
@@ -25,10 +25,13 @@ class RequestService
{
return DB::transaction(function () use ($data, $actor): ServiceRequest {
$payload = $this->preparePayload($data);
$payload['ticket_number'] = $this->generateTicketNumber();
$payload['ticket_number'] = 'PENDING-' . uniqid('', true);
$request = ServiceRequest::query()->create($payload);
$request->ticket_number = sprintf('SRV-%04d', $request->id);
$request->saveQuietly();
$this->persistAttachments($request, Arr::get($data, 'attachments', []), $actor);
event(new RequestCreated($request, $actor));
@@ -111,11 +114,9 @@ class RequestService
return $map[$request->status?->slug ?? StatusSlug::NEW->value] ?? [];
}
public function generateTicketNumber(): string
public function generateTicketNumber(int $id): string
{
$maxId = ServiceRequest::withTrashed()->max('id') ?? 0;
return sprintf('SRV-%04d', $maxId + 1);
return sprintf('SRV-%04d', $id);
}
private function preparePayload(array $data, ?ServiceRequest $request = null): array