Compare commits

..

No commits in common. "38b4f636522b9e4ed05b8615f2ab31a2ea26c409" and "a84a4ca90bccb9c33ac02defa78f4a0cf091ab11" have entirely different histories.

10 changed files with 146 additions and 384 deletions

View File

@ -5,7 +5,6 @@ namespace App\Http\Controllers\Admins\Penjualan;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\DetailPesanan; use App\Models\DetailPesanan;
use App\Models\Pesanan; use App\Models\Pesanan;
use App\Models\RekeningCoa;
use Carbon\Carbon; use Carbon\Carbon;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
@ -14,9 +13,7 @@ class PenjualanController extends Controller
{ {
public function index() public function index()
{ {
$aba = RekeningCoa::where('kode_coa', 1)->where('sub_kode_coa', 200)->get(); return view('pages.admin.penjualan.index');
return view('pages.admin.penjualan.index', compact('aba'));
} }
public function getDataPenjualan(Request $request) public function getDataPenjualan(Request $request)
@ -24,35 +21,18 @@ class PenjualanController extends Controller
$nomor = 1; $nomor = 1;
$filter_tanggal_1 = $request->filter_tanggal_1; $filter_tanggal_1 = $request->filter_tanggal_1;
$filter_tanggal_2 = $request->filter_tanggal_2; $filter_tanggal_2 = $request->filter_tanggal_2;
$akun_coa = $request->akun_coa; $data = Pesanan::with(['detailPesanan', 'user'])
if ($request->akun_coa == null) { ->when($filter_tanggal_1, function ($query) use ($filter_tanggal_1) {
$data = Pesanan::with(['detailPesanan', 'user', 'rekening_coa']) return $query->whereDate('tanggal_pesanan', '>=', $filter_tanggal_1);
->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_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());
->when(!$filter_tanggal_1 && !$filter_tanggal_2, function ($query) { })
return $query->whereDate('tanggal_pesanan', Carbon::today()); ->orderBy('tanggal_pesanan', 'desc')
}) ->get();
->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() return datatables()
->of($data) ->of($data)
@ -75,9 +55,6 @@ class PenjualanController extends Controller
->addColumn('grand_total_rp', function ($data) { ->addColumn('grand_total_rp', function ($data) {
return 'Rp ' . number_format($data->grand_total, 0, ',', '.'); 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) { ->addColumn('ubah', function ($data) {
return '<div class="btn-group"> return '<div class="btn-group">
<a class="btn btn-xs btn-warning mr-1" href="javascript:void(0)" onclick="detail(\'' . $data->id . '\')"><i class="fas fa-eye"></i></a> <a class="btn btn-xs btn-warning mr-1" href="javascript:void(0)" onclick="detail(\'' . $data->id . '\')"><i class="fas fa-eye"></i></a>
@ -117,25 +94,13 @@ class PenjualanController extends Controller
$mpdf->AddPage(); $mpdf->AddPage();
$mpdf->setFooter('{PAGENO}'); $mpdf->setFooter('{PAGENO}');
$filter_tanggal_1 = $request->filter_tanggal_1; $data = Pesanan::with(['user', 'bukuBesar'])->whereDate('tanggal_pesanan', '>=', $request->filter_tanggal_1)
$filter_tanggal_2 = $request->filter_tanggal_2; ->whereDate('tanggal_pesanan', '<=', $request->filter_tanggal_2)
if ($request->jenis_coa == null) { ->get();
$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', [ $html = view('pages.admin.penjualan.laporan', [
'data' => $data, 'data' => $data,
'filter_tanggal_1' => $filter_tanggal_1, 'filter_tanggal_1' => $request->filter_tanggal_1,
'filter_tanggal_2' => $filter_tanggal_2, 'filter_tanggal_2' => $request->filter_tanggal_2,
'keterangan_coa' => $keterangan_coa
]); ]);
$mpdf->writeHTML($html); $mpdf->writeHTML($html);

View File

@ -182,7 +182,6 @@ class Transaksi extends Controller
'status_bayar' => '1', 'status_bayar' => '1',
'user_id' => $user->id, 'user_id' => $user->id,
'jenis_pembayaran' => $request->jenis_pembayaran, 'jenis_pembayaran' => $request->jenis_pembayaran,
'rekening_coa_id' => $request->id_rekening_coa,
]; ];
$pesananModels = \App\Models\Pesanan::create($pesananDatas); $pesananModels = \App\Models\Pesanan::create($pesananDatas);
} }

View File

@ -34,7 +34,7 @@ class Pesanan extends Model
'diskon_rupiah', 'diskon_rupiah',
'user_id', 'user_id',
'jenis_pembayaran', 'jenis_pembayaran',
'rekening_coa_id', 'coa_kas',
]; ];
public function detailPesanan() public function detailPesanan()
@ -62,9 +62,4 @@ class Pesanan extends Model
{ {
return $this->hasMany(BukuBesar::class, 'pesanans_id'); return $this->hasMany(BukuBesar::class, 'pesanans_id');
} }
public function rekening_coa()
{
return $this->belongsTo(RekeningCoa::class, 'rekening_coa_id');
}
} }

