From 747c9cf771b6d38b7095c51ccd4e8e8f9d7c51ee Mon Sep 17 00:00:00 2001 From: mikhailkusuma Date: Mon, 19 Feb 2024 20:58:45 +0700 Subject: [PATCH 1/7] Save data order to Local Storage --- resources/views/pages/Kasir/js.blade.php | 310 ++++++++++++------ .../views/pages/Kasir/transaksi.blade.php | 5 +- 2 files changed, 213 insertions(+), 102 deletions(-) diff --git a/resources/views/pages/Kasir/js.blade.php b/resources/views/pages/Kasir/js.blade.php index 6d11623..0ccac40 100644 --- a/resources/views/pages/Kasir/js.blade.php +++ b/resources/views/pages/Kasir/js.blade.php @@ -16,6 +16,8 @@ }) + + + + + + + + +@endpush \ No newline at end of file diff --git a/resources/views/pages/Kasir/transaksi.blade.php b/resources/views/pages/Kasir/transaksi.blade.php index 3b0de96..fd3beeb 100644 --- a/resources/views/pages/Kasir/transaksi.blade.php +++ b/resources/views/pages/Kasir/transaksi.blade.php @@ -581,11 +581,10 @@ -webkit-appearance: none; -moz-appearance: none; appearance: none; - background-color: cyan; + background-color: white; + margin-top: 8px; } @endpush @include('pages.Kasir.js') - -@endpush From 19db37d2cf84dbc388c41b672e7f17ec2bbfa6d8 Mon Sep 17 00:00:00 2001 From: Zelda Ababil Date: Mon, 19 Feb 2024 21:40:36 +0700 Subject: [PATCH 2/7] filter penjualan --- .../Admins/Penjualan/PenjualanController.php | 71 ++++++++++++++----- app/Http/Controllers/Kasir/Transaksi.php | 1 + app/Models/Pesanan.php | 7 +- ...nt_in_coa_kas_column_in_pesanans_table.php | 30 ++++++++ resources/views/pages/Kasir/js.blade.php | 26 ++++--- .../pages/admin/penjualan/index.blade.php | 23 +++++- .../views/pages/admin/penjualan/js.blade.php | 8 ++- .../pages/admin/penjualan/laporan.blade.php | 48 ++++++++++--- .../pages/admin/penjualan/style.blade.php | 1 + 9 files changed, 170 insertions(+), 45 deletions(-) create mode 100644 database/migrations/2024_02_19_165439_change_comment_in_coa_kas_column_in_pesanans_table.php diff --git a/app/Http/Controllers/Admins/Penjualan/PenjualanController.php b/app/Http/Controllers/Admins/Penjualan/PenjualanController.php index d939019..1fb2645 100644 --- a/app/Http/Controllers/Admins/Penjualan/PenjualanController.php +++ b/app/Http/Controllers/Admins/Penjualan/PenjualanController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Admins\Penjualan; use App\Http\Controllers\Controller; use App\Models\DetailPesanan; use App\Models\Pesanan; +use App\Models\RekeningCoa; use Carbon\Carbon; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; @@ -13,7 +14,9 @@ class PenjualanController extends Controller { public function index() { - return view('pages.admin.penjualan.index'); + $aba = RekeningCoa::where('kode_coa', 1)->where('sub_kode_coa', 200)->get(); + + return view('pages.admin.penjualan.index', compact('aba')); } public function getDataPenjualan(Request $request) @@ -21,18 +24,35 @@ class PenjualanController extends Controller $nomor = 1; $filter_tanggal_1 = $request->filter_tanggal_1; $filter_tanggal_2 = $request->filter_tanggal_2; - $data = Pesanan::with(['detailPesanan', 'user']) - ->when($filter_tanggal_1, function ($query) use ($filter_tanggal_1) { - return $query->whereDate('tanggal_pesanan', '>=', $filter_tanggal_1); - }) - ->when($filter_tanggal_2, function ($query) use ($filter_tanggal_2) { - return $query->whereDate('tanggal_pesanan', '<=', $filter_tanggal_2); - }) - ->when(!$filter_tanggal_1 && !$filter_tanggal_2, function ($query) { - return $query->whereDate('tanggal_pesanan', Carbon::today()); - }) - ->orderBy('tanggal_pesanan', 'desc') - ->get(); + $akun_coa = $request->akun_coa; + if ($request->akun_coa == null) { + $data = Pesanan::with(['detailPesanan', 'user', 'rekening_coa']) + ->when($filter_tanggal_1, function ($query) use ($filter_tanggal_1) { + return $query->whereDate('tanggal_pesanan', '>=', $filter_tanggal_1); + }) + ->when($filter_tanggal_2, function ($query) use ($filter_tanggal_2) { + return $query->whereDate('tanggal_pesanan', '<=', $filter_tanggal_2); + }) + ->when(!$filter_tanggal_1 && !$filter_tanggal_2, function ($query) { + return $query->whereDate('tanggal_pesanan', Carbon::today()); + }) + ->orderBy('tanggal_pesanan', 'desc') + ->get(); + } else { + $data = Pesanan::with(['detailPesanan', 'user', 'rekening_coa']) + ->where('rekening_coa_id', $akun_coa) + ->when($filter_tanggal_1, function ($query) use ($filter_tanggal_1) { + return $query->whereDate('tanggal_pesanan', '>=', $filter_tanggal_1); + }) + ->when($filter_tanggal_2, function ($query) use ($filter_tanggal_2) { + return $query->whereDate('tanggal_pesanan', '<=', $filter_tanggal_2); + }) + ->when(!$filter_tanggal_1 && !$filter_tanggal_2, function ($query) { + return $query->whereDate('tanggal_pesanan', Carbon::today()); + }) + ->orderBy('tanggal_pesanan', 'desc') + ->get(); + } return datatables() ->of($data) @@ -55,6 +75,9 @@ class PenjualanController extends Controller ->addColumn('grand_total_rp', function ($data) { return 'Rp ' . number_format($data->grand_total, 0, ',', '.'); }) + ->addColumn('jenis_pembayarannya', function ($data) { + return $data->jenis_pembayaran == 1 ? 'Tunai' : 'Non-Tunai' . ' (' . $data->rekening_coa->keterangan_coa . ')'; + }) ->addColumn('ubah', function ($data) { return '
@@ -94,13 +117,25 @@ class PenjualanController extends Controller $mpdf->AddPage(); $mpdf->setFooter('{PAGENO}'); - $data = Pesanan::with(['user', 'bukuBesar'])->whereDate('tanggal_pesanan', '>=', $request->filter_tanggal_1) - ->whereDate('tanggal_pesanan', '<=', $request->filter_tanggal_2) - ->get(); + $filter_tanggal_1 = $request->filter_tanggal_1; + $filter_tanggal_2 = $request->filter_tanggal_2; + if ($request->jenis_coa == null) { + $keterangan_coa = 'Semua'; + $data = Pesanan::with(['user', 'bukuBesar', 'rekening_coa'])->whereDate('tanggal_pesanan', '>=', $request->filter_tanggal_1) + ->whereDate('tanggal_pesanan', '<=', $request->filter_tanggal_2) + ->get(); + } else { + $keterangan_coa = RekeningCoa::find($request->jenis_coa)->keterangan_coa; + $data = Pesanan::with(['user', 'bukuBesar', 'rekening_coa'])->where('rekening_coa_id', $request->jenis_coa)->whereDate('tanggal_pesanan', '>=', $request->filter_tanggal_1) + ->whereDate('tanggal_pesanan', '<=', $request->filter_tanggal_2) + ->get(); + } + $html = view('pages.admin.penjualan.laporan', [ 'data' => $data, - 'filter_tanggal_1' => $request->filter_tanggal_1, - 'filter_tanggal_2' => $request->filter_tanggal_2, + 'filter_tanggal_1' => $filter_tanggal_1, + 'filter_tanggal_2' => $filter_tanggal_2, + 'keterangan_coa' => $keterangan_coa ]); $mpdf->writeHTML($html); diff --git a/app/Http/Controllers/Kasir/Transaksi.php b/app/Http/Controllers/Kasir/Transaksi.php index adf5400..5ca4e50 100644 --- a/app/Http/Controllers/Kasir/Transaksi.php +++ b/app/Http/Controllers/Kasir/Transaksi.php @@ -182,6 +182,7 @@ class Transaksi extends Controller 'status_bayar' => '1', 'user_id' => $user->id, 'jenis_pembayaran' => $request->jenis_pembayaran, + 'rekening_coa_id' => $request->id_rekening_coa, ]; $pesananModels = \App\Models\Pesanan::create($pesananDatas); } diff --git a/app/Models/Pesanan.php b/app/Models/Pesanan.php index 372c2b7..17e5e4d 100644 --- a/app/Models/Pesanan.php +++ b/app/Models/Pesanan.php @@ -34,7 +34,7 @@ class Pesanan extends Model 'diskon_rupiah', 'user_id', 'jenis_pembayaran', - 'coa_kas', + 'rekening_coa_id', ]; public function detailPesanan() @@ -62,4 +62,9 @@ class Pesanan extends Model { return $this->hasMany(BukuBesar::class, 'pesanans_id'); } + + public function rekening_coa() + { + return $this->belongsTo(RekeningCoa::class, 'rekening_coa_id'); + } } diff --git a/database/migrations/2024_02_19_165439_change_comment_in_coa_kas_column_in_pesanans_table.php b/database/migrations/2024_02_19_165439_change_comment_in_coa_kas_column_in_pesanans_table.php new file mode 100644 index 0000000..a361be6 --- /dev/null +++ b/database/migrations/2024_02_19_165439_change_comment_in_coa_kas_column_in_pesanans_table.php @@ -0,0 +1,30 @@ +dropForeign(['coa_kas']); + $table->dropColumn('coa_kas'); + $table->foreignId('rekening_coa_id')->nullable()->after('jenis_pembayaran')->comment('relation in id coa kas')->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/resources/views/pages/Kasir/js.blade.php b/resources/views/pages/Kasir/js.blade.php index 6d11623..6468992 100644 --- a/resources/views/pages/Kasir/js.blade.php +++ b/resources/views/pages/Kasir/js.blade.php @@ -776,6 +776,7 @@ // pembayaran non tunai $('#pembayaran-nontunai').on('click', function() { + document.getElementById('pembayaran-nontunai').disabled = true; let jenis_pembayaran = "2" // return console.log(jenis_pembayaran); var table = document.getElementById("order-menus"); @@ -802,7 +803,10 @@ diskonSatuan: diskonSatuan, harga: harga, total: total, - keterangan: document.getElementsByName('keterangan_satuan')[i - 1].value + keterangan: document.getElementsByName('keterangan_satuan')[i - 1] + .value, + status_pesanan_dinein: document.getElementsByName( + 'status_pesanan_dinein')[i - 1].value, }); } } @@ -815,11 +819,11 @@ var namaPemesan = document.getElementsByName('nama-pemesan')[0].value; var nomorPemesan = document.getElementsByName('nomor-pemesan')[0].value; var nomorMeja = document.getElementsByName('nomor-meja')[0].value; - var rekening_coa_aba_penarikan = $("#rekening_coa_aba_penarikan").val() - var split_rekening_coa_aba_penarikan = rekening_coa_aba_penarikan.split("|") - var id_rekening_coa = split_rekening_coa_aba_penarikan[0] - var kode_coa = split_rekening_coa_aba_penarikan[1] - var keterangan_coa = split_rekening_coa_aba_penarikan[2] + var rekening_coa_aba_penarikan = $("#rekening_coa_aba_penarikan").val(); + var split_rekening_coa_aba_penarikan = rekening_coa_aba_penarikan.split("|"); + var id_rekening_coa = split_rekening_coa_aba_penarikan[0]; + var kode_coa = split_rekening_coa_aba_penarikan[1]; + var keterangan_coa = split_rekening_coa_aba_penarikan[2]; if (rekening_coa_aba_penarikan == '') { alert('Pilih kas tujuan'); @@ -828,7 +832,7 @@ if (orderMenus.length == 0) { alert('Menu tidak boleh kosong'); - document.getElementById('pesan-bayar-tunai').disabled = false; + document.getElementById('pembayaran-nontunai').disabled = false; return false; } // if (totalDiskon != 0) { @@ -845,12 +849,12 @@ // } if (namaPemesan == '' || namaPemesan == null || namaPemesan == undefined) { alert('Nama pemesan tidak boleh kosong'); - document.getElementById('pesan-bayar-tunai').disabled = false; + document.getElementById('pembayaran-nontunai').disabled = false; return false; } if (nomorMeja == '' || nomorMeja == null || nomorMeja == undefined) { alert('Nomor meja tidak boleh kosong'); - document.getElementById('pesan-bayar-tunai').disabled = false; + document.getElementById('pembayaran-nontunai').disabled = false; return false; } @@ -877,7 +881,7 @@ method: "POST", data: data, success: function(result) { - document.getElementById('pesan-bayar-tunai').disabled = false; + document.getElementById('pembayaran-nontunai').disabled = false; toastr.success(result.message, 'Success', { timeOut: 2000 }); @@ -889,7 +893,7 @@ }, 1000); }, error: function(xhr, status, error) { - document.getElementById('pesan-bayar-tunai').disabled = false; + document.getElementById('pembayaran-nontunai').disabled = false; toastr.error(xhr.responseJSON.message, 'Error', { timeOut: 3000 }); diff --git a/resources/views/pages/admin/penjualan/index.blade.php b/resources/views/pages/admin/penjualan/index.blade.php index 68fced4..30dddd6 100644 --- a/resources/views/pages/admin/penjualan/index.blade.php +++ b/resources/views/pages/admin/penjualan/index.blade.php @@ -32,14 +32,31 @@ @csrf
-

