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 @@ +