From 02c22275e7ec63ed40bc80f1144cba4e89f4e81b Mon Sep 17 00:00:00 2001 From: whywdd Date: Tue, 25 Feb 2025 03:58:17 +0700 Subject: [PATCH] update tgl 25 --- app/Http/Controllers/GajiController.php | 10 +- app/Http/Controllers/InputGajiController.php | 5 +- app/Http/Controllers/LaporanController.php | 10 +- app/Http/Controllers/UangKeluarController.php | 4 +- app/Http/Controllers/UangMasukController.php | 6 +- app/Models/GajiModel.php | 1 + app/Models/LaporanModel.php | 49 +++++++++ app/Models/Laporan_transaksi.php | 11 -- ..._nullable_fields_in_laporan_transaksis.php | 42 ++++++++ resources/views/Gaji.Blade.php | 29 ++--- resources/views/Laporan.blade.php | 102 +++++++++++------- routes/web.php | 2 +- 12 files changed, 198 insertions(+), 73 deletions(-) create mode 100644 app/Models/LaporanModel.php delete mode 100644 app/Models/Laporan_transaksi.php create mode 100644 database/migrations/2025_02_23_211936_update_nullable_fields_in_laporan_transaksis.php diff --git a/app/Http/Controllers/GajiController.php b/app/Http/Controllers/GajiController.php index 02a2444..5f9a792 100644 --- a/app/Http/Controllers/GajiController.php +++ b/app/Http/Controllers/GajiController.php @@ -9,8 +9,12 @@ class GajiController extends Controller { public function index() { - // Ambil semua data gaji dari database - $gajiKaryawan = GajiModel::all(); // Anda bisa menambahkan filter atau pagination jika diperlukan - return view('Gaji', compact('gajiKaryawan')); // Kirim data ke view + // Ambil hanya data yang memiliki nilai gaji dan tidak null + $gajiKaryawan = GajiModel::whereNotNull('gaji') + ->where('gaji', '>', 0) + ->select('nama_karyawan', 'gaji') // Ambil kolom nama_karyawan dan gaji + ->get(); + + return view('Gaji', compact('gajiKaryawan')); } } \ No newline at end of file diff --git a/app/Http/Controllers/InputGajiController.php b/app/Http/Controllers/InputGajiController.php index da49bc5..fce2c3e 100644 --- a/app/Http/Controllers/InputGajiController.php +++ b/app/Http/Controllers/InputGajiController.php @@ -35,9 +35,8 @@ public function store(Request $request) 'kode' => $kode, 'kategori' => $validated['kategori'], 'nama_karyawan' => $validated['nama_karyawan'], - 'keterangan' => null, - 'uang_masuk' => 0, - 'uang_keluar' => 0, + 'uang_masuk' => null, + 'uang_keluar' => null, 'gaji' => $gaji, ]); diff --git a/app/Http/Controllers/LaporanController.php b/app/Http/Controllers/LaporanController.php index 2b58605..1ff0400 100644 --- a/app/Http/Controllers/LaporanController.php +++ b/app/Http/Controllers/LaporanController.php @@ -3,11 +3,19 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; +use App\Models\LaporanModel; class LaporanController extends Controller { public function index() { - return view('Laporan'); // This will return the home view + $laporan = LaporanModel::orderBy('Tanggal', 'desc')->get(); + $totalUangMasuk = LaporanModel::sum('uang_masuk'); + $totalUangKeluar = LaporanModel::sum('uang_keluar'); + $totalGaji = LaporanModel::sum('gaji'); + $totalKredit = $totalUangKeluar + $totalGaji; + $saldo = $totalUangMasuk - $totalKredit; + + return view('Laporan', compact('laporan', 'totalUangMasuk', 'totalUangKeluar', 'totalGaji', 'totalKredit', 'saldo')); } } \ No newline at end of file diff --git a/app/Http/Controllers/UangKeluarController.php b/app/Http/Controllers/UangKeluarController.php index 7b02c49..74de8c2 100644 --- a/app/Http/Controllers/UangKeluarController.php +++ b/app/Http/Controllers/UangKeluarController.php @@ -35,9 +35,9 @@ public function store(Request $request) 'kode' => $kode, 'kategori' => $validated['kategori'], 'keterangan' => $validated['keterangan'], - 'uang_masuk' => 0, + 'uang_masuk' => null, 'uang_keluar' => $uang_keluar, - 'gaji' => 0, + 'gaji' => null, ]); return redirect()->back()->with('success', 'Data berhasil disimpan!'); diff --git a/app/Http/Controllers/UangMasukController.php b/app/Http/Controllers/UangMasukController.php index a615b88..25f3606 100644 --- a/app/Http/Controllers/UangMasukController.php +++ b/app/Http/Controllers/UangMasukController.php @@ -29,15 +29,15 @@ public function store(Request $request) // Tentukan kode berdasarkan kategori $kode = $this->generateKode($validated['kategori']); - // Simpan data + // Simpan data dengan nilai null untuk uang_keluar dan gaji UangMasukModel::create([ 'Tanggal' => $validated['Tanggal'], 'kode' => $kode, 'kategori' => $validated['kategori'], 'keterangan' => $validated['keterangan'], 'uang_masuk' => $uang_masuk, - 'uang_keluar' => 0, - 'gaji' => 0, + 'uang_keluar' => null, // Mengizinkan null + 'gaji' => null, // Mengizinkan null ]); return redirect()->back()->with('success', 'Data berhasil disimpan!'); diff --git a/app/Models/GajiModel.php b/app/Models/GajiModel.php index 86a062b..161751c 100644 --- a/app/Models/GajiModel.php +++ b/app/Models/GajiModel.php @@ -27,6 +27,7 @@ class GajiModel extends Model 'kode', 'kategori', 'keterangan', + 'nama_karyawan', 'uang_masuk', 'uang_keluar', 'gaji' diff --git a/app/Models/LaporanModel.php b/app/Models/LaporanModel.php new file mode 100644 index 0000000..a4e883a --- /dev/null +++ b/app/Models/LaporanModel.php @@ -0,0 +1,49 @@ + 'date', + 'uang_masuk' => 'decimal:2', + 'uang_keluar' => 'decimal:2', + 'gaji' => 'decimal:2', + ]; +} diff --git a/app/Models/Laporan_transaksi.php b/app/Models/Laporan_transaksi.php deleted file mode 100644 index 59e3487..0000000 --- a/app/Models/Laporan_transaksi.php +++ /dev/null @@ -1,11 +0,0 @@ -string('keterangan')->nullable()->change(); + $table->string('nama_karyawan')->nullable()->change(); + $table->decimal('uang_masuk', 10, 2)->default(0)->change(); + $table->decimal('uang_keluar', 10, 2)->default(0)->change(); + $table->decimal('gaji', 10, 2)->default(0)->change(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('laporan_transaksis', function (Blueprint $table) { + // Kembalikan kolom-kolom menjadi tidak nullable + $table->string('keterangan')->nullable(false)->change(); + $table->string('nama_karyawan')->nullable(false)->change(); + $table->decimal('uang_masuk', 10, 2)->nullable(false)->change(); + $table->decimal('uang_keluar', 10, 2)->nullable(false)->change(); + $table->decimal('gaji', 10, 2)->nullable(false)->change(); + }); + } +} \ No newline at end of file diff --git a/resources/views/Gaji.Blade.php b/resources/views/Gaji.Blade.php index 683f8da..4309142 100644 --- a/resources/views/Gaji.Blade.php +++ b/resources/views/Gaji.Blade.php @@ -12,30 +12,29 @@
- - -
-
- +
- + - - - + + + - @foreach($gajiKaryawan as $index => $gaji) + @forelse($gajiKaryawan as $index => $gaji) - + - @endforeach + @empty + + + + @endforelse
NoKeteranganNominalAksiNama KaryawanNominal GajiAksi
{{ $index + 1 }}{{ $gaji->keterangan }}{{ $gaji->nama_karyawan }} Rp {{ number_format($gaji->gaji, 0, ',', '.') }}
@@ -48,7 +47,13 @@
+ Tidak ada data gaji karyawan +
diff --git a/resources/views/Laporan.blade.php b/resources/views/Laporan.blade.php index f66dbd4..e14ef16 100644 --- a/resources/views/Laporan.blade.php +++ b/resources/views/Laporan.blade.php @@ -24,18 +24,25 @@

Total Pendapatan

-

Rp 5.000.000

-

+15% dari bulan lalu

+

Rp {{ number_format($totalUangMasuk, 0, ',', '.') }}

+

Data realtime keuangan

Total Pengeluaran

-

Rp 3.200.000

-

-5% dari bulan lalu

+

Rp {{ number_format($totalKredit, 0, ',', '.') }}

+

Data realtime keuangan

Laba Bersih

-

Rp 1.800.000

-

+25% dari bulan lalu

+

Rp {{ number_format($saldo, 0, ',', '.') }}

+ + @if(isset($persentasePeningkatan)) +

+ {{ $persentasePeningkatan >= 0 ? '+' : '' }}{{ number_format($persentasePeningkatan, 0) }}% dari bulan lalu +

+ @else +

Data realtime keuangan

+ @endif

Saldo Kas

@@ -99,37 +106,61 @@ - - - 1 - 2024-02-20 - 411 - Penjualan - Pendapatan dari penjualan produk A - Rp 5.000.000 - - - Rp 5.000.000 - -
- - - -
- - + + @php + $no = 1; + $runningSaldo = 0; + @endphp + + @foreach($laporan as $item) + @php + $debit = $item->uang_masuk; + $kredit = $item->uang_keluar + $item->gaji; + $runningSaldo += $debit - $kredit; + @endphp + + {{ $no++ }} + {{ $item->Tanggal->format('Y-m-d') }} + {{ $item->kode }} + {{ $item->kategori }} + {{ $item->keterangan }} + + @if($debit > 0) + Rp {{ number_format($debit, 0, ',', '.') }} + @else + - + @endif + + + @if($kredit > 0) + Rp {{ number_format($kredit, 0, ',', '.') }} + @else + - + @endif + + Rp {{ number_format($runningSaldo, 0, ',', '.') }} + +
+ + + +
+ + + @endforeach Total: - Rp 5.000.000 - Rp 0 - Rp 5.000.000 + Rp {{ number_format($totalUangMasuk, 0, ',', '.') }} + Rp {{ number_format($totalKredit, 0, ',', '.') }} + Rp {{ number_format($saldo, 0, ',', '.') }} @@ -149,10 +180,7 @@ Print
- -
+ diff --git a/routes/web.php b/routes/web.php index 69cb7d5..28d0c2c 100644 --- a/routes/web.php +++ b/routes/web.php @@ -32,7 +32,7 @@ Route::get('/uang-keluar', [UangKeluarController::class, 'index'])->name('uang-keluar.index'); Route::post('/uang-keluar', [UangKeluarController::class, 'store'])->name('uangkeluar.store'); Route::get('/input-gaji', [InputGajiController::class, 'index'])->name('input-gaji.index'); -Route::post('/input-gaji', [InputGajiController::class, 'store'])->name('input-gaji.store'); +// Route::post('/input-gaji', [InputGajiController::class, 'store'])->name('input-gaji.store'); //untuk Uang Gaji Route::get('/gaji', [GajiController::class, 'index'])->name('gaji.index');