View File

@ -1,30 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('pesanans', function (Blueprint $table) {
$table->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');
});
}
};

View File

@ -16,8 +16,6 @@
}) })
</script> </script>
<script src="{{ asset('assets/datatables/datatables.min.js') }}"></script> <script src="{{ asset('assets/datatables/datatables.min.js') }}"></script>
<!-- Action for a table -->
<script> <script>
$(document).ready(function() { $(document).ready(function() {
$('#tabelku').DataTable({ $('#tabelku').DataTable({
@ -69,8 +67,6 @@
}) })
}) })
</script> </script>
<!-- Action Print -->
<script> <script>
function printDapurTigaKali(id) { function printDapurTigaKali(id) {
var url = "{{ route('transaksi.printDapurTigaKali', '') }}/" + id + '?print=true' var url = "{{ route('transaksi.printDapurTigaKali', '') }}/" + id + '?print=true'
@ -93,7 +89,6 @@
location.reload(true); location.reload(true);
} }
</script> </script>
<script> <script>
// set interval waktu pesanan // set interval waktu pesanan
function showTime() { function showTime() {
@ -192,26 +187,26 @@
} }
table.rows[index].cells[0].innerHTML = ` table.rows[index].cells[0].innerHTML = `
<td> <td>
${params.nama_produk} ${params.nama_produk}
<br> <br>
${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'} ${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
<div class="input-group input-group-sm mt-1"> <div class="input-group input-group-sm mt-1">
<input type="text" name="keterangan_satuan" data-keterangan="" class="form-control rounded-3" placeholder="Keterangan.." value='${paketFreenyaini}'> <input type="text" name="keterangan_satuan" data-keterangan="" class="form-control rounded-3" placeholder="Keterangan.." value='${paketFreenyaini}'>
</div> </div>
</td> </td>
`; `;
} else { } else {
table.rows[index].cells[0].innerHTML = ` table.rows[index].cells[0].innerHTML = `
<td> <td>
${params.nama_produk} ${params.nama_produk}
<br> <br>
${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'} ${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
<div class="input-group input-group-sm mt-1"> <div class="input-group input-group-sm mt-1">
<input type="text" name="keterangan_satuan" data-keterangan="" class="form-control rounded-3" placeholder="Keterangan.."> <input type="text" name="keterangan_satuan" data-keterangan="" class="form-control rounded-3" placeholder="Keterangan..">
</div> </div>
</td> </td>
`; `;
} }
table.rows[index].cells[1].innerHTML = ` table.rows[index].cells[1].innerHTML = `
@ -257,80 +252,80 @@
paketFreenyaini = paketFreenya.join(', '); paketFreenyaini = paketFreenya.join(', ');
} }
$('#tbody-order-menus').append(` $('#tbody-order-menus').append(`
<tr id="row-${params.id}" data-id="${params.id}" data-row-id="${globalId}" data-nama="${params.nama_produk}" data-harga="${params.harga_produk}" data-qty="1" data-diskon-satuan="0" data-total="${params.harga_produk}"> <tr id="row-${params.id}" data-id="${params.id}" data-row-id="${globalId}" data-nama="${params.nama_produk}" data-harga="${params.harga_produk}" data-qty="1" data-diskon-satuan="0" data-total="${params.harga_produk}">
<td> <td>
${params.nama_produk} ${params.nama_produk}
<br> <br>
<small class="text-primary">Rp. ${params.harga_produk}</small> <small class="text-primary">Rp. ${params.harga_produk}</small>
<div class="input-group input-group-sm mt-1"> <div class="input-group input-group-sm mt-1">
<input type="text" name="keterangan_satuan" class="form-control rounded-3" data-keterangan="${paketFreenyaini}" placeholder="Keterangan.." value="${paketFreenyaini}"> <input type="text" name="keterangan_satuan" class="form-control rounded-3" data-keterangan="${paketFreenyaini}" placeholder="Keterangan.." value="${paketFreenyaini}">
</div> </div>
</td> </td>
<td class="text-center"> <td class="text-center">
<div class="input-group input-group-sm"> <div class="input-group input-group-sm">
<span class="input-group-append"> <span class="input-group-append">
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${globalId}, '${params.nama_produk}')"><b>-</b></button> <button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${globalId}, '${params.nama_produk}')"><b>-</b></button>
</span> </span>
<input type="text" name="bayar" class="form-control rounded-3" readonly value="${menuQty}"> <input type="text" name="bayar" class="form-control rounded-3" readonly value="${menuQty}">
<span class="input-group-append"> <span class="input-group-append">
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${globalId}, '${params.nama_produk}')">+</button> <button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${globalId}, '${params.nama_produk}')">+</button>
</span> </span>
</div> </div>
<select name="status_pesanan_dinein" id="status_pesanan_dinein" class="custom-select-mystyle form-control-border"> <select name="status_pesanan_dinein" id="status_pesanan_dinein" class="custom-select-mystyle form-control-border">
<option value="2" selected>Dine In</option> <option value="2" selected>Dine In</option>
<option value="0">Take Away</option> <option value="0">Take Away</option>
</select> </select>
</td> </td>
<td class="text-center"> <td class="text-center">
<div class="input-group input-group-sm"> <div class="input-group input-group-sm">
<input type="number" name="diskon_satuan" oninput="inputNum(this)" class="form-control rounded-3" value="0" onkeyup="diskonSatuanMenu(${globalId}, '${params.nama_produk}', this.value)"> <input type="number" name="diskon_satuan" oninput="inputNum(this)" class="form-control rounded-3" value="0" onkeyup="diskonSatuanMenu(${globalId}, '${params.nama_produk}', this.value)">
</div> </div>
</td> </td>
<td class="text-center"> <td class="text-center">
<button class="btn btn-danger btn-sm" onclick="deleteMenu(${globalId})"> <button class="btn btn-danger btn-sm" onclick="deleteMenu(${globalId})">
<i class="fas fa-trash"></i> <i class="fas fa-trash"></i>
</button> </button>
</td> </td>
</tr> </tr>
`); `);
} else { } else {
$('#tbody-order-menus').append(` $('#tbody-order-menus').append(`
<tr id="row-${params.id}" data-id="${params.id}" data-row-id="${globalId}" data-nama="${params.nama_produk}" data-harga="${params.harga_produk}" data-qty="1" data-diskon-satuan="0" data-total="${params.harga_produk}"> <tr id="row-${params.id}" data-id="${params.id}" data-row-id="${globalId}" data-nama="${params.nama_produk}" data-harga="${params.harga_produk}" data-qty="1" data-diskon-satuan="0" data-total="${params.harga_produk}">
<td> <td>
${params.nama_produk} ${params.nama_produk}
<br> <br>
<small class="text-primary">Rp. ${params.harga_produk}</small> <small class="text-primary">Rp. ${params.harga_produk}</small>
<div class="input-group input-group-sm mt-1"> <div class="input-group input-group-sm mt-1">
<input type="text" name="keterangan_satuan" data-keterangan="" class="form-control rounded-3" placeholder="Keterangan.."> <input type="text" name="keterangan_satuan" data-keterangan="" class="form-control rounded-3" placeholder="Keterangan..">
</div> </div>
</td> </td>
<td class="text-center"> <td class="text-center">
<div class="input-group input-group-sm"> <div class="input-group input-group-sm">
<span class="input-group-append"> <span class="input-group-append">
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${globalId}, '${params.nama_produk}')"><b>-</b></button> <button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${globalId}, '${params.nama_produk}')"><b>-</b></button>
</span> </span>
<input type="text" name="bayar" class="form-control rounded-3" readonly value="${menuQty}"> <input type="text" name="bayar" class="form-control rounded-3" readonly value="${menuQty}">
<span class="input-group-append"> <span class="input-group-append">
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${globalId}, '${params.nama_produk}')">+</button> <button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${globalId}, '${params.nama_produk}')">+</button>
</span> </span>
</div> </div>
<select name="status_pesanan_dinein" id="status_pesanan_dinein" class="custom-select-mystyle form-control-border"> <select name="status_pesanan_dinein" id="status_pesanan_dinein" class="custom-select-mystyle form-control-border">
<option value="2" selected>Dine In</option> <option value="2" selected>Dine In</option>
<option value="0">Take Away</option> <option value="0">Take Away</option>
</select> </select>
</td> </td>
<td class="text-center"> <td class="text-center">
<div class="input-group input-group-sm"> <div class="input-group input-group-sm">
<input type="number" name="diskon_satuan" oninput="inputNum(this)" class="form-control rounded-3" value="0" onkeyup="diskonSatuanMenu(${globalId}, '${params.nama_produk}', this.value)"> <input type="number" name="diskon_satuan" oninput="inputNum(this)" class="form-control rounded-3" value="0" onkeyup="diskonSatuanMenu(${globalId}, '${params.nama_produk}', this.value)">
</div> </div>
</td> </td>
<td class="text-center"> <td class="text-center">
<button class="btn btn-danger btn-sm" onclick="deleteMenu(${globalId})"> <button class="btn btn-danger btn-sm" onclick="deleteMenu(${globalId})">
<i class="fas fa-trash"></i> <i class="fas fa-trash"></i>
</button> </button>
</td> </td>
</tr> </tr>
`); `);
} }
calculateTotal(); calculateTotal();
@ -483,15 +478,15 @@
table.rows[index].setAttribute('data-total', totalLama); table.rows[index].setAttribute('data-total', totalLama);
table.rows[index].cells[0].innerHTML = ` table.rows[index].cells[0].innerHTML = `
<td> <td>
${nama_produk} ${nama_produk}
<br> <br>
${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'} ${(diskonSatuan > 0) ? '<small class="text-primary"><s>Rp. ' + (harga * qty) + '</s></small> | <small class="text-danger">Rp. ' + total + '</small>' : '<small class="text-primary">Rp. ' + totalLama + '</small>'}
<div class="input-group input-group-sm mt-1"> <div class="input-group input-group-sm mt-1">
<input type="text" name="keterangan_satuan" data-keterangan="${valueKeterangan}" value="${valueKeterangan}" class="form-control rounded-3" placeholder="Keterangan.."> <input type="text" name="keterangan_satuan" data-keterangan="${valueKeterangan}" value="${valueKeterangan}" class="form-control rounded-3" placeholder="Keterangan..">
</div> </div>
</td> </td>
`; `;
table.rows[index].cells[1].innerHTML = ` table.rows[index].cells[1].innerHTML = `
<td class="text-center"> <td class="text-center">
@ -781,7 +776,6 @@
// pembayaran non tunai // pembayaran non tunai
$('#pembayaran-nontunai').on('click', function() { $('#pembayaran-nontunai').on('click', function() {
document.getElementById('pembayaran-nontunai').disabled = true;
let jenis_pembayaran = "2" let jenis_pembayaran = "2"
// return console.log(jenis_pembayaran); // return console.log(jenis_pembayaran);
var table = document.getElementById("order-menus"); var table = document.getElementById("order-menus");
@ -808,10 +802,7 @@
diskonSatuan: diskonSatuan, diskonSatuan: diskonSatuan,
harga: harga, harga: harga,
total: total, total: total,
keterangan: document.getElementsByName('keterangan_satuan')[i - 1] keterangan: document.getElementsByName('keterangan_satuan')[i - 1].value
.value,
status_pesanan_dinein: document.getElementsByName(
'status_pesanan_dinein')[i - 1].value,
}); });
} }
} }
@ -824,11 +815,11 @@
var namaPemesan = document.getElementsByName('nama-pemesan')[0].value; var namaPemesan = document.getElementsByName('nama-pemesan')[0].value;
var nomorPemesan = document.getElementsByName('nomor-pemesan')[0].value; var nomorPemesan = document.getElementsByName('nomor-pemesan')[0].value;
var nomorMeja = document.getElementsByName('nomor-meja')[0].value; var nomorMeja = document.getElementsByName('nomor-meja')[0].value;
var rekening_coa_aba_penarikan = $("#rekening_coa_aba_penarikan").val(); var rekening_coa_aba_penarikan = $("#rekening_coa_aba_penarikan").val()
var split_rekening_coa_aba_penarikan = rekening_coa_aba_penarikan.split("|"); var split_rekening_coa_aba_penarikan = rekening_coa_aba_penarikan.split("|")
var id_rekening_coa = split_rekening_coa_aba_penarikan[0]; var id_rekening_coa = split_rekening_coa_aba_penarikan[0]
var kode_coa = split_rekening_coa_aba_penarikan[1]; var kode_coa = split_rekening_coa_aba_penarikan[1]
var keterangan_coa = split_rekening_coa_aba_penarikan[2]; var keterangan_coa = split_rekening_coa_aba_penarikan[2]
if (rekening_coa_aba_penarikan == '') { if (rekening_coa_aba_penarikan == '') {
alert('Pilih kas tujuan'); alert('Pilih kas tujuan');
@ -837,7 +828,7 @@
if (orderMenus.length == 0) { if (orderMenus.length == 0) {
alert('Menu tidak boleh kosong'); alert('Menu tidak boleh kosong');
document.getElementById('pembayaran-nontunai').disabled = false; document.getElementById('pesan-bayar-tunai').disabled = false;
return false; return false;
} }
// if (totalDiskon != 0) { // if (totalDiskon != 0) {
@ -854,12 +845,12 @@
// } // }
if (namaPemesan == '' || namaPemesan == null || namaPemesan == undefined) { if (namaPemesan == '' || namaPemesan == null || namaPemesan == undefined) {
alert('Nama pemesan tidak boleh kosong'); alert('Nama pemesan tidak boleh kosong');
document.getElementById('pembayaran-nontunai').disabled = false; document.getElementById('pesan-bayar-tunai').disabled = false;
return false; return false;
} }
if (nomorMeja == '' || nomorMeja == null || nomorMeja == undefined) { if (nomorMeja == '' || nomorMeja == null || nomorMeja == undefined) {
alert('Nomor meja tidak boleh kosong'); alert('Nomor meja tidak boleh kosong');
document.getElementById('pembayaran-nontunai').disabled = false; document.getElementById('pesan-bayar-tunai').disabled = false;
return false; return false;
} }
@ -886,7 +877,7 @@
method: "POST", method: "POST",
data: data, data: data,
success: function(result) { success: function(result) {
document.getElementById('pembayaran-nontunai').disabled = false; document.getElementById('pesan-bayar-tunai').disabled = false;
toastr.success(result.message, 'Success', { toastr.success(result.message, 'Success', {
timeOut: 2000 timeOut: 2000
}); });
@ -898,7 +889,7 @@
}, 1000); }, 1000);
}, },
error: function(xhr, status, error) { error: function(xhr, status, error) {
document.getElementById('pembayaran-nontunai').disabled = false; document.getElementById('pesan-bayar-tunai').disabled = false;
toastr.error(xhr.responseJSON.message, 'Error', { toastr.error(xhr.responseJSON.message, 'Error', {
timeOut: 3000 timeOut: 3000
}); });
@ -1122,112 +1113,3 @@
} }
} }
</script> </script>
<!-- Action save to storage -->
<script>
function OrderStorage() {
var table = document.getElementById("order-menus");
var orderMenus = [];
for (var i = 1, row; row = table.rows[i]; i++) {
var id = row.getAttribute('data-id');
var nama = row.getAttribute('data-nama');
var qty = row.getAttribute('data-qty');
var diskonSatuan = row.getAttribute('data-diskon-satuan');
var harga = row.getAttribute('data-harga');
var total = row.getAttribute('data-total');
if (diskonSatuan != 0 && diskonSatuan != null && diskonSatuan != undefined) {
total = total - (total * (diskonSatuan / 100));
} else {
total = total
}
if (id != null || qty != null || total != null) {
orderMenus.push({
id: id,
nama: nama,
qty: qty,
diskonSatuan: diskonSatuan,
harga: harga,
total: total,
keterangan: document.getElementsByName('keterangan_satuan')[i - 1].value,
status_pesanan_dinein: document.getElementsByName('status_pesanan_dinein')[i - 1].value
});
}
}
let json = JSON.stringify({
name: 'Data Pesanan',
nama_pemesan: document.getElementsByName('nama-pemesan')[0].value,
nomor_pemesan: document.getElementsByName('nomor-pemesan')[0].value,
nomor_meja: document.getElementsByName('nomor-meja')[0].value,
keterangan_pesanan: document.getElementsByName('keterangan-pesanan')[0].value,
orderMenus
});
localStorage.setItem('OrderStorage', json);
}
function showOrderStorage() {
if (localStorage.OrderStorage === undefined || localStorage.OrderStorage === null) {
return false;
}
let data = JSON.parse(localStorage.OrderStorage);
document.getElementsByName('nama-pemesan')[0].value = data.nama_pemesan ?? '',
document.getElementsByName('nomor-pemesan')[0].value = data.nomor_pemesan,
document.getElementsByName('nomor-meja')[0].value = data.nomor_meja,
document.getElementsByName('keterangan-pesanan')[0].value = data.keterangan_pesanan,
// console.log(data);
data.orderMenus.forEach((i, key) => {
globalId++;
$('#tbody-order-menus').append(`
<tr id="row-${i.id}" data-id="${i.id}" data-row-id="${globalId}" data-nama="${i.nama}" data-harga="${i.harga}" data-qty="${i.qty}" data-diskon-satuan="${i.diskonSatuan}" data-total="${i.harga * i.qty}">
<td>
${i.nama}
<br>
${(parseInt(i.diskonSatuan) > 0) ? '<small class="text-primary"><s>Rp. ' + (i.harga * i.qty) + '</s></small> | <small class="text-danger">Rp. ' + ((i.harga * i.qty) - ((i.harga * i.qty) * (i.diskonSatuan / 100))) + '</small>' : '<small class="text-primary">Rp. ' + (i.harga * i.qty) + '</small>'}
<div class="input-group input-group-sm mt-1">
<input type="text" name="keterangan_satuan" class="form-control rounded-3" data-keterangan="${i.keterangan}" placeholder="Keterangan.." value="${i.keterangan}">
</div>
</td>
<td class="text-center">
<div class="input-group input-group-sm">
<span class="input-group-append">
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="decrementMenu(${globalId}, '${i.nama}')"><b>-</b></button>
</span>
<input type="text" name="bayar" class="form-control rounded-3" readonly value="${i.qty}">
<span class="input-group-append">
<button type="button" class="btn btn-default btn-xs btn-flat" onclick="incrementMenu(${globalId}, '${i.nama}')">+</button>
</span>
</div>
<select name="status_pesanan_dinein" id="status_pesanan_dinein" class="custom-select-mystyle form-control-border">
<option value="2" ${(i.status_pesanan_dinein == 2) ? 'selected' : ''}>Dine In</option>
<option value="0" ${(i.status_pesanan_dinein == 0) ? 'selected' : ''}>Take Away</option>
</select>
</td>
<td class="text-center">
<div class="input-group input-group-sm">
<input type="number" name="diskon_satuan" oninput="inputNum(this)" class="form-control rounded-3" value="${i.diskonSatuan}" onkeyup="diskonSatuanMenu(${globalId}, '${i.nama}', this.value)">
</div>
</td>
<td class="text-center">
<button class="btn btn-danger btn-sm" onclick="deleteMenu(${globalId})">
<i class="fas fa-trash"></i>
</button>
</td>
</tr>
`);
});
calculateTotal();
}
showOrderStorage();
// show time every second
setInterval(OrderStorage, 1000);
</script>
@endpush

