From c656d110ab5e4d2279ebd45231d9f8a5335847ff Mon Sep 17 00:00:00 2001 From: ajikamaludin Date: Sun, 26 Mar 2023 20:28:06 +0700 Subject: [PATCH] last fix update forgoten --- app/Http/Controllers/CompanyController.php | 4 +-- app/Http/Controllers/DocumentController.php | 18 ++++++----- app/Imports/DocumentImport.php | 30 +++++++++++++++++-- app/Mail/DocumentNotification.php | 4 +-- resources/js/Pages/Company/FormModal.jsx | 2 +- resources/js/Pages/Company/Index.jsx | 2 +- resources/js/Pages/Document/Form.jsx | 1 + resources/js/Pages/Document/Index.jsx | 2 +- .../emails/document/notification.blade.php | 4 +-- 9 files changed, 48 insertions(+), 19 deletions(-) diff --git a/app/Http/Controllers/CompanyController.php b/app/Http/Controllers/CompanyController.php index f4eb56b..a1fba63 100644 --- a/app/Http/Controllers/CompanyController.php +++ b/app/Http/Controllers/CompanyController.php @@ -16,8 +16,8 @@ class CompanyController extends Controller public function index() { return inertia('Company/Index', [ - 'companies' => Company::with(['region'])->paginate(), - 'regions' => Region::all(), + 'companies' => Company::with(['region.group'])->paginate(), + 'regions' => Region::with(['group'])->get(), ]); } diff --git a/app/Http/Controllers/DocumentController.php b/app/Http/Controllers/DocumentController.php index fd4d8d0..7b2fd07 100644 --- a/app/Http/Controllers/DocumentController.php +++ b/app/Http/Controllers/DocumentController.php @@ -18,7 +18,7 @@ class DocumentController extends Controller { public function index(Request $request) { - $query = Document::with(['variety', 'category', 'company']); + $query = Document::with(['variety', 'category', 'company.region']); if ($request->has('status')) { if($request->status == 1) { @@ -79,11 +79,11 @@ class DocumentController extends Controller "publisher" => "required|string", "description" => "nullable", "publish_date" => "nullable|date", - "due_date" => "required_if:type,0", + "due_date" => "nullable|date", "status" => "required|in:0,1", "type" => "required|in:0,1", "company_id" => "required|exists:companies,id", - "document" => "required|file", + "document" => "nullable|file", ]); if($request->type == Document::TYPE_TIDAK_TETAP) { @@ -115,9 +115,11 @@ class DocumentController extends Controller "user_id" => auth()->user()->id, ]); - $file = $request->file('document'); - $file->store('documents', 'public'); - $doc->document = $file->hashName(); + if ($request->hasFile('document')) { + $file = $request->file('document'); + $file->store('documents', 'public'); + $doc->document = $file->hashName(); + } $doc->save(); @@ -152,14 +154,14 @@ class DocumentController extends Controller "publisher" => "required|string", "description" => "nullable", "publish_date" => "nullable|date", - "due_date" => "required_if:type,1", + "due_date" => "nullable|date", "status" => "required|in:0,1", "type" => "required|in:0,1", "company_id" => "required|exists:companies,id", "document" => "nullable|file", ]); - if($request->type == Document::TYPE_TETAP) { + if($request->type == Document::TYPE_TIDAK_TETAP) { $request->validate([ "due_date" => "date|after_or_equal:".$request->publish_date ]); diff --git a/app/Imports/DocumentImport.php b/app/Imports/DocumentImport.php index ef9e2c9..ec405a8 100644 --- a/app/Imports/DocumentImport.php +++ b/app/Imports/DocumentImport.php @@ -39,14 +39,40 @@ class DocumentImport implements ToCollection, WithHeadingRow } $no += 1; + + try { + $tanggal_terbit = Carbon::createFromFormat('d-m-Y',$row['tanggal_terbit']); + $tanggal_jatuh_tempo = Carbon::createFromFormat('d-m-Y',$row['tanggal_jatuh_tempo']); + } catch(\Exception $e) { + try { + $tanggal_terbit = Carbon::createFromFormat('d/m/Y',$row['tanggal_terbit']); + $tanggal_jatuh_tempo = Carbon::createFromFormat('d/m/Y',$row['tanggal_jatuh_tempo']); + } catch (\Exception $e) { + try { + $tanggal_terbit = Carbon::createFromFormat('m/d/Y',$row['tanggal_terbit']); + $tanggal_jatuh_tempo = Carbon::createFromFormat('m/d/Y',$row['tanggal_jatuh_tempo']); + } catch (\Exception $e) { + try { + $tanggal_terbit = Carbon::createFromFormat('m-d-Y',$row['tanggal_terbit']); + $tanggal_jatuh_tempo = Carbon::createFromFormat('m-d-Y',$row['tanggal_jatuh_tempo']); + } catch(\Exception $e) { + try { + $tanggal_terbit = Carbon::parse($row['tanggal_terbit']); + $tanggal_jatuh_tempo = Carbon::parse($row['tanggal_jatuh_tempo']); + } catch (\Exception $e) {} + } + } + } + } + $documents->add([ "no" => $no, "no_doc" => $row['no'], "name" => $row['nama'], "publisher" => $row['penerbit'], "description" => $row['keterangan'], - "publish_date" => Carbon::createFromFormat('d-m-Y',$row['tanggal_terbit']), - "due_date" => Carbon::createFromFormat('d-m-Y',$row['tanggal_jatuh_tempo']), + "publish_date" => $tanggal_terbit, + "due_date" => $tanggal_jatuh_tempo, "status" => $row['status'] == 'Ya' ? Document::STATUS_YES : Document::STATUS_NO, "type" => $row['tipe'] == 'Tetap' ? Document::TYPE_TETAP : Document::TYPE_TIDAK_TETAP, "document" => '', diff --git a/app/Mail/DocumentNotification.php b/app/Mail/DocumentNotification.php index 4377df3..32db09f 100644 --- a/app/Mail/DocumentNotification.php +++ b/app/Mail/DocumentNotification.php @@ -30,7 +30,7 @@ class DocumentNotification extends Mailable $docs = collect(); $categories = Category::all(); foreach($categories as $category) { - foreach($category->documents()->get() as $doc) { + foreach($category->documents()->with(['variety'])->get() as $doc) { if ($doc->is_close_due != 0) { $docs->add($doc); } @@ -39,7 +39,7 @@ class DocumentNotification extends Mailable return $this->markdown('emails.document.notification', [ 'documents' => $docs, - 'dueDocuments' => Document::whereDate('due_date', '<=', now()->toDateString())->get() + 'dueDocuments' => Document::with(['variety'])->whereDate('due_date', '<=', now()->toDateString())->get() ]); } } diff --git a/resources/js/Pages/Company/FormModal.jsx b/resources/js/Pages/Company/FormModal.jsx index c6b033b..7609665 100644 --- a/resources/js/Pages/Company/FormModal.jsx +++ b/resources/js/Pages/Company/FormModal.jsx @@ -127,7 +127,7 @@ export default function FormModal(props) { > {regions.map(region => ( - + ))}