From 0f0fe74f1a6d84b68b6350950ef6479d7a8d5b23 Mon Sep 17 00:00:00 2001 From: Ilham Wara Nugroho Date: Wed, 15 Apr 2026 09:59:51 +0700 Subject: [PATCH] update --- .../Controllers/Activity/FormController.php | 59 +++++++++++++++++++ app/Models/ActivityForm.php | 7 +-- app/Models/ActivityFormDetail.php | 13 ++-- app/Services/Activity/FormService.php | 2 +- public/assets/js/app.js | 4 +- resources/views/layouts/master.blade.php | 5 +- resources/views/modules/form/action.blade.php | 2 +- resources/views/modules/form/form.blade.php | 28 +++++++-- resources/views/modules/form/table.blade.php | 8 +-- routes/modules/modules.php | 1 + 10 files changed, 102 insertions(+), 27 deletions(-) diff --git a/app/Http/Controllers/Activity/FormController.php b/app/Http/Controllers/Activity/FormController.php index 5b4f57f..22d94d0 100644 --- a/app/Http/Controllers/Activity/FormController.php +++ b/app/Http/Controllers/Activity/FormController.php @@ -15,6 +15,7 @@ use App\Models\LogUserActivity; use App\Models\ReferenceUnit; use App\Models\SettingForm; use App\Models\SettingFormDetail; +use App\Models\ActivityFormDetail; use Illuminate\Http\Request; use App\Services\Activity\FormService; use Illuminate\Database\Eloquent\Collection; @@ -161,6 +162,64 @@ class FormController implements HasMiddleware } } + public function saveSingle(Request $request, $sector, $code) + { + $request->validate([ + // 'data' => 'required|array', + ]); + + + + // Filter by Year + $inventoryYear = $request->input('inventoryYear') ?? date('Y'); + $instansi = request('instansi') ?? null; + if ($instansi && $instansi != 'all' && $instansi != 'none') { + $agency = Agency::where('name', $instansi)->rowActive()->first(); + $instansi = $agency ? $agency->id : null; + } else { + $instansi = null; + } + + $data = $request->input('data'); + $unitCodes = $request->input('unit_code'); + + try { + + $form = ActivityForm::where('agency_id',$instansi)->first(); + if(!@$form){ + $Saveform = new ActivityForm; + $Saveform->sector = $sector; + $Saveform->form_code = $code; + $Saveform->inventory_year = $request->inventoryYear; + $Saveform->verification_status = 'unverified'; + $Saveform->validation_status = 'unvalidated'; + $Saveform->lock_status = 'open'; + $Saveform->agency_id = $instansi; + $Saveform->save(); + } + foreach($request->unit_code as $k => $valCode){ + // dd($request->value[$k]); + $detail = ActivityFormDetail::updateOrCreate([ + + 'form_id' => @$form ? @$form->id : @$Saveform->id, + 'activity_year' => $request->inventoryYear, + 'activity_code' => $k, + 'activity_unit_code' => $valCode, + ],[ + 'activity_value' => $request->value[$k], + ]); + } + + // dd($detail); + + + // $this->formService->save($sector, $code, $inventoryYear, $data, $unitCodes, $instansi); + return redirect()->back()->with('success', 'Data berhasil disimpan.'); + } catch (\Exception $e) { + return redirect()->back()->withErrors(['error' => 'Data gagal disimpan. Mohon dicoba kembali.' . $e->getMessage()]); + } + } + public function convertUnit(Request $request) { $fromUnit = $request->get('from'); diff --git a/app/Models/ActivityForm.php b/app/Models/ActivityForm.php index 37f4614..c69c6e5 100644 --- a/app/Models/ActivityForm.php +++ b/app/Models/ActivityForm.php @@ -5,12 +5,7 @@ namespace App\Models; class ActivityForm extends SigdModel { protected $table = 'form'; - protected $fillable = [ - 'id', 'sector', 'form_code', 'inventory_year', 'verification_status', 'verified_at', 'verified_by', - 'validation_status', 'validated_at', 'validated_by', 'lock_status', - 'row_status', 'created_by', 'updated_by', - 'agency_id', - ]; + protected $guarded = []; public function form() { diff --git a/app/Models/ActivityFormDetail.php b/app/Models/ActivityFormDetail.php index d05a5c4..e8780d1 100644 --- a/app/Models/ActivityFormDetail.php +++ b/app/Models/ActivityFormDetail.php @@ -3,14 +3,19 @@ namespace App\Models; use Illuminate\Support\Facades\Schema; +use Illuminate\Database\Eloquent\Concerns\HasUuids; + class ActivityFormDetail extends SigdModel { + use HasUuids; + protected $table = 'form_detail'; - protected $fillable = [ - 'id', 'form_id', 'activity_year', 'activity_code', 'activity_value', 'activity_value_str', - 'activity_unit_code', 'row_status', 'created_by', 'updated_by', - ]; + + public $incrementing = false; + protected $keyType = 'string'; + + protected $guarded = []; public function activity() { diff --git a/app/Services/Activity/FormService.php b/app/Services/Activity/FormService.php index 184d3cc..9066aba 100644 --- a/app/Services/Activity/FormService.php +++ b/app/Services/Activity/FormService.php @@ -23,7 +23,7 @@ class FormService extends SigdCrudService { $query = ActivityForm::where('sector', $sector) ->where('form_code', $code) - ->where('inventory_year', $inventoryYear) + // ->where('inventory_year', $inventoryYear) ->rowActive() ->orderBy('inventory_year', 'desc'); diff --git a/public/assets/js/app.js b/public/assets/js/app.js index 3531c03..796dfd0 100755 --- a/public/assets/js/app.js +++ b/public/assets/js/app.js @@ -444,13 +444,13 @@ File: Main Js File document.body.setAttribute("data-topbar", "dark"); } - document.getElementById('sidebar-setting').style.display = "none"; + // $('#sidebar-setting').style.display = "none"; document.body.removeAttribute("data-sidebar"); // (body.hasAttribute("data-topbar") ? body.removeAttribute("data-topbar") : body.setAttribute("data-topbar", "")); } else { updateRadio('layout-vertical'); - document.getElementById('sidebar-setting').style.display = "block"; + // $('#sidebar-setting').style.display = "block"; } (body.hasAttribute("data-bs-theme") && body.getAttribute("data-bs-theme") == "dark") ? updateRadio('layout-mode-dark') : updateRadio('layout-mode-light'); (body.hasAttribute("data-layout-size") && body.getAttribute("data-layout-size") == "boxed") ? updateRadio('layout-width-boxed') : updateRadio('layout-width-fluid'); diff --git a/resources/views/layouts/master.blade.php b/resources/views/layouts/master.blade.php index 9fa6b0a..fc53020 100644 --- a/resources/views/layouts/master.blade.php +++ b/resources/views/layouts/master.blade.php @@ -55,7 +55,7 @@
@@ -67,8 +67,7 @@ - - + {{-- @include('include.rightbar') --}} diff --git a/resources/views/modules/form/action.blade.php b/resources/views/modules/form/action.blade.php index f6a24bb..f626fb9 100644 --- a/resources/views/modules/form/action.blade.php +++ b/resources/views/modules/form/action.blade.php @@ -38,7 +38,7 @@ @include('modules.form.approve')
- diff --git a/resources/views/modules/form/form.blade.php b/resources/views/modules/form/form.blade.php index 682fa00..55814a4 100644 --- a/resources/views/modules/form/form.blade.php +++ b/resources/views/modules/form/form.blade.php @@ -3,6 +3,8 @@ aria-hidden="true">