s/d

-
+
+ +
Filter data @@ -63,7 +80,7 @@ No Kode Pesanan Pemesan - Nomor Meja + Status Pembayaran Tanggal & Jam Total Pesanan Sub Total diff --git a/resources/views/pages/admin/penjualan/js.blade.php b/resources/views/pages/admin/penjualan/js.blade.php index f2c3ac3..f922141 100644 --- a/resources/views/pages/admin/penjualan/js.blade.php +++ b/resources/views/pages/admin/penjualan/js.blade.php @@ -1,7 +1,10 @@ @push('scripts') + + -@endpush \ No newline at end of file +@endpush From 1ace43429ada84986610a7f0001f48cb2fe2ae96 Mon Sep 17 00:00:00 2001 From: Zelda Ababil Date: Mon, 19 Feb 2024 23:05:22 +0700 Subject: [PATCH 4/7] cetak --- resources/views/pages/Kasir/js.blade.php | 94 ++++++++++++------------ 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/resources/views/pages/Kasir/js.blade.php b/resources/views/pages/Kasir/js.blade.php index 3d5a374..1bb022a 100644 --- a/resources/views/pages/Kasir/js.blade.php +++ b/resources/views/pages/Kasir/js.blade.php @@ -20,53 +20,53 @@ From 9559bd3f502338b92f86b4671d4e9d2828e559cb Mon Sep 17 00:00:00 2001 From: Zelda Ababil Date: Tue, 20 Feb 2024 09:35:52 +0700 Subject: [PATCH 5/7] dotheinterval --- resources/views/pages/Kasir/js.blade.php | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/resources/views/pages/Kasir/js.blade.php b/resources/views/pages/Kasir/js.blade.php index 1bb022a..7c0535b 100644 --- a/resources/views/pages/Kasir/js.blade.php +++ b/resources/views/pages/Kasir/js.blade.php @@ -649,7 +649,7 @@ }); - + var theInterval = true; // kirim pembayaran $(document).ready(function() { @@ -761,6 +761,9 @@ window.open(result.url, '_blank'); // window.open(result.url, '_blank', "toolbar=yes,scrollbars=yes,resizable=yes,top=500,left=500,width=900,height=600"); + // set localStorage.OrderStorage to null + theInterval = false; + localStorage.removeItem('OrderStorage'); setTimeout(function() { window.location.reload(1); }, 1000); @@ -893,6 +896,9 @@ window.open(result.url, '_blank'); // window.open(result.url, '_blank', "toolbar=yes,scrollbars=yes,resizable=yes,top=500,left=500,width=900,height=600"); + // set localStorage.OrderStorage to null + theInterval = false; + localStorage.removeItem('OrderStorage'); setTimeout(function() { window.location.reload(1); }, 1000); @@ -1226,8 +1232,17 @@ } showOrderStorage(); + setInterval(doTheInterval, 1000); - // show time every second - setInterval(OrderStorage, 1000); + function doTheInterval() { + if (theInterval === true) { + console.log('interval'); + // show time every second + OrderStorage(); + } else { + console.log('no interval'); + localStorage.removeItem('OrderStorage'); + } + } @endpush From 4ba90ebe5621266e1b96ea094ff626828158069f Mon Sep 17 00:00:00 2001 From: Zelda Ababil Date: Tue, 20 Feb 2024 09:37:08 +0700 Subject: [PATCH 6/7] dotheinterval --- resources/views/pages/Kasir/js.blade.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/resources/views/pages/Kasir/js.blade.php b/resources/views/pages/Kasir/js.blade.php index 7c0535b..859d75c 100644 --- a/resources/views/pages/Kasir/js.blade.php +++ b/resources/views/pages/Kasir/js.blade.php @@ -1236,11 +1236,9 @@ function doTheInterval() { if (theInterval === true) { - console.log('interval'); // show time every second OrderStorage(); } else { - console.log('no interval'); localStorage.removeItem('OrderStorage'); } } From bef9333795667585039620a16de34548663ec25e Mon Sep 17 00:00:00 2001 From: Zelda Ababil Date: Tue, 20 Feb 2024 12:21:56 +0700 Subject: [PATCH 7/7] kode --- app/Http/Controllers/Kasir/Transaksi.php | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/Kasir/Transaksi.php b/app/Http/Controllers/Kasir/Transaksi.php index 5ca4e50..b7b3e90 100644 --- a/app/Http/Controllers/Kasir/Transaksi.php +++ b/app/Http/Controllers/Kasir/Transaksi.php @@ -25,6 +25,8 @@ class Transaksi extends Controller { // count pesanan by date now and add 1 for next count pesanan today $lastCountPesanan = Pesanan::whereDate('created_at', date('Y-m-d'))->count() + 1; + // add 0 in front of lastCountPesanan if lastCountPesanan less than 10 + $lastCountPesanan = str_pad($lastCountPesanan, 2, '0', STR_PAD_LEFT); $orderCode = "ORD-" . date('ym') . strtoupper(random_str(3, random_str())) . date('d') . '-' . $lastCountPesanan; $KelompokKategori = KelompokKategori::with('kelompokKategoriPivot.produk')->get(); $aba = RekeningCoa::where('kode_coa', 1)->where('sub_kode_coa', 200)->get(); @@ -140,7 +142,7 @@ class Transaksi extends Controller // check antrian pesanan jika sudah ada di database maka tambahkan 1 untuk nomor antrian selanjutnya $lastCountPesanan = Pesanan::whereDate('created_at', date('Y-m-d'))->count() + 1; - $kodenya = $kodenya . $lastCountPesanan; + $kodenya = $kodenya . '-' . $lastCountPesanan; if ($request->jenis_pembayaran == "1") { $pesananDatas = [ @@ -224,7 +226,7 @@ class Transaksi extends Controller 'pesanans_id' => $pesananModels->id, 'kode_rekening_coa' => $request->kode_coa, 'keterangan_coa' => $request->keterangan_coa, - 'keterangan' => 'Penjualan Non Tunai[' . $request->orderCode . ']', + 'keterangan' => 'Penjualan Non Tunai[' . $kodenya . ']', 'debet' => $request->totalDiskon, 'kredit' => 0 ]); @@ -235,7 +237,7 @@ class Transaksi extends Controller 'pesanans_id' => $pesananModels->id, 'kode_rekening_coa' => "4.100.01", 'keterangan_coa' => "Pendapatan Penjualan", - 'keterangan' => 'Penjualan Non Tunai[' . $request->orderCode . ']', + 'keterangan' => 'Penjualan Non Tunai[' . $kodenya . ']', 'debet' => 0, 'kredit' => $request->totalDiskon ]); @@ -248,7 +250,7 @@ class Transaksi extends Controller 'pesanans_id' => $pesananModels->id, 'kode_rekening_coa' => "1.100.01", 'keterangan_coa' => "Kas Kasir", - 'keterangan' => 'Penjualan Tunai[' . $request->orderCode . ']', + 'keterangan' => 'Penjualan Tunai[' . $kodenya . ']', 'debet' => $request->totalDiskon, 'kredit' => 0 ]); @@ -259,7 +261,7 @@ class Transaksi extends Controller 'pesanans_id' => $pesananModels->id, 'kode_rekening_coa' => "4.100.01", 'keterangan_coa' => "Pendapatan Penjualan", - 'keterangan' => 'Penjualan Tunai[' . $request->orderCode . ']', + 'keterangan' => 'Penjualan Tunai[' . $kodenya . ']', 'debet' => 0, 'kredit' => $request->totalDiskon ]);