diff --git a/app/Http/Controllers/Admins/Pengeluaran/PengeluaranController.php b/app/Http/Controllers/Admins/Pengeluaran/PengeluaranController.php index d050303..c0bdec3 100644 --- a/app/Http/Controllers/Admins/Pengeluaran/PengeluaranController.php +++ b/app/Http/Controllers/Admins/Pengeluaran/PengeluaranController.php @@ -39,66 +39,78 @@ class PengeluaranController extends Controller DB::beginTransaction(); $user = request()->user(); - $pengeluaran = Pengeluaran::create([ - 'faktur' => "PG-" . date('YmdHis'), - 'tanggal' => $request->tanggal, - 'jenis_transaksi' => $request->jenis_transaksi, - 'rekening_coa_transfer_id' => $request->id_rekening_coa_transfer ? $request->id_rekening_coa_transfer : null, - 'rekening_coa_id' => $request->id_rekening_coa, - 'master_distributors_id' => $request->distributor_id ? $request->distributor_id : null, - 'master_satuans_id' => $request->satuan_id, - 'satuan' => $request->satuan, - 'nominal' => $request->nominal, - 'keterangan' => $request->keterangan, - 'user_id' => $user->id - ]); + foreach ($request->rekening_coa_kebutuhan as $key => $value) { + $rekening_coa_id = explode('|', $request->rekening_coa_kebutuhan[$key])[0]; + $kode_coa = explode('|', $request->rekening_coa_kebutuhan[$key])[1]; + $keterangan_coa = explode('|', $request->rekening_coa_kebutuhan[$key])[2]; + $nominalnya = $request->nominal[$key] ?? 0; + $satuan = $request->satuan[$key] ?? 0; + // detail kebutuhan + $harga_total = $nominalnya * $satuan; - if ($request->jenis_transaksi == "1") { - BukuBesar::create([ + $pengeluaran = Pengeluaran::create([ 'faktur' => "PG-" . date('YmdHis'), - 'tanggal' => $request->tanggal, - 'rekening_coa_id' => "2", - 'pengeluaran_id' => $pengeluaran->id, - 'kode_rekening_coa' => "1.100.01", - 'keterangan_coa' => "Kas Kasir", - 'keterangan' => $request->keterangan, - 'debet' => 0, - 'kredit' => $request->nominal - ]); - BukuBesar::create([ - 'faktur' => "PG-" . date('YmdHis'), - 'tanggal' => $request->tanggal, - 'rekening_coa_id' => $request->id_rekening_coa, - 'kode_rekening_coa' => $request->kode_coa, - 'pengeluaran_id' => $pengeluaran->id, - 'keterangan_coa' => $request->keterangan_coa, - 'keterangan' => $request->keterangan, - 'debet' => $request->nominal, - 'kredit' => 0, - ]); - } else { - BukuBesar::create([ - 'faktur' => "PG-" . date('YmdHis'), - 'tanggal' => $request->tanggal, - 'rekening_coa_id' => $request->id_rekening_coa_transfer, - 'kode_rekening_coa' => $request->kode_coa_transfer, - 'pengeluaran_id' => $pengeluaran->id, - 'keterangan_coa' => $request->keterangan_coa_transfer, - 'keterangan' => $request->keterangan, - 'debet' => 0, - 'kredit' => $request->nominal - ]); - BukuBesar::create([ - 'faktur' => "PG-" . date('YmdHis'), - 'tanggal' => $request->tanggal, - 'rekening_coa_id' => $request->id_rekening_coa, - 'kode_rekening_coa' => $request->kode_coa, - 'pengeluaran_id' => $pengeluaran->id, - 'keterangan_coa' => $request->keterangan_coa, - 'keterangan' => $request->keterangan, - 'debet' => $request->nominal, - 'kredit' => 0, + 'tanggal' => $request->tanggal_belanja, + 'jenis_transaksi' => $request->jenis_transaksi, + 'rekening_coa_transfer_id' => $request->id_rekening_coa_transfer ? $request->id_rekening_coa_transfer : null, + + 'rekening_coa_id' => $rekening_coa_id, + 'master_distributors_id' => $request->supplier[$key] ? $request->supplier[$key] : null, + 'master_satuans_id' => $request->pilihansatuan[$key] ? $request->pilihansatuan[$key] : null, + 'satuan' => $satuan, + 'nominal' => $nominalnya, + 'total_harga' => $harga_total, + 'keterangan' => $request->keterangan[$key] ? $request->keterangan[$key] : null, + 'user_id' => $user->id ]); + + if ($request->jenis_transaksi == "1") { + BukuBesar::create([ + 'faktur' => "PG-" . date('YmdHis'), + 'tanggal' => $request->tanggal_belanja, + 'rekening_coa_id' => "2", + 'pengeluaran_id' => $pengeluaran->id, + 'kode_rekening_coa' => "1.100.01", + 'keterangan_coa' => "Kas Kasir", + 'keterangan' => $request->keterangan[$key] ?? '', + 'debet' => 0, + 'kredit' => $request->nominal[$key] ?? 0 + ]); + BukuBesar::create([ + 'faktur' => "PG-" . date('YmdHis'), + 'tanggal' => $request->tanggal_belanja, + 'rekening_coa_id' => $rekening_coa_id, + 'kode_rekening_coa' => $kode_coa, + 'pengeluaran_id' => $pengeluaran->id, + 'keterangan_coa' => $keterangan_coa, + 'keterangan' => $request->keterangan[$key] ?? '', + 'debet' => $request->nominal[$key] ?? '', + 'kredit' => 0, + ]); + } else { + BukuBesar::create([ + 'faktur' => "PG-" . date('YmdHis'), + 'tanggal' => $request->tanggal_belanja, + 'rekening_coa_id' => $request->id_rekening_coa_transfer, + 'kode_rekening_coa' => $request->kode_coa_transfer, + 'pengeluaran_id' => $pengeluaran->id, + 'keterangan_coa' => $request->keterangan_coa_transfer, + 'keterangan' => $request->keterangan[$key], + 'debet' => 0, + 'kredit' => $request->nominal[$key] + ]); + BukuBesar::create([ + 'faktur' => "PG-" . date('YmdHis'), + 'tanggal' => $request->tanggal_belanja, + 'rekening_coa_id' => $rekening_coa_id, + 'kode_rekening_coa' => $kode_coa, + 'pengeluaran_id' => $pengeluaran->id, + 'keterangan_coa' => $keterangan_coa, + 'keterangan' => $request->keterangan[$key], + 'debet' => $request->nominal[$key], + 'kredit' => 0, + ]); + } } DB::commit(); @@ -107,7 +119,7 @@ class PengeluaranController extends Controller } catch (\Throwable $th) { DB::rollBack(); - dd($th->getMessage()); + dd($th->getMessage() . ' ' . $th->getLine() . ' ' . $th->getFile()); return response()->json(['status' => false, 'message' => 'Kesalahan menyimpan data']); } } @@ -158,6 +170,7 @@ class PengeluaranController extends Controller }) ->orderBy('tanggal', 'desc') ->get(); + return datatables() ->of($data) ->addColumn('suppliersnya', function ($data) { @@ -183,12 +196,42 @@ class PengeluaranController extends Controller ->addColumn('nomor', function ($data) use (&$nomor) { return $nomor++; }) - ->addColumn('ubah', function ($data) { + ->addColumn('action', function ($data) { return '
- -
'; + + '; }) - ->rawColumns(['ubah']) + ->rawColumns(['action']) ->make(true); } + + public function delete(Request $request) + { + try { + DB::beginTransaction(); + $pengeluaran = Pengeluaran::find($request->id); + $pengeluaran->delete(); + BukuBesar::where('faktur', $request->faktur)->delete(); + DB::commit(); + return response()->json(['status' => true, 'message' => 'Data berhasil dihapus']); + } catch (\Throwable $th) { + DB::rollBack(); + return response()->json(['status' => false, 'message' => 'Kesalahan menghapus data']); + } + } + + public function generateLocalStorage(Request $request) + { + $coaPengeluaran = RekeningCoa::where('kode_coa', 5)->where('sub_kode_coa', 500)->get(); + $distributors = MasterDistributor::all(); + $satuans = MasterSatuan::all(); + $rekening_coa_kebutuhan = $request->rekening_coa_kebutuhan; + $nominal = $request->nominal; + $pilihansatuan = $request->pilihansatuan; + $satuannya = $request->satuan; + $supplier = $request->supplier; + $keterangan = $request->keterangan; + $total_harga = $request->total; + return view('pages.admin.pengeluaran.cardpengeluaran', compact('coaPengeluaran', 'distributors', 'satuans', 'rekening_coa_kebutuhan', 'nominal', 'pilihansatuan', 'satuannya', 'supplier', 'keterangan', 'total_harga')); + } } diff --git a/database/migrations/2024_05_03_153814_add_total_harga_in_pengeluaran_table.php b/database/migrations/2024_05_03_153814_add_total_harga_in_pengeluaran_table.php new file mode 100644 index 0000000..075abad --- /dev/null +++ b/database/migrations/2024_05_03_153814_add_total_harga_in_pengeluaran_table.php @@ -0,0 +1,28 @@ +decimal('total_harga', 15, 2)->after('keterangan')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('pengeluaran', function (Blueprint $table) { + $table->dropColumn('total_harga'); + }); + } +}; diff --git a/resources/views/pages/admin/pengeluaran/cardpengeluaran.blade.php b/resources/views/pages/admin/pengeluaran/cardpengeluaran.blade.php new file mode 100644 index 0000000..b8c46ae --- /dev/null +++ b/resources/views/pages/admin/pengeluaran/cardpengeluaran.blade.php @@ -0,0 +1,59 @@ + + +
+
+
+
+
+
+
+
+
+
+
+ +
+
+