View File

@ -581,10 +581,11 @@
-webkit-appearance: none; -webkit-appearance: none;
-moz-appearance: none; -moz-appearance: none;
appearance: none; appearance: none;
background-color: white; background-color: cyan;
margin-top: 8px;
} }
</style> </style>
@endpush @endpush
@include('pages.Kasir.js') @include('pages.Kasir.js')
@endpush

View File

@ -32,31 +32,14 @@
@csrf @csrf
<div class="row"> <div class="row">
<div class="col-md-3"> <div class="col-md-3">
<input type="date" class="form-control" id="filter_tanggal_1" <input type="date" class="form-control form-control-sm" id="filter_tanggal_1"
name="filter_tanggal_1" value="{{ date('Y-m-d') }}"> name="filter_tanggal_1" value="{{ date('Y-m-d') }}">
</div> </div>
<p>s/d</p> <p>s/d</p>
<div class="col-md-3"> <div class="col-md-3">
<input type="date" class="form-control" id="filter_tanggal_2" <input type="date" class="form-control form-control-sm" id="filter_tanggal_2"
name="filter_tanggal_2" value="{{ date('Y-m-d') }}"> name="filter_tanggal_2" value="{{ date('Y-m-d') }}">
</div> </div>
<div class="col-md-3">
<select type="text" class="form-control select2" id="jenis_coa"
style="width: 100%;" name="jenis_coa">
<option selected value="">--Pilih Rekening--</option>
@foreach ($aba as $coaAba)
@if ($coaAba->status == 0)
<optgroup label="{{ $coaAba->coa }} | {{ $coaAba->keterangan_coa }}">
@else
<option
value="{{ $coaAba->id }}|{{ $coaAba->coa }}|{{ $coaAba->keterangan_coa }}">
{{ $coaAba->coa }} | {{ $coaAba->keterangan_coa }}</option>
@endif
@endforeach
</optgroup>
<option value=""><b>Tampilkan Semua data</b></option>
</select>
</div>
<div class="col-md-4"> <div class="col-md-4">
<a href="javascript:void(0)" class="btn btn-sm btn-primary" id="btn_filter"><i <a href="javascript:void(0)" class="btn btn-sm btn-primary" id="btn_filter"><i
class="fas fa-search mr-1"></i>Filter data</a> class="fas fa-search mr-1"></i>Filter data</a>
@ -80,7 +63,7 @@
<th class="text-center">No</th> <th class="text-center">No</th>
<th>Kode Pesanan</th> <th>Kode Pesanan</th>
<th>Pemesan</th> <th>Pemesan</th>
<th>Status Pembayaran</th> <th>Nomor Meja</th>
<th>Tanggal & Jam</th> <th>Tanggal & Jam</th>
<th>Total Pesanan</th> <th>Total Pesanan</th>
<th>Sub Total</th> <th>Sub Total</th>

