From 61766d325dfab67a58a8b76fdadd6f2cfba0b8ee Mon Sep 17 00:00:00 2001 From: Akhmad Sofyan Date: Tue, 23 Jan 2024 18:42:43 +0700 Subject: [PATCH] remake transaksi tunai --- app/Http/Controllers/Kasir/Transaksi.php | 35 +- app/Models/BukuBesar.php | 14 + app/Models/Pesanan.php | 6 + app/Models/RekeningCoa.php | 18 + ...1_22_173710_create_rekening_coas_table.php | 33 + ..._01_22_173917_create_buku_besars_table.php | 37 + ...2024_01_22_175429_add_jenis_pembayaran.php | 28 + .../2024_01_23_134040_add_coa_kas.php | 28 + database/seeders/DatabaseSeeder.php | 1 + database/seeders/RekeningCoaSeeder.php | 36 + database/seeders/data_csv/rekening_coa.csv | 56 ++ resources/views/pages/Kasir/js.blade.php | 941 ++++++++++++++++++ .../views/pages/Kasir/modal_bayar.blade.php | 90 ++ .../pages/Kasir/modal_print_dapur.blade.php | 4 +- .../views/pages/Kasir/transaksi.blade.php | 811 +-------------- 15 files changed, 1326 insertions(+), 812 deletions(-) create mode 100644 app/Models/BukuBesar.php create mode 100644 app/Models/RekeningCoa.php create mode 100644 database/migrations/2024_01_22_173710_create_rekening_coas_table.php create mode 100644 database/migrations/2024_01_22_173917_create_buku_besars_table.php create mode 100644 database/migrations/2024_01_22_175429_add_jenis_pembayaran.php create mode 100644 database/migrations/2024_01_23_134040_add_coa_kas.php create mode 100644 database/seeders/RekeningCoaSeeder.php create mode 100644 database/seeders/data_csv/rekening_coa.csv create mode 100644 resources/views/pages/Kasir/js.blade.php create mode 100644 resources/views/pages/Kasir/modal_bayar.blade.php diff --git a/app/Http/Controllers/Kasir/Transaksi.php b/app/Http/Controllers/Kasir/Transaksi.php index 29d8a68..e50709e 100644 --- a/app/Http/Controllers/Kasir/Transaksi.php +++ b/app/Http/Controllers/Kasir/Transaksi.php @@ -3,10 +3,12 @@ namespace App\Http\Controllers\Kasir; use App\Http\Controllers\Controller; +use App\Models\BukuBesar; use App\Models\DetailPesanan; use App\Models\KelompokKategori; use App\Models\Pesanan; use App\Models\Produk; +use App\Models\RekeningCoa; use Carbon\Carbon; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; @@ -23,6 +25,7 @@ class Transaksi extends Controller { $orderCode = "ORD-" . strtoupper(random_str(6, random_str())); $KelompokKategori = KelompokKategori::with('kelompokKategoriPivot.produk')->get(); + $aba = RekeningCoa::where('kode_coa', 1)->where('sub_kode_coa', 200)->get(); // dd($KelompokKategori); @@ -34,7 +37,7 @@ class Transaksi extends Controller // $allProduk = []; // $produk = Produk::where('tgl_start_promo', '<=', $tgl_sekarang)->where('tgl_end_promo', '>=', $tgl_sekarang)->get(); - return view('pages.Kasir.transaksi', compact('orderCode', 'KelompokKategori')); + return view('pages.Kasir.transaksi', compact('orderCode', 'KelompokKategori', 'aba')); } public function getCetakTigaKali() @@ -145,6 +148,8 @@ class Transaksi extends Controller 'nominal_kembali' => $request->kembali, 'status_bayar' => '1', 'user_id' => '1', + 'jenis_pembayaran' => $request->jenis_pembayaran, + 'coa_kas' => $request->coa_kas, ]; $pesananModels = \App\Models\Pesanan::create($pesananDatas); @@ -175,6 +180,34 @@ class Transaksi extends Controller $detailPesananModels = \App\Models\DetailPesanan::create($oderDatas); } + // keuangan + // jika pembayaran tunai + if($request->jenis_pembayaran == "1"){ + BukuBesar::create([ + 'faktur' => 'PJ-'.date('YmdHis'), + 'tanggal' => date('Y-m-d'), + 'rekening_coa_id' => "2", + 'kode_rekening_coa' => "1.100.01", + 'keterangan_coa' => "Kas Kasir", + 'keterangan' => 'Penjualan Tunai['.$request->orderCode.']', + 'debet' => $request->totalDiskon, + 'kredit' => 0 + ]); + BukuBesar::create([ + 'faktur' => 'PJ-'.date('YmdHis'), + 'tanggal' => date('Y-m-d'), + 'rekening_coa_id' => "35", + 'kode_rekening_coa' => "4.100.01", + 'keterangan_coa' => "Pendapatan Penjualan", + 'keterangan' => 'Penjualan Tunai['.$request->orderCode.']', + 'debet' => 0, + 'kredit' => $request->totalDiskon + ]); + // jika pembayaran non tunai + }else{ + + } + DB::commit(); // return url link page print return ['url' => route('transaksi.print', $pesananModels->id) . '?print=true', 'message' => 'Pesanan berhasil ditambahkan']; diff --git a/app/Models/BukuBesar.php b/app/Models/BukuBesar.php new file mode 100644 index 0000000..6d75bf9 --- /dev/null +++ b/app/Models/BukuBesar.php @@ -0,0 +1,14 @@ +belongsTo(User::class, 'user_id'); } + + public function coa(){ + return $this->belongsTo(RekeningCoa::class, 'coa_kas'); + } } diff --git a/app/Models/RekeningCoa.php b/app/Models/RekeningCoa.php new file mode 100644 index 0000000..bb48ca8 --- /dev/null +++ b/app/Models/RekeningCoa.php @@ -0,0 +1,18 @@ +hasMany(Pesanan::class, 'coa_kas'); + } +} diff --git a/database/migrations/2024_01_22_173710_create_rekening_coas_table.php b/database/migrations/2024_01_22_173710_create_rekening_coas_table.php new file mode 100644 index 0000000..a819c6d --- /dev/null +++ b/database/migrations/2024_01_22_173710_create_rekening_coas_table.php @@ -0,0 +1,33 @@ +id(); + $table->string('kode_coa')->nullable(); + $table->string('sub_kode_coa')->nullable(); + $table->string('detail_coa')->nullable(); + $table->string('coa')->nullable(); + $table->string('keterangan_coa')->nullable(); + $table->integer('status')->comment('0 = Parent; 1 = Children;')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('rekening_coa'); + } +}; diff --git a/database/migrations/2024_01_22_173917_create_buku_besars_table.php b/database/migrations/2024_01_22_173917_create_buku_besars_table.php new file mode 100644 index 0000000..9302518 --- /dev/null +++ b/database/migrations/2024_01_22_173917_create_buku_besars_table.php @@ -0,0 +1,37 @@ +id(); + $table->string('faktur')->nullable(); + $table->date('tanggal')->nullable(); + + $table->foreignId('rekening_coa_id')->nullable()->references('id')->on('rekening_coa')->onUpdate('cascade')->onDelete('cascade'); + + $table->string('kode_rekening_coa')->nullable(); + $table->string('keterangan_coa')->nullable(); + $table->string('keterangan')->nullable(); + $table->integer('debet')->nullable(); + $table->integer('kredit')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('buku_besar'); + } +}; diff --git a/database/migrations/2024_01_22_175429_add_jenis_pembayaran.php b/database/migrations/2024_01_22_175429_add_jenis_pembayaran.php new file mode 100644 index 0000000..5ff355d --- /dev/null +++ b/database/migrations/2024_01_22_175429_add_jenis_pembayaran.php @@ -0,0 +1,28 @@ +integer('jenis_pembayaran')->nullable()->after('status_printer')->comment('Jika 1 = tunai; Jika 2 = non-tunai'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('pesanans', function (Blueprint $table) { + $table->dropColumn('jenis_pembayaran'); + }); + } +}; diff --git a/database/migrations/2024_01_23_134040_add_coa_kas.php b/database/migrations/2024_01_23_134040_add_coa_kas.php new file mode 100644 index 0000000..0e91f63 --- /dev/null +++ b/database/migrations/2024_01_23_134040_add_coa_kas.php @@ -0,0 +1,28 @@ +foreignId('coa_kas')->nullable()->after('jenis_pembayaran')->references('id')->on('rekening_coa')->onUpdate('cascade')->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('pesanans', function (Blueprint $table) { + $table->dropColumn('coa_kas'); + }); + } +}; diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 163b874..e32b2e0 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -19,6 +19,7 @@ class DatabaseSeeder extends Seeder ProdukSeeder::class, KelompokKategoriPivotSeeder::class, UserSeeder::class, + RekeningCoaSeeder::class ]; foreach ($classes as $class) { diff --git a/database/seeders/RekeningCoaSeeder.php b/database/seeders/RekeningCoaSeeder.php new file mode 100644 index 0000000..70999e9 --- /dev/null +++ b/database/seeders/RekeningCoaSeeder.php @@ -0,0 +1,36 @@ + $data['0'], + 'sub_kode_coa' => $data['1'], + 'detail_coa' => $data['2'] == '' ? null : $data['2'], + 'coa' => $data['3'], + 'keterangan_coa' => $data['4'], + 'status' => $data['5'], + ]); + } + $firstline = false; + } + fclose($csvFile); + } +} diff --git a/database/seeders/data_csv/rekening_coa.csv b/database/seeders/data_csv/rekening_coa.csv new file mode 100644 index 0000000..1eac876 --- /dev/null +++ b/database/seeders/data_csv/rekening_coa.csv @@ -0,0 +1,56 @@ +kode_coa,sub_kode_coa,detail_coa,coa,keterangan_coa,status +1,100,,1.100,Kas,0 +1,100,1,1.100.01,Kas Kasir,1 +1,100,1,1.100.02,Kas BCA1,1 +1,100,1,1.100.03,Kas BCA2,1 +1,100,1,1.100.04,Kas Mandiri1,1 +1,100,1,1.100.05,Kas Mandiri2,1 +1,100,1,1.100.06,Kas BRI1,1 +1,100,1,1.100.07,Kas BRI2,1 +1,100,1,1.100.08,Kas BNI1,1 +1,100,1,1.100.09,Kas BNI2,1 +1,100,1,1.100.10,Kas BSI1,1 +1,100,1,1.100.11,Kas BSI2,1 +1,200,,1.200,Antar Bank Aktiva,0 +1,200,1,1.200.01,Tab ABA Bank Mandiri1,1 +1,200,2,1.200.02,Tab ABA Bank Mandiri2,1 +1,200,3,1.200.03,Tab ABA Bank BNI1,1 +1,200,4,1.200.04,Tab ABA Bank BNI2,1 +1,200,5,1.200.05,Tab ABA Bank BCA1,1 +1,200,5,1.200.06,Tab ABA Bank BCA2,1 +1,200,5,1.200.07,Tab ABA Bank BRI1,1 +1,200,5,1.200.08,Tab ABA Bank BRI2,1 +1,200,5,1.200.09,Tab ABA Bank BSI1,1 +1,200,5,1.200.10,Tab ABA Bank BSI2,1 +1,300,,1.300,Piutang,0 +1,300,1,1.300.01,Piutang Konsumen,1 +2,100,,2.100,Hutang,0 +2,100,1,2.100.01,Hutang Usaha,1 +2,100,2,2.100.02,Hutang Bank,1 +2,200,,2.200,Pajak,0 +2,200,1,2.200.01,Pajak PPh21,1 +2,200,2,2.200.02,Pajak PPh22,1 +3,100,,3.100,Modal,0 +3,100,1,3.100.01,Modal Awal,1 +4,100,,4.100,Pendapatan,0 +4,100,1,4.100.01,Pendapatan Penjualan,1 +5,100,,5.100,Beban Umum & Administrasi,0 +5,100,1,5.100.01,Gaji & Upah,1 +5,100,2,5.100.02,Lembur,1 +5,100,3,5.100.03,Alat Tulis & Kantor,1 +5,100,4,5.100.04,Perjalanan Dinas / Transport,1 +5,100,5,5.100.05,Perawatan Kendaraan,1 +5,200,,5.200,Beban Organisasi,0 +5,200,1,5.200.01,Biaya Rapat,1 +5,200,2,5.200.02,Biaya Lainnya,1 +5,300,,5.300,Beban Operasional Lainnya,0 +5,300,1,5.300.01,Sewa Kantor,1 +5,300,2,5.300.02,Biaya Telepon / Pulsa,1 +5,300,3,5.300.03,Biaya Listrik,1 +5,300,4,5.300.04,Biaya Air,1 +5,300,5,5.300.05,Biaya Wifi,1 +5,300,6,5.300.06,Biaya BBM,1 +5,300,7,5.300.07,Biaya Penyisihan THR,1 +5,400,,5.400,Pembelian,0 +5,400,1,5.400.01,Pembelian Barang,1 +5,400,2,5.400.02,Pembelian Sarpras,1 diff --git a/resources/views/pages/Kasir/js.blade.php b/resources/views/pages/Kasir/js.blade.php new file mode 100644 index 0000000..c92e487 --- /dev/null +++ b/resources/views/pages/Kasir/js.blade.php @@ -0,0 +1,941 @@ +@push('scripts') + + + + + + + + \ No newline at end of file diff --git a/resources/views/pages/Kasir/modal_bayar.blade.php b/resources/views/pages/Kasir/modal_bayar.blade.php new file mode 100644 index 0000000..384aff6 --- /dev/null +++ b/resources/views/pages/Kasir/modal_bayar.blade.php @@ -0,0 +1,90 @@ + + + \ No newline at end of file diff --git a/resources/views/pages/Kasir/modal_print_dapur.blade.php b/resources/views/pages/Kasir/modal_print_dapur.blade.php index 706ac93..d0a689a 100644 --- a/resources/views/pages/Kasir/modal_print_dapur.blade.php +++ b/resources/views/pages/Kasir/modal_print_dapur.blade.php @@ -1,8 +1,8 @@