From e19d32a1a42c8f4c0881321d4fa20732f2b2050e Mon Sep 17 00:00:00 2001 From: whywdd Date: Tue, 4 Mar 2025 09:51:08 +0700 Subject: [PATCH] update tgl 4 maret --- .../Controllers/DataKaryawanController.php | 42 ++++ app/Http/Controllers/GajiController.php | 11 +- app/Models/DataKaryawanModel.php | 20 ++ app/Models/GajiModel.php | 15 +- ...25_03_04_011414_create_karyawans_table.php | 31 +++ resources/views/Core/Sidebar.blade.php | 2 +- resources/views/DataKaryawan.Blade.php | 172 ++++++++++++++ resources/views/Gaji.Blade.php | 117 +++++---- resources/views/Laporan.blade.php | 224 +++++++++++++++--- routes/web.php | 7 + 10 files changed, 549 insertions(+), 92 deletions(-) create mode 100644 app/Http/Controllers/DataKaryawanController.php create mode 100644 app/Models/DataKaryawanModel.php create mode 100644 database/migrations/2025_03_04_011414_create_karyawans_table.php create mode 100644 resources/views/DataKaryawan.Blade.php diff --git a/app/Http/Controllers/DataKaryawanController.php b/app/Http/Controllers/DataKaryawanController.php new file mode 100644 index 0000000..8a695af --- /dev/null +++ b/app/Http/Controllers/DataKaryawanController.php @@ -0,0 +1,42 @@ +validate([ + 'nama' => 'required|string|max:100', + 'usia' => 'required|integer|min:17|max:65', + 'jabatan' => 'required|string|max:50', + 'gaji' => 'required' + ]); + + // Bersihkan format angka dari gaji + $gaji = str_replace('.', '', $request->gaji); + + // Simpan data + DataKaryawanModel::create([ + 'nama' => $request->nama, + 'usia' => $request->usia, + 'jabatan' => $request->jabatan, + 'gaji' => $gaji + ]); + + return redirect()->back()->with('success', 'Data karyawan berhasil ditambahkan!'); + } catch (\Exception $e) { + return redirect()->back()->with('error', 'Gagal menambahkan data karyawan: ' . $e->getMessage()); + } + } +} diff --git a/app/Http/Controllers/GajiController.php b/app/Http/Controllers/GajiController.php index 5f9a792..33e51b7 100644 --- a/app/Http/Controllers/GajiController.php +++ b/app/Http/Controllers/GajiController.php @@ -9,12 +9,19 @@ class GajiController extends Controller { public function index() { - // Ambil hanya data yang memiliki nilai gaji dan tidak null + // Ambil data dari tabel karyawans termasuk usia dan jabatan $gajiKaryawan = GajiModel::whereNotNull('gaji') ->where('gaji', '>', 0) - ->select('nama_karyawan', 'gaji') // Ambil kolom nama_karyawan dan gaji + ->select('id', 'nama', 'usia', 'jabatan', 'gaji', 'created_at') ->get(); return view('Gaji', compact('gajiKaryawan')); } + + // Tambahkan method untuk API + public function show($id) + { + $karyawan = GajiModel::findOrFail($id); + return response()->json($karyawan); + } } \ No newline at end of file diff --git a/app/Models/DataKaryawanModel.php b/app/Models/DataKaryawanModel.php new file mode 100644 index 0000000..bba1d4d --- /dev/null +++ b/app/Models/DataKaryawanModel.php @@ -0,0 +1,20 @@ + 'date', - 'uang_masuk' => 'decimal:2', - 'uang_keluar' => 'decimal:2', 'gaji' => 'decimal:2', ]; } diff --git a/database/migrations/2025_03_04_011414_create_karyawans_table.php b/database/migrations/2025_03_04_011414_create_karyawans_table.php new file mode 100644 index 0000000..54eb2c4 --- /dev/null +++ b/database/migrations/2025_03_04_011414_create_karyawans_table.php @@ -0,0 +1,31 @@ +id(); + $table->string('nama', 100); + $table->integer('usia'); + $table->string('jabatan', 50); + $table->decimal('gaji', 12, 2); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('karyawans'); + } +}; diff --git a/resources/views/Core/Sidebar.blade.php b/resources/views/Core/Sidebar.blade.php index dc8a0b8..89f55ea 100644 --- a/resources/views/Core/Sidebar.blade.php +++ b/resources/views/Core/Sidebar.blade.php @@ -135,7 +135,7 @@
  • - Gaji Karyawan + Data Karyawan
  • diff --git a/resources/views/DataKaryawan.Blade.php b/resources/views/DataKaryawan.Blade.php new file mode 100644 index 0000000..a8e5f5e --- /dev/null +++ b/resources/views/DataKaryawan.Blade.php @@ -0,0 +1,172 @@ +@extends('Core.Sidebar') + +@section('content') +
    + +
    +

    Data Karyawan

    +

    Formulir untuk menambahkan data karyawan

    +
    + +
    +
    + @csrf + + +
    + + +
    + + +
    + + +

    Usia minimal 17 tahun dan maksimal 65 tahun

    +
    + + +
    + + +
    + + +
    + +
    + Rp + +
    +

    Masukkan gaji tanpa tanda titik atau koma

    +
    + + +
    + + +
    +
    +
    +
    + + + + + + + + +@endsection \ No newline at end of file diff --git a/resources/views/Gaji.Blade.php b/resources/views/Gaji.Blade.php index 4309142..77a375c 100644 --- a/resources/views/Gaji.Blade.php +++ b/resources/views/Gaji.Blade.php @@ -7,56 +7,91 @@

    Gaji Karyawan

    Tabel keterangan gaji karyawan

    - +
    - -
    + +
    + + + +
    - +
    -
    - - - - - - - - - - - @forelse($gajiKaryawan as $index => $gaji) - - - - - - - @empty - - - - @endforelse - -
    NoNama KaryawanNominal GajiAksi
    {{ $index + 1 }}{{ $gaji->nama_karyawan }}Rp {{ number_format($gaji->gaji, 0, ',', '.') }} -
    - - -
    -
    - Tidak ada data gaji karyawan -
    -
    +
    + + + + + + + + + + + + + + @forelse($gajiKaryawan as $index => $gaji) + + + + + + + + + @empty + + + + @endforelse + +
    NoNama KaryawanUsiaJabatanNominal GajiAksi
    {{ $index + 1 }}{{ $gaji->nama }}{{ $gaji->usia }} tahun{{ $gaji->jabatan }}Rp {{ number_format($gaji->gaji, 0, ',', '.') }} +
    + + +
    +
    + Tidak ada data gaji karyawan +
    +
    + + +
    + +
    + + +
    + + +
    + + Page 1 +
    diff --git a/resources/views/Laporan.blade.php b/resources/views/Laporan.blade.php index e9d4367..08601fa 100644 --- a/resources/views/Laporan.blade.php +++ b/resources/views/Laporan.blade.php @@ -53,40 +53,42 @@
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    - - +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    + + +
    @@ -144,9 +146,6 @@ - @@ -167,6 +166,26 @@
    +
    + +
    + + +
    + + +
    + + Page 1 + +
    +
    +
    @@ -209,5 +228,136 @@
    + + @endsection \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 8289e0e..2a228e3 100644 --- a/routes/web.php +++ b/routes/web.php @@ -7,7 +7,9 @@ use App\Http\Controllers\UangMasukController; use App\Http\Controllers\UangKeluarController; use App\Http\Controllers\InputGajiController; +use App\Http\Controllers\ModalKaryawanController; use App\Http\Controllers\GajiController; +use App\Http\Controllers\DataKaryawanController; use App\Http\Controllers\HomeController; use App\Http\Controllers\LaporanController; use App\Http\Controllers\UserController; @@ -37,6 +39,11 @@ //untuk Uang Gaji Route::get('/gaji', [GajiController::class, 'index'])->name('gaji.index'); +// Tambahkan Data Karyawan +Route::get('/data-karyawan', [DataKaryawanController::class, 'index'])->name('data-karyawan.index'); +Route::post('/data-karyawan', [DataKaryawanController::class, 'store'])->name('karyawan.store'); +Route::resource('modal-karyawan', ModalKaryawanController::class); + //untuk Laporan Route::get('/Laporan', [LaporanController::class, 'index'])->name('Laporan.index'); Route::get('laporan/export-excel', [App\Http\Controllers\LaporanController::class, 'exportExcel'])->name('laporan.export-excel');