View File

@ -1,10 +1,7 @@
@push('scripts') @push('scripts')
<script src="{{ asset('assets/datatables/datatables.min.js') }}"></script> <script src="{{ asset('assets/datatables/datatables.min.js') }}"></script>
<script src="{{ asset('assets/plugins/sweetalert2/sweetalert2.min.js') }}"></script> <script src="{{ asset('assets/plugins/sweetalert2/sweetalert2.min.js') }}"></script>
<script src="{{ asset('assets/plugins/select2/js/select2.full.min.js') }}"></script>
<script> <script>
// $('.select2').select2();
$(document).ready(function() { $(document).ready(function() {
let dataTable = $('#tabelku').DataTable({ let dataTable = $('#tabelku').DataTable({
aLengthMenu: [ aLengthMenu: [
@ -18,7 +15,6 @@
data: function(d) { data: function(d) {
d.filter_tanggal_1 = $("#filter_tanggal_1").val(); d.filter_tanggal_1 = $("#filter_tanggal_1").val();
d.filter_tanggal_2 = $("#filter_tanggal_2").val(); d.filter_tanggal_2 = $("#filter_tanggal_2").val();
d.akun_coa = $("#jenis_coa").val();
} }
}, },
columns: [{ columns: [{
@ -36,8 +32,8 @@
name: 'nama_pemesan' name: 'nama_pemesan'
}, },
{ {
data: 'jenis_pembayarannya', data: 'nomor_meja',
name: 'jenis_pembayarannya' name: 'nomor_meja'
}, },
{ {
data: 'created_at', data: 'created_at',

View File

@ -23,18 +23,8 @@
<td style="text-align: center; font-size: 20px; font-weight: bold;">Laporan Transaksi Penjualan</td> <td style="text-align: center; font-size: 20px; font-weight: bold;">Laporan Transaksi Penjualan</td>
</tr> </tr>
<tr> <tr>
<td> <td style="text-align: center;">Pencarian:
<table style="width: 100%;"> {{ 'Antara Tanggal ' . toDmy($filter_tanggal_1) . ' s/d Tanggal ' . toDmy($filter_tanggal_2) . '' }}
<tr>
<td style="text-align: left;">
Pencarian:
{{ 'Antara Tanggal ' . toDmy($filter_tanggal_1) . ' s/d Tanggal ' . toDmy($filter_tanggal_2) . '' }}
</td>
<td style="text-align: right;">
Jenis Pembayaran: {{ $keterangan_coa }}
</td>
</tr>
</table>
</td> </td>
</tr> </tr>
</table> </table>
@ -46,7 +36,7 @@
<th style="border-collapse:collapse; border:1px solid black;">Kode Pesanan</th> <th style="border-collapse:collapse; border:1px solid black;">Kode Pesanan</th>
<th style="border-collapse:collapse; border:1px solid black;">Kasir</th> <th style="border-collapse:collapse; border:1px solid black;">Kasir</th>
<th style="border-collapse:collapse; border:1px solid black;">Nama Pemesan</th> <th style="border-collapse:collapse; border:1px solid black;">Nama Pemesan</th>
<th style="border-collapse:collapse; border:1px solid black;width: 24%">Tanggal</th> <th style="border-collapse:collapse; border:1px solid black;">Tanggal</th>
<th style="border-collapse:collapse; border:1px solid black;">Jenis Pembayaran</th> <th style="border-collapse:collapse; border:1px solid black;">Jenis Pembayaran</th>
<th style="border-collapse:collapse; border:1px solid black;">Nominal</th> <th style="border-collapse:collapse; border:1px solid black;">Nominal</th>
{{-- <th style="border-collapse:collapse; border:1px solid black;">Keterangan</th> --}} {{-- <th style="border-collapse:collapse; border:1px solid black;">Keterangan</th> --}}
@ -69,21 +59,13 @@
@if ($val->jenis_pembayaran == 1 || $val->jenis_pembayaran == null) @if ($val->jenis_pembayaran == 1 || $val->jenis_pembayaran == null)
Tunai Tunai
@else @else
{{ $val->rekening_coa->keterangan_coa }} Non Tunai
<br>
({{ $val->bukuBesar[0]->keterangan_coa }})
@endif @endif
</td> </td>
<td style="text-align: left; border-collapse:collapse; border:1px solid black;"> <td style="text-align: left; border-collapse:collapse; border:1px solid black;">Rp
<table style="width: 100%;"> {{ format_uang($val->grand_total) }}</td>
<tr>
<td style="text-align:
left;">Rp
</td>
<td style="text-align: right;">
{{ format_uang($val->grand_total) }}
</td>
</tr>
</table>
</td>
{{-- <td style="border-collapse:collapse; border:1px solid black;">{{ $val->keterangan }}</td> --}} {{-- <td style="border-collapse:collapse; border:1px solid black;">{{ $val->keterangan }}</td> --}}
</tr> </tr>
@endforeach @endforeach
@ -97,19 +79,9 @@
<tfoot> <tfoot>
<tr> <tr>
<th colspan="6" style="text-align: right; border-collapse:collapse; border:1px solid black;">Total <th colspan="6" style="text-align: right; border-collapse:collapse; border:1px solid black;">Total
&nbsp;&nbsp;&nbsp;
</th>
<th style="text-align: left; border-collapse:collapse; border:1px solid black;">
<table style="width: 100%;">
<tr>
<td style="text-align: left;">Rp
</td>
<td style="text-align: right;">
{{ format_uang($total) }}
</td>
</tr>
</table>
</th> </th>
<th style="text-align: left; border-collapse:collapse; border:1px solid black;">Rp
{{ format_uang($total) }}</th>
</tr> </tr>
</tfoot> </tfoot>
</table> </table>

View File

@ -16,5 +16,4 @@
<link rel="stylesheet" href="{{ asset('assets/plugins/toastr/toastr.min.css') }}"> <link rel="stylesheet" href="{{ asset('assets/plugins/toastr/toastr.min.css') }}">
<link rel="stylesheet" href="{{ asset('assets/datatables/datatables.min.css') }}"> <link rel="stylesheet" href="{{ asset('assets/datatables/datatables.min.css') }}">
<link rel="stylesheet" href="{{ asset('assets/plugins/sweetalert2/sweetalert2.min.css') }}"> <link rel="stylesheet" href="{{ asset('assets/plugins/sweetalert2/sweetalert2.min.css') }}">
<link rel="stylesheet" href="{{ asset('assets/plugins/select2/css/select2.min.css') }}">
@endpush @endpush