Rp. {{ $total_harga }}

+
+
+
+
+
+ + diff --git a/resources/views/pages/admin/pengeluaran/index.blade.php b/resources/views/pages/admin/pengeluaran/index.blade.php index 08cbaca..20c5307 100644 --- a/resources/views/pages/admin/pengeluaran/index.blade.php +++ b/resources/views/pages/admin/pengeluaran/index.blade.php @@ -47,105 +47,132 @@
-
-
+
+ @csrf +
- - Tanggal Belanja +
-
- - -
-
- - - {{-- Tampilkan semua coa biaya? -
-
- - +
+
Inputkan Item belanja
+ + + + +
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+
+

+
+
+
+
-
- - -
- - --}} - -
- - -
-
- -
- -
+ + +
+
+ + +
+ +
-
- - -
-
- - -
- -
- Simpan Data -
+
@@ -193,23 +220,23 @@ No Faktur Tanggal Transaksi - User Kebutuhan Jenis Transaksi Supplier Satuan - Nominal + Harga Satuan + Total - Total + diff --git a/resources/views/pages/admin/pengeluaran/js.blade.php b/resources/views/pages/admin/pengeluaran/js.blade.php index 5a70574..ea62c9b 100644 --- a/resources/views/pages/admin/pengeluaran/js.blade.php +++ b/resources/views/pages/admin/pengeluaran/js.blade.php @@ -32,10 +32,6 @@ data: 'tanggal', name: 'tanggal' }, - { - data: 'user.name', - name: 'user.name' - }, { data: 'rekening_coa', name: 'rekening_coa' @@ -63,8 +59,17 @@ } }, { - data: 'ubah', - name: 'ubah', + data: 'total_harga', + name: 'total_harga', + className: 'text-right', + render: function(data) { + // change to IDR + return 'Rp. ' + data.toString().replace(/\B(?=(\d{3})+(?!\d))/g, '.'); + } + }, + { + data: 'action', + name: 'action', className: 'text-center' }, ], @@ -90,6 +95,38 @@ 'Rp. ' + totalAll.toString().replace(/\B(?=(\d{3})+(?!\d))/g, '.'); } }) + $('body').on('click', '.delete_pengeluaran', function(e) { + let id = $(this).data('id'); + let faktur = $(this).data('faktur'); + let kebutuhan = $(this).data('kebutuhan'); + let url = "{{ route('pengeluaran.delete') }}"; + + if (confirm('Apakah anda yakin ingin menghapus data dengan faktur ' + faktur + + ' pengeluaran ' + + kebutuhan + ' ?')) { + $.ajax({ + headers: { + 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') + }, + type: "DELETE", + data: { + id: id, + faktur: faktur + }, + url: url, + success: function(result) { + if (result) { + alert(result.message) + dataTable.ajax.reload() + } + }, + error: function(result) { + alert(result.message) + dataTable.ajax.reload() + } + }) + } + }) $('#btn_filter').on('click', function() { if ($("#filter_tanggal_1").val() == "" || $("#filter_tanggal_2").val() == "") { alert("Input pencarian tidak boleh kosong") @@ -115,29 +152,20 @@ + + +