diff --git a/app/Http/Controllers/Admins/Pengeluaran/PengeluaranController.php b/app/Http/Controllers/Admins/Pengeluaran/PengeluaranController.php index d050303..eaef919 100644 --- a/app/Http/Controllers/Admins/Pengeluaran/PengeluaranController.php +++ b/app/Http/Controllers/Admins/Pengeluaran/PengeluaranController.php @@ -35,70 +35,81 @@ class PengeluaranController extends Controller public function simpan(Request $request) { + dd($request->all()); try { 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]; - 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, + + // detail kebutuhan + $harga_total = $request->nominal[$key] ?? 0 * $request->satuan[$key] ?? 0, + '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' => $request->satuan[$key] ? $request->satuan[$key] : 0, + 'nominal' => $request->nominal[$key] ? $request->nominal[$key] : 0, + '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 +118,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 +169,7 @@ class PengeluaranController extends Controller }) ->orderBy('tanggal', 'desc') ->get(); + return datatables() ->of($data) ->addColumn('suppliersnya', function ($data) { @@ -183,12 +195,27 @@ 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']); + } + } } diff --git a/database/migrations/2024_04_26_124752_add_total_harga_in_pengeluaran-table.php b/database/migrations/2024_04_26_124752_add_total_harga_in_pengeluaran-table.php new file mode 100644 index 0000000..075abad --- /dev/null +++ b/database/migrations/2024_04_26_124752_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/index.blade.php b/resources/views/pages/admin/pengeluaran/index.blade.php index 5653ddb..63a20a2 100644 --- a/resources/views/pages/admin/pengeluaran/index.blade.php +++ b/resources/views/pages/admin/pengeluaran/index.blade.php @@ -47,104 +47,109 @@
-
+ @csrf
-
Inputkan Item belanja
- Tanggal Belanja +

-
-
-
- -
-
- - + - @endif - @endforeach - - -
-
- - -
-
- -
- - + @foreach ($coaPengeluaran as $biaya) + @if ($biaya->status == 0) + + @else + + @endif + @endforeach + +
+
+
+
+
+ +
+
+
+
+ +
+
+

+
+
-
- - -
-
- - -
-
- -

-
-
-
-
-
+ + + + +
- +

- Simpan - Data +
+ Simpan + Pengeluaran +
@@ -212,23 +220,23 @@ No Faktur Tanggal Transaksi - User Kebutuhan Jenis Transaksi Supplier Satuan - Nominal + Harga + Total - Total + diff --git a/resources/views/pages/admin/pengeluaran/js.blade.php b/resources/views/pages/admin/pengeluaran/js.blade.php index 48a0324..fbe3d55 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,12 @@ } }, { - data: 'ubah', - name: 'ubah', + data: 'total_harga', + name: 'total_harga' + }, + { + data: 'action', + name: 'action', className: 'text-center' }, ], @@ -90,6 +90,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 +147,18 @@ diff --git a/routes/web.php b/routes/web.php index 650fb3d..e91f1be 100644 --- a/routes/web.php +++ b/routes/web.php @@ -157,6 +157,7 @@ Route::group(['middleware' => ['auth', 'permission']], function () { Route::get('/', [PengeluaranController::class, 'index'])->name('pengeluaran.index')->comment('Halaman Pengeluaran'); Route::post('/simpan', [PengeluaranController::class, 'simpan'])->name('pengeluaran.simpan')->comment('Halaman Simpan Pengeluaran'); Route::post('/laporan', [PengeluaranController::class, 'laporan'])->name('pengeluaran.laporan')->comment('Halaman Laporan'); + Route::delete('/delete', [PengeluaranController::class, 'delete'])->name('pengeluaran.delete')->comment('Menghapus Pengeluaran'); Route::get('/getDatapengeluaran', [PengeluaranController::class, 'getDatapengeluaran'])->name('pengeluaran.getDataPengeluaran')->comment("Ambil data Riwayat Transaksi"); });