From ff35f6c8584d543e61fbcb7564b970d36d2643b3 Mon Sep 17 00:00:00 2001 From: zeldaababil19 Date: Wed, 27 Mar 2024 18:47:54 +0700 Subject: [PATCH] noarta --- app/Http/Controllers/Kasir/Transaksi.php | 23 +++ app/Models/DetailPesanan.php | 1 + ...add_id_parent_in_detail_pesanans_table.php | 30 +++ resources/views/pages/Kasir/js.blade.php | 88 +++++++-- resources/views/pages/Kasir/js_baru.blade.php | 180 ++++++++++++++++++ .../views/pages/Kasir/martabak_side.blade.php | 26 ++- .../views/pages/Kasir/modal_extra.blade.php | 136 +++++++++++++ .../views/pages/Kasir/print_dapur.blade.php | 17 +- .../views/pages/Kasir/transaksi.blade.php | 4 + 9 files changed, 483 insertions(+), 22 deletions(-) create mode 100644 database/migrations/2024_03_27_020213_add_id_parent_in_detail_pesanans_table.php create mode 100644 resources/views/pages/Kasir/js_baru.blade.php create mode 100644 resources/views/pages/Kasir/modal_extra.blade.php diff --git a/app/Http/Controllers/Kasir/Transaksi.php b/app/Http/Controllers/Kasir/Transaksi.php index e2ca8f3..e0e8b50 100644 --- a/app/Http/Controllers/Kasir/Transaksi.php +++ b/app/Http/Controllers/Kasir/Transaksi.php @@ -14,6 +14,8 @@ use Carbon\Carbon; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; +use function PHPUnit\Framework\isEmpty; + class Transaksi extends Controller { @@ -215,6 +217,27 @@ class Transaksi extends Controller 'status_pesanan' => $value['status_pesanan_dinein'] ?? 2, ]; $detailPesananModels = \App\Models\DetailPesanan::create($oderDatas); + + if (count($request->additionalOrderMenus) > 0) { + + foreach ($request->additionalOrderMenus as $keyadd2 => $valueadd2) { + if ($key + 1 == $valueadd2['parent']) { + $oderDatas = [ + 'pesanan_id' => $pesananModels->id, + 'id_parent' => $detailPesananModels->id, + 'produk_id' => $valueadd2['id'], + 'nama_produk' => $valueadd2['nama_produk'], + 'jumlah_produk' => 1, + 'harga_produk' => $valueadd2['harga_produk'], + 'total_harga_produk' => $valueadd2['harga_produk'], + 'diskon_persen' => $valueadd2['diskonSatuan'] ?? null, + 'keterangan_produk' => $valueadd2['keterangan'] ?? null, + 'status_pesanan' => $valueadd2['status_pesanan_dinein'] ?? 2, + ]; + $detailPesananAdditionalModels = \App\Models\DetailPesanan::create($oderDatas); + } + } + } } // keuangan diff --git a/app/Models/DetailPesanan.php b/app/Models/DetailPesanan.php index 408d7c5..a112114 100644 --- a/app/Models/DetailPesanan.php +++ b/app/Models/DetailPesanan.php @@ -15,6 +15,7 @@ class DetailPesanan extends Model protected $fillable = [ 'pesanan_id', + 'id_parent', 'produk_id', 'nama_produk', 'harga_produk', diff --git a/database/migrations/2024_03_27_020213_add_id_parent_in_detail_pesanans_table.php b/database/migrations/2024_03_27_020213_add_id_parent_in_detail_pesanans_table.php new file mode 100644 index 0000000..46c5783 --- /dev/null +++ b/database/migrations/2024_03_27_020213_add_id_parent_in_detail_pesanans_table.php @@ -0,0 +1,30 @@ +unsignedBigInteger('id_parent')->nullable()->after('id'); + $table->foreign('id_parent')->references('id')->on('detail_pesanans')->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('detail_pesanans', function (Blueprint $table) { + $table->dropForeign(['id_parent']); + $table->dropColumn('id_parent'); + }); + } +}; diff --git a/resources/views/pages/Kasir/js.blade.php b/resources/views/pages/Kasir/js.blade.php index b8a7711..3d5e4b8 100644 --- a/resources/views/pages/Kasir/js.blade.php +++ b/resources/views/pages/Kasir/js.blade.php @@ -143,9 +143,18 @@ table.rows[index].cells[0].innerHTML = ` - ${params.nama_produk} -
- ${(diskonSatuan > 0) ? 'Rp. ' + (harga * qty) + ' | Rp. ' + total + '' : 'Rp. ' + totalLama + ''} +
+
+ + ${params.nama} +
+ ${params.harga} +
+ + ${(diskonSatuan > 0) ? 'Rp. ' + (harga * qty) + ' | Rp. ' + total + '' : 'Rp. ' + totalLama + ''}
@@ -154,9 +163,16 @@ } else { table.rows[index].cells[0].innerHTML = ` - ${params.nama_produk} -
- ${(diskonSatuan > 0) ? 'Rp. ' + (harga * qty) + ' | Rp. ' + total + '' : 'Rp. ' + totalLama + ''} +
+
+ + ${params.nama} +
+ ${params.harga} +
+ ${(diskonSatuan > 0) ? 'Rp. ' + (harga * qty) + ' | Rp. ' + total + '' : 'Rp. ' + totalLama + ''}
@@ -207,9 +223,16 @@ $('#tbody-order-menus').append(` - ${params.nama_produk} -
- Rp. ${params.harga_produk} +
+
+ + ${params.nama_produk} +
+ ${params.harga_produk} +
+ Rp. ${params.harga_produk}
@@ -241,9 +264,18 @@ $('#tbody-order-menus').append(` - ${params.nama_produk} -
- Rp. ${params.harga_produk} +
+
+ + ${params.nama_produk} +
+ ${params.harga_produk} +
+ + Rp. ${params.harga_produk}
@@ -293,6 +325,11 @@ } table.deleteRow(index); + + // delete extra menu choised from array + arrayExtraMenuChoised = arrayExtraMenuChoised.filter(function(item) { + return item.parent != params; + }); calculateTotal(); } @@ -304,7 +341,7 @@ var bayar = document.getElementsByName('bayar')?.[0]?.value ?? 0; for (var i = 1, row; row = table.rows[i]; i++) { - var harga = row.getAttribute('data-harga'); + var harga = row.getAttribute('data-total'); var qty = row.getAttribute('data-qty'); var diskonSatuan = row.getAttribute('data-diskon-satuan'); var total = total + ((harga * qty) - ((harga * qty) * (diskonSatuan / 100))); @@ -587,6 +624,7 @@ // return console.log(jenis_pembayaran); var table = document.getElementById("order-menus"); var orderMenus = []; + var additionalOrderMenus = []; for (var i = 1, row; row = table.rows[i]; i++) { var id = row.getAttribute('data-id'); @@ -661,6 +699,7 @@ _token: "{{ csrf_token() }}", orderCode: "{{ $orderCode }}", orderMenus: orderMenus, + additionalOrderMenus: arrayExtraMenuChoised, namaPemesan: namaPemesan, nomorPemesan: nomorPemesan, nomorMeja: nomorMeja, @@ -693,6 +732,7 @@ // set localStorage.OrderStorage to null theInterval = false; localStorage.removeItem('OrderStorage'); + localStorage.removeItem('AdditionalStorage'); setTimeout(function() { window.location.reload(1); }, 1000); @@ -1136,9 +1176,18 @@ $('#tbody-order-menus').append(` - ${i.nama} -
- ${(parseInt(i.diskonSatuan) > 0) ? 'Rp. ' + (i.harga * i.qty) + ' | Rp. ' + ((i.harga * i.qty) - ((i.harga * i.qty) * (i.diskonSatuan / 100))) + '' : 'Rp. ' + (i.harga * i.qty) + ''} +
+
+ + ${i.nama} +
+ ${i.harga} +
+ + ${(parseInt(i.diskonSatuan) > 0) ? 'Rp. ' + (i.harga * i.qty) + ' | Rp. ' + ((i.harga * i.qty) - ((i.harga * i.qty) * (i.diskonSatuan / 100))) + '' : 'Rp. ' + (i.harga * i.qty) + ''}
@@ -1171,6 +1220,12 @@ calculateTotal(); } + function saveAdditionalToLocalStorage() { + localStorage.setItem('AdditionalStorage', JSON.stringify({ + arrayExtraMenuChoised + })); + } + showOrderStorage(); setInterval(doTheInterval, 1000); @@ -1178,6 +1233,7 @@ if (theInterval === true) { // show time every second OrderStorage(); + saveAdditionalToLocalStorage(); } else { localStorage.removeItem('OrderStorage'); } diff --git a/resources/views/pages/Kasir/js_baru.blade.php b/resources/views/pages/Kasir/js_baru.blade.php new file mode 100644 index 0000000..0b5e31a --- /dev/null +++ b/resources/views/pages/Kasir/js_baru.blade.php @@ -0,0 +1,180 @@ +@push('scripts') + +@endpush diff --git a/resources/views/pages/Kasir/martabak_side.blade.php b/resources/views/pages/Kasir/martabak_side.blade.php index bf88acc..dca1d90 100644 --- a/resources/views/pages/Kasir/martabak_side.blade.php +++ b/resources/views/pages/Kasir/martabak_side.blade.php @@ -40,20 +40,36 @@ @foreach ($item->kelompokKategoriPivot as $key2 => $kelompokKategoriPivot) @if ($kelompokKategoriPivot->produk->urutan == 11)
-
produk->nama_produk, 'Istimewa')) onclick="aadMenu( {{ $kelompokKategoriPivot->produk }} )" @else onclick="selectPaket( {{ $kelompokKategoriPivot->produk }} )" @endif class="card card-warning card-outline btn">
{{ $kelompokKategoriPivot->produk->nama_produk ?? '' }}

- {{ $kelompokKategoriPivot->produk->nama_produk ?? '' }} + @if (strstr($kelompokKategoriPivot->produk->nama_produk, 'Istimewa')) + {{ $kelompokKategoriPivot->produk->nama_produk ?? '' }} +
+
+ {{ convert_to_rupiah($kelompokKategoriPivot->produk->harga_produk) }} +
+
+ @else + {{ $kelompokKategoriPivot->produk->nama_produk ?? '' }} + @endif
- Pilih Paket + @if (strstr($kelompokKategoriPivot->produk->nama_produk, 'Istimewa')) + Pesan + @else + Pilih Paket + @endif
diff --git a/resources/views/pages/Kasir/modal_extra.blade.php b/resources/views/pages/Kasir/modal_extra.blade.php new file mode 100644 index 0000000..07069b7 --- /dev/null +++ b/resources/views/pages/Kasir/modal_extra.blade.php @@ -0,0 +1,136 @@ + diff --git a/resources/views/pages/Kasir/print_dapur.blade.php b/resources/views/pages/Kasir/print_dapur.blade.php index e35f122..4c26898 100644 --- a/resources/views/pages/Kasir/print_dapur.blade.php +++ b/resources/views/pages/Kasir/print_dapur.blade.php @@ -131,6 +131,9 @@ @foreach ($pesanan->detailPesanan as $item) + @if ($item->id_parent !== null) + @continue + @endif - + @foreach ($pesanan->detailPesanan as $item2) + @if ($item2->id_parent !== null && $item2->id_parent == $item->id) + + + + + + @endif + @endforeach @endforeach
{{ $item->nama_produk }}{{ $item->status_pesanan == 0 ? '(TAKEAWAY)' : ($item->status_pesanan == 3 ? '(CANCEL)' : '') }} @@ -143,9 +146,21 @@ {{ $item->diskon_persen != '' || $item->diskon_persen != 0 || $item->diskon_persen != null ? $item->diskon_persen . '%' : '' }} {{ convert_to_rupiah($item->total_harga_produk) }} + {{ convert_to_rupiah($item->harga_produk) }}
+ {{ $item2->nama_produk }} + {{ convert_to_rupiah($item2->harga_produk) }} +
diff --git a/resources/views/pages/Kasir/transaksi.blade.php b/resources/views/pages/Kasir/transaksi.blade.php index 0813463..7e44c9b 100644 --- a/resources/views/pages/Kasir/transaksi.blade.php +++ b/resources/views/pages/Kasir/transaksi.blade.php @@ -107,9 +107,13 @@ + + @include('pages.Kasir.modal_print_dapur') @include('pages.Kasir.modal_bayar') + @include('pages.Kasir.modal_extra') @endsection @include('pages.Kasir.js') +@include('pages.Kasir.js_baru') @include('pages.Kasir.style')